save
This commit is contained in:
parent
e828fa5980
commit
3edc17e527
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,750 @@
|
|||
*
|
||||
* Lode Runner
|
||||
* (c) 1983, Broderbund Software
|
||||
* (s) 2014, Brutal Deluxe Software
|
||||
*
|
||||
|
||||
mx %11
|
||||
lst off
|
||||
|
||||
* Sprites : 102
|
||||
|
||||
* sprEMPTY = 0
|
||||
* sprWALL = 1
|
||||
* sprWALLI = 2 ; mur indestructible
|
||||
* sprLADDER = 3
|
||||
* sprBAR = 4
|
||||
* sprTRAP = 5
|
||||
* sprLADDERI = 6
|
||||
* sprCHEST = 7
|
||||
* sprFOE = 8
|
||||
* sprHERO = 9
|
||||
|
||||
* 3B: 0
|
||||
* 45: A
|
||||
* 5E: Z
|
||||
|
||||
*---------------------------------------
|
||||
* HGR 280 x 192
|
||||
* Board 28 x 16
|
||||
* Sprite 10 x 11
|
||||
* --------------------
|
||||
* 280 x 171
|
||||
|
||||
*--- Decoded level (28 x 16)
|
||||
|
||||
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
|
||||
ds \
|
||||
|
||||
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
|
||||
ds \
|
||||
|
||||
*--- $0C00
|
||||
|
||||
sizeLI = 48 ; on pourrait avoir 48 Žchelles invisibles
|
||||
tblLADDERIX ds sizeLI ; $0C00 mais le jeu n'en autorise
|
||||
tblLADDERIY ds sizeLI ; que 45
|
||||
|
||||
sizeFOE = 8 ; on pourrait avoir 8 ennemis
|
||||
tblFOEX ds sizeFOE ; $0C60 mais le jeu n'en autorise
|
||||
tblFOEY ds sizeFOE ; que 5
|
||||
tblFOEACTION ds sizeFOE
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
*--- $0D00 - Level buffer from/to disk
|
||||
|
||||
levelDISK ds 256
|
||||
|
||||
*--- $0E00 - buffer pour le son
|
||||
|
||||
sndDURATION ds 128
|
||||
sndNOTE ds 128
|
||||
|
||||
*--- $0F00 - Title page until $1A84
|
||||
|
||||
logo HEX 128518851C9423A80011A09518851C94
|
||||
HEX 23A80011A09518851C9423A80011A8D0
|
||||
HEX 18851C9423A80006940C8511A8D01885
|
||||
HEX 1C9423A80006940C8511A8D018851C94
|
||||
HEX 23A80006940C8511A8D018851C9423A8
|
||||
HEX 000484A0D582908081A8D5808411A8D0
|
||||
HEX 18851C9423A8000494A0D582948085A8
|
||||
HEX D5808511A89418851C9423A80004D5A0
|
||||
HEX D582D5A095A8D5A09511A8958085A880
|
||||
HEX A885A880A8D48294A8C082C0AA0004D5
|
||||
HEX 8294A0D5A0D58085A89511A895A085AA
|
||||
HEX 81AA85AA81AAD48A94A8D08AD0AA0004
|
||||
HEX D58A94A8D5A0D58285AA9511A895A085
|
||||
HEX AA80AA85AA81AAD48A94A8D08AD0AA00
|
||||
HEX 0494AA94AA9480C58AC58A8511A8D4A8
|
||||
HEX C18AC482C582C58A94A894A894A894A8
|
||||
HEX 000494A8D58A948085AAD5828511A8D0
|
||||
HEX A8C082C582C582C58294A894A894A894
|
||||
HEX A8000490A0D582948085A8D5808511A8
|
||||
HEX D0A8C082C582C582C58294A894A894A8
|
||||
HEX 94A80004D080D580858094A095A08111
|
||||
HEX A8D0A8C082C582C5AAC18294A894A894
|
||||
HEX A894A80004D0088580940DA08111A8D0
|
||||
HEX A8C082C582C5AAC18294A894A894A894
|
||||
HEX A80004D0088580940DA08111A8D0A8C0
|
||||
HEX 82C582C5AAC08294A894A894A894A800
|
||||
HEX 04D0088580940DA08111A8D0A8C082C5
|
||||
HEX 82C582C08294A894A894A894A80004D0
|
||||
HEX 08858A940DA08111A8D0A8C080C582C5
|
||||
HEX 82C48294A894A894A894A80004C08280
|
||||
HEX A0818AD00DA811A8D0A88080C582C582
|
||||
HEX C58294A894A894A894A80004C08280A0
|
||||
HEX 818AD00DA811A895A880AA81AA81AAC1
|
||||
HEX 82D08AD08A94A8D08A0004C08280A0D1
|
||||
HEX AAD10DA811A895A880AA81AA81AAC182
|
||||
HEX D08AD08A94A8D08A0004C08280A0D1AA
|
||||
HEX D10DA811A885A880A880A880A8C082C0
|
||||
HEX 82C08294A8C0820005AAD5A2D1AAD1A8
|
||||
HEX D58A0005AAD582818A90A8D58A0005AA
|
||||
HEX D582858A94A8D58A00078A958A958A13
|
||||
HEX A08517A08100078AD4AA858A13A88517
|
||||
HEX A88100078AD0AA818A13A88517A8D100
|
||||
HEX 07A8C0AAC08213AA17AAD00007A80AC0
|
||||
HEX 82138A178AD00007A80AC082138A178A
|
||||
HEX D00007A80AC082138A178AD00007A80A
|
||||
HEX C082138A178AD00007A08180D0138A17
|
||||
HEX 8AD00007A08180D013A880A8C0AAD482
|
||||
HEX 858A94A081A0C18A0007A08180D013A8
|
||||
HEX 80AAC1AAD482858A94A885A8C1AA0007
|
||||
HEX A08180D013A880AAC1AAD482858A94A8
|
||||
HEX 85A8D1AA0008D5AA9513A8C182858AD0
|
||||
HEX 80858A948A94AAD0A0810008D5AA9513
|
||||
HEX A0C182858AD080858A9482948AD0A081
|
||||
HEX 0008D5AA9513A0C582858AD080858A94
|
||||
HEX 80948AD0A0810014C582858AD080858A
|
||||
HEX 94A0958AD0AA0014C582858AD080858A
|
||||
HEX 94A8958AD0AA0014C582858AD080858A
|
||||
HEX 94A8958AD08A0014C582858AD080858A
|
||||
HEX 948A948AD00014C582858AD080858A94
|
||||
HEX 8A948AD080810013A0C582858AD08285
|
||||
HEX 8A948A948AD0A0810013AA81AA818AC0
|
||||
HEX 8AD4AA85A8858AC0AA0013AA81AA818A
|
||||
HEX C08AD4AA85A8858AC0AA0013AA80A880
|
||||
HEX 8A808AD0A081A0818A808A0000000000
|
||||
HEX 0000000000000DD08A000DD0A817C082
|
||||
HEX 000DD0A817C082000DD0A8D08295A095
|
||||
HEX A881AAD08AD482000DD08A94A0D1A880
|
||||
HEX 8AC5A2C18285000DD08094A0D1A8808A
|
||||
HEX C5A2C18285000DD08094A095A085AAC1
|
||||
HEX A2C182D4000DD08094A08180948AC0A2
|
||||
HEX C182C082000DD08094A08180948AC0A2
|
||||
HEX C182C082000DD080948095A885A8C1A2
|
||||
HEX 818AD50000000000000000000000C0FF
|
||||
HEX 9F09C0FF9F11FEFFFF9F00E0FFBF09E0
|
||||
HEX FFBF11FFFFFFBF0080FFBF0AFFBF11FC
|
||||
HEX FFFFBF0080FFBF0AFFBF11FCFFFFBF00
|
||||
HEX 80FFBF0AFFBF11FEFFFFBF00C0FFBF0A
|
||||
HEX FF9F11FEFFFFBF00C0FFBF0AFF9F11FE
|
||||
HEX FFFFBF00C0FF9F0AFF9F11FEFFFFBF00
|
||||
HEX C0FF9F80F0FFFF83F8FFFF9FF8FFFF80
|
||||
HEX 80FFBFFC9FF8FFFCBFFCFFF8FFF0FFF3
|
||||
HEX FF80FFFF9FFE9FBE00C0FF9F80FCFFFF
|
||||
HEX 87FCFFFF9FFCFFFF8180FFBFF89FFCFF
|
||||
HEX F9FFF8FFFEFFE1FFFBFFC0FFFF9FFFBF
|
||||
HEX BF00E0FF9F80FCFFFF87FEFFFF8FFEFF
|
||||
HEX FF8180FFBFF89FF0FFF9FFF8FFFEFFE1
|
||||
HEX FFFBFFE1FFFFBFFCFFBF00E0FF9F80FE
|
||||
HEX FFFF87FFFFFF8FFEFFFF8180FFBFF89F
|
||||
HEX F0FFF9FFF8FFFFFFE1FFFFFFE1FFFFBF
|
||||
HEX FCFFBF00E0FF8F80FEFFFF87FFFFFF8F
|
||||
HEX FFFFFF8180FF9FFC9FF0FFF8BFF8FFFF
|
||||
HEX FFE1FFFFFFF1FFFFBFFEFF9F00E0FF8F
|
||||
HEX 80FEFFFFC7FFFFFF8FFFFFFF81C0FF9F
|
||||
HEX FC8FF0FFFCBFF8FFFFFFE1FFFFFFF0FF
|
||||
HEX FFBFFEFF9F00F0FF8F80FEFFFFC7FFFF
|
||||
HEX FFC7FFFFFF81C0FF9FFE8FF0FFFCBFF8
|
||||
HEX FFFFFFE1FFFFFFF0FFFF9FFEFF9F00F0
|
||||
HEX FF8F80FFFFFFE7FFFFFFC7FFFFFF81C0
|
||||
HEX FFFFFF8FF0FFFCBFF8FFFFFFE1FFFFFF
|
||||
HEX F0FFFF9FFEFF8F00F0FF8780FF87FFE7
|
||||
HEX FFE1FFC7FFC3FF81C0FFFFFF8FF8BFFC
|
||||
HEX BFF8FFFCFFF0FFF9FFF8FFE19FFEBF00
|
||||
HEX F0FF8780FFC7FFE3FFE1FFE7FFE1FF81
|
||||
HEX E0FFFFFF87F8BFFC9FFCFFFCFFF0FFF8
|
||||
HEX FFF8FFF09FFF9F00F0FF8780FFC7FFE3
|
||||
HEX FFF1FFE7FFE1FF80E0FFFFFF81F8BFFE
|
||||
HEX 9FFCBFFCFFF0FFF8BFF8FFF08FFF9F00
|
||||
HEX F8FF87C0FFC3FFF3FFF1FFE3FFFFFF80
|
||||
HEX E0FFFFFF80F8BFFE9FFCBFFCFFF0FFF8
|
||||
HEX BFF8FFFF8FFF8F00F8FF87C0FFC3FFF3
|
||||
HEX FFF0FFF3FFFFFF80E0FFFFBF80F89FFE
|
||||
HEX 9FFCBFFCBFF8FFFCBFFCFFFF8FFF8F00
|
||||
HEX F8FF83C0FFC3FFF3FFF0FFF3FFFFBF80
|
||||
HEX E0FFFFBF80FC9FFE8FFCBFFCBFF8BFFC
|
||||
HEX BFFCFFFFCFFF8F00F8FF83C0FFE3FFF9
|
||||
HEX FFF0FFF3FFFFBF80F0FFFFBF80FC9FFE
|
||||
HEX 8FFEBFFEBFF8BFFC9FFCFFFFC7FF8F00
|
||||
HEX F8FF83E0FFE1FFF9FFF8FFF9FF838080
|
||||
HEX F0FFFFFF80FC9FFF8FFE9FFEBFF8BFFC
|
||||
HEX 9FFCBF80C0FF8700FCFF83E0FFE1FFF9
|
||||
HEX BFF8FFF9FF818080F0FFFFFF80FC9FFF
|
||||
HEX 8FFE9FFE9FF8BFFE9FFEBF80C0FF8700
|
||||
HEX FCFF81E0FFE1FFF9BFF8FFF9FF818080
|
||||
HEX F0FFFBFF81FE8FFF8FFE9FFE9FFCBFFE
|
||||
HEX 9FFE9F80C0FF8700FCFF81E4FFF1FFF8
|
||||
HEX BFF8FFF9FF809080F8FFF3FF81FECFFF
|
||||
HEX 87FF9FFF9FFC9FFE9FFE9F80E2FF8700
|
||||
HEX FCFF81E6FFF1FFF8BFFCFFF9FF819880
|
||||
HEX F8FFF3FF81FECFFF87FF8FFF9FFC9FFE
|
||||
HEX 8FFEBF80E3FF8300FEFFFFF7FFFFFFF8
|
||||
HEX FFFFFFFCFFFF9F80F8FFF3FF93FEFFFF
|
||||
HEX 87FF8FFF8FFC9FFE8FFEFFFFE3FF8300
|
||||
HEX FEFFFFF7FFFFFFFCFFFFFFFCFFFF9F80
|
||||
HEX F8FFF3FF9FFFFFFF87FF8FFF8FFE9FFF
|
||||
HEX 8FFEFFFFE3FF8300FEFFFFF3FFFFFFFC
|
||||
HEX FFFFFFFCFFFF8F80F8FFE1FF9FFFFFFF
|
||||
HEX 83FF8FFF8FFE8FFF8FFFFFFFE3FF8300
|
||||
HEX FEFFFFF3FFFFBFFCFFFFFFFCFFFF8F80
|
||||
HEX FCFFE1FF9FFFFFFFC3FFC7FF8FFE8FFF
|
||||
HEX 87FFFFFFF3FF8100FEFFFFF3FFFFBFFC
|
||||
HEX FFFFBFFCFFFF8F80FCFFE1FF8FFFFFFF
|
||||
HEX C3FFC7FF8FFE8FFF87FFFFFFF1FF8100
|
||||
HEX FEFFFFF3FFFFBFFCFFFFBFFCFFFF8F80
|
||||
HEX FCFFE1FFCFFFFFFFC3FFC7FF87FECFFF
|
||||
HEX 87FEFFFFF1FF8100FEFFFFF1FFFFBFFC
|
||||
HEX FFFEBFF8FFFF8780FCFFC1FFCFFFFFFF
|
||||
HEX C3FFC7FF87FFC7FF87FEFFFFF1FF8100
|
||||
HEX FEFFFFE1FFFF9FF8BFFEBFF8FFFF8780
|
||||
HEX FCFFC1FFC7FFEFFFC3FFC7FF87FFC7FF
|
||||
HEX 87FEFFFFF1FF8100FEFFFFE1FFFF9FF8
|
||||
HEX BFFEFFF1FFFF8780FCFFC3FFC7FFE7FF
|
||||
HEX CFFFDFFF9FFF9FFF9FFCFFFFF0FF8700
|
||||
HEX FCFFFFC0FFFF8FF09FFCFFE0FFFF8380
|
||||
HEX F0FF81FF87FFE7FFC7FFCFFF8FFE8FFF
|
||||
HEX 8FF8FFBFF0FF83000000000000000000
|
||||
HEX 000012AA8100128A8500128A8500128A
|
||||
HEX 850012AAC1A28100128AC5A28100128A
|
||||
HEX C5A28100128AC5A28100128AC5A28100
|
||||
HEX 12AA81AA810014A0810014A0810014AA
|
||||
HEX 00000000000000000000000BA0D514D0
|
||||
HEX AA000BA0C182149419A0C182000BA0C1
|
||||
HEX 82149418D0A0C182000BA0C182149418
|
||||
HEX D0A0C182000BA0C182149419A0C18200
|
||||
HEX 0BA0C182D5A0C182D582D08AD0AAD0A8
|
||||
HEX C5AA81000BA0C1A2C1A2C1A2C18280A8
|
||||
HEX 94A2D1A0C18285000BA0C1A2C1A2C1A2
|
||||
HEX C18280A894A2D1A0C18285000BA0C1A2
|
||||
HEX C1A2C1A2C18280A894A2D1A0C1828500
|
||||
HEX 0BA0C1A2C1A2C1A2C18280A894A2D1A0
|
||||
HEX C18285000BA0C1A2C1A2C1A2C18280A8
|
||||
HEX 94A2D1A0C18285000BA0D580D580D580
|
||||
HEX D582D48A94A2D180C582850012C08200
|
||||
HEX 12C0820012C0820012D5000000000000
|
||||
HEX 00000000000000000BB09E83F88113C0
|
||||
HEX 81B0C08180E3C3878F000B98B3868C83
|
||||
HEX 13C081B0C08180B3E6CC99000B8C838C
|
||||
HEX 8C15B0F08780B3E68C98000B8C838C8C
|
||||
HEX E0E3C799CEF1F1C38180B3C6878E000B
|
||||
HEX 8C838C8CB0E6CC99C399B3C68180E3E7
|
||||
HEX 8C98000B8C838C8CB0E6CC99C399B3C6
|
||||
HEX 818083E68C98000B98B3868CB3E6CC99
|
||||
HEX C399B3C6818083E6CC99000BB09E83F8
|
||||
HEX E1E3879FC3F1B3868780E3C3878F0010
|
||||
HEX E0809815830010E0809815830010E080
|
||||
HEX 8F80F08100
|
||||
|
||||
*--- Line numbers
|
||||
|
||||
xhgr HEX 00000000000000008080808080808080
|
||||
HEX 00000000000000008080808080808080
|
||||
HEX 00000000000000008080808080808080
|
||||
HEX 00000000000000008080808080808080
|
||||
HEX 2828282828282828A8A8A8A8A8A8A8A8
|
||||
HEX 2828282828282828A8A8A8A8A8A8A8A8
|
||||
HEX 2828282828282828A8A8A8A8A8A8A8A8
|
||||
HEX 2828282828282828A8A8A8A8A8A8A8A8
|
||||
HEX 5050505050505050D0D0D0D0D0D0D0D0
|
||||
HEX 5050505050505050D0D0D0D0D0D0D0D0
|
||||
HEX 5050505050505050D0D0D0D0D0D0D0D0
|
||||
HEX 5050505050505050D0D0D0D0D0D0D0D0
|
||||
yhgr HEX 0004080C1014181C0004080C1014181C
|
||||
HEX 0105090D1115191D0105090D1115191D
|
||||
HEX 02060A0E12161A1E02060A0E12161A1E
|
||||
HEX 03070B0F13171B1F03070B0F13171B1F
|
||||
HEX 0004080C1014181C0004080C1014181C
|
||||
HEX 0105090D1115191D0105090D1115191D
|
||||
HEX 02060A0E12161A1E02060A0E12161A1E
|
||||
HEX 03070B0F13171B1F03070B0F13171B1F
|
||||
HEX 0004080C1014181C0004080C1014181C
|
||||
HEX 0105090D1115191D0105090D1115191D
|
||||
HEX 02060A0E12161A1E02060A0E12161A1E
|
||||
HEX 03070B0F13171B1F03070B0F13171B1F
|
||||
|
||||
*--- Level line numbers
|
||||
|
||||
tblBOARDALLL
|
||||
DFB <L0800,<L081C,<L0838,<L0854,<L0870,<L088C,<L08A8,<L08C4
|
||||
DFB <L08E0,<L08FC,<L0918,<L0934,<L0950,<L096C,<L0988,<L09A4
|
||||
tblBOARDALLH
|
||||
DFB >L0800,>L081C,>L0838,>L0854,>L0870,>L088C,>L08A8,>L08C4
|
||||
DFB >L08E0,>L08FC,>L0918,>L0934,>L0950,>L096C,>L0988,>L09A4
|
||||
tblBOARDBACKH
|
||||
DFB >L0A00,>L0A1C,>L0A38,>L0A54,>L0A70,>L0A8C,>L0AA8,>L0AC4
|
||||
DFB >L0AE0,>L0AFC,>L0B18,>L0B34,>L0B50,>L0B6C,>L0B88,>L0BA4
|
||||
|
||||
*--- From a X in board to a X in HGR
|
||||
|
||||
xtable DB $00 ; HGR column index
|
||||
DB $05 ; 0..5..10..15
|
||||
DB $0A
|
||||
DB $0F
|
||||
DB $14
|
||||
DB $19
|
||||
DB $1E
|
||||
DB $23
|
||||
DB $28
|
||||
DB $2D
|
||||
DB $32
|
||||
DB $37
|
||||
DB $3C
|
||||
DB $41
|
||||
DB $46
|
||||
DB $4B
|
||||
DB $50
|
||||
DB $55
|
||||
DB $5A
|
||||
DB $5F
|
||||
DB $64
|
||||
DB $69
|
||||
DB $6E
|
||||
DB $73
|
||||
DB $78
|
||||
DB $7D
|
||||
DB $82
|
||||
DB $87
|
||||
|
||||
*--- From a Y in board to a Y in HGR
|
||||
|
||||
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
|
||||
|
||||
*--- From a X in board to a Y column in HGR (0..39)
|
||||
|
||||
bytable DB $00
|
||||
DB $01
|
||||
DB $02
|
||||
DB $04
|
||||
DB $05
|
||||
DB $07
|
||||
DB $08
|
||||
DB $0A
|
||||
DB $0B
|
||||
DB $0C
|
||||
DB $0E
|
||||
DB $0F
|
||||
DB $11
|
||||
DB $12
|
||||
DB $14
|
||||
DB $15
|
||||
DB $16
|
||||
DB $18
|
||||
DB $19
|
||||
DB $1B
|
||||
DB $1C
|
||||
DB $1E
|
||||
DB $1F
|
||||
DB $20
|
||||
DB $22
|
||||
DB $23
|
||||
DB $25
|
||||
DB $26
|
||||
|
||||
*--- From a X in board to a sprite table (0..6)
|
||||
|
||||
bitable DB $00 ; 0..4: sprite is 2-col wide
|
||||
DB $03 ; 5..6: sprite is 3-col wide
|
||||
DB $06
|
||||
DB $02
|
||||
DB $05
|
||||
DB $01
|
||||
DB $04
|
||||
DB $00
|
||||
DB $03
|
||||
DB $06
|
||||
DB $02
|
||||
DB $05
|
||||
DB $01
|
||||
DB $04
|
||||
DB $00
|
||||
DB $03
|
||||
DB $06
|
||||
DB $02
|
||||
DB $05
|
||||
DB $01
|
||||
DB $04
|
||||
DB $00
|
||||
DB $03
|
||||
DB $06
|
||||
DB $02
|
||||
DB $05
|
||||
DB $01
|
||||
DB $04
|
||||
|
||||
*--- From a X in HGR (0..139) coordinate to a Y column in HGR (0..39)
|
||||
|
||||
xbytable DB $00 ; and the index within the table
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $01
|
||||
DB $01
|
||||
DB $01
|
||||
DB $02
|
||||
DB $02
|
||||
DB $02
|
||||
DB $02
|
||||
DB $03
|
||||
DB $03
|
||||
DB $03
|
||||
DB $04
|
||||
DB $04
|
||||
DB $04
|
||||
DB $04
|
||||
DB $05
|
||||
DB $05
|
||||
DB $05
|
||||
DB $06
|
||||
DB $06
|
||||
DB $06
|
||||
DB $06
|
||||
DB $07
|
||||
DB $07
|
||||
DB $07
|
||||
DB $08
|
||||
DB $08
|
||||
DB $08
|
||||
DB $08
|
||||
DB $09
|
||||
DB $09
|
||||
DB $09
|
||||
DB $0A
|
||||
DB $0A
|
||||
DB $0A
|
||||
DB $0A
|
||||
DB $0B
|
||||
DB $0B
|
||||
DB $0B
|
||||
DB $0C
|
||||
DB $0C
|
||||
DB $0C
|
||||
DB $0C
|
||||
DB $0D
|
||||
DB $0D
|
||||
DB $0D
|
||||
DB $0E
|
||||
DB $0E
|
||||
DB $0E
|
||||
DB $0E
|
||||
DB $0F
|
||||
DB $0F
|
||||
DB $0F
|
||||
DB $10
|
||||
DB $10
|
||||
DB $10
|
||||
DB $10
|
||||
DB $11
|
||||
DB $11
|
||||
DB $11
|
||||
DB $12
|
||||
DB $12
|
||||
DB $12
|
||||
DB $12
|
||||
DB $13
|
||||
DB $13
|
||||
DB $13
|
||||
DB $14
|
||||
DB $14
|
||||
DB $14
|
||||
DB $14
|
||||
DB $15
|
||||
DB $15
|
||||
DB $15
|
||||
DB $16
|
||||
DB $16
|
||||
DB $16
|
||||
DB $16
|
||||
DB $17
|
||||
DB $17
|
||||
DB $17
|
||||
DB $18
|
||||
DB $18
|
||||
DB $18
|
||||
DB $18
|
||||
DB $19
|
||||
DB $19
|
||||
DB $19
|
||||
DB $1A
|
||||
DB $1A
|
||||
DB $1A
|
||||
DB $1A
|
||||
DB $1B
|
||||
DB $1B
|
||||
DB $1B
|
||||
DB $1C
|
||||
DB $1C
|
||||
DB $1C
|
||||
DB $1C
|
||||
DB $1D
|
||||
DB $1D
|
||||
DB $1D
|
||||
DB $1E
|
||||
DB $1E
|
||||
DB $1E
|
||||
DB $1E
|
||||
DB $1F
|
||||
DB $1F
|
||||
DB $1F
|
||||
DB $20
|
||||
DB $20
|
||||
DB $20
|
||||
DB $20
|
||||
DB $21
|
||||
DB $21
|
||||
DB $21
|
||||
DB $22
|
||||
DB $22
|
||||
DB $22
|
||||
DB $22
|
||||
DB $23
|
||||
DB $23
|
||||
DB $23
|
||||
DB $24
|
||||
DB $24
|
||||
DB $24
|
||||
DB $24
|
||||
DB $25
|
||||
DB $25
|
||||
DB $25
|
||||
DB $26
|
||||
DB $26
|
||||
DB $26
|
||||
DB $26
|
||||
DB $27
|
||||
DB $27
|
||||
DB $27
|
||||
|
||||
*--- From a X in HGR to a sprite table (0..6)
|
||||
|
||||
xbitable DB $00 ; 0..4: sprite is 2-col wide
|
||||
DB $02 ; 5..6: sprite is 3-col wide
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
DB $00
|
||||
DB $02
|
||||
DB $04
|
||||
DB $06
|
||||
DB $01
|
||||
DB $03
|
||||
DB $05
|
||||
|
||||
*--- Boot 1 of data disks (T0/S0)
|
||||
|
||||
boot HEX 012058FC2093FE2089FEA000B93408F0
|
||||
HEX 0E20F0FDC98DD004A9098524C8D0EDA6
|
||||
HEX 2B9D88C08A4A4A4A4A09C08D3308200C
|
||||
HEX FD4C00C68D8D8D8D8D8D8DCCCFC4C5A0
|
||||
HEX D2D5CECEC5D2A0C4C1D4C1A0C4C9D3CB
|
||||
HEX BA8DADADADADADADADADADADADADADAD
|
||||
HEX ADADADADADADADAD8D8DC4C9D3CBC5D4
|
||||
HEX D4C5A0D7C9CCCCA0CECFD4A0C2CFCFD4
|
||||
HEX 8D8DA0C9CED3C5D2D4A0CEC5D7A0C4C9
|
||||
HEX D3CBA0C1CEC48DA0C8C9D4A0C1A0CBC5
|
||||
HEX D9A0D4CFA0D2C5C2CFCFD48D8DA0A0A0
|
||||
HEX A0A0A0A0A0A0A0000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
ds \
|
||||
|
||||
*--- $1F00 - Score buffer
|
||||
|
||||
scorebuf ds 256
|
|
@ -0,0 +1,931 @@
|
|||
*
|
||||
* Lode Runner
|
||||
* (c) 1983, Broderbund Software
|
||||
* (s) 2014, Brutal Deluxe Software
|
||||
*
|
||||
|
||||
*---------------------------------------
|
||||
* RWTS
|
||||
*---------------------------------------
|
||||
|
||||
lst on
|
||||
la = * ; must be $B600
|
||||
lst off
|
||||
|
||||
|
||||
LB600 HEX 01A527C909D018A52B4A4A4A4A09C085
|
||||
HEX 3FA95C853E18ADFE086DFF088DFE08AE
|
||||
HEX FF083015BD4D08853DCEFF08ADFE0885
|
||||
HEX 27CEFE08A62B6C3E00EEFE08EEFE0820
|
||||
HEX 89FE2093FE202FFBA62B6CFD08000D0B
|
||||
HEX 09070503010E0C0A080604020F002064
|
||||
HEX A7B008A900A88D5DB69140ADC5B54CD2
|
||||
HEX A6AD5DB6F008EEBDB5D003EEBEB5A900
|
||||
HEX 8D5DB64C46A58DBCB520A8A620EAA24C
|
||||
HEX 7DA2A013B142D014C8C017D0F7A019B1
|
||||
HEX 4299A4B5C8C01DD0F64CBCA6A2FF8E5D
|
||||
HEX B6D0F600000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 2058FCA9C220EDFDA90120DAFDA9AD20
|
||||
HEX EDFDA90020DAFD600000000000000000
|
||||
HEX 0000000000000000000000000000B609
|
||||
|
||||
LB700 STX LB7E9
|
||||
STX LB7F7
|
||||
LDA #$01
|
||||
STA LB7F8
|
||||
STA LB7EA
|
||||
LDA LB7E0
|
||||
STA LB7E1
|
||||
LDA #$02
|
||||
STA LB7EC
|
||||
LDA #$04
|
||||
STA LB7ED
|
||||
LDY LB7E7
|
||||
DEY
|
||||
STY LB7F0+1
|
||||
LDA #$01
|
||||
STA LB7F4
|
||||
TXA
|
||||
LSR
|
||||
LSR
|
||||
LSR
|
||||
LSR
|
||||
TAX
|
||||
LDA #$00
|
||||
STA $04F8,X
|
||||
STA $0478,X
|
||||
JSR LB793
|
||||
LDX #$FF
|
||||
TXS
|
||||
STX LB7EB
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
JSR SETKBD
|
||||
JMP $9D84
|
||||
|
||||
LDA LB7E7
|
||||
SEC
|
||||
SBC LB7F0+1
|
||||
STA LB7E1
|
||||
LDA LB7E7
|
||||
STA LB7F0+1
|
||||
DEC LB7F0+1
|
||||
LDA #$02
|
||||
STA LB7EC
|
||||
LDA #$04
|
||||
STA LB7ED
|
||||
LDA #$02
|
||||
STA LB7F4
|
||||
JSR LB793
|
||||
LDA LB7E7
|
||||
STA LB600+$FE
|
||||
CLC
|
||||
ADC #$09
|
||||
STA LB7F0+1
|
||||
LDA #$0A
|
||||
STA LB7E1
|
||||
SEC
|
||||
SBC #$01
|
||||
STA LB600+$FF
|
||||
STA LB7ED
|
||||
JSR LB793
|
||||
RTS
|
||||
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
|
||||
LB793 LDA LB7E4+1
|
||||
LDY LB7E4
|
||||
JSR LB7B5
|
||||
LDY LB7ED
|
||||
DEY
|
||||
BPL LB7A9
|
||||
LDY #$0F
|
||||
NOP
|
||||
NOP
|
||||
DEC LB7EC
|
||||
LB7A9 STY LB7ED
|
||||
DEC LB7F0+1
|
||||
DEC LB7E1
|
||||
BNE LB793
|
||||
RTS
|
||||
|
||||
LB7B5 PHP
|
||||
SEI
|
||||
JSR LBD00
|
||||
BCS LB7BF
|
||||
PLP
|
||||
CLC
|
||||
RTS
|
||||
|
||||
LB7BF PLP
|
||||
SEC
|
||||
RTS
|
||||
|
||||
DS 29
|
||||
|
||||
* LDA LB558+$64
|
||||
* STA LB7F0+1
|
||||
* LDA #$00
|
||||
* STA LB7F0
|
||||
* LDA LB5C0+$39
|
||||
* EOR #$FF
|
||||
* STA LB7EB
|
||||
* RTS
|
||||
*
|
||||
* LDA #$00
|
||||
* TAY
|
||||
*LB7D9 STA ($42),Y
|
||||
* INY
|
||||
* BNE LB7D9
|
||||
* RTS
|
||||
|
||||
DB $00
|
||||
LB7E0 DB $1B
|
||||
LB7E1 DB $00
|
||||
DB $0A
|
||||
DB $1B
|
||||
LB7E4 DA $B7E8
|
||||
DB $00
|
||||
LB7E7 DB $B6
|
||||
LB7E8 DB $01
|
||||
LB7E9 DB $70
|
||||
LB7EA DB $01
|
||||
LB7EB DB $FF
|
||||
LB7EC DB $13
|
||||
LB7ED DB $05
|
||||
DA LB7FB
|
||||
LB7F0 DA $9600
|
||||
DB $00
|
||||
DB $01
|
||||
LB7F4 DB $01
|
||||
DB $00
|
||||
DB $01
|
||||
LB7F7 DB $60
|
||||
LB7F8 DB $01
|
||||
DB $00
|
||||
DB $00
|
||||
LB7FB DB $00
|
||||
DB $01
|
||||
DB $EF
|
||||
DB $D8
|
||||
DB $00
|
||||
|
||||
LB800 LDX #$00
|
||||
LDY #$02
|
||||
LB804 DEY
|
||||
LDA ($3E),Y
|
||||
LSR
|
||||
ROL LBC00,X
|
||||
LSR
|
||||
ROL LBC00,X
|
||||
STA LBB00,Y
|
||||
INX
|
||||
CPX #$56
|
||||
BCC LB804
|
||||
LDX #$00
|
||||
TYA
|
||||
BNE LB804
|
||||
LDX #$55
|
||||
LB81E LDA LBC00,X
|
||||
AND #$3F
|
||||
STA LBC00,X
|
||||
DEX
|
||||
BPL LB81E
|
||||
RTS
|
||||
|
||||
LB82A SEC
|
||||
STX $27
|
||||
STX $0678
|
||||
LDA $C08D,X
|
||||
LDA $C08E,X
|
||||
BMI LB8B4
|
||||
LDA LBC00
|
||||
STA $26
|
||||
LDA #$FF
|
||||
STA $C08F,X
|
||||
ORA $C08C,X
|
||||
PHA
|
||||
PLA
|
||||
NOP
|
||||
LDY #$04
|
||||
LB84A PHA
|
||||
PLA
|
||||
JSR LB8B9
|
||||
DEY
|
||||
BNE LB84A
|
||||
LDA #$D5
|
||||
JSR LB8B8
|
||||
LDA #$AA
|
||||
JSR LB8B8
|
||||
LDA #$AD
|
||||
JSR LB8B8
|
||||
TYA
|
||||
LDY #$56
|
||||
BNE LB869
|
||||
LB866 LDA LBC00,Y
|
||||
LB869 EOR LBBFF,Y
|
||||
TAX
|
||||
LDA LBA29,X
|
||||
LDX $27
|
||||
STA $C08D,X
|
||||
LDA $C08C,X
|
||||
DEY
|
||||
BNE LB866
|
||||
LDA $26
|
||||
NOP
|
||||
LB87E EOR LBB00,Y
|
||||
TAX
|
||||
LDA LBA29,X
|
||||
LDX $0678
|
||||
STA $C08D,X
|
||||
LDA $C08C,X
|
||||
LDA LBB00,Y
|
||||
INY
|
||||
BNE LB87E
|
||||
TAX
|
||||
LDA LBA29,X
|
||||
LDX $27
|
||||
JSR LB8BB
|
||||
LDA #$DE
|
||||
JSR LB8B8
|
||||
LDA #$AA
|
||||
JSR LB8B8
|
||||
LDA #$EB
|
||||
JSR LB8B8
|
||||
LDA #$FF
|
||||
JSR LB8B8
|
||||
LDA $C08E,X
|
||||
LB8B4 LDA $C08C,X
|
||||
RTS
|
||||
|
||||
LB8B8 CLC
|
||||
LB8B9 PHA
|
||||
PLA
|
||||
LB8BB STA $C08D,X
|
||||
ORA $C08C,X
|
||||
RTS
|
||||
|
||||
LB8C2 LDY #$00
|
||||
LB8C4 LDX #$56
|
||||
LB8C6 DEX
|
||||
BMI LB8C4
|
||||
LDA LBB00,Y
|
||||
LSR LBC00,X
|
||||
ROL
|
||||
LSR LBC00,X
|
||||
ROL
|
||||
STA ($3E),Y
|
||||
INY
|
||||
CPY $26
|
||||
BNE LB8C6
|
||||
RTS
|
||||
|
||||
LB8DC LDY #$20
|
||||
LB8DE DEY
|
||||
BEQ LB942
|
||||
LB8E1 LDA $C08C,X
|
||||
BPL LB8E1
|
||||
LB8E6 EOR #$D5
|
||||
BNE LB8DE
|
||||
NOP
|
||||
LB8EB LDA $C08C,X
|
||||
BPL LB8EB
|
||||
CMP #$AA
|
||||
BNE LB8E6
|
||||
LDY #$56
|
||||
LB8F6 LDA $C08C,X
|
||||
BPL LB8F6
|
||||
CMP #$AD
|
||||
BNE LB8E6
|
||||
LDA #$00
|
||||
LB901 DEY
|
||||
STY $26
|
||||
LB904 LDY $C08C,X
|
||||
BPL LB904
|
||||
EOR LBA00,Y
|
||||
LDY $26
|
||||
STA LBC00,Y
|
||||
BNE LB901
|
||||
LB913 STY $26
|
||||
LB915 LDY $C08C,X
|
||||
BPL LB915
|
||||
EOR LBA00,Y
|
||||
LDY $26
|
||||
STA LBB00,Y
|
||||
INY
|
||||
BNE LB913
|
||||
LB925 LDY $C08C,X
|
||||
BPL LB925
|
||||
CMP LBA00,Y
|
||||
BNE LB942
|
||||
LB92F LDA $C08C,X
|
||||
BPL LB92F
|
||||
CMP #$DE
|
||||
BNE LB942
|
||||
NOP
|
||||
LB939 LDA $C08C,X
|
||||
BPL LB939
|
||||
CMP #$AA
|
||||
BEQ LB99E
|
||||
LB942 SEC
|
||||
RTS
|
||||
|
||||
LB944 LDY #$FC
|
||||
STY $26
|
||||
LB948 INY
|
||||
BNE LB94F
|
||||
INC $26
|
||||
BEQ LB942
|
||||
LB94F LDA $C08C,X
|
||||
BPL LB94F
|
||||
LB954 CMP #$D5
|
||||
BNE LB948
|
||||
NOP
|
||||
LB959 LDA $C08C,X
|
||||
BPL LB959
|
||||
CMP #$AA
|
||||
BNE LB954
|
||||
LDY #$03
|
||||
LB964 LDA $C08C,X
|
||||
BPL LB964
|
||||
CMP #$96
|
||||
BNE LB954
|
||||
LDA #$00
|
||||
LB96F STA $27
|
||||
LB971 LDA $C08C,X
|
||||
BPL LB971
|
||||
ROL
|
||||
STA $26
|
||||
LB979 LDA $C08C,X
|
||||
BPL LB979
|
||||
AND $26
|
||||
STA |$002C,Y
|
||||
EOR $27
|
||||
DEY
|
||||
BPL LB96F
|
||||
TAY
|
||||
BIT $B7
|
||||
LB98B LDA $C08C,X
|
||||
BPL LB98B
|
||||
CMP #$DE
|
||||
BNE LB942
|
||||
NOP
|
||||
LB995 LDA $C08C,X
|
||||
BPL LB995
|
||||
CMP #$AA
|
||||
BIT $A4
|
||||
LB99E CLC
|
||||
RTS
|
||||
|
||||
LB9A0 STX $2B
|
||||
STA $2A
|
||||
CMP $0478
|
||||
BEQ LB9FC
|
||||
LDA #$00
|
||||
STA $26
|
||||
LB9AD LDA $0478
|
||||
STA $27
|
||||
SEC
|
||||
SBC $2A
|
||||
BEQ LB9EA
|
||||
BCS LB9C0
|
||||
EOR #$FF
|
||||
INC $0478
|
||||
BCC LB9C5
|
||||
LB9C0 ADC #$FE
|
||||
DEC $0478
|
||||
LB9C5 CMP $26
|
||||
BCC LB9CB
|
||||
LDA $26
|
||||
LB9CB CMP #$0C
|
||||
BCS LB9D0
|
||||
TAY
|
||||
LB9D0 SEC
|
||||
JSR LB9EE
|
||||
LDA LBA11,Y
|
||||
JSR LBA00
|
||||
LDA $27
|
||||
CLC
|
||||
JSR LB9F1
|
||||
LDA LBA1D,Y
|
||||
JSR LBA00
|
||||
INC $26
|
||||
BNE LB9AD
|
||||
LB9EA JSR LBA00
|
||||
CLC
|
||||
LB9EE LDA $0478
|
||||
LB9F1 AND #$03
|
||||
ROL
|
||||
ORA $2B
|
||||
TAX
|
||||
LDA $C080,X
|
||||
LDX $2B
|
||||
LB9FC RTS
|
||||
|
||||
TAX
|
||||
LDY #$A0
|
||||
LBA00 LDX #$11
|
||||
LBA02 DEX
|
||||
BNE LBA02
|
||||
INC $46
|
||||
BNE LBA0B
|
||||
INC $47
|
||||
LBA0B SEC
|
||||
SBC #$01
|
||||
BNE LBA00
|
||||
RTS
|
||||
|
||||
LBA11 HEX 01302824201E1D1C1C1C1C1C
|
||||
LBA1D HEX 702C26221F1E1D1C1C1C1C1C
|
||||
|
||||
LBA29 HEX 96979A9B9D9E9FA6A7ABACADAEAFB2B3
|
||||
HEX B4B5B6B7B9BABBBCBDBEBFCBCDCECFD3
|
||||
HEX D6D7D9DADBDCDDDEDFE5E6E7E9EAEBEC
|
||||
HEX EDEEEFF2F3F4F5F6F7F9FAFBFCFDFEFF
|
||||
HEX B3B3A0E0B3C3C5B3A0E0B3C3C5B3A0E0
|
||||
HEX B3B3C5AAA082B3B3C5AAA082C5B3B3AA
|
||||
HEX 8882C5B3B3AA8882C5C4B3B088
|
||||
|
||||
LBA96 HEX 0001989902039C040506A0A1A2A3A4A5
|
||||
HEX 0708A8A9AA090A0B0C0DB0B10E0F1011
|
||||
HEX 1213B81415161718191AC0C1C2C3C4C5
|
||||
HEX C6C7C8C9CA1BCC1C1D1ED0D1D21FD4D5
|
||||
HEX 2021D822232425262728E0E1E2E3E429
|
||||
HEX 2A2BE82C2D2E2F303132F0F133343536
|
||||
HEX 3738F8393A3B3C3D3E3F
|
||||
|
||||
LBB00 HEX 00040300000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 000000000000000000000000000000
|
||||
LBBFF HEX 00
|
||||
|
||||
LBC00 HEX 02000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 000000000000
|
||||
|
||||
LBC56 SEC
|
||||
LDA $C08D,X
|
||||
LDA $C08E,X
|
||||
BMI LBCBD
|
||||
LDA #$FF
|
||||
STA $C08F,X
|
||||
CMP $C08C,X
|
||||
PHA
|
||||
PLA
|
||||
LBC69 JSR LBCC3
|
||||
JSR LBCC3
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
NOP
|
||||
DEY
|
||||
BNE LBC69
|
||||
LDA #$D5
|
||||
JSR LBCD5
|
||||
LDA #$AA
|
||||
JSR LBCD5
|
||||
LDA #$96
|
||||
JSR LBCD5
|
||||
LDA $41
|
||||
JSR LBCC4
|
||||
LDA $44
|
||||
JSR LBCC4
|
||||
LDA $3F
|
||||
JSR LBCC4
|
||||
LDA $41
|
||||
EOR $44
|
||||
EOR $3F
|
||||
PHA
|
||||
LSR
|
||||
ORA $3E
|
||||
STA $C08D,X
|
||||
LDA $C08C,X
|
||||
PLA
|
||||
ORA #$AA
|
||||
JSR LBCD4
|
||||
LDA #$DE
|
||||
JSR LBCD5
|
||||
LDA #$AA
|
||||
JSR LBCD5
|
||||
LDA #$EB
|
||||
JSR LBCD5
|
||||
CLC
|
||||
LBCBD LDA $C08E,X
|
||||
LDA $C08C,X
|
||||
LBCC3 RTS
|
||||
|
||||
LBCC4 PHA
|
||||
LSR
|
||||
ORA $3E
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
PLA
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
ORA #$AA
|
||||
LBCD4 NOP
|
||||
LBCD5 NOP
|
||||
PHA
|
||||
PLA
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
RTS
|
||||
|
||||
HEX 88A5E891A0948896E891A09488969191
|
||||
HEX C894D0969191C894D09691A3C8A0A585
|
||||
HEX A4
|
||||
|
||||
LBD00 STY $48
|
||||
STA $49
|
||||
LDY #$02
|
||||
STY $06F8
|
||||
LDY #$04
|
||||
STY $04F8
|
||||
LDX LB7E9
|
||||
LDA $C08E,X
|
||||
LDA $C08C,X
|
||||
LDY #$08
|
||||
LBD19 LDA $C08C,X
|
||||
PHA
|
||||
PLA
|
||||
PHA
|
||||
PLA
|
||||
STX $05F8
|
||||
CMP $C08C,X
|
||||
BNE LBD2B
|
||||
DEY
|
||||
BNE LBD19
|
||||
LBD2B PHP
|
||||
LDA $C089,X
|
||||
LDY #$06
|
||||
LBD31 LDA ($48),Y
|
||||
STA |$0036,Y
|
||||
INY
|
||||
CPY #$0A
|
||||
BNE LBD31
|
||||
LDY #$03
|
||||
LDA ($3C),Y
|
||||
STA $47
|
||||
LDY #$02
|
||||
LDA ($48),Y
|
||||
LDY #$10
|
||||
CMP ($48),Y
|
||||
BEQ LBD51
|
||||
STA ($48),Y
|
||||
PLP
|
||||
LDY #$00
|
||||
PHP
|
||||
LBD51 ROR
|
||||
BCC LBD59
|
||||
LDA $C08A,X
|
||||
BCS LBD5C
|
||||
LBD59 LDA $C08B,X
|
||||
LBD5C ROR $35
|
||||
PLP
|
||||
PHP
|
||||
BNE LBD6D
|
||||
LDY #$07
|
||||
LBD64 JSR LBA00
|
||||
DEY
|
||||
BNE LBD64
|
||||
LDX $05F8
|
||||
LBD6D LDY #$04
|
||||
LDA ($48),Y
|
||||
JSR LBE5A
|
||||
PLP
|
||||
BNE LBDAB
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
LDA LB7F4
|
||||
CMP #$01
|
||||
BEQ LBDAB
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
LBD9E LDY #$12
|
||||
LBDA0 DEY
|
||||
BNE LBDA0
|
||||
INC $46
|
||||
BNE LBD9E
|
||||
INC $47
|
||||
BNE LBD9E
|
||||
LBDAB LDY #$0C
|
||||
LDA ($48),Y
|
||||
BEQ LBE0B
|
||||
CMP #$04
|
||||
BEQ LBE0D
|
||||
ROR
|
||||
PHP
|
||||
BCS LBDBC
|
||||
JSR LB800
|
||||
LBDBC LDY #$30
|
||||
STY $0578
|
||||
LBDC1 LDX $05F8
|
||||
JSR LB944
|
||||
BCC LBDED
|
||||
LBDC9 DEC $0578
|
||||
BPL LBDC1
|
||||
LBDCE LDA $0478
|
||||
PHA
|
||||
LDA #$60
|
||||
JSR LBE95
|
||||
DEC $06F8
|
||||
BEQ LBE04
|
||||
LDA #$04
|
||||
STA $04F8
|
||||
LDA #$00
|
||||
JSR LBE5A
|
||||
PLA
|
||||
LBDE7 JSR LBE5A
|
||||
JMP LBDBC
|
||||
|
||||
LBDED LDY $2E
|
||||
CPY $0478
|
||||
BEQ LBE10
|
||||
LDA $0478
|
||||
PHA
|
||||
TYA
|
||||
JSR LBE95
|
||||
PLA
|
||||
DEC $04F8
|
||||
BNE LBDE7
|
||||
BEQ LBDCE
|
||||
LBE04 PLA
|
||||
LDA #$40
|
||||
LBE07 PLP
|
||||
JMP LBE47+1
|
||||
|
||||
LBE0B BEQ LBE46
|
||||
LBE0D JMP L8E00
|
||||
|
||||
LBE10 LDY #$03
|
||||
LDA ($48),Y
|
||||
PHA
|
||||
LDA $2F
|
||||
LDY #$0E
|
||||
STA ($48),Y
|
||||
PLA
|
||||
BEQ LBE26
|
||||
CMP $2F
|
||||
BEQ LBE26
|
||||
LDA #$20
|
||||
BNE LBE07
|
||||
LBE26 LDY #$05
|
||||
LDA ($48),Y
|
||||
TAY
|
||||
LDA LBFB8,Y
|
||||
CMP $2D
|
||||
BNE LBDC9
|
||||
PLP
|
||||
BCC LBE51
|
||||
JSR LB8DC
|
||||
PHP
|
||||
BCS LBDC9
|
||||
PLP
|
||||
LDX #$00
|
||||
STX $26
|
||||
JSR LB8C2
|
||||
LDX $05F8
|
||||
LBE46 CLC
|
||||
LBE47 BIT $38
|
||||
LDY #$0D
|
||||
STA ($48),Y
|
||||
LDA $C088,X
|
||||
RTS
|
||||
|
||||
LBE51 JSR LB82A
|
||||
BCC LBE46
|
||||
LDA #$10
|
||||
BCS LBE47+1
|
||||
LBE5A PHA
|
||||
LDY #$01
|
||||
LDA ($3C),Y
|
||||
ROR
|
||||
PLA
|
||||
BCC LBE6B
|
||||
ASL
|
||||
JSR LBE6B
|
||||
LSR $0478
|
||||
RTS
|
||||
|
||||
LBE6B STA $2A
|
||||
JSR LBE8E
|
||||
LDA $0478,Y
|
||||
BIT $35
|
||||
BMI LBE7A
|
||||
LDA $04F8,Y
|
||||
LBE7A STA $0478
|
||||
LDA $2A
|
||||
BIT $35
|
||||
BMI LBE88
|
||||
STA $04F8,Y
|
||||
BPL LBE8B
|
||||
LBE88 STA $0478,Y
|
||||
LBE8B JMP LB9A0
|
||||
|
||||
LBE8E TXA
|
||||
LSR
|
||||
LSR
|
||||
LSR
|
||||
LSR
|
||||
TAY
|
||||
RTS
|
||||
|
||||
LBE95 PHA
|
||||
LDY #$02
|
||||
LDA ($48),Y
|
||||
ROR
|
||||
ROR $35
|
||||
JSR LBE8E
|
||||
PLA
|
||||
ASL
|
||||
BIT $35
|
||||
BMI LBEAB
|
||||
STA $04F8,Y
|
||||
BPL LBEAE
|
||||
LBEAB STA $0478,Y
|
||||
LBEAE RTS
|
||||
|
||||
LBEAF LDY #$03
|
||||
LDA ($48),Y
|
||||
STA $41
|
||||
LDA #$AA
|
||||
STA $3E
|
||||
LDY #$56
|
||||
LDA #$00
|
||||
STA $44
|
||||
LBEBF STA LBBFF,Y
|
||||
DEY
|
||||
BNE LBEBF
|
||||
LBEC5 STA LBB00,Y
|
||||
DEY
|
||||
BNE LBEC5
|
||||
LDA #$00
|
||||
JSR LBE95
|
||||
LDA #$28
|
||||
STA $45
|
||||
LBED4 LDA $44
|
||||
JSR LBE5A
|
||||
JSR LBF0D
|
||||
LDA #$08
|
||||
BCS LBF04
|
||||
LDA #$30
|
||||
STA $0578
|
||||
LBEE5 SEC
|
||||
DEC $0578
|
||||
BEQ LBF04
|
||||
JSR LB944
|
||||
BCS LBEE5
|
||||
LDA $2D
|
||||
BNE LBEE5
|
||||
JSR LB8DC
|
||||
BCS LBEE5
|
||||
INC $44
|
||||
LDA $44
|
||||
CMP #$23
|
||||
BCC LBED4
|
||||
CLC
|
||||
BCC LBF09
|
||||
LBF04 LDY #$0D
|
||||
STA ($48),Y
|
||||
SEC
|
||||
LBF09 LDA $C088,X
|
||||
RTS
|
||||
|
||||
LBF0D LDA #$00
|
||||
STA $3F
|
||||
LDY #$80
|
||||
BNE LBF17
|
||||
LBF15 LDY $45
|
||||
LBF17 JSR LBC56
|
||||
BCS LBF87
|
||||
JSR LB82A
|
||||
BCS LBF87
|
||||
INC $3F
|
||||
LDA $3F
|
||||
CMP #$10
|
||||
BCC LBF15
|
||||
LDY #$0F
|
||||
STY $3F
|
||||
LDA #$30
|
||||
STA $0578
|
||||
LBF32 STA LBFA8,Y
|
||||
DEY
|
||||
BPL LBF32
|
||||
LDY $45
|
||||
LBF3A JSR LBF87
|
||||
JSR LBF87
|
||||
JSR LBF87
|
||||
PHA
|
||||
PLA
|
||||
NOP
|
||||
DEY
|
||||
BNE LBF3A
|
||||
JSR LB944
|
||||
BCS LBF71
|
||||
LDA $2D
|
||||
BEQ LBF67
|
||||
LDA #$10
|
||||
CMP $45
|
||||
LDA $45
|
||||
SBC #$01
|
||||
STA $45
|
||||
CMP #$05
|
||||
BCS LBF71
|
||||
SEC
|
||||
RTS
|
||||
|
||||
LBF62 JSR LB944
|
||||
BCS LBF6C
|
||||
LBF67 JSR LB8DC
|
||||
BCC LBF88
|
||||
LBF6C DEC $0578
|
||||
BNE LBF62
|
||||
LBF71 JSR LB944
|
||||
BCS LBF81
|
||||
LDA $2D
|
||||
CMP #$0F
|
||||
BNE LBF81
|
||||
JSR LB8DC
|
||||
BCC LBF0D
|
||||
LBF81 DEC $0578
|
||||
BNE LBF71
|
||||
SEC
|
||||
LBF87 RTS
|
||||
|
||||
LBF88 LDY $2D
|
||||
LDA LBFA8,Y
|
||||
BMI LBF6C
|
||||
LDA #$FF
|
||||
STA LBFA8,Y
|
||||
DEC $3F
|
||||
BPL LBF62
|
||||
LDA $44
|
||||
BNE LBFA6
|
||||
LDA $45
|
||||
CMP #$10
|
||||
BCC LBF87
|
||||
DEC $45
|
||||
DEC $45
|
||||
LBFA6 CLC
|
||||
RTS
|
||||
|
||||
LBFA8 HEX FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
LBFB8 HEX 000D0B09070503010E0C0A080604020F
|
||||
|
||||
ds \
|
||||
|
||||
* HEX 20DCABA9108DF0B3A9238DEFB3604C44
|
||||
* HEX B70000008D63AA8D70AA8D71AA60205B
|
||||
* HEX A78CB7AA60207EAEAE9BB39A2016A3BA
|
||||
* HEX 8E9BB3A9094C85B3
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
LR.CODE=Type(00),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
File diff suppressed because it is too large
Load Diff
|
@ -322,6 +322,9 @@ tblBOARDALLL
|
|||
tblBOARDALLH
|
||||
DFB >L0800,>L081C,>L0838,>L0854,>L0870,>L088C,>L08A8,>L08C4
|
||||
DFB >L08E0,>L08FC,>L0918,>L0934,>L0950,>L096C,>L0988,>L09A4
|
||||
tblBOARDBACKL
|
||||
DFB <L0A00,<L0A1C,<L0A38,<L0A54,<L0A70,<L0A8C,<L0AA8,<L0AC4
|
||||
DFB <L0AE0,<L0AFC,<L0B18,<L0B34,<L0B50,<L0B6C,<L0B88,<L0BA4
|
||||
tblBOARDBACKH
|
||||
DFB >L0A00,>L0A1C,>L0A38,>L0A54,>L0A70,>L0A8C,>L0AA8,>L0AC4
|
||||
DFB >L0AE0,>L0AFC,>L0B18,>L0B34,>L0B50,>L0B6C,>L0B88,>L0BA4
|
||||
|
@ -747,4 +750,39 @@ boot HEX 012058FC2093FE2089FEA000B93408F0
|
|||
|
||||
*--- $1F00 - Score buffer
|
||||
|
||||
scorebuf ds 256
|
||||
scorebuf ds 256
|
||||
|
||||
*--- RŽfŽrence des scores
|
||||
|
||||
scoreREF hex CED5C71C00173125
|
||||
hex C3CDC71900210050
|
||||
hex CED5C71900206725
|
||||
hex C1CED41900184725
|
||||
hex D3D4C31800198825
|
||||
hex CED5C71400125000
|
||||
hex CED5C71000151300
|
||||
hex C1CED40800039775
|
||||
hex C3C3C30600054750
|
||||
hex CCC9D50600045175
|
||||
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
|
||||
hex FF ; <= the tag
|
|
@ -0,0 +1,196 @@
|
|||
*
|
||||
* Lode Runner
|
||||
* (c) 1983, Broderbund Software
|
||||
* (s) 2014, Brutal Deluxe Software
|
||||
*
|
||||
|
||||
* 0 vide
|
||||
* 1 mur
|
||||
* 2 mur dur
|
||||
* 3 Žchelle visible
|
||||
* 4 liane
|
||||
* 5 trappe
|
||||
* 6 Žchelle invisible
|
||||
* 7 trŽsor
|
||||
* 8 ennemi
|
||||
* 9 hŽros
|
||||
|
||||
* Sprite quand heros ennemi tombe dans un trou :
|
||||
* - venant de gauche : 20 53 (35h)
|
||||
* - venant de droite : 19 54 (36h)
|
||||
*
|
||||
*-----------------------------------
|
||||
* EQUATES
|
||||
*-----------------------------------
|
||||
|
||||
lvlWIDTH = 28 ; $1c
|
||||
lvlHEIGHT = 16 ; $10
|
||||
|
||||
sprWIDTH = 10
|
||||
sprHEIGHT = 11
|
||||
|
||||
nbLIVES = 5
|
||||
maxLEVEL = 150
|
||||
maxHEIGHT = 192 ; lines
|
||||
|
||||
modeEDIT = 0 ; to decode level
|
||||
modeGAME = 1
|
||||
|
||||
sprEMPTY = 0
|
||||
sprWALL = 1
|
||||
sprWALLI = 2 ; mur indestructible
|
||||
sprLADDER = 3
|
||||
sprBAR = 4
|
||||
sprTRAP = 5
|
||||
sprLADDERI = 6
|
||||
sprCHEST = 7
|
||||
sprFOE = 8
|
||||
sprHERO = 9
|
||||
sprCURSOR = 10
|
||||
spr0 = $3b ; until $44
|
||||
sprA = $45 ; until $5e >.()/-< (latest sprite is $65)
|
||||
|
||||
minJOY = $12 ; joystick min/center/max values
|
||||
ctrJOY = $2e
|
||||
maxJOY = $3b
|
||||
|
||||
*--- The big zero page usage
|
||||
|
||||
boardX = $00
|
||||
boardY = $01
|
||||
heroSTEPX = $02
|
||||
heroSTEPY = $03
|
||||
heroINDEX = $04
|
||||
fgLEFTRIGHT = $05
|
||||
ptrBOARD = $06 ; $06..$07: pointer to board
|
||||
ptrBBACK = $08 ; $08..$09: pointer to back board
|
||||
ptrDATA = $0a ; $0a..$0b: pointer to data (HGR or other)
|
||||
|
||||
*ptrHGR1 = $0c ; $0c..$0d
|
||||
*ptrHGR2 = $0e ; $0e..$0f
|
||||
|
||||
ptrSTRSND = $10 ; $10..$11: pointer to some table (string, sound)
|
||||
foeX = $12
|
||||
foeY = $13
|
||||
foeINDEX = $14
|
||||
foeLEFTRIGHT = $15
|
||||
foeACTION = $16
|
||||
foeSTEPX = $17 ; coordinate
|
||||
foeSTEPY = $18 ; coordinate
|
||||
idxFOE = $19 ; current foe index
|
||||
fgODDEVEN = $1a
|
||||
theYSCREEN = $1b
|
||||
theXSCREEN = $1c
|
||||
nbLINES = $1d
|
||||
theA = $1e
|
||||
hgrPAGE = $1f
|
||||
|
||||
ptrHGR1 = $24 ; **new** long
|
||||
ptrHGR2 = $28 ; **new** long
|
||||
|
||||
*CH = $24 ; **
|
||||
*CV = $25 ; **
|
||||
*CSWL = $36 ; **
|
||||
*CSWH = $37 ; **
|
||||
*KSWL = $38 ; **
|
||||
*KSWH = $39 ; **
|
||||
|
||||
theMASK1 = $50
|
||||
theMASK2 = $51
|
||||
fgCOLLISION = $52
|
||||
tempX6 = $53
|
||||
idxNOTE = $54
|
||||
tempX4 = $55
|
||||
tempY1 = $56
|
||||
tempX5 = $57
|
||||
tempX3 = $5a
|
||||
tempX2 = $5b
|
||||
temp1 = $5c
|
||||
tempX = $5d
|
||||
tempY = $5e
|
||||
theJOYX = $65
|
||||
theJOYY = $66
|
||||
sprTABLE = $71
|
||||
theX = $85
|
||||
theY = $86
|
||||
activePAGE = $87
|
||||
tempINDEX = $88
|
||||
theCENTAINE = $89
|
||||
theDIZAINE = $8a ; 8a
|
||||
theUNITE = $8b ; 8b
|
||||
theSPEED = $8c ; 8c
|
||||
nbFOE = $8d ; 8d
|
||||
theSCORE = $8e ; 8e..8f.90..91
|
||||
idxLVLDISK = $92 ; index in level buffer from disk
|
||||
nbCHEST = $93 ; 93
|
||||
fgCHEST = $94 ; 94 1: not a chest, 0: a chest
|
||||
fgINPUT = $95 ; "J"oystick, "K"eyboard
|
||||
intLEVEL = $96 ; 96 theLEVEL-1
|
||||
theMEN = $98 ; 5 bonshommes pour dŽmarrer
|
||||
fgSOUND = $99 ; 0: no sound, -1: sound on
|
||||
fgPLAY = $9a ; 1: alive, 0: dead
|
||||
fgHEROFELL = $9b ; 0: hero fell into a hole, $20: tempo for game speed
|
||||
fgHOLE = $9c ; -1: left hole, 0: none, 1: right hole
|
||||
fgGOODSTART = $9d ; 1: start from level 0 / allow score update, 0: not true
|
||||
theKEY1 = $9e
|
||||
theKEY2 = $9f
|
||||
idxDIG = $a0 ; dig index in sprite list
|
||||
counter = $a1 ; a simple counter
|
||||
fgLVLMODE = $a2 ; 0: edit, <>0: game
|
||||
idxLADDERI = $a3
|
||||
fgSPEED = $a4 ; speed of the game
|
||||
fgCIRCLE = $a5 ; 0: show level, 1: hide level
|
||||
theLEVEL = $a6 ; current level
|
||||
fgDEMO = $a7 ; 1: in demo mode
|
||||
ptrDEMO = $a8 ; $a8..$a9 - pointer to demo data
|
||||
demoKEY = $aa ; the demo key actions
|
||||
demoREPEAT = $ab ; the demo repeat factor
|
||||
fgKEYBTN0 = $ac ; 1: no key/btn0 pressed, 0: key/btn0 pressed
|
||||
fgCHANGE = $ad ; 1: no change, 0: change
|
||||
sprDATA = $df ; $df..$ff
|
||||
|
||||
chrLA = $88
|
||||
chrRET = $8d
|
||||
chrRA = $95
|
||||
chrESC = $9b
|
||||
chrSPC = " "
|
||||
chrZERO = "0"
|
||||
chrNINE = "9"
|
||||
chrDOT = "."
|
||||
chrA = "A"
|
||||
chrI = "I"
|
||||
chrJ = "J"
|
||||
chrK = "K"
|
||||
chrL = "L"
|
||||
chrN = "N"
|
||||
chrO = "O"
|
||||
chrU = "U"
|
||||
chrY = "Y"
|
||||
chrZ = "Z"
|
||||
|
||||
*-----------------------------------
|
||||
* SOFTSWITCHES
|
||||
*-----------------------------------
|
||||
|
||||
KBD = $C000
|
||||
KBDSTROBE = $C010
|
||||
SPKR = $C030
|
||||
TXTCLR = $C050
|
||||
MIXCLR = $C052
|
||||
TXTPAGE1 = $C054
|
||||
TXTPAGE2 = $C055
|
||||
HIRES = $C057
|
||||
BUTN0 = $C061
|
||||
BUTN1 = $C062
|
||||
PADDL0 = $C064
|
||||
PADDL1 = $C065
|
||||
PTRIG = $C070
|
||||
|
||||
*-----------------------------------
|
||||
* PAGES GRAPHIQUES
|
||||
*-----------------------------------
|
||||
|
||||
HGR1 = $2000
|
||||
HGR2 = $4000
|
||||
HGR3 = $6000
|
||||
|
|
@ -8,152 +8,17 @@
|
|||
* RWTS
|
||||
*---------------------------------------
|
||||
|
||||
lst on
|
||||
la = * ; must be $B600
|
||||
lst off
|
||||
|
||||
|
||||
LB600 HEX 01A527C909D018A52B4A4A4A4A09C085
|
||||
HEX 3FA95C853E18ADFE086DFF088DFE08AE
|
||||
HEX FF083015BD4D08853DCEFF08ADFE0885
|
||||
HEX 27CEFE08A62B6C3E00EEFE08EEFE0820
|
||||
HEX 89FE2093FE202FFBA62B6CFD08000D0B
|
||||
HEX 09070503010E0C0A080604020F002064
|
||||
HEX A7B008A900A88D5DB69140ADC5B54CD2
|
||||
HEX A6AD5DB6F008EEBDB5D003EEBEB5A900
|
||||
HEX 8D5DB64C46A58DBCB520A8A620EAA24C
|
||||
HEX 7DA2A013B142D014C8C017D0F7A019B1
|
||||
HEX 4299A4B5C8C01DD0F64CBCA6A2FF8E5D
|
||||
HEX B6D0F600000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 2058FCA9C220EDFDA90120DAFDA9AD20
|
||||
HEX EDFDA90020DAFD600000000000000000
|
||||
HEX 0000000000000000000000000000B609
|
||||
|
||||
LB700 STX LB7E9
|
||||
STX LB7F7
|
||||
LDA #$01
|
||||
STA LB7F8
|
||||
STA LB7EA
|
||||
LDA LB7E0
|
||||
STA LB7E1
|
||||
LDA #$02
|
||||
STA LB7EC
|
||||
LDA #$04
|
||||
STA LB7ED
|
||||
LDY LB7E7
|
||||
DEY
|
||||
STY LB7F0+1
|
||||
LDA #$01
|
||||
STA LB7F4
|
||||
TXA
|
||||
LSR
|
||||
LSR
|
||||
LSR
|
||||
LSR
|
||||
TAX
|
||||
LDA #$00
|
||||
STA $04F8,X
|
||||
STA $0478,X
|
||||
JSR LB793
|
||||
LDX #$FF
|
||||
TXS
|
||||
STX LB7EB
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
JSR SETKBD
|
||||
JMP $9D84
|
||||
|
||||
LDA LB7E7
|
||||
SEC
|
||||
SBC LB7F0+1
|
||||
STA LB7E1
|
||||
LDA LB7E7
|
||||
STA LB7F0+1
|
||||
DEC LB7F0+1
|
||||
LDA #$02
|
||||
STA LB7EC
|
||||
LDA #$04
|
||||
STA LB7ED
|
||||
LDA #$02
|
||||
STA LB7F4
|
||||
JSR LB793
|
||||
LDA LB7E7
|
||||
STA LB600+$FE
|
||||
CLC
|
||||
ADC #$09
|
||||
STA LB7F0+1
|
||||
LDA #$0A
|
||||
STA LB7E1
|
||||
SEC
|
||||
SBC #$01
|
||||
STA LB600+$FF
|
||||
STA LB7ED
|
||||
JSR LB793
|
||||
RTS
|
||||
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
|
||||
LB793 LDA LB7E4+1
|
||||
LDY LB7E4
|
||||
JSR LB7B5
|
||||
LDY LB7ED
|
||||
DEY
|
||||
BPL LB7A9
|
||||
LDY #$0F
|
||||
NOP
|
||||
NOP
|
||||
DEC LB7EC
|
||||
LB7A9 STY LB7ED
|
||||
DEC LB7F0+1
|
||||
DEC LB7E1
|
||||
BNE LB793
|
||||
RTS
|
||||
|
||||
LB7B5 PHP
|
||||
SEI
|
||||
JSR LBD00
|
||||
BCS LB7BF
|
||||
PLP
|
||||
CLC
|
||||
LBD00 CLC
|
||||
RTS
|
||||
|
||||
LB7BF PLP
|
||||
SEC
|
||||
RTS
|
||||
|
||||
DS 29
|
||||
|
||||
* LDA LB558+$64
|
||||
* STA LB7F0+1
|
||||
* LDA #$00
|
||||
* STA LB7F0
|
||||
* LDA LB5C0+$39
|
||||
* EOR #$FF
|
||||
* STA LB7EB
|
||||
* RTS
|
||||
*
|
||||
* LDA #$00
|
||||
* TAY
|
||||
*LB7D9 STA ($42),Y
|
||||
* INY
|
||||
* BNE LB7D9
|
||||
* RTS
|
||||
|
||||
DB $00
|
||||
LB7E0 DB $1B
|
||||
LB7E1 DB $00
|
||||
DB $0A
|
||||
DB $1B
|
||||
LB7E4 DA $B7E8
|
||||
DB $00
|
||||
LB7E7 DB $B6
|
||||
LB7E8 DB $01
|
||||
LB7E9 DB $70
|
||||
LB7EA DB $01
|
||||
|
@ -176,756 +41,3 @@ LB7FB DB $00
|
|||
DB $EF
|
||||
DB $D8
|
||||
DB $00
|
||||
|
||||
LB800 LDX #$00
|
||||
LDY #$02
|
||||
LB804 DEY
|
||||
LDA ($3E),Y
|
||||
LSR
|
||||
ROL LBC00,X
|
||||
LSR
|
||||
ROL LBC00,X
|
||||
STA LBB00,Y
|
||||
INX
|
||||
CPX #$56
|
||||
BCC LB804
|
||||
LDX #$00
|
||||
TYA
|
||||
BNE LB804
|
||||
LDX #$55
|
||||
LB81E LDA LBC00,X
|
||||
AND #$3F
|
||||
STA LBC00,X
|
||||
DEX
|
||||
BPL LB81E
|
||||
RTS
|
||||
|
||||
LB82A SEC
|
||||
STX $27
|
||||
STX $0678
|
||||
LDA $C08D,X
|
||||
LDA $C08E,X
|
||||
BMI LB8B4
|
||||
LDA LBC00
|
||||
STA $26
|
||||
LDA #$FF
|
||||
STA $C08F,X
|
||||
ORA $C08C,X
|
||||
PHA
|
||||
PLA
|
||||
NOP
|
||||
LDY #$04
|
||||
LB84A PHA
|
||||
PLA
|
||||
JSR LB8B9
|
||||
DEY
|
||||
BNE LB84A
|
||||
LDA #$D5
|
||||
JSR LB8B8
|
||||
LDA #$AA
|
||||
JSR LB8B8
|
||||
LDA #$AD
|
||||
JSR LB8B8
|
||||
TYA
|
||||
LDY #$56
|
||||
BNE LB869
|
||||
LB866 LDA LBC00,Y
|
||||
LB869 EOR LBBFF,Y
|
||||
TAX
|
||||
LDA LBA29,X
|
||||
LDX $27
|
||||
STA $C08D,X
|
||||
LDA $C08C,X
|
||||
DEY
|
||||
BNE LB866
|
||||
LDA $26
|
||||
NOP
|
||||
LB87E EOR LBB00,Y
|
||||
TAX
|
||||
LDA LBA29,X
|
||||
LDX $0678
|
||||
STA $C08D,X
|
||||
LDA $C08C,X
|
||||
LDA LBB00,Y
|
||||
INY
|
||||
BNE LB87E
|
||||
TAX
|
||||
LDA LBA29,X
|
||||
LDX $27
|
||||
JSR LB8BB
|
||||
LDA #$DE
|
||||
JSR LB8B8
|
||||
LDA #$AA
|
||||
JSR LB8B8
|
||||
LDA #$EB
|
||||
JSR LB8B8
|
||||
LDA #$FF
|
||||
JSR LB8B8
|
||||
LDA $C08E,X
|
||||
LB8B4 LDA $C08C,X
|
||||
RTS
|
||||
|
||||
LB8B8 CLC
|
||||
LB8B9 PHA
|
||||
PLA
|
||||
LB8BB STA $C08D,X
|
||||
ORA $C08C,X
|
||||
RTS
|
||||
|
||||
LB8C2 LDY #$00
|
||||
LB8C4 LDX #$56
|
||||
LB8C6 DEX
|
||||
BMI LB8C4
|
||||
LDA LBB00,Y
|
||||
LSR LBC00,X
|
||||
ROL
|
||||
LSR LBC00,X
|
||||
ROL
|
||||
STA ($3E),Y
|
||||
INY
|
||||
CPY $26
|
||||
BNE LB8C6
|
||||
RTS
|
||||
|
||||
LB8DC LDY #$20
|
||||
LB8DE DEY
|
||||
BEQ LB942
|
||||
LB8E1 LDA $C08C,X
|
||||
BPL LB8E1
|
||||
LB8E6 EOR #$D5
|
||||
BNE LB8DE
|
||||
NOP
|
||||
LB8EB LDA $C08C,X
|
||||
BPL LB8EB
|
||||
CMP #$AA
|
||||
BNE LB8E6
|
||||
LDY #$56
|
||||
LB8F6 LDA $C08C,X
|
||||
BPL LB8F6
|
||||
CMP #$AD
|
||||
BNE LB8E6
|
||||
LDA #$00
|
||||
LB901 DEY
|
||||
STY $26
|
||||
LB904 LDY $C08C,X
|
||||
BPL LB904
|
||||
EOR LBA00,Y
|
||||
LDY $26
|
||||
STA LBC00,Y
|
||||
BNE LB901
|
||||
LB913 STY $26
|
||||
LB915 LDY $C08C,X
|
||||
BPL LB915
|
||||
EOR LBA00,Y
|
||||
LDY $26
|
||||
STA LBB00,Y
|
||||
INY
|
||||
BNE LB913
|
||||
LB925 LDY $C08C,X
|
||||
BPL LB925
|
||||
CMP LBA00,Y
|
||||
BNE LB942
|
||||
LB92F LDA $C08C,X
|
||||
BPL LB92F
|
||||
CMP #$DE
|
||||
BNE LB942
|
||||
NOP
|
||||
LB939 LDA $C08C,X
|
||||
BPL LB939
|
||||
CMP #$AA
|
||||
BEQ LB99E
|
||||
LB942 SEC
|
||||
RTS
|
||||
|
||||
LB944 LDY #$FC
|
||||
STY $26
|
||||
LB948 INY
|
||||
BNE LB94F
|
||||
INC $26
|
||||
BEQ LB942
|
||||
LB94F LDA $C08C,X
|
||||
BPL LB94F
|
||||
LB954 CMP #$D5
|
||||
BNE LB948
|
||||
NOP
|
||||
LB959 LDA $C08C,X
|
||||
BPL LB959
|
||||
CMP #$AA
|
||||
BNE LB954
|
||||
LDY #$03
|
||||
LB964 LDA $C08C,X
|
||||
BPL LB964
|
||||
CMP #$96
|
||||
BNE LB954
|
||||
LDA #$00
|
||||
LB96F STA $27
|
||||
LB971 LDA $C08C,X
|
||||
BPL LB971
|
||||
ROL
|
||||
STA $26
|
||||
LB979 LDA $C08C,X
|
||||
BPL LB979
|
||||
AND $26
|
||||
STA |$002C,Y
|
||||
EOR $27
|
||||
DEY
|
||||
BPL LB96F
|
||||
TAY
|
||||
BIT $B7
|
||||
LB98B LDA $C08C,X
|
||||
BPL LB98B
|
||||
CMP #$DE
|
||||
BNE LB942
|
||||
NOP
|
||||
LB995 LDA $C08C,X
|
||||
BPL LB995
|
||||
CMP #$AA
|
||||
BIT $A4
|
||||
LB99E CLC
|
||||
RTS
|
||||
|
||||
LB9A0 STX $2B
|
||||
STA $2A
|
||||
CMP $0478
|
||||
BEQ LB9FC
|
||||
LDA #$00
|
||||
STA $26
|
||||
LB9AD LDA $0478
|
||||
STA $27
|
||||
SEC
|
||||
SBC $2A
|
||||
BEQ LB9EA
|
||||
BCS LB9C0
|
||||
EOR #$FF
|
||||
INC $0478
|
||||
BCC LB9C5
|
||||
LB9C0 ADC #$FE
|
||||
DEC $0478
|
||||
LB9C5 CMP $26
|
||||
BCC LB9CB
|
||||
LDA $26
|
||||
LB9CB CMP #$0C
|
||||
BCS LB9D0
|
||||
TAY
|
||||
LB9D0 SEC
|
||||
JSR LB9EE
|
||||
LDA LBA11,Y
|
||||
JSR LBA00
|
||||
LDA $27
|
||||
CLC
|
||||
JSR LB9F1
|
||||
LDA LBA1D,Y
|
||||
JSR LBA00
|
||||
INC $26
|
||||
BNE LB9AD
|
||||
LB9EA JSR LBA00
|
||||
CLC
|
||||
LB9EE LDA $0478
|
||||
LB9F1 AND #$03
|
||||
ROL
|
||||
ORA $2B
|
||||
TAX
|
||||
LDA $C080,X
|
||||
LDX $2B
|
||||
LB9FC RTS
|
||||
|
||||
TAX
|
||||
LDY #$A0
|
||||
LBA00 LDX #$11
|
||||
LBA02 DEX
|
||||
BNE LBA02
|
||||
INC $46
|
||||
BNE LBA0B
|
||||
INC $47
|
||||
LBA0B SEC
|
||||
SBC #$01
|
||||
BNE LBA00
|
||||
RTS
|
||||
|
||||
LBA11 HEX 01302824201E1D1C1C1C1C1C
|
||||
LBA1D HEX 702C26221F1E1D1C1C1C1C1C
|
||||
|
||||
LBA29 HEX 96979A9B9D9E9FA6A7ABACADAEAFB2B3
|
||||
HEX B4B5B6B7B9BABBBCBDBEBFCBCDCECFD3
|
||||
HEX D6D7D9DADBDCDDDEDFE5E6E7E9EAEBEC
|
||||
HEX EDEEEFF2F3F4F5F6F7F9FAFBFCFDFEFF
|
||||
HEX B3B3A0E0B3C3C5B3A0E0B3C3C5B3A0E0
|
||||
HEX B3B3C5AAA082B3B3C5AAA082C5B3B3AA
|
||||
HEX 8882C5B3B3AA8882C5C4B3B088
|
||||
|
||||
LBA96 HEX 0001989902039C040506A0A1A2A3A4A5
|
||||
HEX 0708A8A9AA090A0B0C0DB0B10E0F1011
|
||||
HEX 1213B81415161718191AC0C1C2C3C4C5
|
||||
HEX C6C7C8C9CA1BCC1C1D1ED0D1D21FD4D5
|
||||
HEX 2021D822232425262728E0E1E2E3E429
|
||||
HEX 2A2BE82C2D2E2F303132F0F133343536
|
||||
HEX 3738F8393A3B3C3D3E3F
|
||||
|
||||
LBB00 HEX 00040300000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 000000000000000000000000000000
|
||||
LBBFF HEX 00
|
||||
|
||||
LBC00 HEX 02000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 00000000000000000000000000000000
|
||||
HEX 000000000000
|
||||
|
||||
LBC56 SEC
|
||||
LDA $C08D,X
|
||||
LDA $C08E,X
|
||||
BMI LBCBD
|
||||
LDA #$FF
|
||||
STA $C08F,X
|
||||
CMP $C08C,X
|
||||
PHA
|
||||
PLA
|
||||
LBC69 JSR LBCC3
|
||||
JSR LBCC3
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
NOP
|
||||
DEY
|
||||
BNE LBC69
|
||||
LDA #$D5
|
||||
JSR LBCD5
|
||||
LDA #$AA
|
||||
JSR LBCD5
|
||||
LDA #$96
|
||||
JSR LBCD5
|
||||
LDA $41
|
||||
JSR LBCC4
|
||||
LDA $44
|
||||
JSR LBCC4
|
||||
LDA $3F
|
||||
JSR LBCC4
|
||||
LDA $41
|
||||
EOR $44
|
||||
EOR $3F
|
||||
PHA
|
||||
LSR
|
||||
ORA $3E
|
||||
STA $C08D,X
|
||||
LDA $C08C,X
|
||||
PLA
|
||||
ORA #$AA
|
||||
JSR LBCD4
|
||||
LDA #$DE
|
||||
JSR LBCD5
|
||||
LDA #$AA
|
||||
JSR LBCD5
|
||||
LDA #$EB
|
||||
JSR LBCD5
|
||||
CLC
|
||||
LBCBD LDA $C08E,X
|
||||
LDA $C08C,X
|
||||
LBCC3 RTS
|
||||
|
||||
LBCC4 PHA
|
||||
LSR
|
||||
ORA $3E
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
PLA
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
ORA #$AA
|
||||
LBCD4 NOP
|
||||
LBCD5 NOP
|
||||
PHA
|
||||
PLA
|
||||
STA $C08D,X
|
||||
CMP $C08C,X
|
||||
RTS
|
||||
|
||||
HEX 88A5E891A0948896E891A09488969191
|
||||
HEX C894D0969191C894D09691A3C8A0A585
|
||||
HEX A4
|
||||
|
||||
LBD00 STY $48
|
||||
STA $49
|
||||
LDY #$02
|
||||
STY $06F8
|
||||
LDY #$04
|
||||
STY $04F8
|
||||
LDX LB7E9
|
||||
LDA $C08E,X
|
||||
LDA $C08C,X
|
||||
LDY #$08
|
||||
LBD19 LDA $C08C,X
|
||||
PHA
|
||||
PLA
|
||||
PHA
|
||||
PLA
|
||||
STX $05F8
|
||||
CMP $C08C,X
|
||||
BNE LBD2B
|
||||
DEY
|
||||
BNE LBD19
|
||||
LBD2B PHP
|
||||
LDA $C089,X
|
||||
LDY #$06
|
||||
LBD31 LDA ($48),Y
|
||||
STA |$0036,Y
|
||||
INY
|
||||
CPY #$0A
|
||||
BNE LBD31
|
||||
LDY #$03
|
||||
LDA ($3C),Y
|
||||
STA $47
|
||||
LDY #$02
|
||||
LDA ($48),Y
|
||||
LDY #$10
|
||||
CMP ($48),Y
|
||||
BEQ LBD51
|
||||
STA ($48),Y
|
||||
PLP
|
||||
LDY #$00
|
||||
PHP
|
||||
LBD51 ROR
|
||||
BCC LBD59
|
||||
LDA $C08A,X
|
||||
BCS LBD5C
|
||||
LBD59 LDA $C08B,X
|
||||
LBD5C ROR $35
|
||||
PLP
|
||||
PHP
|
||||
BNE LBD6D
|
||||
LDY #$07
|
||||
LBD64 JSR LBA00
|
||||
DEY
|
||||
BNE LBD64
|
||||
LDX $05F8
|
||||
LBD6D LDY #$04
|
||||
LDA ($48),Y
|
||||
JSR LBE5A
|
||||
PLP
|
||||
BNE LBDAB
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
LDA LB7F4
|
||||
CMP #$01
|
||||
BEQ LBDAB
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
LBD9E LDY #$12
|
||||
LBDA0 DEY
|
||||
BNE LBDA0
|
||||
INC $46
|
||||
BNE LBD9E
|
||||
INC $47
|
||||
BNE LBD9E
|
||||
LBDAB LDY #$0C
|
||||
LDA ($48),Y
|
||||
BEQ LBE0B
|
||||
CMP #$04
|
||||
BEQ LBE0D
|
||||
ROR
|
||||
PHP
|
||||
BCS LBDBC
|
||||
JSR LB800
|
||||
LBDBC LDY #$30
|
||||
STY $0578
|
||||
LBDC1 LDX $05F8
|
||||
JSR LB944
|
||||
BCC LBDED
|
||||
LBDC9 DEC $0578
|
||||
BPL LBDC1
|
||||
LBDCE LDA $0478
|
||||
PHA
|
||||
LDA #$60
|
||||
JSR LBE95
|
||||
DEC $06F8
|
||||
BEQ LBE04
|
||||
LDA #$04
|
||||
STA $04F8
|
||||
LDA #$00
|
||||
JSR LBE5A
|
||||
PLA
|
||||
LBDE7 JSR LBE5A
|
||||
JMP LBDBC
|
||||
|
||||
LBDED LDY $2E
|
||||
CPY $0478
|
||||
BEQ LBE10
|
||||
LDA $0478
|
||||
PHA
|
||||
TYA
|
||||
JSR LBE95
|
||||
PLA
|
||||
DEC $04F8
|
||||
BNE LBDE7
|
||||
BEQ LBDCE
|
||||
LBE04 PLA
|
||||
LDA #$40
|
||||
LBE07 PLP
|
||||
JMP LBE47+1
|
||||
|
||||
LBE0B BEQ LBE46
|
||||
LBE0D JMP L8E00
|
||||
|
||||
LBE10 LDY #$03
|
||||
LDA ($48),Y
|
||||
PHA
|
||||
LDA $2F
|
||||
LDY #$0E
|
||||
STA ($48),Y
|
||||
PLA
|
||||
BEQ LBE26
|
||||
CMP $2F
|
||||
BEQ LBE26
|
||||
LDA #$20
|
||||
BNE LBE07
|
||||
LBE26 LDY #$05
|
||||
LDA ($48),Y
|
||||
TAY
|
||||
LDA LBFB8,Y
|
||||
CMP $2D
|
||||
BNE LBDC9
|
||||
PLP
|
||||
BCC LBE51
|
||||
JSR LB8DC
|
||||
PHP
|
||||
BCS LBDC9
|
||||
PLP
|
||||
LDX #$00
|
||||
STX $26
|
||||
JSR LB8C2
|
||||
LDX $05F8
|
||||
LBE46 CLC
|
||||
LBE47 BIT $38
|
||||
LDY #$0D
|
||||
STA ($48),Y
|
||||
LDA $C088,X
|
||||
RTS
|
||||
|
||||
LBE51 JSR LB82A
|
||||
BCC LBE46
|
||||
LDA #$10
|
||||
BCS LBE47+1
|
||||
LBE5A PHA
|
||||
LDY #$01
|
||||
LDA ($3C),Y
|
||||
ROR
|
||||
PLA
|
||||
BCC LBE6B
|
||||
ASL
|
||||
JSR LBE6B
|
||||
LSR $0478
|
||||
RTS
|
||||
|
||||
LBE6B STA $2A
|
||||
JSR LBE8E
|
||||
LDA $0478,Y
|
||||
BIT $35
|
||||
BMI LBE7A
|
||||
LDA $04F8,Y
|
||||
LBE7A STA $0478
|
||||
LDA $2A
|
||||
BIT $35
|
||||
BMI LBE88
|
||||
STA $04F8,Y
|
||||
BPL LBE8B
|
||||
LBE88 STA $0478,Y
|
||||
LBE8B JMP LB9A0
|
||||
|
||||
LBE8E TXA
|
||||
LSR
|
||||
LSR
|
||||
LSR
|
||||
LSR
|
||||
TAY
|
||||
RTS
|
||||
|
||||
LBE95 PHA
|
||||
LDY #$02
|
||||
LDA ($48),Y
|
||||
ROR
|
||||
ROR $35
|
||||
JSR LBE8E
|
||||
PLA
|
||||
ASL
|
||||
BIT $35
|
||||
BMI LBEAB
|
||||
STA $04F8,Y
|
||||
BPL LBEAE
|
||||
LBEAB STA $0478,Y
|
||||
LBEAE RTS
|
||||
|
||||
LBEAF LDY #$03
|
||||
LDA ($48),Y
|
||||
STA $41
|
||||
LDA #$AA
|
||||
STA $3E
|
||||
LDY #$56
|
||||
LDA #$00
|
||||
STA $44
|
||||
LBEBF STA LBBFF,Y
|
||||
DEY
|
||||
BNE LBEBF
|
||||
LBEC5 STA LBB00,Y
|
||||
DEY
|
||||
BNE LBEC5
|
||||
LDA #$00
|
||||
JSR LBE95
|
||||
LDA #$28
|
||||
STA $45
|
||||
LBED4 LDA $44
|
||||
JSR LBE5A
|
||||
JSR LBF0D
|
||||
LDA #$08
|
||||
BCS LBF04
|
||||
LDA #$30
|
||||
STA $0578
|
||||
LBEE5 SEC
|
||||
DEC $0578
|
||||
BEQ LBF04
|
||||
JSR LB944
|
||||
BCS LBEE5
|
||||
LDA $2D
|
||||
BNE LBEE5
|
||||
JSR LB8DC
|
||||
BCS LBEE5
|
||||
INC $44
|
||||
LDA $44
|
||||
CMP #$23
|
||||
BCC LBED4
|
||||
CLC
|
||||
BCC LBF09
|
||||
LBF04 LDY #$0D
|
||||
STA ($48),Y
|
||||
SEC
|
||||
LBF09 LDA $C088,X
|
||||
RTS
|
||||
|
||||
LBF0D LDA #$00
|
||||
STA $3F
|
||||
LDY #$80
|
||||
BNE LBF17
|
||||
LBF15 LDY $45
|
||||
LBF17 JSR LBC56
|
||||
BCS LBF87
|
||||
JSR LB82A
|
||||
BCS LBF87
|
||||
INC $3F
|
||||
LDA $3F
|
||||
CMP #$10
|
||||
BCC LBF15
|
||||
LDY #$0F
|
||||
STY $3F
|
||||
LDA #$30
|
||||
STA $0578
|
||||
LBF32 STA LBFA8,Y
|
||||
DEY
|
||||
BPL LBF32
|
||||
LDY $45
|
||||
LBF3A JSR LBF87
|
||||
JSR LBF87
|
||||
JSR LBF87
|
||||
PHA
|
||||
PLA
|
||||
NOP
|
||||
DEY
|
||||
BNE LBF3A
|
||||
JSR LB944
|
||||
BCS LBF71
|
||||
LDA $2D
|
||||
BEQ LBF67
|
||||
LDA #$10
|
||||
CMP $45
|
||||
LDA $45
|
||||
SBC #$01
|
||||
STA $45
|
||||
CMP #$05
|
||||
BCS LBF71
|
||||
SEC
|
||||
RTS
|
||||
|
||||
LBF62 JSR LB944
|
||||
BCS LBF6C
|
||||
LBF67 JSR LB8DC
|
||||
BCC LBF88
|
||||
LBF6C DEC $0578
|
||||
BNE LBF62
|
||||
LBF71 JSR LB944
|
||||
BCS LBF81
|
||||
LDA $2D
|
||||
CMP #$0F
|
||||
BNE LBF81
|
||||
JSR LB8DC
|
||||
BCC LBF0D
|
||||
LBF81 DEC $0578
|
||||
BNE LBF71
|
||||
SEC
|
||||
LBF87 RTS
|
||||
|
||||
LBF88 LDY $2D
|
||||
LDA LBFA8,Y
|
||||
BMI LBF6C
|
||||
LDA #$FF
|
||||
STA LBFA8,Y
|
||||
DEC $3F
|
||||
BPL LBF62
|
||||
LDA $44
|
||||
BNE LBFA6
|
||||
LDA $45
|
||||
CMP #$10
|
||||
BCC LBF87
|
||||
DEC $45
|
||||
DEC $45
|
||||
LBFA6 CLC
|
||||
RTS
|
||||
|
||||
LBFA8 HEX FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
LBFB8 HEX 000D0B09070503010E0C0A080604020F
|
||||
|
||||
ds \
|
||||
|
||||
* HEX 20DCABA9108DF0B3A9238DEFB3604C44
|
||||
* HEX B70000008D63AA8D70AA8D71AA60205B
|
||||
* HEX A78CB7AA60207EAEAE9BB39A2016A3BA
|
||||
* HEX 8E9BB3A9094C85B3
|
||||
|
|
|
@ -1215,7 +1215,7 @@ spr58 hex 0000000000 ; T
|
|||
hex 0044400000
|
||||
hex 0044400000
|
||||
hex 0044400000
|
||||
hex 004400000
|
||||
hex 0044000000
|
||||
spr59 hex 0000000000 ; U
|
||||
hex 0000000000
|
||||
hex 0000000000
|
||||
|
|
|
@ -17,16 +17,12 @@
|
|||
* FA FB FC 9
|
||||
* FD FE FF 10
|
||||
|
||||
ds \
|
||||
|
||||
*---------------------------------------
|
||||
* TABLES
|
||||
*---------------------------------------
|
||||
|
||||
ds $c00
|
||||
|
||||
lst on
|
||||
ici = * ; must be $9B00
|
||||
lst off
|
||||
|
||||
demoDATA HEX 164C6602550166023618550144016614
|
||||
HEX 360D3017600866031616660436233201
|
||||
HEX 6201550166201607660236253014600E
|
||||
|
@ -2622,3 +2618,7 @@ tblOFFSPR HEX 001555060055060010407F0808083040 ; 0
|
|||
HEX 00000000000081A8
|
||||
|
||||
LB5F0 HEX C5A2D4A200D08A948080808080808080
|
||||
|
||||
*---
|
||||
|
||||
ds \
|
||||
|
|
Binary file not shown.
|
@ -1 +1,2 @@
|
|||
LR.CODE=Type(00),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
||||
LodeRunner=Type(B3),AuxType(DB00),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,184 @@
|
|||
*
|
||||
* La Belle Zohra
|
||||
*
|
||||
* (c) 1992, François Coulon
|
||||
* (c) 2023, Antoine Vignau & Olivier Zardini
|
||||
*
|
||||
|
||||
mx %00
|
||||
|
||||
*----------------------------------- Macros
|
||||
|
||||
use 4/Ctl.Macs
|
||||
use 4/Desk.Macs
|
||||
use 4/Event.Macs
|
||||
use 4/Font.Macs
|
||||
use 4/Int.Macs
|
||||
use 4/Line.Macs
|
||||
use 4/Locator.Macs
|
||||
use 4/Mem.Macs
|
||||
use 4/Menu.Macs
|
||||
use 4/MIDISyn.Macs
|
||||
use 4/Misc.Macs
|
||||
use 4/Print.Macs
|
||||
use 4/Qd.Macs
|
||||
use 4/QdAux.Macs
|
||||
use 4/Resource.Macs
|
||||
use 4/Scrap.Macs
|
||||
use 4/Sound.Macs
|
||||
use 4/Std.Macs
|
||||
use 4/TextEdit.Macs
|
||||
use 4/Util.Macs
|
||||
use 4/Window.Macs
|
||||
|
||||
use LR.EQUATES
|
||||
|
||||
*----------------------------------- Constantes
|
||||
|
||||
*-------------- Softswitches
|
||||
|
||||
GSOS = $e100a8
|
||||
|
||||
*-------------- GUI
|
||||
|
||||
wMAIN = 1
|
||||
alertQUIT = $0100
|
||||
alertRESTART = $0200
|
||||
|
||||
refIsPointer = 0
|
||||
refIsHandle = 1
|
||||
refIsResource = 2
|
||||
|
||||
appleKey = $0100
|
||||
mouseDownEvt = $0001
|
||||
mouseUpEvt = $0002
|
||||
keyDownEvt = $0003
|
||||
|
||||
ptrSCREENE1 = $e02000
|
||||
|
||||
*----------------------------------- Entry point
|
||||
|
||||
phk
|
||||
plb
|
||||
|
||||
clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
_TLStartUp
|
||||
pha
|
||||
_MMStartUp
|
||||
pla
|
||||
sta mainID
|
||||
ora #$0100
|
||||
sta myID
|
||||
|
||||
tdc
|
||||
sta myDP
|
||||
|
||||
*----------------------------------- Exit point
|
||||
|
||||
lda #theGAME
|
||||
stal $300
|
||||
lda #^theGAME
|
||||
stal $302
|
||||
|
||||
sep #$30
|
||||
|
||||
lda #^ptrSCREENE1
|
||||
sta ptrDATA+2
|
||||
sta ptrHGR1+2
|
||||
sta ptrHGR2+2
|
||||
|
||||
brl theGAME
|
||||
|
||||
*----------------------------------- Exit point
|
||||
|
||||
rep #$30
|
||||
|
||||
PushWord myID
|
||||
_DisposeAll
|
||||
|
||||
PushWord mainID
|
||||
_DisposeAll
|
||||
|
||||
PushWord mainID
|
||||
_MMShutDown
|
||||
|
||||
_TLShutDown
|
||||
|
||||
jsl GSOS
|
||||
dw $2029
|
||||
adrl proQUIT
|
||||
|
||||
*----------------------------------------
|
||||
* MEMOIRE
|
||||
*----------------------------------------
|
||||
|
||||
make64KB pha
|
||||
pha
|
||||
PushLong #$010000
|
||||
PushWord myID
|
||||
PushWord #%11000000_00011100
|
||||
PushLong #0
|
||||
_NewHandle
|
||||
phd
|
||||
tsc
|
||||
tcd
|
||||
lda [3]
|
||||
tax ; low in X
|
||||
ldy #2
|
||||
lda [3],y
|
||||
txy ; low in Y
|
||||
tax ; high in X
|
||||
pld
|
||||
pla ; we do not keep track of the handle
|
||||
pla
|
||||
rts
|
||||
|
||||
*----------------------------------------
|
||||
* DATA
|
||||
*----------------------------------------
|
||||
|
||||
*----------------------- Memory manager
|
||||
|
||||
mainID ds 2 ; app ID
|
||||
myID ds 2 ; user ID
|
||||
myDP ds 2
|
||||
|
||||
*----------------------- GS/OS
|
||||
|
||||
proQUIT dw 2 ; pcount
|
||||
ds 4 ; pathname
|
||||
ds 2 ; flags
|
||||
|
||||
proVERS dw 1 ; pcount
|
||||
ds 2 ; version
|
||||
|
||||
*----------------------------------------
|
||||
* LES AUTRES FICHIERS
|
||||
*----------------------------------------
|
||||
|
||||
ds \
|
||||
|
||||
put LR.Code.s
|
||||
put LR.RWTS.s
|
||||
put LR.Data.s
|
||||
put LR.Tables.s
|
||||
put LR.Sprites.s
|
||||
|
||||
*---
|
||||
|
||||
asc 0d
|
||||
asc "----------------"0d
|
||||
asc " "0d
|
||||
asc " LODE RUNNER "0d
|
||||
asc " "0d
|
||||
asc " Antoine Vignau "0d
|
||||
asc "Olivier Zardini"0d
|
||||
asc " "0d
|
||||
asc " Noel 2023 "0d
|
||||
asc " "0d
|
||||
asc "----------------"0d
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
* Expansion linker file
|
||||
|
||||
DSK LodeRunner
|
||||
TYP $B3
|
||||
AUX $DB00
|
||||
|
||||
* Assemble files
|
||||
|
||||
ASM loderunner.s
|
||||
KND $0000
|
||||
SNA DougESmith
|
||||
|
||||
* END
|
Loading…
Reference in New Issue