HOME

TheInfoList



OR:

A fast loader is a software program for a home computer, such as the
Commodore 64 The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness ...
or ZX Spectrum, that accelerates the speed of file loading from
floppy disk A floppy disk or floppy diskette (casually referred to as a floppy, or a diskette) is an obsolescent type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined w ...
or
compact cassette The Compact Cassette or Musicassette (MC), also commonly called the tape cassette, cassette tape, audio cassette, or simply tape or cassette, is an analog magnetic tape recording format for audio recording and playback. Invented by Lou Ottens ...
.


Floppy disks

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 VIC-20 and
Commodore 64 The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness ...
. While the earlier Commodore PET series had used an industry-standard IEEE-488 parallel bus, this was replaced with a custom Commodore 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 A handshake is a globally widespread, brief greeting or parting tradition in which two people grasp one of each other's like hands, in most cases accompanied by a brief up-and-down movement of the grasped hands. Customs surrounding handshakes a ...
protocol. Although the C64 replaced the 6522 VIA with two 6526 CIA chips, which did not suffer from this bug, the companion
1541 __NOTOC__ Year 1541 ( MDXLI) was a common year starting on Saturday (link will display the full calendar) of the Julian calendar. Events January–June * February 12 – Pedro de Valdivia founds Santiago del Nuevo Extremo, whi ...
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 The Commodore 1540 (also known as the VIC-1540) introduced in 1982 is the companion floppy disk drive for the VIC-20 home computer. It uses single-sided 5¼" floppy disks, on which it stores roughly of data utilizing Commodore's GCR data enco ...
and
1541 __NOTOC__ Year 1541 ( MDXLI) was a common year starting on Saturday (link will display the full calendar) of the Julian calendar. Events January–June * February 12 – Pedro de Valdivia founds Santiago del Nuevo Extremo, whi ...
disk drives soon gained a reputation for extreme slowness. Only at the introduction of the
Commodore 128 The Commodore 128, also known as the C128, C-128, C= 128,The "C=" represents the graphical part of the logo. is the last 8-bit home computer that was commercially released by Commodore Business Machines (CBM). Introduced in January 1985 at the ...
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. Soon after the C64's release, some astute programmers realized that Commodore's
bit-banging In computer engineering and electrical engineering, bit banging is a "term of art" for any method of data transmission that employs software as a substitute for dedicated hardware to generate transmitted signals or process received signals. Soft ...
serial KERNAL routines were unnecessarily sluggish. Since the
CPU A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
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. 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 The Epyx Fast Load is a floppy disk fast loader cartridge made by American software company Epyx in 1984 for the Commodore 64 home computer. It was programmed by Epyx employee Scott Nelson, who was originally a programmer for StarpathDOS Wedge The DOS Wedge is a piece of Commodore 64 system software that was popular in its time. It was written by Bob Fairbairn, and was included by Commodore (CBM) on the 1541 disk drive Test/Demo Disk (filename: "DOS 5.1") and also packaged with the C ...
was included in most fast loader cartridges.
Machine language monitor A machine code monitor ( machine language monitor) is software that allows a user to enter commands to view and change memory locations on a computer, with options to load and save memory contents from/to secondary storage. Some full-featured m ...
s, 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 The Final Cartridge III was a popular extension cartridge which was created for the Commodore 64 and Commodore 128, produced by the Dutch company Riska B.V. Home & Personal Computers. It offered a fast loader, increasing the speeds of the disk dr ...
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. The cartridge, Action Replay MK6 RAM loader loads a 202 block program in around 9 seconds. Its Warp loader is 25 times faster, but programs can only be loaded with a loader saved to disk when the cartridge is not present. Whereas the ARMK6 fastloader was compatible with most software, The Final Cartridge III was known to crash often, so programs had to be loaded in normal C64 mode, deactivating the cartridge, making it more or less useless. 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. Several 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''. 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 ''TurboDisks speed. A
Commodore 128 The Commodore 128, also known as the C128, C-128, C= 128,The "C=" represents the graphical part of the logo. is the last 8-bit home computer that was commercially released by Commodore Business Machines (CBM). Introduced in January 1985 at the ...
version was also included for those C128 users who still had 1541 disk drives. ''COMPUTE!'s Gazette'' also published several other utilities that speed up C64-to-1541 communications, including ''Turbo Copy'' (a 4-minute full-disk copier), ''TurboSave'' (a utility that accelerated the speed of disk saves) and ''Quick!'' (another fast loader). ''
RUN Run(s) or RUN may refer to: Places * Run (island), one of the Banda Islands in Indonesia * Run (stream), a stream in the Dutch province of North Brabant People * Run (rapper), Joseph Simmons, now known as "Reverend Run", from the hip-hop group ...
'' Magazine published ''Sizzle!'' in December 1987, an integrated package that included a relocatable fast loader with autoboot generation capability. '' BYTE'' published Loader, a machine-language fast-loading software for
Apple DOS Apple DOS is the family of disk operating systems for the Apple II series of microcomputers from late 1978 through early 1983. It was superseded by ProDOS in 1983. Apple DOS has three major releases: DOS 3.1, DOS 3.2, and DOS 3.3; each one of t ...
3.3, in November 1983. ''Compute!'' published TurboDisk for DOS 3.3 in October 1986. The type-in fast loader fashion continued in the age of the Internet. ''Krill's Loader'' (2009) and ''Spindle'' (2013) are two examples of C64-to-1541 "IRQ loaders", fast loaders that allow programs (mainly games) to keep their own IRQs during loading. With modern loaders the slow rate of
GCR GCR (or GCRS) may refer to: Science * Galactic cosmic ray, a cosmic ray from outside the Solar System * Geocentric Celestial Reference System, a coordinate system for near-Earth objects like satellites * Geological Conservation Review, a proc ...
decoding proved to be the bottleneck, and modern loaders all carry their own optimized routines for such.


