|
|
This page contains no introduction. |
Source Code Fragments#
A moderate amount of code was left inside the disk version of the game. The addresses below are from a dump of the original disk.
Track 6, Sector 0, AF9:
MVFL.2 INC HL
INC HL
INC HL
DJNZ MVFL.1
RET
ZIBBO EQU 274
NEW_FLAME LD A,(NUM_FLAM)
CP 4
RET Z
LD A,(HEIGHT)
OR A
CP #60
RET NC
CALL RND
OR A
CP 220
FOZZIE EQU $-1
RET C
CALL RND
AND 7
LD (ZIBBO),A
ADD A,A
ADD A,A
ADD A,A
ADD A,8
LD C,A
CALL RND
AND 32
LD B,A
; PUSH BC
; LD A,8
; ADD A,B
; LD B,A
; CALL MAP_FIND
; POP BC
; RET NZ
LD A,(MAP_COUNT)
LD L,A
LD A,3
SUB L
ADD A,A
ADD A,A
ADD A,A
ADD A,B
LD B,A
LD A,(ZIBBO)
LD HL,ZIBBER
KERMIT EQU $-2
ADD A,L
LD L,A
LD A,(HL)
ADD A,B
LD B,A
PUSH BC
XOR A
CALL MAP_FIND
POP BC
RET NZ
LD HL,FLAMES
LD D,4
NEWF.1 LD A,(HL)
OR A
JR NZ,NEWF.2
LD (HL),20
INC HL
LD (HL),C
INC HL
LD A,B
SUB 16
LD B,A
LD (HL),B
LD HL,NUM_FLAM
INC (HL)
RET
NEWF.2 INC HL
INC HL
INC HL
DEC D
JP NZ,NEWF.1
RET
FLAME_DO LD A,15
LD (SPMASK),A
EXX
LD HL,FLAME_STR
EXX
LD HL,FLAMES
LD D,4
FLOD.1 LD A,(HL)
OR A
JR Z,FLOD.2
EXX
PUSH HL
EXX
PUSH HL
PUSH DE
LD A,(HL)
XOR 1
LD (HL),A
INC HL
LD C,(HL)
INC HL
LD B,(HL)
CALL SP_DRAW
POP DE
POP HL
EXX
POP HL
EXX
FLOD.2 EXX
INC H
EXX
INC HL
INC HL
INC HL
DEC D
JP NZ,FLOD.1
RET
WIPE_FLAME LD DE,FLAME_
Track 7, Sector 0, 0:
LD A,4
LD HL,FLAMES+9
FLIP.1 PUSH AF
PUSH HL
LD A,(HL)
OR A
JR Z,FLIP.2
PUSH DE
INC HL
LD C,(HL)
INC HL
LD B,(HL)
CALL SP_WIPE
POP DE
FLIP.2 DEC D
POP HL
DEC HL
DEC HL
DEC HL
POP AF
DEC A
JP NZ,FLIP:
Track 8, Sector 0, 145:
-ball from flames
FALLERS2 CALL RND
OR A
CP 220
RET C
CALL RND
AND 3
LD HL,FLAMES
LD D,A
ADD A,A
ADD A,D
ADD A,L
LD L,A
LD A,(HL)
OR A
RET Z
INC HL
LD C,(HL)
INC C
INC C
INC HL
LD B,(HL)
LD HL,SPRITE_DAT+9
LD E,5
FAL.2A LD A,(HL)
INC A
JR Z,FAL.3A
INC HL
INC HL
INC HL
DEC E
JP NZ,FAL.2A
RET
FAL.3A SET 7,C
LD (HL),C
INC HL
LD (HL),B
INC HL
LD (HL),11 ; fire-ball code
RET
BIGGY EQU 278
BIG_STORE DEFS 256
BIG_FALL LD A,(BIGGY)
Track 9, Sector 0, 10B:
OR A
JP Z,POP.1
LD B,6
LD HL,PARA_DAT
PARM.1A LD A,(HL)
CP 255
JR Z,PARM.2A
INC HL
LD A,(HL)
SUB A,8
LD (HL),A
DEC HL
PARM.2A INC HL
INC HL
DJNZ PARM.1A
POP.1 LD B,3
LD HL,SHEEP
MVSH.1A LD A,(HL)
OR A
JR Z,MVSH.2A
INC HL
INC HL
LD A,(HL)
SUB 8
OR A
CP 9
JR NC,MVSH.3A
DEC HL
DEC HL
LD (HL),0
JP MVSH.2A
MVSH.3A LD (HL),A
DEC HL
DEC HL
MVSH.2A INC HL
INC HL
INC HL
DJNZ MVSH.1A
LD B,4
LD HL,FLAMES
MVFL.1A LD A,(HL)
OR A
JR Z,MVFL.2A
INC HL
INC HL
LD A,(HL)
SUB 8
OR A
CP 9
JR NC,MVFL.3A
DEC HL
DEC HL
LD (HL),0
JP MVFL.2A
MVFL.3A LD (HL),A
DEC HL
DEC HL
MVFL.2A INC HL
INC HL
INC HL
DJNZ MVFL.1A
LD B,8
LD HL,SPRITE_DAT
MV.1A LD A,(HL)
INC A
JR Z,MV.2A
INC HL
LD A,(HL)
SUB 8
LD (HL),A
DEC HL
MV.2A INC HL
INC HL
INC HL
DJNZ MV.1A
LD A,(HEIGHT)
DEC A
LD (HEIGHT),A
LD HL,(OFFSET)
LD DE,80
ADD HL,DE
LD A,H
AND 7
LD H,A
LD (OFFSET),HL
CALL STAT_LINE
JP BO
Track 9, Sector 0, 5E4:
AND 3
LD (MAP_COUNT),A
OR A
LD HL,(MAP_ADD)
JR NZ,$3
LD DE,48
JR $1
$3 LD DE,56
$1 OR A
JR NZ,$2
EXX
LD HL,(MAP_ADD)
LD DE,8
SBC HL,DE
LD (MAP_ADD),HL
EXX
$2 DEC A
AND 3
ADD A,A
ADD A,A
LD (PLUSTIP),A
LD BC,#B808
LD HL,(MAP_ADD)
OR A
SBC HL,DE
PUSH BC
LD B,8
BOTTOM.2 LD A,(HL)
EXX
LD DE,BLOCKS
LD H,0
LD L,A
ADD HL,HL
ADD HL,HL
ADD HL,HL
ADD HL,HL
ADD HL,DE
LD DE,0
PLUSTIP EQU $-2
ADD HL,DE
EX HL,DE
POP BC
PUSH BC
LD A,4
CALL PSTRING3
POP BC
LD A,C
ADD A,8
LD C,A
PUSH BC
EXX
INC HL
DJNZ BOTTOM.2
POP BC
LD HL,CHARDATA-32*16
LD (BANK),HL
LD A,(MAP_COUNT)
OR A
JR NZ,BOT.3
LD HL,(MAP_ADD)
LD DE,8
OR A
SBC HL,DE
LD B,E
LD IX,MAP_GRAFIX
Track 9, Sector 0, B20:
BC
LD A,8
ADD A,B
LD B,A
POP AF
DEC A
JP NZ,LOG.1
POP BC
LD A,C
ADD A,32
LD C,A
PUSH BC
LD A,8
ADD A,B
LD B,A
CALL PSPEC
POP BC
PUSH BC
LD A,B
ADD A,16
LD B,A
CALL PSPEC
POP BC
PUSH BC
LD A,B
ADD A,24
LD:
(Source: CPC Power)