;
;
IF L.MAP = OFF ;-------------------------------------------
LIST -L ;-- MAP ----------------------------------
ENDIF ;-------------------------------------------
;
;
;
;
; ***************************************************************
; ***************************************************************
; *** ***
; *** T H E W O R L D - W I D E M A P ***
; *** ***
; ***************************************************************
; ***************************************************************
;
;
;
MSG 'END OF LOWER ROM = ',*
;
;
IF * < BOXMAP
MSG ' REMAINING BYTES - ',(BOXMAP - *)
ENDIF
;
IF * > BOXMAP
MSG '----- LOWER ROM ALLOCATIONS VIOLATED -----'
ENDIF
;
;
ORG $1E72
; === =====
;
;
;
; MAP FOR SPECIAL ANIMATION
; =========================
;
; 0... 0... 1... 1... 2... 2... 3... 3...
; 0246 8ACE 0246 8ACE 0246 8ACE 0246 8ACE
; ---- ---- ---- ---- ---- ---- ---- ----
;
BOXMAP DW $00FF,$FF00,$0000,$0000,$1111,$1111,$1111,$1161 ; 00
DW $06FF,$FF00,$FF00,$00E0,$1111,$1111,$1115,$1911 ; 02
DW $FFFF,$FF08,$0000,$0000,$1811,$1A11,$1B11,$1111 ; 04
DW $00E0,$0D00,$C000,$0B00,$1161,$1111,$1161,$1111 ; 06
DW $0000,$6005,$000E,$0000,$1918,$1A11,$1811,$1B11 ; 08
DW $0000,$0900,$0800,$0A00,$1111,$1111,$1161,$1111 ; 0A
DW $6000,$0006,$0060,$00E0,$1F11,$1111,$1111,$1B11 ; 0C
DW $0000,$0B00,$0C00,$0D00,$1111,$1161,$111A,$1611 ; 0E
DW $0000,$600E,$0060,$0000,$1811,$1A11,$1A11,$1911 ; 10
DW $00E0,$0B00,$0A00,$0800,$1161,$1118,$1111,$1111 ; 12
DW $0000,$0000,$0000,$000E,$1A11,$1B11,$1811,$1F11 ; 14
DW $0600,$0006,$000E,$0000,$1111,$1111,$1111,$1111 ; 16
DW $00B0,$00A0,$4444,$4444,$4644,$4448,$1A11,$1B11 ; 18
DW $0008,$0000,$4484,$4644,$4444,$4B44,$1116,$1111 ; 1A
DW $00A0,$00B0,$4444,$FFFF,$444F,$4444,$1811,$1911 ; 1C
DW $0000,$0800,$4EFF,$FFFF,$FFFF,$44E4,$1111,$1111 ; 1E
DW $6222,$6222,$44FF,$FFFE,$FFFF,$4444,$3363,$3363 ; 20
DW $2292,$22A2,$44FF,$FFFF,$FFFF,$4444,$3A33,$3A33 ; 22
DW $2222,$2222,$4494,$FFFF,$444F,$4B44,$3338,$3333 ; 24
DW $2A22,$2A22,$4444,$4444,$4444,$4444,$3B33,$3A33 ; 26
DW $2222,$2262,$2222,$2262,$3336,$3333,$3633,$3333 ; 28
DW $2822,$2822,$2A22,$2B22,$3C33,$3D33,$3E33,$3F33 ; 2A
DW $2222,$2228,$2222,$2222,$6333,$3333,$3333,$3333 ; 2C
DW $2F22,$2E22,$2D26,$2C22,$3B33,$3A33,$3933,$3833 ; 2E
DW $2226,$2228,$6222,$2222,$3333,$3333,$3333,$3336 ; 30
DW $2A22,$A222,$2B22,$2A22,$3833,$3836,$3A33,$3A33 ; 32
DW $2226,$2226,$2222,$2222,$3338,$3333,$3333,$3333 ; 34
DW $2B22,$2B22,$2A22,$2A22,$3A33,$3933,$3833,$3A33 ; 36
DW $2222,$2222,$2222,$2222,$3333,$3336,$3333,$3633 ; 38
DW $FFFF,$FF22,$2B22,$2C22,$3D33,$3E33,$3F33,$3833 ; 3A
DW $FFFF,$FF22,$2222,$2222,$3333,$3333,$3335,$3336 ; 3C
DW $25FF,$FF26,$2262,$2229,$3363,$3336,$3333,$3336 ; 3E
;
;
;
;
; GRID ANGLE VS. SEARCH TRANSLATION TABLE
; =======================================
;
GRDANG DW AGRD0 ; LOOK-ANGLE = $00 - $07
DW AGRD1 ; . $08 - $0F
DW AGRD2 ; . $10 - $17
DW AGRD3 ; . $18 - $1F
DW AGRD4 ; . $20 - $27
DW AGRD5 ; . $28 - $2F
DW AGRD6 ; . $30 - $37
DW AGRD7 ; . $38 - $3F
;
;
;
AGRD0 DW $0506 ; SEARCH PATTERN: LOOK-ANGLE = $00 - $07
DW $0507 ; .
DW $0508 ; .
DW $0509 ; .
DW $0405 ; .
DW $0406 ; .
DW $0407 ; .
DW $0408 ; .
DW $0409 ; .
DW $0305 ; .
DW $0306 ; .
DW $0307 ; .
DW $0308 ; .
DW $0309 ; .
DW 0 ; . SEARCH TERMINATOR
;
;
AGRD1 DW $0307 ; SEARCH PATTERN: LOOK-ANGLE = $08 - $0F
DW $0308 ; .
DW $0309 ; .
DW $0407 ; .
DW $0408 ; .
DW $0409 ; .
DW $0507 ; .
DW $0508 ; .
DW $0509 ; .
DW $0607 ; .
DW $0608 ; .
DW $0609 ; .
DW $0708 ; .
DW $0709 ; .
DW $0809 ; .
DW 0 ; . SEARCH TERMINATOR
;
;
AGRD2 DW $0509 ; SEARCH PATTERN: LOOK-ANGLE = $10 - $17
DW $0607 ; .
DW $0608 ; .
DW $0609 ; .
DW $0707 ; .
DW $0708 ; .
DW $0709 ; .
DW $0807 ; .
DW $0808 ; .
DW $0809 ; .
DW $0908 ; .
DW $0909 ; .
DW 0 ; . SEARCH TERMINATOR
;
;
AGRD3 DW $0706 ; SEARCH PATTERN: LOOK-ANGLE = $18 - $1F
DW $0707 ; .
DW $0708 ; .
DW $0709 ; .
DW $0806 ; .
DW $0807 ; .
DW $0808 ; .
DW $0809 ; .
DW $0906 ; .
DW $0907 ; .
DW $0908 ; .
DW $0909 ; .
DW 0 ; . SEARCH TERMINATOR
;
;
AGRD4 DW $0703 ; SEARCH PATTERN: LOOK-ANGLE = $20 - $27
DW $0704 ; .
DW $0705 ; .
DW $0706 ; .
DW $0707 ; .
DW $0803 ; .
DW $0804 ; .
DW $0805 ; .
DW $0806 ; .
DW $0807 ; .
DW $0903 ; .
DW $0904 ; .
DW $0905 ; .
DW $0906 ; .
DW $0907 ; .
DW 0 ; . SEARCH TERMINATOR
;
;
AGRD5 DW $0503 ; SEARCH PATTERN: LOOK-ANGLE = $28 - $2F
DW $0504 ; .
DW $0603 ; .
DW $0604 ; .
DW $0605 ; .
DW $0703 ; .
DW $0704 ; .
DW $0705 ; .
DW $0803 ; .
DW $0804 ; .
DW $0805 ; .
DW $0903 ; .
DW $0904 ; .
DW $0905 ; .
DW 0 ; . SEARCH TERMINATOR
;
;
AGRD6 DW $0303 ; SEARCH PATTERN: LOOK-ANGLE = $30 - $37
DW $0304 ; .
DW $0305 ; .
DW $0403 ; .
DW $0404 ; .
DW $0405 ; .
DW $0503 ; .
DW $0504 ; .
DW $0505 ; .
DW $0603 ; .
DW $0604 ; .
DW $0605 ; .
DW $0703 ; .
DW $0704 ; .
DW $0705 ; .
DW 0 ; . SEARCH TERMINATOR
;
;
AGRD7 DW $0303 ; SEARCH PATTERN: LOOK-ANGLE = $38 - $3F
DW $0304 ; .
DW $0305 ; .
DW $0306 ; .
DW $0307 ; .
DW $0403 ; .
DW $0404 ; .
DW $0405 ; .
DW $0406 ; .
DW $0407 ; .
DW $0503 ; .
DW $0504 ; .
DW $0505 ; .
DW $0506 ; .
DW $0507 ; .
DW 0 ; . SEARCH TERMINATOR
;
;
;
;
; DIVISION LOOK-UP TABLE
; ======================
;
DIVTBL DB $80 ; $1000 / ($2 * $10)
DB $55 ; $1000 / ($3 * $10)
DB $40 ; $1000 / ($4 * $10)
DB $33 ; $1000 / ($5 * $10)
DB $2C ; $1000 / ($6 * $10)
DB $25 ; $1000 / ($7 * $10)
DB $20 ; $1000 / ($8 * $10)
DB $1C ; $1000 / ($9 * $10)
DB $1A ; $1000 / ($A * $10)
DB $17 ; $1000 / ($B * $10)
DB $15 ; $1000 / ($C * $10)
DB $14 ; $1000 / ($D * $10)
DB $12 ; $1000 / ($E * $10)
DB $11 ; $1000 / ($F * $10)
DB $10 ; $1000 / ($10 * $10)
;------------------------------------------------------------------------------
DB $F1 ; $1000 / $11
DB $E4 ; $1000 / $12
DB $D8 ; $1000 / $13
DB $CD ; $1000 / $14
DB $C3 ; $1000 / $15
DB $BA ; $1000 / $16
DB $B2 ; $1000 / $17
DB $AB ; $1000 / $18
DB $A4 ; $1000 / $19
DB $9E ; $1000 / $1A
DB $98 ; $1000 / $1B
DB $92 ; $1000 / $1C
DB $8D ; $1000 / $1D
DB $89 ; $1000 / $1E
DB $84 ; $1000 / $1F
DB $80 ; $1000 / $20
DB $7C ; $1000 / $21
DB $78 ; $1000 / $22
DB $75 ; $1000 / $23
DB $72 ; $1000 / $24
DB $6F ; $1000 / $25
DB $6C ; $1000 / $26
DB $69 ; $1000 / $27
DB $66 ; $1000 / $28
DB $64 ; $1000 / $29
DB $62 ; $1000 / $2A
DB $5F ; $1000 / $2B
DB $5D ; $1000 / $2C
DB $5B ; $1000 / $2D
DB $59 ; $1000 / $2E
DB $57 ; $1000 / $2F
DB $55 ; $1000 / $30
DB $54 ; $1000 / $31
DB $52 ; $1000 / $32
DB $50 ; $1000 / $33
DB $4F ; $1000 / $34
DB $4D ; $1000 / $35
DB $4C ; $1000 / $36
DB $4A ; $1000 / $37
DB $49 ; $1000 / $38
DB $48 ; $1000 / $39
DB $47 ; $1000 / $3A
DB $45 ; $1000 / $3B
DB $44 ; $1000 / $3C
DB $43 ; $1000 / $3D
DB $42 ; $1000 / $3E
DB $41 ; $1000 / $3F
DB $40 ; $1000 / $40
DB $3F ; $1000 / $41
DB $3E ; $1000 / $42
DB $3D ; $1000 / $43
DB $3C ; $1000 / $44
DB $3B ; $1000 / $45
DB $3B ; $1000 / $46
DB $3A ; $1000 / $47
DB $39 ; $1000 / $48
DB $38 ; $1000 / $49
DB $37 ; $1000 / $4A
DB $37 ; $1000 / $4B
DB $36 ; $1000 / $4C
DB $35 ; $1000 / $4D
DB $35 ; $1000 / $4E
DB $34 ; $1000 / $4F
DB $33 ; $1000 / $50
DB $33 ; $1000 / $51
DB $32 ; $1000 / $52
DB $31 ; $1000 / $53
DB $31 ; $1000 / $54
DB $30 ; $1000 / $55
DB $30 ; $1000 / $56
DB $2F ; $1000 / $57
DB $2F ; $1000 / $58
DB $2E ; $1000 / $59
DB $2E ; $1000 / $5A
DB $2D ; $1000 / $5B
DB $2D ; $1000 / $5C
DB $2C ; $1000 / $5D
DB $2C ; $1000 / $5E
DB $2B ; $1000 / $5F
DB $2B ; $1000 / $60
DB $2A ; $1000 / $61
DB $2A ; $1000 / $62
DB $29 ; $1000 / $63
DB $29 ; $1000 / $64
DB $29 ; $1000 / $65
DB $28 ; $1000 / $66
DB $28 ; $1000 / $67
DB $27 ; $1000 / $68
DB $27 ; $1000 / $69
DB $27 ; $1000 / $6A
DB $26 ; $1000 / $6B
DB $26 ; $1000 / $6C
DB $26 ; $1000 / $6D
DB $25 ; $1000 / $6E
DB $25 ; $1000 / $6F
DB $25 ; $1000 / $70
DB $24 ; $1000 / $71
DB $24 ; $1000 / $72
DB $24 ; $1000 / $73
DB $23 ; $1000 / $74
DB $23 ; $1000 / $75
DB $23 ; $1000 / $76
DB $22 ; $1000 / $77
DB $22 ; $1000 / $78
DB $22 ; $1000 / $79
DB $22 ; $1000 / $7A
DB $21 ; $1000 / $7B
DB $21 ; $1000 / $7C
DB $21 ; $1000 / $7D
DB $21 ; $1000 / $7E
DB $20 ; $1000 / $7F
;
IF L.MAP = OFF ;-------------------------------------------
LIST * ;-------------------------------------------
ENDIF ;-------------------------------------------
|