|
|
This page contains no introduction. |
Source Code Fragment#
A large section of the code is left in the game. The code seen below can be seen with a hex editor, starting at 7EC2 in the .tap dump of the game.
PARTA LD B,55
COLLD INC (IX+0)
INC (IX+0)
DEC (IX+4)
DEC (IX+4)
PUSH BC
CALL DRIVE
POP BC
DJNZ COLLD
;
CALL HMSND
LD B,4
LD (IX+2),2
CRUSH INC (IX+0)
INC (IX+0)
PUSH BC
CALL DRIVE
POP BC
HALT
DJNZ CRUSH
CALL HMSND
LD (IX+0),114
LD (IX+7),1
LD (IX+2),1
LD (IX+3),3
;
LD B,57
RUNOF DEC (IX+0)
DEC (IX+0)
LD A,(IX+4)
CP 236
JR NC,BUGOF
ADD 4
LD (IX+4),A
JR SKIPP
BUGOF LD (IX+5),200
SKIPP PUSH BC
CALL DRIVE
POP BC
DJNZ RUNOF
;
RET
;
DAT5 DEFB 240
DEFB 192
DEFB 5
DEFB 3
DEFB 240
DEFB 176
DEFB 6
DEFB 3
DEFB 240
DEFB 192
DEFB 1
DEFB 3
DEFB 240
DEFB 192
DEFB 1
DEFB 3
DEFB 0
DEFB 192
DEFB 9
DEFB 1
;
FILL5 LD HL,DAT5
LD DE,SPDT2
LD BC,20
LDIR
;
LD IX,SPDT2
XOR A
AFIVE LD (COUNT),A
CP 10
CALL NC,WORK1
CP 20
CALL NC,WORK2
CP 52
JR NZ,FMAN
;
LD HL,SPDT2+3
LD DE,4
LD B,4
REVRS LD (HL),1
ADD HL,DE
DJNZ REVRS
;
FMAN CALL MOV2S
CALL LOBST
CALL DRIVE
LD A,(COUNT)
INC A
CP 127
JR NZ,AFIVE
RET
;
LOBST LD IX,SPDT2+8
CALL MOVW1
LD IX,SPDT2
RET
;
WORK1 PUSH AF
CALL MOVW1
POP AF
RET
;
WORK2 PUSH AF
LD IX,SPDT2+4
CALL MOVW1
LD IX,SPDT2
POP AF
RET
;
FILL7 LD DE,SPDT2
LD HL,DAT5
LD BC,16
LDIR
;
LD A,4
LD (23693),A
;
LD BC,5128
LD HL,CHARS+992
LD (23675),HL
CALL PRN2
LD BC,5640
LD HL,CHARS+1024
LD (23675),HL
CALL PRN2
;
LD IX,SPDT2
XOR A
SEVEN LD (COUNT),A
CP 10
CALL NC,WORK1
CP 20
CALL NC,WORK2
CALL MOV2S
LD A,(IX+8)
CP 64
JR NZ,DOOR2
LD (IX+9),200
DOOR2 LD A,(IX+12)
CP 64
JR NZ,SHOWS
LD (IX+13),200
SHOWS CALL DRIVE
LD A,(COUNT)
INC A
CP 120
JR NZ,SEVEN
RET
;
DAT8 DEFB 240
DEFB 192
DEFB 19
DEFB 3
DEFB 224
DEFB 192
DEFB 18
DEFB 3
DEFB 240
DEFB 192
DEFB 1
DEFB 3
;
FILL8 LD DE,SPDT2
LD HL,DAT8
LD BC,12
LDIR
;
LD IX,SPDT2
LD B,128
A8C5 PUSH BC
PUSH BC
CALL MOVC5
CALL DRIVE
POP BC
LD A,129
SUB B
LD C,A
SLOC5 LD B,32
EIGPS DJNZ EIGPS
DEC C
JR NZ,SLOC5
POP BC
DJNZ A8C5
;
LD B,56
B8WKR PUSH BC
CALL MOVW1
CALL DRIVE
POP BC
DJNZ B8WKR
;
LD (IX+11),1
LD B,64
C8BTH PUSH BC
CALL MOV2S
DEC (IX+8)
DEC (IX+8)
CALL DRIVE
POP BC
DJNZ C8BTH
;
RET
;
SCROL LD HL,20672
CALL SCRRT
LD HL,21696
CALL SCRRT
LD HL,22527
CALL SCRLF
LD HL,21503
;
SCRLF PUSH HL
CALL SLEFT
POP HL
DEC H
SLEFT LD B,64
LEFTL RL (HL)
DEC HL
DJNZ LEFTL
RET
;
SCRRT PUSH HL
CALL SRGHT
POP HL
INC H
SRGHT LD B,64
RGHTL RR (HL)
INC HL
DJNZ RGHTL
RET
;
GMOVR LD IX,LETAB+32
XOR A
LD (23693),A
LD A,3
LD (MUSIC),A
LD A,9
;
GMVLP LD (COUNT),A
LD L,(IX+0)
LD H,(IX+1)
LD (23675),HL
LD BC,5662
CALL PRN2
LD L,(IX+2)
LD H,(IX+3)
LD (23675),HL
LD BC,5632
CALL PRN2
DEC IX
DEC IX
DEC IX
DEC IX
;
LD C,9
SLIDE CALL SCROL
CALL SCROL
DEC C
JR NZ,SLIDE
;
LD A,(COUNT)
DEC A
JR NZ,GMVLP
;
LD C,15
SLID2 CALL SCROL
CALL SCROL
DEC C
JR NZ,SLID2
LD B,20
SHOGO HALT
DJNZ SHOGO
RET
;
LETAB DEFW LET+224
DEFW LET+288
DEFW LET+128
DEFW LET+320
DEFW LET+192
DEFW LET+352
DEFW LET+160
DEFW LET+384
DEFW LET+256
DEFW LET+256
DEFW LET+128
DEFW LET+416
DEFW LET+96
DEFW LET+448
DEFW LET+64
DEFW LET+384
DEFW LET+32
DEFW LET+480
;
DAT6 DEFB 224
DEFB 192
DEFB 22
DEFB 3
DEFB 240
DEFB 192
DEFB 27
DEFB 3
DEFB 0
DEFB 192
DEFB 9
DEFB 1
;
FILL6 LD DE,SPDT2
LD HL,DAT6
LD BC,12
LDIR
;
LD HL,22208+26
LD (SHADR),HL
LD IX,SPDT2
LD A,128
SIXLP LD (COUNT),A
CP 97
JR NZ,OFFSC
LD (IX+10),7
LD (IX+11),0
OFFSC CP 93
JR NZ,MOVE6
LD (IX+9),200
MOVE6 CALL MOV2S
INC (IX+8)
INC (IX+8)
CALL SHOT
CALL DRIVE
LD A,(COUNT)
DEC A
JR NZ,SIXLP
RET
;
SHOT LD A,(COUNT)
CP 120
RET NC
JR NZ,MOVSH
LD HL,(SHADR)
LD (HL),255
CALL NOISE
RET
;
SHADR DEFW 0
;
MOVSH CP 103
RET C
LD HL,(SHADR)
LD (HL),0
CP 104
RET C
DEC HL
LD (HL),255
LD (SHADR),HL
CP 116
RET C
NOISE LD A,16
LD C,4
JP SNDLP
;
DRIVE HALT
DI
CALL DRIVR
EI
CALL WATER
CALL WATER
CALL WSCAN
CALL WATER
CALL WATER
CALL WSCAN
JP WATER
;
FINIS END
References#
- NEWS: Software update - Home Computing Weekly, Number 115, June 4-10, 1985↩︎