JiffyDOS

From C64-Wiki
Jump to navigationJump to search
JiffyDOS
JiffyDOS Logo
Type: Firmware
Producer: Mark Fellows (1984 – 1986)
Creative Micro Designs (1987 – 2000)
Retro Innovations (2004 – Present)
Price: $49 Commodore 128D kernal ROM
$37 Commodore 128 kernal ROM
$27 Commodore 64 kernal ROM
$19 Commodore 1541 drive ROM
$19 Commodore 1571 drive ROM
$19 Commodore 1581 drive ROM
Released: 1985
Discontinued: Still in production by RETRO Innovations under license from Mark Fellows.
Processor:
Memory:
OS:
Info: Other JiffyDOS drive ROMs available for 3rd party drives.

JiffyDOS is an enhanced DOS for the C64, SX-64, and C128 computers. The software is programmed onto ROM chips that replace the Kernal ROM chip on the motherboard and the DOS ROM chip in the disk drive. JiffyDOS is intended to provide greater speed, commands and convenience than on stock systems. Being ROM-based, JiffyDOS is able to provide performance without the compatibility problems of cartridges and other speed-enhancement systems. It was created by Mark Fellows in 1985 and as of 1989 it is at version 6.01. In 2012 Retro Innovations released JiffyDOS for the VIC 20.[1]

Features[edit | edit source]

Connectivity[edit | edit source]

JiffyDOS seats directly onto the PCB. There is no additional cabling requirement between the computer and disk drive(s), and does not tie up the Expansion Port, User Port or Cassette port. This improves compatibility with all hardware devices, and is claimed to give JiffyDOS an advantage over cartridge speedups and other hardware fast loader upgrades which require extra cabling that plugs into one of the computer’s ports.

DOS Wedge Commands[edit | edit source]

JiffyDOS includes a complete, built-in implementation of the DOS Wedge command set. The DOS Wedge is designed to provide simpler commands that should eliminate the need to type complicated instructions required to perform common disk operations (such as scratching files and formatting disks). The JiffyDOS version of the DOS Wedge also includes a series of enhancements that are intended to make it easier to use the commands within BASIC programs.

JiffyDOS Commands[edit | edit source]

JiffyDOS includes a number of special commands which use the DOS Wedge syntax. These include functions such as disabling the head rattle (bump) on 1541s when locking and unlocking files, listing files directly from disk, undoing the NEW command in BASIC and dumping the screen to a printer.

Convenience Features[edit | edit source]

JiffyDOS provides a complement of features that enable directory listing without disturbing memory. These included the ability to load and run the first program on disk and to pause, inspect and restart BASIC of JiffyDOS listings. In addition, JiffyDOS includes function key definitions that work along with the directory listing in order to eliminate the need to type lengthy filenames when loading, saving, or scratching files.

Error Checking[edit | edit source]

All JiffyDOS operations retain the built-in DOS error checking and correction routines to protect data integrity at higher operating speeds.

Commodore Upgrades[edit | edit source]

JiffyDOS ROMs include the latest Commodore upgrades. The JiffyDOS ROM for the 1571 eliminates bugs affecting relative files, drive initialization, etc. and has also been modified to solve the problems with disk backup utilities caused by the Commodore upgrade.

Performance[edit | edit source]

Speed[edit | edit source]

JiffyDOS has been designed to speed up operations on 1541, 1541-compatible, 1571 and 1581 disk drives. This includes the initial loading of all types of programs (including copy-protected software), saving, reading and writing files from within programs, autobooting (on the C128 in C128 mode), scratching, validating, and formatting (1541 drives). JiffyDOS for the C128 speeds up disk operations in both C64 and C128 modes and is able to speed up the already quick C128-mode operation of 1571 and 1581 drives.

PRG, SEQ, REL, & USR Files[edit | edit source]

Some cartridge-based fast loaders are only effective with Program (PRG) files. JiffyDOS is designed to speed up the access of all types of files. Program (PRG), Sequential (SEQ), Relative (REL) and User (USR) files can all be accessed faster on JiffyDOS systems.

Speed comparisons[edit | edit source]

Tables 1 illustrates the speed increases that can be obtained with JiffyDOS. Note that the times shown are rounded off to the nearest second, and do not take into account the disk spin-up delay (approx. 1/2 second) and the time required for directory searching (which varies in relation to the size of the particular directory). Other factors may also influence results on individual systems.

