| 
;
;
         IF      L.WALL = OFF     ;-------------------------------------------
         LIST    -L               ;--  WALLS  --------------------------------
         ENDIF                    ;-------------------------------------------
;
;
;
;
;  ***************************************************************
;  ***************************************************************
;  ***                                                         ***
;  ***          W A L L   /   R O A D W A Y   D A T A          ***
;  ***                                                         ***
;  ***************************************************************
;  ***************************************************************
;
;
;  QUICK LOOK-UP COLLISION TEST
;  ============================
;
;                 $00   $20   $40   $60   $80   $A0   $C0   $E0          VERT
;                 ---   ---   ---   ---   ---   ---   ---   ---          ----
;
TCOL     DW      $0100,$0000,$0000,$0000,$0000,$0000,$0400,$0400       ;  $00
         DW      $0100,$0100,$0000,$0000,$0000,$0400,$0400,$8000       ;  $20
         DW      $8000,$0100,$0000,$0000,$0000,$0400,$0400,$8000       ;  $40
         DW      $8000,$0100,$0100,$0000,$0405,$0405,$8000,$8000       ;  $60
         DW      $8000,$8000,$0102,$0200,$0000,$0500,$0500,$8000       ;  $80
         DW      $8000,$8000,$8000,$0200,$0203,$0506,$0506,$8000       ;  $A0
         DW      $8000,$8000,$8000,$0300,$0600,$0600,$8000,$8000       ;  $C0
         DW      $8000,$8000,$8000,$0300,$0600,$8000,$8000,$8000       ;  $E0
;
;
;  DETAILED WALL COLLISION INFORMATION
;  ===================================
;
;
;        WALL LOOK-UP TABLES
;        -------------------
;
WALLS    DW      0                ;  0 = NO WALL AT ALL
;
         DW      LLWALL           ;  1 = LOWER-LEFT WALL
         DW      MLWALL           ;  2 = MIDDLE-LEFT WALL
         DW      ULWALL           ;  3 = UPPER-LEFT WALL
;
         DW      LRWALL           ;  4 = LOWER-RIGHT WALL
         DW      MRWALL           ;  5 = MIDDLE-RIGHT WALL
         DW      URWALL           ;  6 = UPPER-RIGHT WALL
;
;
;        DETAILED WALL DATA
;        ------------------
;
;             BYTE 0   = WALL FLAG
;                  1   = WALL ANGLE ($00 - $3F)
;                  2   = 'Y' AXIS START
;                  3   = 'Y' AXIS END
;                  4   = 'X' AXIS START
;                  5   = 'X' AXIS END
;
LLWALL   DB      $3B              ;  LOWER-LEFT WALL
         DB      $98,$08          ;  .    YS,YE
         DB      $90,$CC          ;  .    XS,XE
;
MLWALL   DB      $36              ;  MIDDLE-LEFT WALL
         DB      $05,$2D          ;  .    YS,YE
         DB      $CA,$04          ;  .    XS,XE
;
ULWALL   DB      $04              ;  UPPER-LEFT WALL
         DB      $2B,$5F          ;  .    YS,YE
         DB      $02,$ED          ;  .    XS,XE
;
;
LRWALL   DB      $07              ;  LOWER-RIGHT WALL
         DB      $98,$ED          ;  .    YS,YE
         DB      $60,$1A          ;  .    XS,XE
;
MRWALL   DB      $3A              ;  MIDDLE-RIGHT WALL
         DB      $EB,$26          ;  .    YS,YE
         DB      $1C,$43          ;  .    XS,XE
;
URWALL   DB      $07              ;  UPPER-RIGHT WALL
         DB      $23,$5E          ;  .    YS,YE
         DB      $40,$10          ;  .    XS,XE
;
;
;
;
;  BULLET BOUNCE ANGLE TABLES (ALL LEVELS)
;  =======================================
;
;
BLBNC    DW      0                ;  0 = NO WALL AT ALL
;
         DW      BLBNC1           ;  1 = LOWER-LEFT WALL
         DW      BLBNC2           ;  2 = MIDDLE-LEFT WALL
         DW      BLBNC3           ;  3 = UPPER-LEFT WALL
;
         DW      BLBNC4           ;  4 = LOWER-RIGHT WALL
         DW      BLBNC5           ;  5 = MIDDLE-RIGHT WALL
         DW      BLBNC6           ;  6 = UPPER-LEFT WALL
;
;
;        LOWER-LEFT WALL
;        ---------------
;
BLBNC1   DB      $80,$80,$2A,$17       ;  BULLET ANGLES = $08,$0C,$10,$14
         DB      $80,$80,$0D,$80       ;                = $18,$1C,$20,$24
         DB      $80,$80,$80,$80       ;                = $28,$2C,$30,$34
         DB      $80,$80,$33,$80       ;                = $38,$3C,$00,$04
