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]