Fast loader

Fast loader

A fast loader is a software program for a home computer - most commonly, the Commodore 64 - that accelerates the speed of file loading from the floppy disk drive.

Background

Fast loaders came about because of a discrepancy between the actual speed at which floppy drives could transfer data and the speed that was provided by the operating system's default routines. This discrepancy was most pronounced on the Commodore VIC-20 and 64. While the earlier Commodore PET series had used an industry-standard IEEE-488 parallel bus, this was replaced with a custom serial bus on the VIC-20. The serial bus was intended to be nearly as fast as its predecessor, due to the use of the 6522 VIA as a hardware shift register on both the drive and computer. However, hardware bugs were discovered in the 6522 that prevented this function from working consistently. As a result, the KERNAL ROM routines were hastily rewritten to transfer a single bit at a time, using a slow software handshaking protocol. [http://groups.google.com/group/alt.folklore.computers/msg/6649af4cb9c790dc?hl=en&] Although the C64 replaced the 6522 VIA with two 6526 CIA chips, which did not suffer from this bug, the companion 1541 disk drive still had a 6522 VIA. Commodore chose not to redesign the 1541 hardware, also in order to retain backward compatibility with VIC-20 peripherals; this however came at the expense of speed. Because of the transfer protocol, the Commodore 1540 and 1541 disk drives soon gained a reputation for extreme slowness. Only at the introduction of the Commodore 128 computer and the Commodore 1571 disk drive was the original plan put into action and a hardware shift register was used, reducing the need for special fast loaders.

Development

Soon after the C64's release, some astute programmers realized that Commodore's bit-banging serial KERNAL routines were unnecessarily sluggish. Since the CPU in the C64 ran at approximately the same speed as that in the 1541 disk drive, it was sufficient to synchronize only at the beginning of each byte, rather than at each individual bit. Moreover, this transfer method allowed two bits to be sent simultaneously, one over the standard DATA line and one over the CLK line (which was normally used to perform the handshaking). On the C64, this required very careful timing to avoid interference from interrupts and from the VIC-II graphics chip, which could "steal" CPU cycles. Some fast loaders disabled interrupts and blanked the screen for this reason. A fast loader would generally "wedge" itself into the LOAD vector at $0330, thus intercepting any calls to the KERNAL LOAD routine. Next, the fast loader would transfer the necessary code into the drive RAM and order its execution, then receive the file sent by the altered transfer code. Depending on the exact nature of the routines used, the loading speed could be improved by as much as a factor of five.

This technique was used for a few of the many fast-load systems made (such as JiffyDOS). Others were simply more efficient in I/O and file handling, offering marginal to good improvement. Other products added parallel hardware.

Commercial fast loaders

Various software companies released fast loaders for the C64, usually in cartridge form. In the United States, probably the most popular such cartridge was the Epyx FastLoad. Most fast loader cartridges also incorporated other features to increase ease of use. An on-board implementation of Commodore's DOS Wedge was included in most fast loader cartridges. Machine language monitors, disk editors, and various convenience commands for Commodore BASIC were also common additions. Some fast loader cartridges were very sophisticated, incorporating a reset button, "freeze" capabilities, and a simple onboard GUI. The Final Cartridge III was perhaps the most successful of this genre. A few commercial fast loaders, most notably CMD's JiffyDOS, were not cartridge-driven but instead replaced the KERNAL ROM in the C64 and the DOS ROM in the 1541. While these were more difficult to install, they offered greatly increased compatibility, being almost invisible to software running on the machine.

Many commercial programs for the C64, especially games, contained their own fast-loading routines on the distribution media. The user would load a small "stub" program from the disk with the standard slow routines, which would then install faster transfer routines in both the computer and the drive before proceeding to load the rest of the program at high speed. This way, the user benefited from the fast loader without having to buy or know about a dedicated fast-loader product.

Type-in fast loaders

