|
|
This page contains no introduction. |
Uncompiled Source#
There's some source code hidden in the game, one of three known games from Orca with such an instance. This time, it's at the end of netw2.4r.
D A,(HL) ; GET COOR.OF Y
CP BYULMT ; UPPER LIMIT ?
JR NC,BUL050 ; IF YES
CP BYLLMT ; LOWER LIMIT ?
JR C,BUL050 ; IF YES
LD (HL),A ; SET Y COORDINATE
EXX ; SAVE REG.
LD HL,DIPSW2
BIT 6,(HL) ; UPRIGHT ?
JR NZ,BUL030 ; IF YES
LD HL,COM020
BIT 6,(HL) ; 2 UP ?
JR Z,BUL030 ; IF YES
NEG ; GET THE ABUSOLUTE VALUE
BUL030 EQU $
SUB 8
EXX ; GET REG.
PUSH HL ; SAVE TAG ADDR.
RLC C
RLC C ; * 4
LD HL,BUOFST ; GET OFFSET TABLE
ADD HL,BC
ADD A,(HL)
LD (IY+4),A ; SET OBJ Y
SUB (HL)
INC HL
ADD A,(HL)
LD (IY+9),A ; SET OBJ Y
LD (TCB140),HL ; SAVE OFFSET TABLE ADDR.
POP HL ; GET TAG ADDR.
INC HL
INC DE
LD A,(DE) ; GET X VECTOR
ADD A,(HL) ; GET COOR.OF X
CP BXRLMT ; RIGHT LIMIT ?
JR NC,BUL040 ; IF YES
CP BXLLMT ; LEFT LIMIT ?
JR NC,BUL070 ; IF NO
BUL040 EQU $
DEC HL
BUL050 EQU $
XOR A
LD (IY),A ; BULLET OBJ CLEAR
LD (IY+4),A ; " " "
LD (IY+5),A
LD (IY+9),A
LD (HL),A ; CLEAR Y COORDINATE
INC HL
LD DE,COM130
LD A,(DE) ; GET OBJ COUNTER
DEC A
LD (DE),A ; COUNT DOWN OBJ NUMBER
JR BUL105
BUL070 EQU $
LD (HL),A ; SET X COORDINATE
NEG ; GET THE ABUSOLUTE VALUE
PUSH HL ; SAVE TAG ADDR.
LD HL,(TCB140) ; GET OFFSET TABLE ADDR.
INC HL
ADD A,(HL)
LD (IY+2),A ; SET OBJ X
SUB (HL)
INC HL
ADD A,(HL)
LD (IY+7),A ; SET OBJ X
POP HL ; GET TAG ADDR.
LD (IY),-1 ; DISPLAY
LD (IY+5),-1
BUL105 EQU $
INC HL
BUL110 EQU $
INC HL
INC HL ; GET NEXT TAG ADDR.
LD DE,10
ADD IY,DE ; OBTAIN OBJ QUE ADDR.
EX AF,AF' ; RECOVER LOOP COUNTER
DEC A ; LOOP END ?
JP NZ,BUL010 ; IF NO
LD A,(COM130) ; GET OBJ COUNT
AND A
JR Z,BUL150 ; IF YES
CP 2
RET NZ
LD IX,TAGBUL ; GET TAG HEAD ADDR.
LD A,(IX+1) ; GET COOR.OF X
CP (IX+5) ; SAME COOR.OF X ?
RET NZ ; IF NO
INC (IY-18)
INC (IY-13)
DEC (IY-8)
DEC (IY-3)
RET
BUL150 EQU $
LD A,(TCB) ; SET TASK #
RST DETACH ; DETACH MYSELF
RET
;
; TAG & OBJQUE CLEAR
;
BUL400 EQU $
LD HL,TAGBUL ; SET TAG HEAD
LD DE,TAGBUL+1
LD BC,4*2-1 ; SET SIZE
XOR A ; CLEAR A
LD (HL),A
LDIR ; ALL TAG CLEAR
LD HL,OBJQUE+40 ; SET OBJQUE HEAD
LD DE,OBJQUE+41
LD BC,5*4-1 ; SET SIZE
LD (HL),A
LDIR ; ALL OBJQUE CLEAR
JR BUL150
;
BURBND EQU $
LD A,(TCB040) ; GET FLAG TCB
RRA
RET C
LD A,1
LD (TCB040),A
INC HL
LD A,C
ADD A,8
AND 0FH
LD C,A
OR 90H
LD (HL),A
INC HL
LD (HL),2
DEC HL
DEC HL
RET
;
; BULLET VECTOR TABLE
; Y OFFSET , X OFFSET
;
BUFTBL EQU $ ; FIGHTER-SIDE
DEFB 8,0 ; 0
DEFB 7,3 ; 1
DEFB 6,6 ; 4
DEFB 3,7 ; 3
DEFB 0,8 ; 4
DEF
There's more in the second graphics ROM. This seems to be text from a Z80 linking loader:
0x01E1 |
|
|---|---|
0x0940 |
|
0x0956 |
|
0x096A |
|
0x0980 |
|