Cassette tapes

''Invade-a-Load'' title screen The built-in routines for storing and reading data to and from
Compact Cassette The Compact Cassette or Musicassette (MC), also commonly called the tape cassette, cassette tape, audio cassette, or simply tape or cassette, is an analog magnetic tape recording format for audio recording and playback. Invented by Lou Ottens ...
tapes was made for safe storing rather than speed. Better tape-quality in the 1980s made it possible to store data more effectively, reducing loading time and tape length. Such programs existed for several computers, such as the Ohio Scientific Challenger. The PET Rabbit was one such program for the PET, while TurboTape was one for the Commodore
Datassette The third, most common version of the 1530 C2N Datassette The Commodore 1530 (C2N) Datasette, later also Datassette (a portmanteau of ''data'' and ''cassette''), is Commodore's dedicated magnetic tape data storage device. Using compact cassettes ...
. Turbo 2000 was a similar system for the Atari. ''Speedlock'' was a software protection system used on the ZX Spectrum and the Amstrad CPC, written by David Aubrey-Jones and David Looker in 1983. The two programmers had become frustrated at the slow loading times of the computer's tape loading system, and realised it would be possible to write a better one. The prototype sat unused for about a year, but was finally picked up by Ocean Software on '' Daley Thompson's Decathlon'', released in late 1984. It was subsequently used by U.S. Gold and for several titles by Ultimate Play the Game, amongst others. Speedlock was also ported to the Amstrad CPC in 1985. The system used several advanced features of the Spectrum's architecture, such as the memory refresh register and parity branch instructions of the Z80 processor, which made it harder to create illegitimate copies without the protection. Early versions used a set of audible "clicking" lead tones when loading a program. Later versions did not include this, but instead had a counter showing the time left to finish loading the program, similar to those of ''
Technician Ted ''Technician Ted'' (also known as ''The Chip Factory: Featuring Technician Ted'') is a platform game for the Amstrad CPC and ZX Spectrum home computers that was written by Steve Marsden and David Cooke and published in 1984 by Hewson Consultants ...
'' and ''
Fairlight Fairlight may refer to: In places: * Fairlight, East Sussex, a village east of Hastings in southern England, UK * Fairlight, New South Wales, a suburb of Sydney, Australia * Fairlight, Saskatchewan, Canada In other uses: * Fairlight (company), an ...
''. Some companies created software to bypass protection schemes, including Speedlock, for the purpose of
backing up Reversing (also known as backing up) is the process of driving a vehicle in the reverse direction in order to maneuver. Rear view mirrors are somewhat standard equipment for this endeavor. Extremely large or luxury vehicles may have in addition t ...
or transferring to ZX Microdrive, the
ZX Spectrum +3 ZX may refer to: Arts and entertainment * Kamen Rider ZX (pronounced "Zed-Cross"), the tenth fictional superhero in the "Kamen Rider" franchise * ''Mega Man ZX'', a video game for the Nintendo DS * ''ZX Tunes'', remastered soundtracks of the "Meg ...
, or other proprietary disk systems. ''Invade-a-Load'' was a fast loader for cassette-based games which not only accelerated the loading of blocks from the tape, but also contained a mini-game (in this case, a clone of '' Space Invaders'') that could be played while waiting for the main game to finish loading. Invade-a-Load allowed the user to play a small clone of the famous '' Space Invaders'' game while the main game was loading. This initial minigame was loaded in under a minute, providing entertainment while waiting for the actual game to load, which could take a further five to ten minutes. On at least one occasion, a reviewer expressed their preference for Invade-a-Load over the main game itself. It mostly appeared in games sold in the United Kingdom, as, by the time it was written, the Commodore market in the United States had mostly switched to
floppy disk A floppy disk or floppy diskette (casually referred to as a floppy, or a diskette) is an obsolescent type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined w ...
media. The loader was written by
Richard Aplin Richard is a male given name. It originates, via Old French, from Old Frankish and is a compound of the words descending from Proto-Germanic ''*rīk-'' 'ruler, leader, king' and ''*hardu-'' 'strong, brave, hardy', and it therefore means 'str ...
for Mastertronic's own use. The loader itself has a copyright date of 1987, but the first games that used the loader showed up in 1988. Over the following years, Mastertronic used the loader in dozens of titles. The loader was also memorable for the soundtrack, originally made by Rob Hubbard for the Mastertronic title ''
One Man and His Droid ''One Man and His Droid'' is a game published by Mastertronic in 1985 for use on the Amstrad CPC, Atari 8-bit family, Commodore 16, Commodore 64, and ZX Spectrum home computer systems. The name of the game is a play on the title of the BBC tel ...
''. In the UK where the price of a 1541 Disk Drive was beyond the means of many of the target audience of CBM 64 owners, there was enormous demand for fast loaders for 64 games. One of the first to use such a loader was Llamasoft where Jeff Minter's classic "Revenge of the Mutant Camels" came with a fast loading version on one side of the cassette and a conventional loading version on the other. Soon enough other software houses jumped on board. Ocean used "pavloda" and a real breakthrough came with the Novaload software which allowed loading screens and music to play. "Daley Thompson's Decathlon" was a very visible example of this. US Gold releases became infamous for playing the US National Anthem and showing a character map version of the Stars and Stripes as their games loaded. Other notable releases included "Hypersports" by Imagine/Ocean which had animated sprites of runners as the game loaded and two impressive soundtracks by Martin Galway including a version of Chariots of Fire.


Optical discs

In 1995, Yoichi Hayashi of Namco Ltd. invented a variant of the Invade-a-Load technique for use with optical disc based platforms such as
PlayStation is a video gaming brand that consists of five home video game consoles, two handhelds, a media center, and a smartphone, as well as an online service and multiple magazines. The brand is produced by Sony Interactive Entertainment, a divisi ...
and applied for a patent. was granted in February 1998 and assigned to Namco despite the Invade-a-Load prior art.


See also

*
Commodore 64 disk / tape emulation Commodore 64 disk/tape emulation and data transfer comprises hardware and software for Commodore 64 disk & tape emulation and for data transfer between either Commodore 64 (C64), Commodore (Commodore 1541, 1541) disk drive or Commodore (Commodore ...


References

{{reflist, refs= {{cite web , title=GCR decoding on the fly , author-first=Linus , author-last=Åkesson , date=2013-03-31 , url=https://www.linusakesson.net/programming/gcr-decoding/index.php , access-date=2017-03-21 , url-status=live , archive-url=https://web.archive.org/web/20170321014657/https://www.linusakesson.net/programming/gcr-decoding/index.php , archive-date=2017-03-21 Commodore 64 software ZX Spectrum software Copy protection