RD block source code

ZXNet echo conference «code.zx»

From Oleg Grigoriev To all 18 July 1998

Hello, everyone! Here you go. And do all sorts of checks/restorations/buffers there ra...as much as it fits. =====cut===== ;21-01-98 ;ed_gmx0.blk ;(c)Ruiner ;Last edit: 04/23/98 ; ORG #8000 ;----------------------------; DEFW #0000 ;driver installation instructions DEFW LOAD ; block reading DEFW SAVE ; block record entry DEFW INIC; driver initialization DEFB %11111000 ; DEFB %00000110 ;----------------------------; LOAD XOR A JR$+#04 ;----------------------------; SAVE LD A,#EB LD(LLLL),A LD(MMMM),A ;----------------------------; LD A,H ADD A,B JR Z,E_EXIT CP#C0 JR C,$+#06 E_EXIT LD A,#07 SCF RET ;----------------; SLA E RL D SLA E RL D LD (LLL2+#01),HL ;D-BANK,HL=DEST LD A,E RRCA RRCA ADD A,#C0 LD H,A MOVE XOR A LD L,A ;HL=from SUB H ;how many blocks from this jar LD C,A ;can be re-rolled LD A,B; all you need to do is re-roll SUB C JR Z,LL1 JR C,LL2 LL3 LD B,AJR LLL ;--------------------------------------------; LL2 LD C,B LL1 XOR A JR LL3 ;--------------------------------------------; LLL DI ;B=left,C=left LD A,D ADD A,#09 EXX LD D,A LD E,A LD BC,#7FFD AND #07 OR #1 OUT (C),A LD B,#1F LD A,D AND #08 RLCA OUT (C),A LD A,E LD B,#DF RLCA RLCA RLCA RLCA AND #07 OUT (C),A EXX ;B=cockroach,C=cockroach LD A,D EX AF,AF' LD A,B LLL2 LD DE,#0000 ;DE=L LD B,C LD C,#00 LLLL DEFB #00 LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI JP PE,$-#2 AND A JR Z,MOVE1 LD B,A EX AF,AF' LD C,A LD A,#0 MMMM EQU $-#01 AND A JR NZ,$+#04 LD H,D LD L,E LD ( LLL2 + # 01 ), HL ; HL = SOURCE LD D,C INC D LD H,#C0JR MOVE ;----------------------------; MOVE1 EX AF,AF' INIC LD BC,#7FFD LD A,#10 OUT(C),A XOR A LD B,#1F OUT(C),A LD B,#DF OUT(C),A EI RET =====cut===== Best wishes, Oleg aka Ruiner.