Ramdisk
ZXNet echo conference «code.zx»
From Eugene Palenock → To WoWaN Nickolaev 17 August 2001
Hello WoWaN!
14 Aug 01 19:10, WoWaN Nickolaev -> All:
WN> Does anyone have a raw ramdisk driver for Penta-512? If "yes" :)
Under what?
Under ISDOS here (selection of jars by DB, and not calculation in order to make several
different disks, and so as not to occupy 00-07 banks if desired):
ORG #A4E2
DEFW #0000 ;no installation
MEM1 EQU $-1
DEFW dread
MEM2 EQU$-1
DEFW write
MEM3 EQU$-1
DEFW binit
;for dread and write:
;hl - address in memory
;de - start number block on disk
;b - number of blocks
DEFB #E0,#04
DEFB #00,#00
DEFB #00,#00
DEFB #00,#00
;page order table
ptable
DEFB #D0,#D1,#D2,#D3,#D4,#D5,#D6,#D7
DEFB #90,#91,#92,#93,#94,#95,#96,#97
DEFB #40,#41,#42,#43,#44,#45,#46,#47
DEFB #07,#06,#04,#03,#01,#00
dread XOR A
JR LLA504
write LD A,#EB
LLA504 LD (LLA54B),A
LLA507 LD (LLA54E),A
LD A,H
ADD A,B
JR C,LLA514
ADD A,#40
JR NZ,LLA514
DEC A
ADD A,L
LLA514 LD A,#07
RET C
JR LLA55A
LLA519 LD A,E
OR#C0
PUSH AF
N.E.G.
LD C,B
CP B
JR NC,LLA524
LD C,ALLA524 LD A,B
SUB C
LD B,#00
EX DE,HL
PUSH HL
ADD HL,BC
EX (SP),HL
ADD HL,HL
ADD HL,HL
LD L,H
LD H,B
LD B,A
PUSH BC
LLA532 LD BC,ptable
ADD HL,BC
POP BC
LD A,(HL)
POP HL
EX (SP),HL
PUSH BC
LD B,C
LD C,#00
LD L,C
DI
L1 EQU $+1
LD (L2),BC
LD BC,#7FFD
OUT (C),A
L2 EQU $+1
LD BC,0
LLA54B EX DE,HL
LDIR
LLA54E EX DE,HL
LD A,#10
LD BC,#7FFD
OUT (C),A
EI
EX DE,HL
POP BC
POP DE
LLA55A INC B
DJNZ LLA519
binit XOR A
RET
DEFW #FFFF
DEFW MEM1,MEM2,MEM3
DEFW LLA504
DEFW LLA507
DEFW LLA532
DEFW L1
С уважением, Евгений.