STS for iS-DOS
ZXNet echo conference «zxnet.soft»
From Valerij Kozhevnikoff → To All 9 September 2002
Hello, All!
I was thinking here...
Why is isdos unpopular among the people? Probably because it is obscure. Hmm.
They sent me a driver for high-density floppy disks. This thing
really allows you to create and use devices with a size of 1600 KB per
regular HD floppy disks. VG93 allows this. iS-DOS floppy disk with regular DD
density holds 3200 blocks. After simple modification to HD and use
the software supporting it is already 6400 blocks. Made in 1999, author - everyone
famous Ruiner AKA Oleg Grigoriev, moderator of CODE.ZX.
It's hard to get used to the unknown. So we need to bring a piece into this obscurity
something familiar and understandable. Subject, in general.
The starting address sts51.com is 24000. It flies next.
There is no normal way out from there! Supports isdos file system too
no. I'm lazy. It’s just that the original STS 5.1 files are stupidly glued to
bootloader I began to rummage around in search of procedures responsible for accessing
ASM/Basic/DOS, but I gave it up. Everything is somehow confused there. It will be necessary -
look for/report these addresses, I will do it the right way. If something is unclear with
detailed functions - write, I will always help.
To return to isdos you need to do JP #5DE5, there is a trick there. She's waiting
releases all buttons and exits to the shell with the stack cleared.
* Original written in ZX.SPECTRUM
*also sent to REAL.SPECCY* also sent to KHARKOV.SPECTRUM
* also sent to SPB.SPECCY
* also sent to ZXNET.SOFT
Just in case, here is the source code of the bootloader.
ORG 24000
LD HL, FILE1 ;name
LD D,#FB ;st. address byte
LD A,#16 ;page
CALL LOAD
RET C
LD HL, FILE2
LD D,#DB
LD A,#17
CALL LOAD
RET C
D.I.
LD HL,END
PUSH HL
LD BC,#7FFD
LD A,#17
OUT(C),A
JP #DB00 ;Start STS
END
LD A,#10 ;and this is a prank
LD BC,#7FFD
OUT(C),A
EI
LD C,8
RST 16
XOR A
LD A,#F4
LD C,#84
JP 16
LOAD
LD (PAGE+1),A
LD A,D
LD (ADDR+1),A
LD C, #34
RST 16
RET C
EXX
LD DE, 14
ADD HL, DE
LD A, (HL)
OR A
INC HL
LD B, (HL) ;file length in blocks
JR Z, $+3
INC B
LD E, D
LOOP
PUSH BC
LD HL, BUFF
LD BC, #012B
RST 16
POP B.C.
RET C
PUSH HL
LD A, EEXX
POP HL
ADDR ADD A, #C0
LD D, A
PAGE LD A, #1
LD BC, #7FFD
DI
OUT (C), A
LD BC, #100
LD E, C
LDIR
LD BC, #7FFD
LD A, #1
OUT (C), A
EI
EXX
INC. E
DJNZ LOOP
RET
FILE1 DEFM "sts#16 cod"
FILE2 DEFM "sts#17 cod"
BUFF DEFS #100
WBR, Jason.
/*e-mail: jason2000(English)yandex.ru ICQ: 62235830*/
/np:/ *Death - Symbolic - Symbolic* [paused]