home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oakland CPM Archive
/
oakcpm.iso
/
cpmug
/
cpmug015.ark
/
TARGET.ASM
< prev
next >
Wrap
Assembly Source File
|
1984-04-29
|
2KB
|
172 lines
; ******* TARGET *******
;
;A VIDEO TARGET SHOOTING GAME USING THE SOL VIDEO TERMINAL
;
;
;
ORG 0000H
;
GLOC EQU 0CDC0H ;LOCATION OF GUN SYMBOL
TLOC EQU 0CFFFH ;INITIAL TARGET LOCATION
VDM EQU 0FEH ;VDM SETUP PORT
WIN EQU 0CFCDH
LOSE EQU 0CFC4H
UPSYM EQU 5EH
MLOC EQU 0CDC1H ;MISSLE LOCATION
MSYM EQU 2DH ;MISSILE SYMBOL
TARGET EQU 5EH ;TARGET SYMBOL
;
;
INIT: LXI SP,0CBFFH
CALL SINT
LXI H,GLOC
MVI M,05H ;GUN SYMBOL
LXI H,TLOC ;INITIAL TARGET POSITION
MVI M,TARGET ;TARGET UP ARROW
XCHG
LXI B,8000H
XRA A
OUT VDM
LXI H,3030H ;ASCII ZERO
SHLD WIN
SHLD LOSE
;
;
LOOP1: CALL INDEL
RAR
JC TSTEM
;
;
INCTME: INR C
MOV A,C
CPI 24 ;MOVE TARGET EVERY 24TH TIME
JNZ TSTMIS
MVI C,0
LDAX D
CPI UPSYM
MVI A,20H
STAX D
JNZ DOWN
;
;
UP: MOV A,E
SUI 64
MOV E,A
MOV A,D
SBI 0
MOV D,A
CPI 0CCH
JNZ STUP
MOV A,E
CPI 3FH
JNZ STUP
;
;
STDOWN: MVI A,0BH ;DOWN SYMBOL
STAX D
JMP TSTMIS
;
;
DOWN: MOV A,E
ADI 64
MOV E,A
MOV A,D
ACI 0
MOV D,A
CPI 0CFH
JNZ STDOWN
MOV A,E
CPI 0FFH
JNZ STDOWN
;
;
STUP: MVI A,UPSYM
STAX D
TSTMIS: MOV A,B
RLC
JC LOOP1
MVI M,' '
INX H
MOV A,L
CPI 0FFH
JZ TSTHIT
MVI M,2DH
JMP LOOP1
;
;
TSTHIT: MOV A,M
CPI 20H
JZ NOHIT
;
;
HIT: MVI M,084H
LXI H,WIN+1
CALL INCR
PUSH H
MVI L,0FFH
MVI H,08FH
WAIT: DCR L
JNZ WAIT
DCR H
JNZ WAIT
POP H
JMP ENABLE
;
;
NOHIT: LXI H,LOSE+1
CALL INCR
;
;
ENABLE: MVI B,80H
JMP LOOP1
;
;
INCR: MOV A,M
CALL INCR1
CPI 30H
RNZ
DCX H
MOV A,M
INCR1: INR A
DAA
ORI 30H
ANI 3FH
MOV M,A
RET
;
;
TSTEM: MOV A,B
RLC
JNC INCTME
MOV B,A
LXI H,MLOC
MVI M,MSYM
JMP INCTME
;
;
INDEL: PUSH H
LXI H,0FFH
;
;
DELAY: DCR L
PUSH H
POP H
JNZ DELAY
IN 0FAH
CMA
MOV H,A
IN 0FCH
MOV A,H
POP H
RET
;
;
SINT: LXI H,0CC00H
SB: MVI M,' '
INX H
MOV A,H
CPI 0D0H
JNZ SB
RET
END