|
|
This page contains no introduction. |
Source Code Fragment#
A decent chunk of the code was included in this game. The code seen below can be seen with a hex editor at the addresses listed below in the .tap dump of the game.
3599:
ALL PRINT
LD A,+150
LD (COCH),A
CALL PRINT
LD A,(IX+4)
LD (COX),A
4526:
BIT 7,(IX+31)
JR NZ BACK
LD (IX+46),+50
BIT 7
572C:
ORG -16535
‚ENDD=EA90
‚SHEL=+23387
‚NOALI=+23442
‚NAL=+23402
‚SFLAG=+23408
‚DEATH=+23397
‚KILLS=+23404
‚SCORE=+23395
‚TIME=+23673
‚PIOS=-29497
‚PRINT=+24994
‚RND=-29518
‚LARGE=-13821
‚START=-15533
‚PLX=+23444
‚PLSY=+23443
‚VELP=+23381
‚KEYS=+23477
‚INPUT=+23382
‚VELO=+23380
‚PLAN=+23414
‚LEVEL=+23399
‚CODE=-18036
JP TSTEDD
JP KEYCO
LD A,+13
LD (+23439),A
PUSH HL
LD DE,+1000
SBC HL,DE
CALL C FLSEN
POP HL
RET
‚FLSEN
LD A,+150
LD (+23439),A
RET
‚KEYCO
LD A,(KEYS)
CP 1
JR Z KEMPS
CP 2
JR Z PROTK
SUB A
LD BC,-4098
IN D,(C)
BIT 4,D
JR NZ ST1
SET 1,A
‚ST1
BIT 3,D
JR NZ ST2
SET 0,A
‚ST2
BIT 2,D
JR NZ ST3
SET 2,A
‚ST3
BIT 1,D
JR NZ ST4
SET 3,A
‚ST4
BIT 0,D
JR NZ ST5
SET 4,A
‚ST5
LD (INPUT),A
RET
‚KEMPS
IN A,+31
LD (INPUT),A
RET
‚PROTK
SUB A
LD BC,-4098
IN D,(C)
BIT 0,D
JR NZ ST6
SET 4,A
‚ST6
BIT 2,D
JR NZ ST7
SET 0,A
‚ST7
BIT 3,D
JR NZ ST8
SET 3,A
‚ST8
BIT 4,D
JR NZ ST9
SET 2,A
‚ST9
LD BC,-2050
IN D,(C)
BIT 4,D
JR NZ ST10
SET 1,A
‚ST10
LD (INPUT),A
RET
‚TSTEDD
LD A,(NOALI)
AND A
JR NZ TSDEL
LD (VELP-1),A
LD A,4
LD (DEATH),A
‚TSDEL
LD A,(DEATH)
AND A
RET Z
LD A,(SFLAG)
AND +254
JR Z NOCHN
LD A,+128
LD (SFLAG),A
CALL +27000
‚NOCHN
LD A,(DEATH)
BIT 2,A
JP NZ AMYDS
BIT 0,A
JP NZ OTOFU
BIT 1,A
JP NZ PLDES
BIT 3,A
JR NZ ETHDS
JR CRASH
‚PLDES
CALL EXPLO
LD HL,-15593
CALL LARGE
LD HL,-15564
CALL PIOS
CALL SCOREX
JP START
‚CRASH
LD HL,+16384
LD DE,+16385
LD BC,+4095
LD (HL),0
LDIR
CALL +25000
CALL EXPLO
LD HL,-15593
CALL LARGE
LD HL,-15751
CALL PIOS
LD B,1
LD A,(PLX)
CP B
JR Z PLAT
INC B
CP 5
JR Z PLAT
INC B
‚PLAT
LD A,(PLSY)
DEC A
LD C,A
ADD A,A
ADD A,C
ADD A,B
LD B,A
LD HL,-29883
LD DE,9
‚XNM
ADD HL,DE
DJNZ XNM
CALL PIOS
CALL SCOREX
JP START
‚OTOFU
LD HL,SHEL
RES 7,(HL)
LD A,(VELP)
AND A
RET NZ
LD HL,-15642
CALL LARGE
LD HL,-15785
CALL PIOS
CALL SCOREX
JP START
‚ETHDS
SUB A
LD (VELO),A
CALL TSTON
LD A,(VELP)
AND A
RET NZ
LD HL,-15642
CALL LARGE
LD HL,-15622
CALL PIOS
CALL SCOREX
JP START
‚AMYDS
CALL TSTON
LD A,(VELP)
AND A
RET NZ
LD HL,-15663
CALL LARGE
LD HL,-15713
CALL PIOS
CALL SCOREX
JP START
‚TSTON
LD A,(NAL)
CP +32
JR NZ TSSHE
LD A,(+23822)
CP 2
JR C SETVL
‚TSSHE
LD A,(SHEL)
BIT 7,A
JR Z SETVL
BIT 1,A
RET Z
‚SETVL
SUB A
LD (VELP),A
RET
‚SCOREX
LD HL,-15575
CALL PIOS
CALL SCCAL
LD A,+26
LD (+23426),A
LD HL,(SCORE)
CALL SCORS
SUB A
LD (+23426),A
CALL CODE
RET
JP ENDD
‚SCORS
LD IX,+23420
SUB A
LD DE,+1000
‚SU2
SBC HL,DE
JR C ADX2
INC A
JR SU2
‚ADX2
ADD HL,DE
LD (IX+0),A
SUB A
LD DE,+100
‚SU3
SBC HL,DE
JR C ADX3
INC A
JR SU3
‚ADX3
ADD HL,DE
LD (IX+1),A
SUB A
LD DE,+10
‚SU4
SBC HL,DE
JR C ADX4
INC A
JR SU4
‚ADX4
ADD HL,DE
LD (IX+2),A
LD (IX+3),L
LD B,4
LD HL,+23420
‚PRI
LD A,(HL)
ADD A,+48
LD (+23681),A
CALL PRINT
INC HL
DJNZ PRI
RET
‚SCCAL
LD HL,0
LD (SCORE),HL
LD A,(DEATH)
AND +251
JR NZ AKILS
LD HL,-30556
LD DE,5
LD C,9
LD B,+20
‚COUNT
LD A,(HL)
AND A
JR Z NOBOS
INC C
‚NOBOS
ADD HL,DE
DJNZ COUNT
LD A,C
LD (PLAN),A
PUSH BC
POP HL
ADD HL,BC
PUSH HL
POP DE
ADD HL,HL
ADD HL,HL
ADD HL,DE
LD A,(LEVEL)
CP 3
LD DE,+500
ADD HL,DE
‚AKILS
LD DE,(KILLS)
EX DE,HL
ADD HL,HL
ADD HL,HL
ADD HL,HL
ADD HL,DE
LD A,(DEATH)
AND +130
JR Z LIVE
LD DE,+20
SBC HL,DE
RET C
‚LIVE
LD DE,(TIME)
LD B,5
‚CONTI
SRL D
RR E
DJNZ CONTI
AND A
SBC HL,DE
RET C
LD (SCORE),HL
RET
‚EXPLO
LD B,4
‚REP1
PUSH BC
LD A,+22
LD (+23624),A
CALL FLASH
CALL SOUND
LD A,+6
LD (+23624),A
CALL FLASH
CALL SOUND
LD A,+48
LD (+23624),A
CALL FLASH
CALL SOUND
LD A,2
LD (+23624),A
CALL FLASH
CALL SOUND
POP BC
DJNZ REP1
RET
‚SOUND
LD B,3
‚REP2
PUSH BC
CALL RND
AND +3
ADD A,+10
LD H,A
LD DE,1
CALL +949
CALL RND
AND 3
INC A
LD B,A
‚REP3
HALT
DJNZ REP3
POP BC
DJNZ REP2
RET
‚FLASH
LD HL,+22528
LD DE,+22529
LD BC,+511
LD (HL),A
LDIR
RET