antoine-source/loderunner/source/LR.DATA.S

202 lines
3.9 KiB
ArmAsm
Raw Normal View History

2023-07-08 16:35:15 +00:00
*
* Lode Runner
* (c) 1983, Broderbund Software
* (s) 2014, Brutal Deluxe Software
*
mx %11
lst off
2024-02-12 18:28:22 +00:00
* Sprites : 102
2024-02-09 22:22:41 +00:00
* sprEMPTY = 0
* sprWALL = 1
* sprWALLI = 2 ; mur indestructible
* sprLADDER = 3
* sprBAR = 4
* sprTRAP = 5
* sprLADDERI = 6
* sprCHEST = 7
* sprFOE = 8
* sprHERO = 9
2024-02-12 18:28:22 +00:00
* 3B: 0
* 45: A
* 5E: Z
2023-07-08 16:35:15 +00:00
2024-02-12 18:28:22 +00:00
*---------------------------------------
* HGR 280 x 192
* Board 28 x 16
* Sprite 10 x 11
* --------------------
* 280 x 171
2023-07-08 16:35:15 +00:00
*--- Decoded level (28 x 16)
2024-02-12 18:28:22 +00:00
L0800 DS lvlWIDTH ; le plateau avec les personnages
L081C DS lvlWIDTH
L0838 DS lvlWIDTH
L0854 DS lvlWIDTH
L0870 DS lvlWIDTH
L088C DS lvlWIDTH
L08A8 DS lvlWIDTH
L08C4 DS lvlWIDTH
L08E0 DS lvlWIDTH
L08FC DS lvlWIDTH
L0918 DS lvlWIDTH
L0934 DS lvlWIDTH
L0950 DS lvlWIDTH
L096C DS lvlWIDTH
L0988 DS lvlWIDTH
L09A4 DS lvlWIDTH
2024-02-08 21:48:24 +00:00
ds \
2024-02-12 18:28:22 +00:00
L0A00 DS lvlWIDTH ; le plateau sans les personnages
L0A1C DS lvlWIDTH
L0A38 DS lvlWIDTH
L0A54 DS lvlWIDTH
L0A70 DS lvlWIDTH
L0A8C DS lvlWIDTH
L0AA8 DS lvlWIDTH
L0AC4 DS lvlWIDTH
L0AE0 DS lvlWIDTH
L0AFC DS lvlWIDTH
L0B18 DS lvlWIDTH
L0B34 DS lvlWIDTH
L0B50 DS lvlWIDTH
L0B6C DS lvlWIDTH
L0B88 DS lvlWIDTH
L0BA4 DS lvlWIDTH
2023-07-08 16:35:15 +00:00
ds \
2024-02-08 21:48:24 +00:00
*--- $0C00
2024-02-09 22:22:41 +00:00
sizeLI = 48 ; on pourrait avoir 48 <20>chelles invisibles
2024-02-12 18:28:22 +00:00
tblLADDERIX ds sizeLI ; $0C00 mais le jeu n'en autorise
2024-02-09 22:22:41 +00:00
tblLADDERIY ds sizeLI ; que 45
sizeFOE = 8 ; on pourrait avoir 8 ennemis
2024-02-12 18:28:22 +00:00
tblFOEX ds sizeFOE ; $0C60 mais le jeu n'en autorise
2024-02-09 22:22:41 +00:00
tblFOEY ds sizeFOE ; que 5
2024-02-15 20:47:31 +00:00
tblFOEACTION ds sizeFOE
2024-02-15 18:56:59 +00:00
tblFOESTEPX ds sizeFOE ; animation step in x-coord
tblFOESTEPY ds sizeFOE ; animation step in y-coord
tblFOEINDEX ds sizeFOE ; animation index
tblFOELEFTRIGHT ds sizeFOE ; does foe runs to the left or to the right?
tblFOETEMPO ds sizeFOE ; performs actions based on value
2024-02-09 22:22:41 +00:00
2024-02-12 18:28:22 +00:00
sizeHOLE = 32 ; nombre de trous possibles
tblHOLEX ds sizeHOLE ; $0CA0 X des trous
tblHOLEY ds sizeHOLE ; Y des trous
tblHOLET ds sizeHOLE ; tempo des trous
2024-02-08 21:48:24 +00:00
2024-02-09 22:22:41 +00:00
*--- $0D00 - Level buffer from/to disk
2023-07-08 16:35:15 +00:00
2024-02-09 22:22:41 +00:00
levelDISK ds 256
2023-07-08 16:35:15 +00:00
2024-02-09 22:22:41 +00:00
*--- $0E00 - buffer pour le son
2024-02-08 21:48:24 +00:00
2024-02-14 20:46:43 +00:00
sndDURATION ds 128
sndNOTE ds 128
2023-07-08 16:35:15 +00:00
*--- Line numbers
2024-02-22 11:46:31 +00:00
xhgr
]debut = $2000
lup 200
dfb <]debut
]debut = ]debut+160
--^
yhgr
]debut = $2000
lup 200
dfb >]debut
]debut = ]debut+160
--^
2023-07-08 16:35:15 +00:00
*--- Level line numbers
2024-02-09 22:22:41 +00:00
tblBOARDALLL
DFB <L0800,<L081C,<L0838,<L0854,<L0870,<L088C,<L08A8,<L08C4
2023-07-08 16:35:15 +00:00
DFB <L08E0,<L08FC,<L0918,<L0934,<L0950,<L096C,<L0988,<L09A4
2024-02-09 22:22:41 +00:00
tblBOARDALLH
DFB >L0800,>L081C,>L0838,>L0854,>L0870,>L088C,>L08A8,>L08C4
2023-07-08 16:35:15 +00:00
DFB >L08E0,>L08FC,>L0918,>L0934,>L0950,>L096C,>L0988,>L09A4
2024-02-19 16:43:51 +00:00
tblBOARDBACKL
DFB <L0A00,<L0A1C,<L0A38,<L0A54,<L0A70,<L0A8C,<L0AA8,<L0AC4
DFB <L0AE0,<L0AFC,<L0B18,<L0B34,<L0B50,<L0B6C,<L0B88,<L0BA4
2024-02-09 22:22:41 +00:00
tblBOARDBACKH
DFB >L0A00,>L0A1C,>L0A38,>L0A54,>L0A70,>L0A8C,>L0AA8,>L0AC4
2023-07-08 16:35:15 +00:00
DFB >L0AE0,>L0AFC,>L0B18,>L0B34,>L0B50,>L0B6C,>L0B88,>L0BA4
2024-02-14 20:46:43 +00:00
*--- From a X in board to a X in HGR
2023-07-08 16:35:15 +00:00
2024-02-23 22:10:50 +00:00
xtable
]debut = 10
lup lvlWIDTH
dfb ]debut
]debut = ]debut+5
--^
2023-07-08 16:35:15 +00:00
2024-02-14 20:46:43 +00:00
*--- From a Y in board to a Y in HGR
2023-07-08 16:35:15 +00:00
2024-02-12 18:28:22 +00:00
ytable DB $00 ; HGR line index
DB $0B ; 0.11.22.33
DB $16 ; 22
DB $21 ; 33
DB $2C ; 44
DB $37 ; 55
DB $42 ; 66
DB $4D ; 77
DB $58 ; 88
DB $63 ; 99
DB $6E ; 110
DB $79 ; 121
DB $84 ; 132
DB $8F ; 143
DB $9A ; 154
DB $A5 ; 165
DB $B5 ; 181 ; ligne de texte
2023-07-08 16:35:15 +00:00
2024-02-08 21:48:24 +00:00
*--- $1F00 - Score buffer
2023-07-08 16:35:15 +00:00
2024-02-19 16:43:51 +00:00
scorebuf ds 256
*--- R<EFBFBD>f<EFBFBD>rence des scores
2024-02-20 20:37:01 +00:00
scoreEMPTY hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 0000000000000000
hex 00000000CCCFC4C5A0D2D5CECEC5D2
2024-02-28 18:32:25 +00:00
hex 00 ; <= data disk
ds \