All Topics  
Fast loader

 

   Email Print
   Bookmark   Link






 

Fast loader



 
 
A fast loader is a software program for a home computer
Home computer

A home computer was a class of personal computer entering the market in 1977 and becoming common during the 1980s. They were marketed to consumers as accessible personal computers, more capable than video game consoles....
 - most commonly, the Commodore 64
Commodore 64

The Commodore 64 is an 8-bit home computer released by Commodore International in August, 1982, at a price of United States dollar595. Preceded by the Commodore VIC-20 and Commodore MAX Machine, the C64 features 64 kilobytes of Random-access memory with sound and graphics performance that were superior to IBM-compatible computers of tha...
 - that accelerates the speed of file loading from the floppy disk
Floppy disk

A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell....
 drive.

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
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
's default routines. This discrepancy was most pronounced on the Commodore VIC-20
Commodore VIC-20

The VIC-20 is an 8-bit home computer which was sold by Commodore International. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the Commodore PET....
 and 64
Commodore 64

The Commodore 64 is an 8-bit home computer released by Commodore International in August, 1982, at a price of United States dollar595. Preceded by the Commodore VIC-20 and Commodore MAX Machine, the C64 features 64 kilobytes of Random-access memory with sound and graphics performance that were superior to IBM-compatible computers of tha...
.






Discussion
Ask a question about 'Fast loader'
Start a new discussion about 'Fast loader'
Answer questions from other users
Full Discussion Forum



Encyclopedia


A fast loader is a software program for a home computer
Home computer

A home computer was a class of personal computer entering the market in 1977 and becoming common during the 1980s. They were marketed to consumers as accessible personal computers, more capable than video game consoles....
 - most commonly, the Commodore 64
Commodore 64

The Commodore 64 is an 8-bit home computer released by Commodore International in August, 1982, at a price of United States dollar595. Preceded by the Commodore VIC-20 and Commodore MAX Machine, the C64 features 64 kilobytes of Random-access memory with sound and graphics performance that were superior to IBM-compatible computers of tha...
 - that accelerates the speed of file loading from the floppy disk
Floppy disk

A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell....
 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
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
's default routines. This discrepancy was most pronounced on the Commodore VIC-20
Commodore VIC-20

The VIC-20 is an 8-bit home computer which was sold by Commodore International. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the Commodore PET....
 and 64
Commodore 64

The Commodore 64 is an 8-bit home computer released by Commodore International in August, 1982, at a price of United States dollar595. Preceded by the Commodore VIC-20 and Commodore MAX Machine, the C64 features 64 kilobytes of Random-access memory with sound and graphics performance that were superior to IBM-compatible computers of tha...
. While the earlier Commodore PET
Commodore PET

The PET was a home computer-/personal computer produced by Commodore International starting in 1977. Although it was not a top seller outside the Canadian, US, and UK educational markets, it was Commodore's first full-featured computer and would form the basis for their future success....
 series had used an industry-standard IEEE-488
IEEE-488

IEEE-488 is a short-range, digital communications computer bus specification that has been in use for over 30 years. Originally created for use with automated test equipment, the standard is still in wide use for that purpose....
 parallel bus
Parallel port

A parallel port is a type of interface found on computers for connecting various peripherals. It is also known as a printer port or Centronics#The interface....
, 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
MOS Technology 6522

The 6522 Versatile Interface Adapter was an integrated circuit made by MOS Technology, as well as second sources including Rockwell and Synertek....
 as a hardware shift register
Shift register

In digital circuits, a shift register is a group of flip-flop s set up in a linear fashion which have their inputs and outputs connected together in such a way that the data is shifted down the line when the circuit is activated....
 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
KERNAL

The KERNAL is Commodore International's name for the read-only memory-resident operating system core in its 8-bit home computers; from the original Commodore PET of 1977, via the extended, but strongly related, versions used in its successors; the Commodore VIC-20, Commodore 64, Plus/4, Commodore 16, and C128....
 ROM
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
 routines were hastily rewritten to transfer a single bit at a time, using a slow software handshaking
Handshaking

In information technology, telecommunications, and related fields, handshaking is an automated process of negotiation that dynamically sets parameters of a communications channel established between two entities before normal communication over the channel begins....
 protocol. Although the C64 replaced the 6522 VIA with two 6526 CIA
MOS Technology CIA

The 6526/8520 Complex Interface Adapter was an integrated circuit made by MOS Technology. It served as a I/O port controller for the MOS Technology 6502 family of microprocessors, providing for Parallel communications and Serial communications I/O capabilities as well as Programmable Interval Timer and a Time-of-Day clock....
 chips, which did not suffer from this bug, the companion 1541
Commodore 1541

The Commodore 1541 , made by Commodore International, was the best-known floppy disk drive for the Commodore 64 home computer. The 1541 was a single-sided 170 kilobyte drive for 5?" disks....
 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
Commodore 1540

The Commodore 1540 was the companion floppy disk drive for the Commodore VIC-20 home computer. It used single-sided 5¼" floppy disks, on which it stored roughly 170 kilobyte of data utilizing Commodore's Group Code Recording data encoding scheme....
 and 1541
Commodore 1541

The Commodore 1541 , made by Commodore International, was the best-known floppy disk drive for the Commodore 64 home computer. The 1541 was a single-sided 170 kilobyte drive for 5?" disks....
 disk drives soon gained a reputation for extreme slowness. Only at the introduction of the Commodore 128
Commodore 128

The Commodore 128 home computer/personal computer was the last 8-bit machine commercially released by Commodore International . Introduced in January of 1985 at the Consumer Electronics Show in Las Vegas metropolitan area, it appeared three years after its predecessor, the bestselling Commodore 64....
 computer and the Commodore 1571
