S-JIFFYDOS C64
S-JIFFYDOS is a C64 operating-system, that works in a C64 or a Flash 8 (a
German kind of S-CPU) in an eprom. It is a patch for JIFFYDOS. But don't be
afraid, nobody must renounce for the original JIFFYDOS, this instruction
describes, how You build CBM-, JIFFYDOS-, S-JIFFYDOS and, if You want
also a German S-JIFFYDOS, into the C64 and the Flash 8. Because it's a patch
for JIFFYDOS V6.01, it doesn't work without this at all. It uses the
original JD IEC bus routines, so it works with all JD- und only-CBM
floppies and reaches also the same speed. If You have JD, then try at once
the program "test s-jiffydos" and look at the features:
Disadvantage to JD:
- no RS232 routines
- You must type the floppy orders in quotation marks (this is simplified
by the F-keys because they print them on the screen)
Advantage to JD:
- expanded F-keys:
F1 @"$" Directory
F3 /% intelligent load
F5 ^Pfund intelligent start
F7 @" : floppy status/order
F2 @d list from disk
F4 @t text from disk
F6 <- save
F8 @s: scratch
CBM&F1 lI list
CBM&F3 rU run
CBM&F5 c=12:sY4096*c starts machine language program at $c000
CBM&F7 @l lock / unlock
- If there is no file name, intelligent load/start takes the first
program from disk
- intelligent load routine:
SJD loads a program almost always correct, no matter it's a
machinenlanguage- or a Basicprogram. It analyses the startadress of the
program from the disk. If it is $0401 (VC20 or dir), $0801 (C64), $1001
(C16/+4) oder $1c01 (C128), then SJD loads to the basic begin, if not to the
disk startadress. After the loading SJD tests, whether the basic begin is
within the start- and the endadress of the loaded file; if yes it sets the
basic end vector and at F5 generates additionally a RUN, if not , it makes
nothing respectively a SYS . With F3 almost all programs of a
disk are loaded correctly, even if You don't know whether it's a Basic- or a
Ml-program, and F5 starts them correctly.
- shows the load adresses hexadezimal
- After a reset all mains of the IEC bus are inaktivated, so You can swap
the device with CMD drives at once.
- All ram vectors are the same as CBM, so You can switch from CBM to SJD and
back, without making the @x order before
- Ctrl & (Return) goes always to the begin of the line and ends the insert-,
the quotation mark- and the revers-mode
- Ctrl & (Delete) deletes the rest of the line
- (Stop) ends the insert-, the quotation mark and the revers-mode
- the reset funktion is expandes:
& Space skips the CBM80 code test
& Stop like Stop & Restore
& q like Stop, but retains the ram vectors
& 1 & (arrow left) deletes the ram (don't do this in the test version
because here is the SJD)
Instead of the reset button You often also can use the restore key
- shift & Ctrl & CBM shows the SJD status as a rasterbar
- shift & Ctrl & CBM & 1-4 changes the SJD status:
-1 off
-2 userport printer on
-3 JIFFYDOS wedge orders on
-4 function keys on
- there is also a kernal version with a German keyboard, which changes the
German special characters correctly to Epson compatieble printers.
- supports a Centronics printer at the userport. Best is an Epson compatieble,
because only with this the German special characters are printed
correctly and the reverse Characters are changed to cursive ones (and not to
international special characters). You should switch on the cursiv-character-
charset at Your printer (and the German country specific charset). You must
switch on that the printer makes at every carriage return an additional
linefeed. At devicenumber 4 SJD test first, without changing anything at the
userport, whether there is a seriell printer present. Only if this is not,
it tests the presence of a userport printer and bypasses the IEC-OUT
routine. The secundary adress makes:
- 0-7 seriell or paralell printer
- 8-11 only parallel printer (if You are shure that in a self written basic
program a userport printer is present, You should take the secundary adress
8-11, to avoid a DEVICE NOT PRESENT ERROR when the printer buffer is full)
- 12-15 only seriell printer
You can have two printers permanently switched on at the C64 and determine
with the secundary adress to which the print should go.
- 0 & seriell: no code change
- 0 & parallel: graficchars -> space / revers -> cursiv
- 1-3,11,15 no change
- 4,8,12 & US-Kernal: no change
- 4,8,12 & DE-Kernal: small <-> capital and German special chars change
- 5,9,13 small <-> capital change
- 6,10,14 graficc.->space / rev->cursiv
- 7 & seriell: no change
- 7 & parallel & US-kernal: small <-> capital change
- 7 & parallel & DE-kernal: small <-> capital a.germn.spcl.chr.change
If You want in a self written basic program on the one hand to change
characters and on the other hand transmit ESC orders without change, You
open two channels:
10 open4,4,11 : rem linearchannel
20 open4,4,9 : rem code change channel
and transmit the ESC orders with print#4 and the texts with print#5.
Basic listings are printed with "open 4,4,9:cmd4:list", because here reverse
characters are changed to cursiv ones, and so f.e. a "Ctrl-L" doesn't cause a
form feed.
At word processers You should take the linear channel, secundary adress 11.
More informations at
http://home.t-online.de/home/dadler
Near Letter Quantity
Jochen Adler
Haeldestr. 9
D-74912 Kirchardt
NLQ@gmx.de