If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Bionic Ninja (ZX Spectrum)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Bionic Ninja

Developer: Zeppelin Games
Publisher: Zeppelin Games
Platform: ZX Spectrum
Released in EU: 1989


SourceIcon.png This game has uncompiled source code.


Uncompiled Code Fragments

Small tidbits of code can be found in the game at DD74 in the master disk. These appear to be for the loading mechanism the game uses.

JR MELP
H ENDOF2
XOR A R
IN A,(254)
AND 31
SUB 31
JR Z,ENDOF2
LD HL,22528
LD DE,22529
LD (HL),L
LD BC,767
LDIR
LD A,(23388)
SET 3,A
DI
LD BC,32765
OUT (C),A
LD (23388),A
RET

MES2
DEFB 16,0,17,7,18,1,19,1

DEFM "   START TAPE AND PRESS A KEY   "
DEFB 255

HEAD1
DEFB 0
DEFM "BIONIC    "

JUMP 
JP HERE1

HERE1
LD HL,START
LD (JUMP+1),HL
DI
LD A,(23388)
AND 248
OR 7
LD BC,32765
OUT (C),A
LD HL,32768
LD DE,49152
LD BC,6912
LDIR
LD A,(23388)
LD BC,32765
OUT (C),A
RET

START CALL DISP
LD IX,HEAD1
XOR A
LD DE,17 
CALL #04C2
LD IX,BASIC
LD DE,END-BASIC+10
LD A,255
CALL #04C2
DI h  LD A,(23388)
AND 248
OR 7
LD (23388),A
LD BC,32765
OUT (C),A
EI
LD IX,49152
LD DE,6912
LD A,255 
CALL #04C2
DI
LD A,(23388)
AND 248
LD (23388),A
LD BC,32765
OUT (C),A
LD IX,24000

LD DE,36000
LD A,255 0 

CALL #04C2
JR START
DISP LD A,71
LD (23693),A
LD (23624),A
LD A,1

CALL #1601
LD A,(23388)
RES 3,A
DI
LD (23388),A
LD BC,32765
OUT (C),A
LD A,(23399)
AND 247
LD (23399),A 
LD BC,8189
OUT (C),A
LD IX,MES2

MELP
LD A,(IX)
CP 255
JP Z,ENDOF2
RST

INC IX
JR MELP

ENDOF2
XOR A
IN A,(254)
AND 31
SUB 31
JR Z,ENDOF2
LD HL,22528
LD DE,22529
LD (HL)
LD BC,767

LDIR
LD A,(23388)
SET 3,A
DI
LD BC,32765
OUT (C),A
LD (23388),A
RET

MES2
DEFB 16,0,17,7,18,1,19,1
DEFM "   START TAPE AND PRESS A KEY   "
DEFB 255

HEAD1
DEFB
DEFM "BIONIC    "

DEFB #00,#00,#2F
DEFB #00,#F9,#C0
DEFB "(",#BE,#32,#33
DEFB #36,#33,#35
DEFB #0E,#00,#00
DEFB #53,#5C,#00
DEFB #2B,#35,#34
DEFB #0E,#00,#00
DEFB #3A,#00,#00
DEFB #2B,#32,#35
DEFB #36,#0E,#00
DEFB #00,#00,#01
DEFB #00,#2A,#BE
DEFB #32,#33,#36
DEFB #33,#36,#0E
DEFB #00,#00,#54
DEFB #5C,#00,")",#0D
DEFB #00,#14,#09
DEFB #00,#EA
LD HL,16
ADD HL,BC
LD DE,65000
LD BC,512
DI F
LDIR
JP 65000

ENT2
LD SP,23999
LD HL,23295
LD DE,23294
LD (HL),0
LD B,D
LD C,E

LDDR
LD IX,49152
LD DE,6912
SCF
SBC A,A
CALL #556
JR NC,ERROR
LD HL,49152
LD DE,16384
LD BC,6912

LDIR
LD IX,24000
LD DE,36000
SCF
SBC A,A
CALL #556
LD A,205
LD (52442),A J
JP C,52442

ERROR
LD A,1
CALL #1601
LD IX,TEXT-ENT2+65000

TXLP LD A,(IX)
CP 255
JR Z,ENDOF
RST 16
INC IX
JR TXLP

ENDOF
LD HL,1000
LD DE,10000
CALL #3B5
JP 00

TEXT
DEFB 22,1,0,16,7,17,0,19,1,18,1
DEFM "       TAPE LOADING ERROR       "
DEFB 255
DEFB 127,72,72
END