test
ZXNet echo conference «code.zx»
From Oleg Grigoriev → To All 9 May 2000
Let your enemies, All, die without sons!
test on the enemy computer. written by Ilúvatar knows when. on the right
The car blinks blue, the wrong car blinks red.
it is, hehe, in a storm. :)
──{Begin} ───────────────────── ────────────────────── { emultest.C } ──
;emulator test
;
DRIVE EQU #5CF6
IM2TB EQU #BE00
ORG #6000:DI
LD SP,#6000
LD HL,#0000:PUSH HL
LD HL,#3D2F:PUSH HL
LD HL,IM2TB,A,H,I,A
LD (HL),H:INC (HL),L:JR NZ,$-#03
INC H:LD (HL),H,L,H
LD (HL),#C9
IM 2
LD A,(DRIVE):OR #3C:CALL TOPRFF
LD A,#08:CALL TOPR1F,INTRQ
LOOP LD D,#00,A,#C3,HL,RETURN
LD (#5CC2),A,(#5CC3),HL
LD (RETURN+#01),SP
LD HL,#2740:PUSH HL
LD HL,#0039
.7 PUSH HL
LD HL,#2A53:PUSH HL
LD A,#08,C,#1F
JP #3D2F
RETURN LD SP,#0000
CALL INTRQ
LD A,#20:CALL TOPR1F,INTRQ
LD A,(#5CCD)
BIT 0.A
LD A,#02:JR Z,ENEMY
DEC A
ENEMY CALL FILL
XOR A:CALL FILL
LD B,#0F
WAIT EI:HALT
XOR A:IN (#FE):CPL:AND #1F
RET NZ
DJNZ WAIT
JR LOOP
;************************************************
;
FILL PUSH AF,BC
EI:HALT
OUT (#FE)
ADD A,A,A,A,A,A
LD (FILL1+#01),SP
LD B,#30,D,A,E,A,SP,#5B00
.8 PUSH DE
DJNZ$-#08FILL1 LD SP,#0000
POP BC,AF
RET
;***************************************
;
INTRQ LD IX,#3EF5:CALL DOS:DI:RET
TOPR1F LD C,#1F:JR TOPR
TOPRFF LD C,#FF
TOPR LD IX,#2A53
DOS PUSH IX:JP #3D2F
── { End } ───────────────────────────────────────────── { emultest.C } ──
[ WBR, Oleg. ]
[ 11:28 9 May XXXV A.S. ]
From Oleg Grigoriev → To Kirill Frolov 14 May 2000
Let your enemies, Kirill, die without sons!
9 May 2000 at 18:48, Kirill Frolov ═> Oleg Grigoriev:
OG>> test for an enemy computer. written by Ilúvatar knows when. on
OG>> the correct car blinks blue, the wrong car blinks red.
OG>> it, hehe, is in a storm. :)
KF> In R80 flashes blue.
sax. take two. may be more unstable - worth collecting
statistics.
──{Begin} ───────────────────── ────────────────────── { emultest.C } ──
;emulator test
;
DRIVE EQU #5CF6
IM2TB EQU #BE00
ORG #6000:DI
; LD SP,#6000
; LD HL,#0000:PUSH HL
; LD HL,#3D2F:PUSH HL
LD HL,IM2TB,A,H,I,A
LD (HL),H:INC (HL),L:JR NZ,$-#03
INC H:LD (HL),H,L,H
LD (HL),#C9
IM 2
LD A,(DRIVE):OR #3C:CALL TOPRFF
LD A,#08:CALL TOPR1F,INTRQ
LD B,#0A
EI:HALT
DJNZ$-#02
LOOP XOR A:LD (ENEMY+#01),A
CALL TEST1
CALL TEST2
CALL TEST3
LD A,#20:CALL TOPR1F,INTRQ
ENEMY LD A,#00
OR A:LD A,#01:JR Z,$+#03:INC A
CALL FILL
XOR A:CALL FILL
LD B,#0A
WAIT EI:HALT
XOR A:IN (#FE):CPL:AND #1F
RET NZ
DJNZ WAIT
JR LOOP
;************************************************TEST1 LD D,#00,A,#C3,HL,TEST1R
LD (#5CC2),A,(#5CC3),HL
LD (TEST1R+#01),SP
LD HL,#2740:PUSH HL
LD HL,#2A53:PUSH HL
LD A,#08,C,#1F
JP #3D2F
TEST1R LD SP,#0000
CALL INTRQ
LD A,(#5CCD):AND #01
LD B,A
LD A,(ENEMY+#01):OR B
LD (ENEMY+#01),A
RET
;***************************************
TEST2 LD D,#00,A,#C3,HL,TEST2R
LD (#5CC2),A,(#5CC3),HL
LD (TEST2R+#01),SP
LD HL,#2740:PUSH HL
LD B,#08,HL,#2A55
PUSH HL:DJNZ $-#01
LD HL,#2A53:PUSH HL
LD A,#08,C,#1F
JP #3D2F
TEST2R LD SP,#0000
CALL INTRQ
LD A,(#5CCD):AND #01:XOR #01
LD B,A
LD A,(ENEMY+#01):OR B
LD (ENEMY+#01),A
RET
;***************************************
TEST3 LD D,#00,A,#C3,HL,TEST3R
LD (#5CC2),A,(#5CC3),HL
LD (TEST3R+#01),SP
LD HL,#2740:PUSH HL
LD B,#00,HL,#2A55
PUSH HL:DJNZ $-#01
LD HL,#2A53:PUSH HL
LD A,#08,C,#1F
JP #3D2F
TEST3R LD SP,#0000
CALL INTRQ
LD A,(#5CCD):AND #01
LD B,A
LD A,(ENEMY+#01):OR B
LD (ENEMY+#01),A
RET
;***************************************
;
FILL PUSH AF,BC
EI:HALT
OUT (#FE)
ADD A,A,A,A,A,A
LD (FILL1+#01),SP
LD B,#30,D,A,E,A,SP,#5B00
.8 PUSH DE
DJNZ$-#08
FILL1 LD SP,#0000
POP BC,AF
RET
;************************************************
;
INTRQ LD IX,#3EF5:CALL DOS:DI:RET
TOPR1F LD C,#1F:JR TOPR
TOPRFF LD C,#FF
TOPR LD IX,#2A53
DOS PUSH IX:JP #3D2F
──{End} ────────────────────── ─────────────────────── { emultest.C } ──
KF> In the R80, everything works too correctly so far, you can’t even understand the emulator
KF> this or what... And CP/M hangs :-) But the truth is together with the emulator and
KF> pussy ;-(
nothing, we'll break through. :) I have one more milestone - to forget about trying to take into account
scorp and tighten time intervals. True, the scorpion will have to have a turbo
I don’t want to click yet.
[WBR, Oleg. ]
[ 21:38 14 May XXXV A.S. ]