Table 1: C-64, SX-64, C-128 in 64 Mode
Disk Operation 1541 1571 1581
Stock JiffyDOS Stock JiffyDOS Stock JiffyDOS
Load 202-block program (PRG file) 124 12 124 9 102 8
Save 100-block program (PRG file) 75 24 75 20 40 15
Read 125-block SEQ or USR file 84 15 84 13 63 9
Write 100-block SEQ or USR file 81 27 81 24 44 17
Read 64 154-byte REL records 40 14 40 14 37 10
Write one 154-byte REL records .350 .125 .350 .120 .325 .110
Read/Write 16K on command channel 47 9 47 9 47 9

Compatibility[edit | edit source]

Software[edit | edit source]

JiffyDOS should load and operate with virtually all software of every type (including copy- protected commercial programs). In addition, JiffyDOS is compatible with programs that utilize their own fast-access routines (such as GEOS) and will work with the non-standard file formats created by programs such as the VORPAL utility kit.

Hardware[edit | edit source]

JiffyDOS commands are compatible with Commodore’s RAMDOS for the 1700, 1750, and 1764 RAM expansion units (REUs), as well as being compatible with the RAM operating system used by CMD in the RAMLink RAM expansion interface. Because it does not use any ports, JiffyDOS can work in conjunction with all hardware devices available for C64 and C128. JiffyDOS systems are also compatible with all serial bus devices. JiffyDOS can be installed on disk drives regardless of device number, and devices numbers can be changed on JiffyDOS drives via software or hardware with no problems. In addition, JiffyDOS-equipped disk drives can be used with stock C64 and C128 computers, if necessary.

File Formats[edit | edit source]

All files written under JiffyDOS are identical to standard Commodore files. Disks formatted on JiffyDOS systems are identical to those formatted on stock systems.

Toggling On/Off[edit | edit source]

In the event that a program will not load or operate properly with JiffyDOS (such as from a tape, which JiffyDOS disables), the system can be physically switched back to a stock version. This switch remains functional when the system is powered on.

Applicability[edit | edit source]

JiffyDOS allows the use of multiple dissimilar drives (i.e. 1541, 1571, 1581) whether or not they are equipped with JiffyDOS ROMs. JiffyDOS-equipped disk drives can be used interchangeably on different JiffyDOS-equipped computers, or with stock computers. JiffyDOS systems are available for the following computers and disk drives:

Command Summary[edit | edit source]

Quick Reference Card[edit | edit source]

The following table is an aide memoire for all the JiffyDOS commands[2]:

Command Action
@ Read the disk drive error channel
@C:newfile=file Copy a file on the same diskette
@I Initalize the disk drive
@N:diskname,ID Format a NEW diskette
@N:diskname Short NEW
@Q Disable the JiffyDOS commands
@R:[newname]=[oldname] Rename A File
@S:[file1],[file2]... Scratch a file (files)
@UJ Reset the disk drive
@V Validate a disk
@$ Display a disk directory
@#device Set the default device number
/[filename] Load a BASIC program
↑[filename] Load and run a BASIC program
%[filename] Load an machine language program
←[filename] Save a BASIC program
@B Disable the 1541 head rattle
@D:[filename] List a BASIC program from disk
@F Disable the function keys
@G Set interleave gap size
@L:[filename] Lock/Unlock a file
@O Un-NEW a BASIC program
@P Toggle printer output
@T:[filename] List an ASCII file from disk
@X Set Destination device number
*"filename"type Copy a file
f[filename] Load and run an machine language file
'[filename] Verify a file
CTRL  + S  Stop / freeze LISTing
CTRL  + A  Toggle all files for copy
CTRL  + D  Default drive toggle
CTRL  + P  Screen Dump
CTRL  + W  Toggle single file for copy
SHIFT  RUN/STOP  Load and run 1st program on disk
SYS 58451 Re-enable JiffyDOS commands
SYS 58551 Re-enable the JiffyDOS function keys
SYS 65137 Re-enable the JiffyDOS commands (C128 mode)
SYS 58492 Re-enable the JiffyDOS (VIC-20 mode)

Function Key Shortcuts[edit | edit source]

When initialised with function key support, JiffyDOS assigns shortcuts:

Function Key Command Action
F1  @$:* RETURN or @$ RETURN Display directory
F2  %D[filename] List a BASIC program from disk
F3  /[filename] Load a BASIC program
F4  @T[filename] List an ASCII (text) file from disk
F5  ↑[filename] Load and run a BASIC program
F6  ←[filename] Save a BASIC program
F7  %[filename] Load an ML program
F8  @"S:[filename] Scratch a file

Links[edit | edit source]

References[edit | edit source]