|
|
This page contains no introduction. |
Source Code Fragment#
Some sections of the code are left in the game. The code seen below can be seen with a hex editor at the addresses listed below in the .tap dump of the game.
766F:
ADD A,A ;*8
LD L,A
LD HL,(xpos)
LD DE,=0
ADD HL,DE
LD (xpost),HL
LD HL,(ypos)
LD DE,=1
ADD HL,DE
LD (ypost),HL
CALL pcal
7B0F:
ORG 25000
CALL INIT
LD BC,START
RET
START
EXX
PUSH HL
CALL TEST
POP HL
EXX
LD BC,(xpos)
RET
;===================================================
;
;DEATH OR GLORY
;
;===================================================
;SYSTEM: ZX Spectrum 48k/128k
;ASSEMBLER: Hisoft DevPac
;JOB FOR: C.R.L. & Wise Owl
;PROGRAMMER: Brian Pollock
;
;___________________________________________________
;
;Version DOG01may
;
;
;
;___________________________________________________
;
;
;Put udg on pseudo screen using HL' as cursor
;Vertically
putv MAC
EXX
LD C,A
LD B,udgs/256
LD DE,32
;DEFBs= lda(bc) ld(hl)a inc b addhlde
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
JP NC,$+7
LD DE,-4096
ADD HL,DE
EXX
ENDM
;Put horizontally
puth MAC
EXX
PUSH HL
LD C,A
LD B,udgs/256
LD DE,32
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
POP HL
INC L
EXX
ENDM
;PUT TEXT (HORIZONTAL+LF)
;subroutine
putt EXX
PUSH HL
LD C,A
LD B,udgs/256
LD DE,32
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
DEFB 10,119,4,25
POP HL
INC L
JR NZ,putt1
INC H
putt1 EXX
RET
;*** Tester Control Code ***
slowas EQU 0 ;1=assemble long forms.0=short forms
TEST CALL input
CALL explode
LD A,0
OUT (254),A
CALL movedozer
CALL m_aliens
CALL p_alien
CALL p_spdz
CALL co_exb ;Uncolour last explosion
CALL onstars
CALL dups1
CALL ofstars
CALL co_exp ;Colour Explosion
CALL e
890F:
co_xy DEFW 0
un_col DEFB 0
exp_ad DEFW 0
co_add DEFW 0
ytab
*L-
*F 1:DOGYTAB
*F 1:input
*F 1:MoveDozer
*F 1:Stars
;Dump pseudo screen to display file
;No input/output params
;Pseudo Screen begins at 'page0
;
dups1 DI
;SOUND TESTER
EX AF,AF
LD A,0
EX AF,AF
EXX
LD A,(direction)
INC A
LD B,A
LD C,A
EXX
;END OF SOUND TESTER
LD HL,page0+1
LD DE,(top_ptr)
ADD HL,DE
LD (m_stk),SP
LD SP,ytab
LD A,(top_nl)
CP 112
JP NC,dups1b
dups1a POP DE
IF slowasm
*F 1:Move_30
ELSE
LD BC,30
LDIR
END
;CONSTANT SOUND RTN
EXX
DJNZ SND1
LD B,C
EX AF,AF
XOR 16
OUT (254),A
EX AF,AF
SND1 EXX
INC HL
INC HL
DEC A
JP NZ,dups1a
LD HL,page0+1
LD A,(bot_nl)
˜
dups1b POP DE
IF slowasm
*F 1:Move_30
ELSE
LD BC,30
LDIR
END
;other part of sound
EXX
DJNZ SN