JiffyDOS Kernal Upgrade
JiffyDOS is a drop-in firmware upgrade for Commodore 8-bit computers and their disk drives. By replacing the system’s KERNAL ROM and the DOS ROM inside each attached drive, JiffyDOS rewrites the serial-bus protocol to eliminate the hand-shaking delays that plague stock IEC transfers. On CMD's own figures a 202-block program load on a 1541 falls from 124 seconds to 12.[1]
Because the code lives in ROM it consumes no RAM, needs no cartridge slot, and retains virtually 100 % software compatibility. A small rocker or slider switch is normally fitted so the user can revert to the original ROM image if a tape-based program, copy-protection routine, or hardware fast-loader demands it.
Key Features
[edit | edit source]- Fast serial protocol – multi-line serial transfers with sector interleave control on the 1541, 1571 and 1581. CMD's own figure for a 202-block PRG load on a 1541 is 124 s stock against 12 s with JiffyDOS.[1]
- Complete DOS Wedge built in – shorthand commands (`@`,`$`,`%`,`↑`,`←` etc.) for directory listing, file copy, scratch, validate, drive number change
- Extra JiffyDOS-only commands – head-rattle suppression (`@B`), screen-to-printer dump, BASIC *UNNEW* (`@O`), disk copy, gap-size tuning
- Function-key macros pre-loaded with useful disk operations
- Bug-fixed Commodore ROMs – 1571 relative-file and autoboot fixes, 1541 buffer-overflow patch, 1581 improved *VALIDATE*
- Hardware toggle – completely disables JiffyDOS for maximum compatibility, unlike cartridge fast-loaders that can only be soft-disabled
- No extra cabling – uses the standard six-wire IEC serial bus; works in parallel with cartridges, REUs, user-port devices, RAMLink, etc.
Performance
[edit | edit source]CMD's own published figures. The times are rounded to the nearest second and exclude drive spin-up (about half a second) and directory-search time, which is why a stopwatch on your own machine will not match them exactly.[1]
| Operation | 1541 stock | 1541 Jiffy | 1571 stock | 1571 Jiffy | 1581 stock | 1581 Jiffy |
|---|---|---|---|---|---|---|
| Load 202-block PRG | 124 | 12 | 124 | 9 | 102 | 8 |
| Save 100-block PRG | 75 | 24 | 75 | 20 | 40 | 15 |
| Read 125-block SEQ or USR | 84 | 15 | 84 | 13 | 63 | 9 |
| Write 100-block SEQ or USR | 81 | 27 | 81 | 24 | 44 | 17 |
| Read 64 × 154-byte REL records | 40 | 14 | 40 | 14 | 37 | 10 |
| Write one 154-byte REL record | 0.350 | 0.125 | 0.350 | 0.120 | 0.325 | 0.110 |
| Read/write 16K on the command channel | 47 | 9 | 47 | 9 | 47 | 9 |
| Operation | 1541 stock | 1541 Jiffy | 1571 stock | 1571 Jiffy | 1581 stock | 1581 Jiffy |
|---|---|---|---|---|---|---|
| Load 202-block PRG | 124 | 12 | 14 | 9 | 12 | 8 |
| Save 100-block PRG | 75 | 24 | 48 | 25 | 26 | 14 |
| Read 125-block SEQ or USR | 84 | 15 | 31 | 12 | 20 | 10 |
| Write 100-block SEQ or USR | 81 | 27 | 48 | 33 | 20 | 11 |
| Read 64 × 154-byte REL records | 40 | 14 | 21 | 14 | 17 | 10 |
| Autoboot 202-block program | 125 | 13 | 54 | 10 | 13 | 9 |
| Read/write 16K on the command channel | 47 | 10 | 10 | 6 | 10 | 6 |
Two things the tables make obvious, and which earlier versions of this page got backwards:
- The biggest wins are on loads and on command-channel traffic, not on saves. A 100-block save improves about threefold; a 202-block load improves roughly tenfold.
- The 1581 is not the weakest case. In 64 mode a 202-block load on a 1581 goes from 102 s to 8 s — a bigger proportional gain than the 1541's. The machines where JiffyDOS adds least are the ones that are already fast: a 1571 or 1581 under native C-128 mode, where the burst routines are already doing most of the work.
Supported Machines
[edit | edit source]- Computers
- Commodore 64 / 64C
- Commodore SX-64 (portable)
- Commodore 128 / 128D (speeds both C64-mode and native C128-mode)
- Disk drives
1541, 1541-C, 1541-II, 1571, 1581 and more than twenty third-party compatibles (Excelerator+, OC-118, MSD 1/2, Indus GT, etc.)
Physical Package
[edit | edit source]- Computer ROM – usually a 27128 (16 KB) EPROM on a 28-pin adapter PCB; early C64s with 24-pin 2364 mask ROMs need a pin-header adapter or board trace-cut.
- Drive ROM – 27128/27256 EPROM; 1541 C and 1541-II need solderless swap, older 1541 drives may need a jumper moved from “24-pin” to “28-pin”.
- Toggle switch – DPDT or SPDT depending on board, mounted through RF shield or case rear, selects between stock and Jiffy images.
RETRO Innovations sells both pre-programmed licensed ROMs and download images for owners with their own EPROM burner. Prices are not quoted here because they change; see the vendor.[2]
Installation
[edit | edit source]- Disassemble the computer/drive; locate the KERNAL or DOS ROM (consult the service manual for your board revision).
- Note the notch orientation, carefully lever the old IC from its socket.
- Fit the EPROM adapter—ensure pins are fully seated and the notch faces the same direction.
- Mount the toggle switch and wire it to the adapter (or fit the supplied PCB-mounted switch).
- Re-assemble and power-on. Type
@(return) – a drive error-channel read – to confirm the JiffyDOS banner.
RETRO Innovations publishes installation guides for the C64, SX-64, C128, C128D, 1541, 1541-II, 1571, 1581 and several third-party drives, together with the full user manual and the function-key overlays.[2]
Drive-only Upgrade?
[edit | edit source]You may install JiffyDOS in drives only; they remain perfectly usable from stock C64s (they fall back to Commodore serial timing when the computer side is stock). However, the computer’s KERNAL must be upgraded to enjoy the speed increase.
Command Reference
[edit | edit source]JiffyDOS merges Commodore’s DOS Wedge and additional shorthand. Highlights include:
| Syntax | Action |
|---|---|
@$ |
Show disk directory without clobbering BASIC program |
/prog |
Load BASIC program “prog” |
↑prog |
Load and RUN BASIC program |
%prog |
Load machine-language file to its stored address |
@C:new=old |
Copy file on same disk |
@B |
Disable 1541 head-rattle on error |
@O |
*UNNEW* – recover BASIC program after NEW |
@UJ |
Warm-reset the drive |
A ten-page quick-reference card and the full 64-page user’s manual are freely downloadable from the publisher.
Compatibility
[edit | edit source]- Software: near-universal; even copy-protected titles load because JiffyDOS automatically detects and drops to slow-serial when the computer or drive requests it.
- Cartridge fast-loaders: OK – the first cartridge to take over disables JiffyDOS until the next reset.
- SD2IEC / Pi1541: JiffyDOS transfer protocol is fully supported, giving SD card–based solutions similar speed gains.
- Tape software: a tape drive cannot be used while the JiffyDOS Kernal is selected. Attempting tape access gives an
ILLEGAL DEVICE NUMBER ERROR. Switch to the stock Kernal to load tapes. The cassette port itself is not tied up — JiffyDOS leaves the cartridge, user and cassette ports free — it is the Kernal's tape routines that are absent.[1]
Licensing
[edit | edit source]JiffyDOS is not abandonware. Mark Fellows wrote the ROM replacement and joined forces with Creative Micro Designs to market and sell it; when CMD left the Commodore market the rights stayed with Fellows, who set up a royalty agreement with the firm that bought the remaining CMD stock.[2]
RETRO Innovations does not hold an exclusive licence. As of the current RETRO Innovations product page the authorised sales channels are:[2]
- Restore Store — replacement ROM overlays, specialising in country-specific variants
- Coprolite Computer By-Products — "switchless" ROM overlays
- Custom Commodores — replacement ROM overlays
- RETRO Innovations — replacement ROM overlays and images
Each licensee runs its own product line. Buying from one of these keeps licensed copies available; no other distributor is currently licensed.[2]
Related Projects
[edit | edit source]- SJLOAD – a software fast-loader that speaks the JiffyDOS protocol
- sd2iec and Pi1541 – solid-state drive replacements with JiffyDOS protocol support
Switching ROMs with the power on
[edit | edit source]JiffyDOS is designed to allow the Kernal or DOS ROM selection to be switched while the system is powered on — useful when a heavily copy-protected program will not load with JiffyDOS selected but will run fast once it is up.[1]
The one precaution is that no disk access may be in progress when you switch: toggling during a drive access will hang the system. CMD also warns that switching the Kernal while a program is running is not 100 % reliable — the program may crash on the switch or hang on the next device access.[1]
Related pages
[edit | edit source]References
[edit | edit source]- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Creative Micro Designs, JiffyDOS Version 6.01 User's Manual, © 1989 CMD, mirrored by RETRO Innovations at jbrain.com. Source for Table 1 (C-64, SX-64 and C-128 in 64 mode) and Table 2 (C-128 in 128 mode) of stock-versus-JiffyDOS transfer times; the statement that the times are rounded to the nearest second and exclude drive spin-up and directory-search time; the sign-on banner "JiffyDOS V6.01 (C) 1989 CMD"; the note that the version 6 drive ROMs are unchanged from version 5; the ROM-switching-with-power-on procedure and its precautions; the command reference; and the statement that a tape drive cannot be used while the JiffyDOS Kernal is selected.
- ↑ 2.0 2.1 2.2 2.3 2.4 RETRO Innovations, JiffyDOS product page — https://www.go4retro.com/products/jiffydos/ . Source for the licensing history (Mark Fellows wrote the ROM replacement and joined with Creative Micro Designs to market it; the rights stayed with Fellows when CMD left the Commodore market), for the current list of authorised sales channels, and for the list of published installation guides.