;
;
;        MIDDLE-LEFT WALL
;        ----------------
;
BLBNC2   DB      $31,$31,$0F,$80       ;  BULLET ANGLES = $0C,$10,$14,$18
         DB      $80,$0D,$80,$80       ;                = $1C,$20,$24,$28
         DB      $80,$80,$80,$80       ;                = $2C,$30,$34,$38
         DB      $80,$31,$80,$80       ;                = $3C,$00,$04,$06
;
;
;        UPPER-LEFT WALL
;        ---------------
;
BLBNC3   DB      $80,$31,$80,$80       ;  BULLET ANGLES = $3C,$00,$04,$08
         DB      $33,$0F,$0F,$80       ;                = $0C,$10,$14,$18
         DB      $80,$0E,$80,$80       ;                = $1C,$20,$24,$28
         DB      $80,$80,$80,$80       ;                = $2C,$30,$34,$38
;
;
;        LOWER-RIGHT WALL
;        ----------------
;
BLBNC4   DB      $80,$0F,$80,$80       ;  BULLET ANGLES = $3C,$00,$04,$08
         DB      $80,$80,$80,$80       ;                = $0C,$10,$14,$18
         DB      $80,$31,$80,$80       ;                = $1C,$20,$24,$28
         DB      $80,$80,$0C,$80       ;                = $2C,$30,$34,$38
;
;
;        MIDDLE-RIGHT WALL
;        -----------------
;
BLBNC5   DB      $80,$80,$80,$80       ;  BULLET ANGLES = $08,$0C,$10,$14
         DB      $80,$80,$31,$80       ;                = $18,$1C,$20,$24
         DB      $80,$34,$0D,$0D       ;                = $28,$2C,$30,$34
         DB      $80,$80,$0E,$80       ;                = $38,$3C,$00,$04
;
;
;        UPPER-RIGHT WALL
;        ----------------
;
BLBNC6   DB      $80,$0F,$80,$80       ;  BULLET ANGLES = $3C,$00,$04,$08
         DB      $80,$80,$80,$80       ;                = $0C,$10,$14,$18
         DB      $80,$31,$80,$80       ;                = $1C,$20,$24,$28
         DB      $80,$32,$0F,$80       ;                = $2C,$30,$34,$38
