S-JIFFYDOS 1541
S-JIFFYDOS 1541 (SJD41) is a CBM 1541 floppy DOS operating-system, that works in a 1541 in an eprom. It is a patch for JIFFYDOS 1541 (JD41). But don't be afraid, nobody must renounce for the original JIFFYDOS; this instruction describes, how you build CBM-, JIFFYDOS- und S-JIFFYDOS simultaneously into all three versions of the 1541 (old, /c, /2). Because it's a patch for JIFFYDOS 1541, the patch program doesn't work without this at all. It uses the original JD IEC bus routines, so it works with all (only-CBM-) and JIFFYDOS-computers and -speeder- cartridges. It reaches with all JD- computers and -speeder-cartdriges the below spezified speeds, that means, that you don't need SJD64 in your C64. SJD41 and SJD64 are absolutely independent.

Here are the speeds of S-JIFFYDOS1541 (in compare to CBM1541 and to JIFFYDOS1541):

                                  CBM1541 JD1541 SJD1541
new/format 35 tracks                95,4    22,2    22,5
load 202 blocks (at gap)           127,2    13,2     8,7  
                                  (9,5)     (6)     (4+)
load 202 blocks at gap 9,5         127,2    20,7    14,7
save 154 blocks                    105,3    43,4    21,0
scratch 202 blocks                  24,9    14,9     4,3
scratch 664 blocks 144 files       361,7   260,3    17,9
validate 664 blocks 144 files      239,0   139,6    10,9
search the 144th file in dir         5,3     4,7     1,1
100 bytes IECOUT (& CBM-C64)      0,117   0,117   0,117
100 bytes IECOUT (&  JD-C64)      0,146   0,0335  0,0335
100 bytes IECIN                   0,204   0,0216  0,0216
- can use 40 tracks: first @"et+ (return), then @"n:dn,id (return) (!news the disk!)
- @"el @"eu lock/unlock of files. Advantage to JD: You can use several files by using jokers
- @"el:$ @"eu:$ lock/unlock of disk
- @"v validates GEOS disks correct
- @"vg- validates normal (GEOS disks wrong)
- @"sg+ scratches GEOS VLIR files correct
- @"nv- news a disk without verify
- @"e extended floppy status (+ is on, - ist off)
. 02,sj+ ic+ dt- mb- em- .tk.gp,35,00
. sj = S-JIFFYDOS on/off
. ic = IEC-BUS JD/CBM
. dt = allows/forbites the writing of files (not of the dir) onto the dir track 18. Before using blocks on track 18, SJD allocates the dir blocks in the BAM to be on the sure side. The dir can always be written onto track 18 (independent of DT). The advantige of DT is, that if a disk has not enough free blocks to save a file on this disk, then you can write this file onto the free sectors of track 18 (these are usually reserved for the dir and can't be used of normal files). This is sometimes a possibility, to save the last file on a disk. !There is the danger of loosing datas by using dir- editors!
. mb = mechanical bump = hard-CBM- / allmoust soft SJD-bump
. em = execution of MB = MB allready / not yet made (only if MB-) (MB and EM are for internal SJD41 routines. You needn't change here anything)
. tk = 35/40 tracks
. gp = gap, interleave (00 means, that SJD41 uses the optimal gap)
./! = track automatically (depends on disk-ID) / fixed
Example:
- @"es+ switch on SJD mode
- @"ei- switch off JD-IEC-bus routines
- @"e+ default for ON
- @"e- default for OFF
- @"et automatical track recognition: recognizes a 40 track disk at " 4a" or " 4<"
- @"et+ fixes 40 tracks
- @"et- fixes 35 tracks
- @"eh:dn,id changes disk-name and ID
- @"e changes the device number
- @"ec checks a disk for bad blocks
- @"eca+ check&allocate checks a disk for bad blocks and allocates them in the BAM
- @"ec (number (1-41)) checks, starting with track
- special LOAD routine for PRGs, that are saved with the CBM gap 9,5
- special LOAD routine, that decodes from the GCR bytes to HD format, while reading the bytes from the disk. Uses gap 4
- the area c000-dfff has (allmoust) all patches of the 1541/2 DOS, consequently also the repair of the save&replace bug (At the 1541old only if both eproms are changed)
- fast open uses gap 3 instead of 22
- the error channel prints the error numbers with three positions, if the error number is greater than 99.
- fast reset without RAM and ROM test
- drive 1 (allmoust) never occupies an unneccesary buffer
- fast save: Because SJD41 must use the original routines of the C64, and because at theese routines the IRQ isn't prevented, you schouldn't press any key during the save. Otherwise the IRQ of the C64 would be longer than the 1541 thinks and the save would be a little bit slower. Fast save verifies the written blocks, that means the speed isn't at cost of the data- security.
- fast-scratch und -validate makes the checksum while reading the bytes from the disk
- if you change only one eprom at the 1541old, then you don't have check, fast-lock/unlock, -scratch, -validate and -save and the 1541/2 bug-patches
- SJD uses the area 8000-ffff (At the 1541/c and /2 always; at the 1541old only if both eproms are changed (1541old and only one changed eprom: a000-ffff))
- SJD41 has the same IEC bus routines as JD41, that means it schould work with all CMD-computers and -speeder-cartridges

For the files, which you must burn into the eprom, you need two formated disks, which I call "interimsfiles" and "burnfiles". Attention, the generated files contain original JIFFYDOS routines, they have the copyright of CMD and you must not give them to others; everybody who wants SJD, must before buy JD himself, and this must be for the 1541. Additionally it is not allowed to sell the JD eproms or to build them into a different 1541 after you have built in the SJD eproms.

First you put in the disk "interimsfiles" and start "1.sj/e0&cbm/c0-generator". This programm reads JD41 from a floppy and saves two interims files on the disk. Those who have no JIFFYDOS 1541, cannot use the programm. Then you start "2.cbm/e0-generat" and "3.sjd/e0-gene...", which generate further interims files. At the end you must copy the two files "(c)cmd/s80-9/..." and "(c)cmd/sa0-b/..." from the starting- disk to the interims-disk. Then this disk must contain the following files:
(c)cmd/j/e0-ff
(c)cmd/c/c0-df
(c)cmd/c/e0-ff
(c)cmd/se0-f/...
(c)cmd/s80-9/...
(c)cmd/sa0-b/...
Every file must have 33 blocks.

Now you must generate the final burnfiles for the eproms with the program "ep-gen/41...". The destination-disk is the "burnfiles"-disk. 41old is for the 1541old, which you can recognize that the power supply is in the floppy and the DOS is in two 24 pin ICs. 41c&2 is for the 1541c (power suply in the floppy, but DOS in one 28 pin IC) and 1541/2 (external power supply).
You can see in the file "eproms" which eprom type you must use for which floppy subtype. At the 1541c and /2 the whole DOS is in one ROM, that means you must change here always only one eprom. At the 1541old the DOS is in two roms. Here you can choice, whether you want to change only one eprom (UB4) or two eproms (UB4 and UB3). If you change only one eprom, you must renounce of check, fast-(un)lock, -scratch, -validate and -save.

Here a short general view:
1541type:    old    old     c     /2 
place:       UB3    UB4    UA2    U4 
epromtype:  27c128 27c512 27c512 27c512 
24->28pol adaptersocle necessary? 
             yes    yes     no    no 
74hc04-inverter necessary?
             no     no     yes    no 
single/double tumbler-switch w. middle- 
position? no-one    1*      2*     2* 
pins, which you must bend off and
connect with 10kOhm pullup-resistor and
with switch:----   P1A15  P1A15  P1A15 
            ----  P27A14 P27A14 P27A14 
pin, which you must bend off and
connect with pin24 A14 of the 6502 
           P26A13 P26A13  ----  ---- 
pin, which you must bend off and
connect inverted with P25 A15 of the
6502:       ----    ---- P22=OE ---- 
number of off-bended pins: 
              1      3     3      2 
1541type:    old    old     c     /2
An exact wire-scheme shows the file "pic/ep/41...".
You must not give the burnfiles to others, too.
Next you must burn the eproms corresponding the instructions of your eprommer. At 64 kB eproms (27c512) the ending 00 means the area $0000 - $7fff and 80 the area $8000 - $ffff.
After this you must build off the roms and build in the eproms. And now a warning: I have tested SJD, but I don't give any warranty on SJD, errors or destruction of hardware. The use of SJD is to 100% to your own risk.
Of course the 1541 and all other devices must be switched off and put off from the electricity during rebuilding it.
The eproms and the chips of the C64 are extremly sensible to electrostatic currency, they get destroyed. You must always pay attention to eliminate it, f.e. by touching grounded metall things like heating pipes.
First you must remove the old rom. If it is in a socle, then you easily pull it out. To support this you can put a screw driver cautiously between chip and socle and turn it without destroying copper lines of the mainboard. If the rom is soldered to the board then it's very difficult. You have theese possibilities:
- You give the C64 to a shop where TV sets are repaired and ask whether they solder the chip out. But you have also no 100% garantee, that the mainboard isn't destroyed.
- You solder it out yourself with a special pump. This is extremly difficult and if only one of the 24 or 28 pins isn't completely free the copper main from the mainboard tears off when your pull out the rom and your 1541 is electronic scrap. You should only dare it if your are a solder professional.
- You don't need the original CBM rom afterwards. You can cut off all pins and then solder out every pin seperately. You should cut off the pins with a sharp scissor and with a big distance from the mainboard to avoid that the scissor destroys a copper main. On the other hand if you cut the pins off with a small distance from the chip, the pins afterwards still come a little bit out of the chip, so you can solder the chip on a socle and use it as reserve.
Now dont't solder the eprom onto the mainboard but solder first an IC socle.
The installation of the eprom into the 1541 is described for every 1541 type separately:
- 1541/2: Here is the installatuion very easy. You must bend off Pin 1 (adress bit 15) and pin 27 (A14) of the 64 kB 27c512 eprom so far, that the pins have no more contact with the 1541 mainboard-socle; see general view above and "pic/epr/41c&2"-file. You must connect every of theese two pins first with a 10 kOhm resistor, whose other end goes to +5V (best is pin 28 of the eprom) and secondly to a wire, which goes to the inner pin of a tumbler switch double-change with middle position. A double-tumbler-switch has six contacts, which I name LT, LM, LB, RT, RM and RB for left/right and top/middle/bottom. The cable from pin 1 must go to RM and that from pin 27 to LM. You must connect LT and RB with 0V (best is pin 14 of the eprom). You must connect a wire directly from LB to pin 24 (A14) of the microprocessor 6502. RT is unconnected. You must put the this-way-prepaired eprom into IC-socle U4. You must pay attention, that the two off-bended pins don't get any contact to the socle.
- 1541/c: Here you must first make the same steps as at the 1541/2 with the result that pin 1 and 27 of the 64 kB 27c512 eprom is bend off and connected with the pullup-resistors and the switch. Because at the 1541/c there is no chip-select from the 1541-mainboard to the eprom (UA2) at the area $8000 - bfff, you must generate it with this additional circuit: You need a 74hc04 inverter chip. First it needs currency: The easiest way is that you connect pin 14 of the inverter with pin 28 of the eprom (5V) and pin 7 of the inverter with pin 14 of the eprom (0V). You connect the unused inputs (pin 1, 3, 8, 10, 12) also with 5V, so they don't swing. Now you solder a wire directly to pin 25 (A15) of the 6502, which you connect with the input-pin 5 of the 75hc04. Then you connect the output-pin 6 of the hc04 with the additionally bend-off pin 22 (output- enable) of the eprom. You wrap up the inverter-IC with insulating-tape an simply put it on the mainboard. You must put the this-way-prepaired eprom into IC-socle UA2. You must pay attention, that the three off-bended pins don't get any contact to the socle.
- 1541old: Here the DOS is in two 24 pin 8 kB roms. Because all eproms have 28 pins, you always need one or two adapter-socles. If you want to build the adapter socle yourself, you need a 28 pin IC-socle, a platine with one side with copper with 1.2" to 1.6" (3 x 4 cm) edge length and two 12 pin small pinstrips. The layout is in "pic/epr/41old/..", but attention you must put it sidechanged onto the copper side of the platine. Best is if you rub the wholes for the socle and for the strips from a symbolfoil onto the copper and connect them correctly (sides changed) with accid constant pencil. This way the platine comes into the acid (Fe2O3). Then you must clean it thoroughly an test it for short circuits or copper interruptions. Then you must drill the holes and put in the socle from the non copper side and the pinstrips from the copper side, solder them and test again short circuits and interruptions. This adapter socle comes into the socle from the 1541 mainboard and in it comes the eprom, but think that one or three pins must be bend off.
Further you can decide, whether you want to change one or both eproms: If you change only UB4, then you have fast-load, -open, 40 tracks and the "E"-orders. If you change also UB3 then you gain check, fast-(un)lock, -scratch, -validate and -save and the CBM bug-repairs of the save&replace- bug.
First the installation of the 64 kB 27c512 eprom UB4: You must bend off pin 1 (A15) and pin 27 (A14) of the 64 kB 27c512 eprom so far, that the pins have no more contact with the 1541 mainboard-socle; see general view above and "pic/epr/41old"-file. You must connect every of theese two pins first with a 10 kOhm resistor, which other end goes to +5V (best is pin 28 of the eproms) and secondly to a wire, which goes to one of the two outer pins of a tumbler switch single-change with middle position. You must connect the middle pin of the tumbler switch with 0V (best is pin 14 of the eprom). You must bend off pin 26 (A13) of the eprom and connect it with a wire directly with pin 24 (A14) of the microprocessor 6502.
Now the installation of the 16 kB 27c128 eprom UB3: Here you must only bend off pin 26 (A13) of the eprom and connect it with pin 24 (A14) of the 6502 in the same way as the UB4 eprom. You must put the this-way-prepaired eproms into IC-socles UB4 and UB3. You must pay attention, that the off-bended pins don't get any contact to the socle.
When you have pushed the eprom(s) into the socles, then you can switch on the 1541. A few seconds after on-switching, the LED and the motor must go off. If not, switch off at once and check everything, especially whether a pin is unintentionally not in the socle or a pin is brocken, but pay attention to the electrostatic currency.
The installation is a little bit difficult, but should work if you follow the instructions step by step (if you understand my english at all), even if you don't understand exactly why you must do this step. But if you have validated a full disk in eleven seconds, you know that it's worth- while.
If you have any question, then ask me at once.
Near Letter Quantity
Jochen Adler
Haeldestr. 9
D-74912 Kirchardt
NLQ@gmx.de

Home