the cutting room mirror

Net Wars

This page contains no introduction.
What makes this game notable or what is it about? Are you a bad enough dude to save this article?

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

ENTER STARTING LINK ADDRESS

0x0940

UNDEFINED  SYMBOLS

0x0956

INTERNAL SYMBOLS

0x096A

EXTERNAL SYMBOLS

0x0980

  NAME TYP VALUE DEF   REFERENCE