;
;
;
;
;  SPIKER BOUNCE ANGLE TABLES (LEVELS #0 & #2)
;  ===========================================
;
;
SPBN0    DW      0                ;  0 = NO WALL AT ALL
;
         DW      SPBN01           ;  1 = LOWER-LEFT WALL
         DW      SPBN02           ;  2 = MIDDLE-LEFT WALL
         DW      SPBN03           ;  3 = UPPER-LEFT WALL
;
         DW      SPBN04           ;  4 = LOWER-RIGHT WALL
         DW      SPBN05           ;  5 = MIDDLE-RIGHT WALL
         DW      SPBN06           ;  6 = UPPER-LEFT WALL
;
;
;        LOWER-LEFT WALL
;        ---------------
;
SPBN01   DB      $80,$80,$24,$28       ;  SPIKER ANGLES = $08,$0C,$10,$14
         DB      $2B,$80,$80,$80       ;                = $18,$1C,$20,$24
         DB      $80,$80,$80,$80       ;                = $28,$2C,$30,$34
         DB      $80,$80,$80,$80       ;                = $38,$3C,$00,$04
;
;
;        MIDDLE-LEFT WALL
;        ----------------
;
SPBN02   DB      $24,$24,$2A,$80       ;  SPIKER ANGLES = $0C,$10,$14,$18
         DB      $28,$28,$80,$80       ;                = $1C,$20,$24,$28
         DB      $80,$80,$80,$80       ;                = $2C,$30,$34,$38
         DB      $80,$80,$80,$80       ;                = $3C,$00,$04,$06
;
;
;        UPPER-LEFT WALL
;        ---------------
;
SPBN03   DB      $80,$80,$80,$80       ;  SPIKER ANGLES = $3C,$00,$04,$08
         DB      $2C,$2C,$2A,$2A       ;                = $0C,$10,$14,$18
         DB      $2C,$28,$80,$80       ;                = $1C,$20,$24,$28
         DB      $80,$80,$80,$80       ;                = $2C,$30,$34,$38
;
;
;        LOWER-RIGHT WALL
;        ----------------
;
SPBN04   DB      $80,$80,$80,$80       ;  SPIKER ANGLES = $3C,$00,$04,$08
         DB      $80,$80,$80,$80       ;                = $0C,$10,$14,$18
         DB      $80,$18,$15,$80       ;                = $1C,$20,$24,$28
         DB      $12,$12,$80,$80       ;                = $2C,$30,$34,$38
;
;
;        MIDDLE-RIGHT WALL
;        -----------------
;
SPBN05   DB      $80,$80,$80,$80       ;  SPIKER ANGLES = $08,$0C,$10,$14
         DB      $80,$12,$18,$15       ;                = $18,$1C,$20,$24
         DB      $14,$12,$0C,$80       ;                = $28,$2C,$30,$34
         DB      $80,$80,$80,$80       ;                = $38,$3C,$00,$04
;
;
;        UPPER-RIGHT WALL
;        ----------------
;
SPBN06   DB      $80,$80,$80,$80       ;  SPIKER ANGLES = $3C,$00,$04,$08
         DB      $80,$80,$80,$80       ;                = $0C,$10,$14,$18
         DB      $80,$80,$80,$80       ;                = $1C,$20,$24,$28
         DB      $13,$15,$80,$0C       ;                = $2C,$30,$34,$38
;
;
;
;
;  SPIKER BOUNCE ANGLE TABLES (LEVEL #1)
;  =====================================
;
;
SPBN1    DW      0                ;  0 = NO WALL AT ALL
;
         DW      SPBN11           ;  1 = LOWER-LEFT WALL
         DW      SPBN12           ;  2 = MIDDLE-LEFT WALL
         DW      SPBN13           ;  3 = UPPER-LEFT WALL
;
         DW      SPBN14           ;  4 = LOWER-RIGHT WALL
         DW      SPBN15           ;  5 = MIDDLE-RIGHT WALL
         DW      SPBN16           ;  6 = UPPER-LEFT WALL
;
;
;        LOWER-LEFT WALL
;        ---------------
;
SPBN11   DB      $18,$18,$16,$80       ;  SPIKER ANGLES = $08,$0C,$10,$14
         DB      $80,$80,$80,$80       ;                = $18,$1C,$20,$24
         DB      $80,$80,$80,$80       ;                = $28,$2C,$30,$34
         DB      $80,$80,$80,$80       ;                = $38,$3C,$00,$04
;
;
;        MIDDLE-LEFT WALL
;        ----------------
;
SPBN12   DB      $18,$14,$1A,$80       ;  SPIKER ANGLES = $0C,$10,$14,$18
         DB      $80,$80,$80,$80       ;                = $1C,$20,$24,$28
         DB      $80,$80,$80,$80       ;                = $2C,$30,$34,$38
         DB      $80,$18,$14,$14       ;                = $3C,$00,$04,$06
;
;
;        UPPER-LEFT WALL
;        ---------------
;
SPBN13   DB      $80,$16,$14,$12       ;  SPIKER ANGLES = $3C,$00,$04,$08
         DB      $14,$0E,$0F,$80       ;                = $0C,$10,$14,$18
         DB      $80,$80,$80,$80       ;                = $1C,$20,$24,$28
         DB      $80,$80,$80,$80       ;                = $2C,$30,$34,$38
;
;
;        LOWER-RIGHT WALL
;        ----------------
;
SPBN14   DB      $28,$28,$2C,$28       ;  SPIKER ANGLES = $3C,$00,$04,$08
         DB      $80,$80,$80,$80       ;                = $0C,$10,$14,$18
         DB      $80,$80,$80,$80       ;                = $1C,$20,$24,$28
         DB      $80,$28,$2A,$24       ;                = $2C,$30,$34,$38
;
;
;        MIDDLE-RIGHT WALL
;        -----------------
;
SPBN15   DB      $28,$80,$80,$80       ;  SPIKER ANGLES = $08,$0C,$10,$14
         DB      $80,$80,$80,$80       ;                = $18,$1C,$20,$24
         DB      $80,$80,$34,$2C       ;                = $28,$2C,$30,$34
         DB      $2C,$28,$28,$2C       ;                = $38,$3C,$00,$04
;
;
;        UPPER-RIGHT WALL
;        ----------------
;
SPBN16   DB      $80,$80,$80,$80       ;  SPIKER ANGLES = $3C,$00,$04,$08
         DB      $80,$80,$80,$80       ;                = $0C,$10,$14,$18
         DB      $80,$80,$80,$80       ;                = $1C,$20,$24,$28
         DB      $80,$29,$29,$24       ;                = $2C,$30,$34,$38
;
;
         IF      L.WALL = OFF     ;-------------------------------------------
         LIST    *                ;-------------------------------------------
         ENDIF                    ;-------------------------------------------
 |