Several of the popular Commodore magazines published type-in fast loading software. In April 1985, "COMPUTE!" published "TurboDisk", a fast loader that included C64 and VIC-20 versions. This program proved popular and was republished in the July 1985 issue of "COMPUTE!'s Gazette". [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1985/07jul/jul85-TurboDiskA.jpg] [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1985/07jul/jul85-TurboDiskB.jpg] [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1985/07jul/jul85-TurboDiskC.jpg] It was printed yet again in August 1986, without the VIC-20 version, but with several accompanying utilities to relocate the program in memory and to create auto-booting software that took advantage of "TurboDisk"'s speed. A Commodore 128 version was also included for those C128 users who still had 1541 disk drives. [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1986/08aug/aug86-TurboDisk64A.jpg] [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1986/08aug/aug86-TurboDisk64B.jpg] [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1986/08aug/aug86-TurboDisk128A.jpg] [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1986/08aug/aug86-TurboDisk128B.jpg] [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1986/08aug/aug86-TurboDiskRelocator.jpg] [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1986/08aug/aug86-TurboDiskBootMaker.jpg] "COMPUTE!'s Gazette" also published several other utilities that speeded up C64-to-1541 communications, including "Turbo Copy" (a 4-minute full-disk copier) [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1986/04apr/apr86-TurboCopyA.jpg] [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1986/04apr/apr86-TurboCopyB.jpg] , "TurboSave" (a utility that accelerated the speed of disk saves) [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1987/04apr/apr87-TurboSave64.jpg] , and "Quick!" (another fast loader) [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1988/12dec/dec88-Quick!A.jpg] [http://www.devili.iki.fi/pub/Commodore/docs/magazines/gazette/1988/12dec/dec88-Quick!B.jpg] . "RUN" Magazine published "Sizzle!" in December 1987, an integrated package that included a relocatable fast loader with autoboot generation capability.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Boot-Loader — Ein Boot Loader [ˈbuːtˌloʊdɚ] (verkürzte Form des ursprünglichen Wortes bootstrap loader), deutsch auch Urlader, ist eine spezielle Software, die gewöhnlich durch die Firmware (z. B. dem BIOS bei IBM kompatiblen PCs) eines Rechners von einem… …   Deutsch Wikipedia

  • Boot Loader — Ein Boot Loader [ˈbuːtˌloʊdɚ] (verkürzte Form des ursprünglichen Wortes bootstrap loader), deutsch auch Urlader, ist eine spezielle Software, die gewöhnlich durch die Firmware (z. B. dem BIOS bei IBM kompatiblen PCs) eines Rechners von einem… …   Deutsch Wikipedia

  • Bootstrap-Loader — Ein Boot Loader [ˈbuːtˌloʊdɚ] (verkürzte Form des ursprünglichen Wortes bootstrap loader), deutsch auch Urlader, ist eine spezielle Software, die gewöhnlich durch die Firmware (z. B. dem BIOS bei IBM kompatiblen PCs) eines Rechners von einem… …   Deutsch Wikipedia

  • Peter Loader — Spieler Informationen Geboren 25. Oktober 1929 Wallington, Surrey, England Gestorben 15. März 2011 mit 81 Jahren Perth, Westaustralien, Australien Batting Stil Rechtshänder Bowling Stil Rechtshändiger Fast Bowler Internatio …   Deutsch Wikipedia

  • Peter Loader — Infobox Historic Cricketer nationality = English country = England country abbrev = ENG name = Peter Loader picture = Cricket no pic.png batting style = Right hand bat bowling style = Right arm fast tests = 13 test runs = 76 test bat avg = 5.84… …   Wikipedia

  • Operation Fast and Furious — was a sting run by the United States Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) Phoenix Field Division between 2009 and 2010 as part of Project Gunrunner, the Southwest Border strategy first implemented in 2006 to stem the flow of… …   Wikipedia

  • Commodore 64 peripherals — Commodore 64 Home Computer This article is about the various external peripherals of the Commodore 64 home computer. Contents 1 Storage …   Wikipedia

  • MMC64 — The MMC64 is a cartridge for the C64 home computer, which plugs into the expansion port. It was developed in 2005 by Oliver Achten, production and sale is done by the Commodore hardware accessory company Individual Computers, although the MMC64… …   Wikipedia

  • Commodore 1541 — Front view of the most common version of the Commodore 1541 disk drive, with open disk slot. This version uses a Newtronics drive mechanism, and the rotating lever is used to hold the disk in place …   Wikipedia

  • Commodore Datasette — Original shape …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”