From RoadsideThoughts ...
A Bit of Vectrex History
 
Introduction
Programmer's
Guide
 
The RUM
 
Mine Storm
Fortress of
Narzod
 
Dark Tower
   
Sitemap
     
 

Vectrex 6809 Source Code

Dark Tower




Index of Dark Tower Files

The top most file for Dark Tower:

DRKTWR.ASM

The associated files:

BRGAND.DRK FRGMNTE.DRK MAP.DRK TOWER.DRK
COLIDE.DRK GOBLIN.DRK PACKS.DRK WARIOR.DRK
FIGHT.DRK GRDSCN.DRK SCENRY.DRK WIZARD.DRK
FLAMER.DRK INVENT.DRK SOUND.DRK  
FOREST.DRK MAGIC.DRK SUBR.DRK  

MAP.DRK - Rev. A

;
;
         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                    ;-------------------------------------------