Commodore 1571

The Commodore 1571 was Commodore International high-end 5?inch floppy disk drive. With its double-sided drive mechanism, it had the ability to utilize double-sided, double-density floppy disks natively....
 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
Bit-banging

Bit-banging is a technique for serial communications to use software instead of dedicated hardware such as a UART or shift register. A software routine handles the UART transmit function by alternating a pin on the microcontroller by given time intervals....
 serial KERNAL routines were unnecessarily sluggish. Since the CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 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
Byte

A byte is a basic unit of measurement of Computer storage in computer science. In many computer architectures it is a Byte addressing memory address space....
, rather than at each individual bit
Bit

A bit is a binary numeral system numerical digit, taking a value of either 0 or 1. Binary digits are a basic unit of information Computer data storage and transmission in digital computing and digital information theory....
. 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
MOS Technology VIC-II

The VIC-II , specifically known as the MOS Technology 6567/8562/8564 , 6569/8565/8566 , is the integrated circuit tasked with generating S-Video/composite video graphics and dynamic random access memory memory refresh signals in the Commodore 64 and Commodore 128 home computers....
 graphics chip
Graphics processing unit

A graphics processing unit or GPU is a dedicated graphics rendering device for a personal computer, workstation, or game console. Modern GPUs are very efficient at manipulating and displaying computer graphics, and their highly parallel structure makes them more effective than general-purpose Central processing unit for a range of com...
, 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
Interrupt vector

An interrupt vector is the memory address of an interrupt handler, or an index into an array called an interrupt vector table or dispatch table....
 at $
Hexadecimal

In mathematics and computer science, hexadecimal is a numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 09 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen....
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
Cartridge (electronics)

In various types of electronic equipment, a cartridge can refer to one method of adding different functionality or content; for example, a video game played on a video game console; or a method by which consumables may be replenished, such as an ink cartridge for a printer....
 form. In the United States
United States

The United States of America is a Federal government constitutional republic comprising U.S. state and a federal district. The country is situated mostly in central North America, where its Contiguous United States and Washington, D.C., the Capital districts and territories, lie between the Pacific Ocean and Atlantic Oceans, Borders of the U...
, probably the most popular such cartridge was the Epyx FastLoad
Epyx FastLoad

The Epyx FastLoad is a floppy disk fast loader cartridge made by USA software company Epyx in 1984 for the Commodore 64 home computer. It was programmed by Epyx employee Scott Nelson, who later designed the Epyx Vorpal fastloading system for the company's games....
. Most fast loader cartridges also incorporated other features to increase ease of use. An on-board implementation of Commodore's DOS Wedge
DOS Wedge

The DOS Wedge was a popular piece of Commodore 64 system software. Written by Bob Fairbairn, it was included by Commodore International on the Commodore 1541 Test/Demo Disk and also packaged with the Commodore 64 Macro Assembler Development System ....
 was included in most fast loader cartridges. Machine language monitors, disk editor
Disk editor

A disk editor is a computer program that allows its user to read, edit, and write raw data on disk drives ; as such, they are sometimes called sector editors, since the read/write routines built into the electronics of most disk drives require to read/write data in chunks of disk sectors ....
s, and various convenience commands for Commodore BASIC
Commodore BASIC

Commodore BASIC, also known as PET BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the Commodore PET of 1977 to the Commodore 128 of 1985....
 were also common additions. Some fast loader cartridges were very sophisticated, incorporating a reset button
Reset button

In electronics and technology, a reset button is a button that can reset a machine. On video game consoles, the reset button restarts the game, losing the player's unsaved progress....
, "freeze" capabilities, and a simple onboard GUI
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
. The Final Cartridge III
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 Riska B.V. Home & Personal Computers....
 was perhaps the most successful of this genre. A few commercial fast loaders, most notably CMD's
Creative Micro Designs

Creative Micro Designs is a computer technologies company which today sells IBM PC compatibles and related equipment, but which started out in 1987 selling self-designed firmware updates and computer hardware for the Commodore 64 and Commodore 128 8-bit home computer/personal computers....
 JiffyDOS, were not cartridge-driven but instead replaced the KERNAL
KERNAL

The KERNAL is Commodore International's name for the read-only memory-resident operating system core in its 8-bit home computers; from the original Commodore PET of 1977, via the extended, but strongly related, versions used in its successors; the Commodore VIC-20, Commodore 64, Plus/4, Commodore 16, and C128....
 ROM
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
 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
Type-in program

A type-in program, or just type-in, is a computer program listing printed in a computer magazine or book, meant to be typed in by the reader in order to run the program on a computer....
 fast loading software. In April 1985, COMPUTE!
COMPUTE!

COMPUTE! was an United States computer magazine that was published from 1979 to 1994, though it can trace its origin to 1978 in Len Lindsay's PET Gazette, one of the first magazines for the Commodore PET computer....
 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
COMPUTE!'s Gazette

COMPUTE!'s Gazette was a computer magazine of the 1980s, directed at users of Commodore International's 8-bit home computers. Publishing its first issue in July 1983, the Gazette was a Commodore-only daughter magazine of the computer hobbyist magazine COMPUTE!....
. 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
Commodore 128

The Commodore 128 home computer/personal computer was the last 8-bit machine commercially released by Commodore International . Introduced in January of 1985 at the Consumer Electronics Show in Las Vegas metropolitan area, it appeared three years after its predecessor, the bestselling Commodore 64....
 version was also included for those C128 users who still had 1541 disk drives.
COMPUTE!'s Gazette also published several other utilities that speeded 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 Magazine published Sizzle! in December 1987, an integrated package that included a relocatable fast loader with autoboot generation capability.