Adding Sword of Sodan
My 2018 disassembly to make it HDD installable
This commit is contained in:
parent
5df6768322
commit
92b66ae6ec
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,708 @@
|
|||
*
|
||||
* Sword of Sodan: the game
|
||||
*
|
||||
* (c) 1989, Discovery Software
|
||||
* (s) 2018, Brutal Deluxe Software
|
||||
*
|
||||
|
||||
mx %00
|
||||
TYP BIN
|
||||
ORG $00A000
|
||||
lst off
|
||||
|
||||
*----------------------------
|
||||
|
||||
LA000 DA LA010 ; 0
|
||||
DA LA012 ; 1
|
||||
DA LA030 ; 2
|
||||
DA LA03C ; 3
|
||||
DA LA052 ; 4
|
||||
DA LA068 ; 5
|
||||
DA LA07E ; 6
|
||||
DA LA088 ; 7
|
||||
|
||||
* MAIN PROGRAM
|
||||
|
||||
LA010 DA LA09C ; 0/0 SODAN, SODAN0, FONT
|
||||
|
||||
* MISC SPRITES
|
||||
|
||||
LA012 DA LA0DE ; 1/0 - L.PIC
|
||||
DA LA0F7 ; 1 - T.PIC
|
||||
DA LA110 ; 2 - M.PIC
|
||||
DA LA126 ; 3 - M.PIC
|
||||
DA LA13C ; 4 - CA.PIC
|
||||
DA LA156 ; 5 - CA.PIC
|
||||
DA LA170 ; 6 - SC.PIC
|
||||
DA LA18A ; 7 - SC.PIC
|
||||
DA LA1A4 ; 8 - SC.PIC
|
||||
DA LA1BE ; 9 - SE.PIC
|
||||
DA LA1D5 ; A - H0.PIC H1.PIC
|
||||
DA LA204 ; B - EO.PIC E1.PIC E2.PIC
|
||||
DA LA24E ; C - C.PIC
|
||||
DA LA267 ; D - H.PIC
|
||||
DA LA281 ; E - J.PIC
|
||||
|
||||
* PLAYER SPRITES
|
||||
|
||||
LA030 DA LA29A ; 2/0
|
||||
DA LA2CE ; 1
|
||||
DA LA2E7 ; 2
|
||||
DA LA319 ; 3
|
||||
DA LA333 ; 4
|
||||
DA LA34D ; 5
|
||||
|
||||
* ENEMIES
|
||||
|
||||
LA03C DA LA381 ; 3/0
|
||||
DA LA381 ; 1
|
||||
DA LA3B7 ; 2
|
||||
DA LA3ED ; 3
|
||||
DA LA423 ; 4
|
||||
DA $0000 ; 5
|
||||
DA LA459 ; 6
|
||||
DA $0000 ; 7
|
||||
DA LA4C3 ; 8
|
||||
DA $0000 ; 9
|
||||
DA LA4DF ; A
|
||||
|
||||
* LEVEL SPRITES
|
||||
|
||||
LA052 DA LA53D ; 4/0
|
||||
DA LA557 ; 1
|
||||
DA LA571 ; 2
|
||||
DA LA58B ; 3
|
||||
DA LA5A5 ; 4
|
||||
DA LA5BF ; 5
|
||||
DA LA5D9 ; 6
|
||||
DA LA5F3 ; 7
|
||||
DA LA639 ; 8
|
||||
DA $0000 ; 9
|
||||
DA LA653 ; A
|
||||
|
||||
* LEVEL SPRITES
|
||||
|
||||
LA068 DA LA66A ; 5/0
|
||||
DA LA69C ; 1
|
||||
DA LA6CE ; 2
|
||||
DA LA700 ; 3
|
||||
DA LA72C ; 4
|
||||
DA LA75E ; 5
|
||||
DA LA790 ; 6
|
||||
DA LA7C2 ; 7
|
||||
DA LA7E5 ; 8
|
||||
DA LA808 ; 9
|
||||
DA LA83A ; A
|
||||
|
||||
* SOUNDS
|
||||
|
||||
LA07E DA LA86C ; 6/0
|
||||
DA LA883 ; 1
|
||||
DA LA89A ; 2
|
||||
DA LA8C6 ; 3
|
||||
DA LA8DD ; 4
|
||||
|
||||
* SOUNDS
|
||||
|
||||
LA088 DA LA8F4 ; 7/0
|
||||
DA LA94E ; 1
|
||||
DA LA992 ; 2
|
||||
DA LA9D6 ; 3
|
||||
DA LAA1A ; 4
|
||||
DA LAA48 ; 5
|
||||
DA LAAA2 ; 6
|
||||
DA LAAD0 ; 7
|
||||
DA LAB14 ; 8
|
||||
DA LAB58 ; 9
|
||||
|
||||
LA09C DA LA0BC
|
||||
ADRL $00020000
|
||||
ADRL $00000000
|
||||
DA LA0C6
|
||||
ADRL $00028400
|
||||
ADRL $00000000
|
||||
DA LA0D1
|
||||
ADRL $00001400
|
||||
ADRL $0001A000
|
||||
DW $FFFF
|
||||
LA0BC STR 'S1/SODAN'
|
||||
LA0C6 STR 'S1/SODAN0'
|
||||
LA0D1 STR 'S1/F.SHP.LZ'
|
||||
|
||||
LA0DE DA LA0EA
|
||||
ADRL $00001400
|
||||
ADRL $00E12000
|
||||
DW $FFFF
|
||||
LA0EA STR 'S1/L.PIC.LZ'
|
||||
|
||||
LA0F7 DA LA103
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DW $FFFF
|
||||
LA103 STR 'S1/T.PIC.LZ'
|
||||
|
||||
LA110 DA LA11C
|
||||
ADRL $00012000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA11C STR 'S1/M.PIC'
|
||||
|
||||
LA126 DA LA132
|
||||
ADRL $00012000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA132 STR 'S2/M.PIC'
|
||||
|
||||
LA13C DA LA148
|
||||
ADRL $00001400
|
||||
ADRL $00012000
|
||||
DW $FFFF
|
||||
LA148 STR 'S2/CA.PIC.LZ'
|
||||
|
||||
LA156 DA LA162
|
||||
ADRL $00001400
|
||||
ADRL $00012000
|
||||
DW $FFFF
|
||||
LA162 STR 'S3/CA.PIC.LZ'
|
||||
|
||||
LA170 DA LA17C
|
||||
ADRL $00001400
|
||||
ADRL $00012000
|
||||
DW $FFFF
|
||||
LA17C STR 'S1/SC.PIC.LZ'
|
||||
|
||||
LA18A DA LA196
|
||||
ADRL $00001400
|
||||
ADRL $00012000
|
||||
DW $FFFF
|
||||
LA196 STR 'S2/SC.PIC.LZ'
|
||||
|
||||
LA1A4 DA LA1B0
|
||||
ADRL $00001400
|
||||
ADRL $00012000
|
||||
DW $FFFF
|
||||
LA1B0 STR 'S3/SC.PIC.LZ'
|
||||
|
||||
LA1BE DA LA1CA
|
||||
ADRL $00060000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA1CA STR 'S1/SE.PIC'
|
||||
|
||||
LA1D5 DA LA1EB
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LA1F6
|
||||
ADRL $00001400
|
||||
ADRL $00038000
|
||||
DW $FFFF
|
||||
LA1EB STR 'S1/H0.PIC'
|
||||
LA1F6 STR 'S1/H1.PIC.LZ'
|
||||
|
||||
LA204 DA LA224
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA232
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DA LA240
|
||||
ADRL $00001400
|
||||
ADRL $00050000
|
||||
DW $FFFF
|
||||
LA224 STR 'S3/E0.PIC.LZ'
|
||||
LA232 STR 'S3/E1.PIC.LZ'
|
||||
LA240 STR 'S3/E2.PIC.LZ'
|
||||
|
||||
LA24E DA LA25A
|
||||
ADRL $00001400
|
||||
ADRL $00012000
|
||||
DW $FFFF
|
||||
LA25A STR 'S1/C.PIC.LZ'
|
||||
|
||||
LA267 DA LA273
|
||||
ADRL $00001400
|
||||
ADRL $00012000
|
||||
DW $FFFF
|
||||
LA273 STR 'S1/HI.PIC.LZ'
|
||||
|
||||
LA281 DA LA28D
|
||||
ADRL $00001400
|
||||
ADRL $00012000
|
||||
DW $FFFF
|
||||
LA28D STR 'S1/J.PIC.LZ'
|
||||
|
||||
LA29A DA LA2B0
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DA LA2BF
|
||||
ADRL $00001400
|
||||
ADRL $000378F2
|
||||
DW $FFFF
|
||||
LA2B0 STR 'S1/H0A.SPR.LZ'
|
||||
LA2BF STR 'S1/H0B.SPR.LZ'
|
||||
|
||||
LA2CE DA LA2DA
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DW $FFFF
|
||||
LA2DA STR 'S1/G.SPR.LZ'
|
||||
|
||||
LA2E7 DA LA2FD
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DA LA30B
|
||||
ADRL $00001400
|
||||
ADRL $00038000
|
||||
DW $FFFF
|
||||
LA2FD STR 'S3/E0.SPR.LZ'
|
||||
LA30B STR 'S3/E1.SPR.LZ'
|
||||
|
||||
LA319 DA LA325
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DW $FFFF
|
||||
LA325 STR 'S1/C0.SPR.LZ'
|
||||
|
||||
LA333 DA LA33F
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DW $FFFF
|
||||
LA33F STR 'S1/HI.SPR.LZ'
|
||||
|
||||
LA34D DA LA363
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DA LA372
|
||||
ADRL $00001400
|
||||
ADRL $000386BC
|
||||
DW $FFFF
|
||||
LA363 STR 'S1/H1A.SPR.LZ'
|
||||
LA372 STR 'S1/H1B.SPR.LZ'
|
||||
|
||||
LA381 DA LA397
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA3A7
|
||||
ADRL $00001400
|
||||
ADRL $00047B6C
|
||||
DW $FFFF
|
||||
LA397 STR 'S1/L0A.ENEM.LZ'
|
||||
LA3A7 STR 'S1/L0B.ENEM.LZ'
|
||||
|
||||
LA3B7 DA LA3CD
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DA LA3DD
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DW $FFFF
|
||||
LA3CD STR 'S2/L2A.ENEM.LZ'
|
||||
LA3DD STR 'S2/L2B.ENEM.LZ'
|
||||
|
||||
LA3ED DA LA403
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DA LA413
|
||||
ADRL $00001400
|
||||
ADRL $00038000
|
||||
DW $FFFF
|
||||
LA403 STR 'S2/L3A.ENEM.LZ'
|
||||
LA413 STR 'S2/L3B.ENEM.LZ'
|
||||
|
||||
LA423 DA LA439
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DA LA449
|
||||
ADRL $00001400
|
||||
ADRL $00038150
|
||||
DW $FFFF
|
||||
LA439 STR 'S2/L4A.ENEM.LZ'
|
||||
LA449 STR 'S2/L4B.ENEM.LZ'
|
||||
|
||||
LA459 DA LA483
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA493
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DA LA4A3
|
||||
ADRL $00001400
|
||||
ADRL $00037B36
|
||||
DA LA4B3
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DW $FFFF
|
||||
LA483 STR 'S3/L6A.ENEM.LZ'
|
||||
LA493 STR 'S3/L6B.ENEM.LZ'
|
||||
LA4A3 STR 'S3/L6C.ENEM.LZ'
|
||||
LA4B3 STR 'S3/L6D.ENEM.LZ'
|
||||
|
||||
LA4C3 DA LA4CF
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DW $FFFF
|
||||
LA4CF STR 'S3/L6A.ENEM.LZ'
|
||||
|
||||
LA4DF DA LA509
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LA516
|
||||
ADRL $00040000
|
||||
ADRL $00000000
|
||||
DA LA523
|
||||
ADRL $00048818
|
||||
ADRL $00000000
|
||||
DA LA530
|
||||
ADRL $00038762
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA509 STR 'S3/L9A.ENEM'
|
||||
LA516 STR 'S3/L9B.ENEM'
|
||||
LA523 STR 'S3/L9C.ENEM'
|
||||
LA530 STR 'S3/L9D.ENEM'
|
||||
|
||||
LA53D DA LA549
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DW $FFFF
|
||||
LA549 STR 'S1/L0.SPR.LZ'
|
||||
|
||||
LA557 DA LA563
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DW $FFFF
|
||||
LA563 STR 'S1/L1.SPR.LZ'
|
||||
|
||||
LA571 DA LA57D
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DW $FFFF
|
||||
LA57D STR 'S2/L2.SPR.LZ'
|
||||
|
||||
LA58B DA LA597
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DW $FFFF
|
||||
LA597 STR 'S2/L3.SPR.LZ'
|
||||
|
||||
LA5A5 DA LA5B1
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DW $FFFF
|
||||
LA5B1 STR 'S2/L4.SPR.LZ'
|
||||
|
||||
LA5BF DA LA5CB
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DW $FFFF
|
||||
LA5CB STR 'S2/L5.SPR.LZ'
|
||||
|
||||
LA5D9 DA LA5E5
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DW $FFFF
|
||||
LA5E5 STR 'S3/L6.SPR.LZ'
|
||||
|
||||
LA5F3 DA LA613
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA621
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LA62D
|
||||
ADRL $00038CA0
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA613 STR 'S3/L6.SPR.LZ'
|
||||
LA621 STR 'S3/L7A.SPR'
|
||||
LA62D STR 'S3/L7B.SPR'
|
||||
|
||||
LA639 DA LA645
|
||||
ADRL $00001400
|
||||
ADRL $00030000
|
||||
DW $FFFF
|
||||
LA645 STR 'S3/L8.SPR.LZ'
|
||||
|
||||
LA653 DA LA65F
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA65F STR 'S3/L9.SPR'
|
||||
|
||||
LA66A DA LA680
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA68E
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DW $FFFF
|
||||
LA680 STR 'S1/L0A.PF.LZ'
|
||||
LA68E STR 'S1/L0B.PF.LZ'
|
||||
|
||||
LA69C DA LA6B2
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA6C0
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DW $FFFF
|
||||
LA6B2 STR 'S1/L1A.PF.LZ'
|
||||
LA6C0 STR 'S1/L1B.PF.LZ'
|
||||
|
||||
LA6CE DA LA6E4
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA6F2
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DW $FFFF
|
||||
LA6E4 STR 'S2/L2A.PF.LZ'
|
||||
LA6F2 STR 'S2/L2B.PF.LZ'
|
||||
|
||||
LA700 DA LA716
|
||||
ADRL $00040000
|
||||
ADRL $00000000
|
||||
DA LA721
|
||||
ADRL $00048000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA716 STR 'S2/L3A.PF'
|
||||
LA721 STR 'S2/L3B.PF'
|
||||
|
||||
LA72C DA LA742
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA750
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DW $FFFF
|
||||
LA742 STR 'S2/L4A.PF.LZ'
|
||||
LA750 STR 'S2/L4B.PF.LZ'
|
||||
|
||||
LA75E DA LA774
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA782
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DW $FFFF
|
||||
LA774 STR 'S2/L5A.PF.LZ'
|
||||
LA782 STR 'S2/L5B.PF.LZ'
|
||||
|
||||
LA790 DA LA7A6
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA7B4
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DW $FFFF
|
||||
LA7A6 STR 'S3/L6A.PF.LZ'
|
||||
LA7B4 STR 'S3/L6B.PF.LZ'
|
||||
|
||||
LA7C2 DA LA7D8
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA7D8
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DW $FFFF
|
||||
LA7D8 STR 'S3/L7.PF.LZ'
|
||||
|
||||
LA7E5 DA LA7FB
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA7FB
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DW $FFFF
|
||||
LA7FB STR 'S3/L8.PF.LZ'
|
||||
|
||||
LA808 DA LA81E
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA82C
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DW $FFFF
|
||||
LA81E STR 'S2/L5A.PF.LZ'
|
||||
LA82C STR 'S2/L5C.PF.LZ'
|
||||
|
||||
LA83A DA LA850
|
||||
ADRL $00001400
|
||||
ADRL $00040000
|
||||
DA LA85E
|
||||
ADRL $00001400
|
||||
ADRL $00048000
|
||||
DW $FFFF
|
||||
LA850 STR 'S3/L9A.PF.LZ'
|
||||
LA85E STR 'S3/L9B.PF.LZ'
|
||||
|
||||
LA86C DA LA878
|
||||
ADRL $00068000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA878 STR 'S1/SE.SND'
|
||||
|
||||
LA883 DA LA88F
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA88F STR 'S1/H0.SND'
|
||||
|
||||
LA89A DA LA8B0
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LA8BB
|
||||
ADRL $00038000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA8B0 STR 'S3/E0.SND'
|
||||
LA8BB STR 'S3/E1.SND'
|
||||
|
||||
LA8C6 DA LA8D2
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA8D2 STR 'S1/HI.SND'
|
||||
|
||||
LA8DD DA LA8E9
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA8E9 STR 'S1/H1.SND'
|
||||
|
||||
LA8F4 DA LA91E
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LA92A
|
||||
ADRL $00034000
|
||||
ADRL $00000000
|
||||
DA LA936
|
||||
ADRL $00038000
|
||||
ADRL $00000000
|
||||
DA LA942
|
||||
ADRL $00E00800
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA91E STR 'S1/L0A.SND'
|
||||
LA92A STR 'S1/L0B.SND'
|
||||
LA936 STR 'S1/L0C.SND'
|
||||
LA942 STR 'S1/L0D.SND'
|
||||
|
||||
LA94E DA LA96E
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LA97A
|
||||
ADRL $00034000
|
||||
ADRL $00000000
|
||||
DA LA986
|
||||
ADRL $00038000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA96E STR 'S1/L1A.SND'
|
||||
LA97A STR 'S1/L0B.SND'
|
||||
LA986 STR 'S1/L1B.SND'
|
||||
|
||||
LA992 DA LA9B2
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LA9BE
|
||||
ADRL $00034000
|
||||
ADRL $00000000
|
||||
DA LA9CA
|
||||
ADRL $00E00800
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA9B2 STR 'S2/L2A.SND'
|
||||
LA9BE STR 'S2/L2B.SND'
|
||||
LA9CA STR 'S2/L2C.SND'
|
||||
|
||||
LA9D6 DA LA9F6
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LAA02
|
||||
ADRL $00036400
|
||||
ADRL $00000000
|
||||
DA LAA0E
|
||||
ADRL $00E00800
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LA9F6 STR 'S2/L3A.SND'
|
||||
LAA02 STR 'S2/L3B.SND'
|
||||
LAA0E STR 'S2/L3C.SND'
|
||||
|
||||
LAA1A DA LAA30
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LAA3C
|
||||
ADRL $00038000
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LAA30 STR 'S2/L4A.SND'
|
||||
LAA3C STR 'S2/L4B.SND'
|
||||
|
||||
LAA48 DA LAA72
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LAA7E
|
||||
ADRL $00033600
|
||||
ADRL $00000000
|
||||
DA LAA8A
|
||||
ADRL $00E00800
|
||||
ADRL $00000000
|
||||
DA LAA96
|
||||
ADRL $00E07600
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LAA72 STR 'S2/L5A.SND'
|
||||
LAA7E STR 'S2/L5B.SND'
|
||||
LAA8A STR 'S2/L5C.SND'
|
||||
LAA96 STR 'S2/L5D.SND'
|
||||
|
||||
LAAA2 DA LAAB8
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LAAC4
|
||||
ADRL $00037E00
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LAAB8 STR 'S3/L6A.SND'
|
||||
LAAC4 STR 'S3/L6B.SND'
|
||||
|
||||
LAAD0 DA LAAF0
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LAAFC
|
||||
ADRL $00E00800
|
||||
ADRL $00000000
|
||||
DA LAB08
|
||||
ADRL $00E04800
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LAAF0 STR 'S3/L7A.SND'
|
||||
LAAFC STR 'S3/L7B.SND'
|
||||
LAB08 STR 'S3/L7C.SND'
|
||||
|
||||
LAB14 DA LAB34
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LAB40
|
||||
ADRL $00E00800
|
||||
ADRL $00000000
|
||||
DA LAB4C
|
||||
ADRL $00E07900
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LAB34 STR 'S3/L8A.SND'
|
||||
LAB40 STR 'S3/L8B.SND'
|
||||
LAB4C STR 'S3/L8C.SND'
|
||||
|
||||
LAB58 DA LAB6E
|
||||
ADRL $00030000
|
||||
ADRL $00000000
|
||||
DA LAB7A
|
||||
ADRL $00E00800
|
||||
ADRL $00000000
|
||||
DW $FFFF
|
||||
LAB6E STR 'S3/L9A.SND'
|
||||
LAB7A STR 'S3/L9B.SND'
|
|
@ -0,0 +1,12 @@
|
|||
|
||||
* TFBD generated equates
|
||||
* (c) PHC 1992,93
|
||||
|
||||
|
||||
PRODOS8 EQU $BF00
|
||||
TBCOLOR EQU $C022
|
||||
NEWVIDEO EQU $C029
|
||||
CLOCKCTL EQU $C034
|
||||
CYAREG EQU $C036
|
||||
STATEREG EQU $C068
|
||||
HOME EQU $FC58
|
|
@ -0,0 +1,467 @@
|
|||
*
|
||||
* Sword of Sodan: the game
|
||||
*
|
||||
* (c) 1989, Discovery Software
|
||||
* (s) 2018, Brutal Deluxe Software
|
||||
*
|
||||
|
||||
mx %00
|
||||
TYP BIN
|
||||
ORG $000800
|
||||
lst off
|
||||
|
||||
*----------------------------
|
||||
|
||||
use START.E
|
||||
|
||||
ptrA000 = $A000 ; where FILEDATA is in bank 0
|
||||
ptr025E38 = $025E3B ; where L5E38 jumps to
|
||||
ptr025E88 = $025E8B ; where L5E88 jumps to
|
||||
ptr028179 = $02817C ; where L8179 jumps to
|
||||
|
||||
*----------------------------
|
||||
|
||||
JMP L097C
|
||||
jmpl L09F8 ; new pointer to loadFILE
|
||||
jmpl saveSCORE ; AV 201806 - save score
|
||||
|
||||
L0803 DW $1400
|
||||
L0805 DW $0000
|
||||
L0807 DW $0000
|
||||
L0809 DW $0000
|
||||
L080B DW $0000
|
||||
L080D DW $0000
|
||||
L080F DW $0000
|
||||
L0811 DW $0000
|
||||
|
||||
L0813 DB $00
|
||||
L0814 DB $00
|
||||
L0815 DB $00
|
||||
L0816 DB $00
|
||||
L0817 DB $00
|
||||
L0818 DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
L0823 DB $00
|
||||
DB $00
|
||||
L0825 DB $00
|
||||
DB $00
|
||||
L0827 DB $00
|
||||
DB $00
|
||||
|
||||
*----------------------------
|
||||
|
||||
L0829 STA L0811
|
||||
STY L0807
|
||||
STX L0809
|
||||
SEP #$30
|
||||
LDA #$C8
|
||||
STA L08FA
|
||||
REP #$30
|
||||
LDA #$0003
|
||||
STA L0813
|
||||
LDA L0811
|
||||
STA L0814
|
||||
LDA #$1000
|
||||
STA L0816
|
||||
JSR L08F5
|
||||
LDX L0818
|
||||
STX L0823
|
||||
SEP #$20
|
||||
LDA #$D1
|
||||
STA L08FA
|
||||
REP #$30
|
||||
LDA #$0002
|
||||
STA L0813
|
||||
LDA L0823
|
||||
STA L0814
|
||||
JSR L08F5
|
||||
LDA L0815
|
||||
STA L0825
|
||||
STA L080D
|
||||
LDA L0817
|
||||
AND #$00FF
|
||||
STA L0827
|
||||
STA L080F
|
||||
L0883 LDA L0825
|
||||
CMP #$8000
|
||||
BCC L0893
|
||||
LDA #$8000
|
||||
STA L080B
|
||||
BRA L0899
|
||||
L0893 LDA L0825
|
||||
STA L080B
|
||||
L0899 SEP #$30
|
||||
LDA #$CA
|
||||
STA L08FA
|
||||
REP #$30
|
||||
LDA #$0004
|
||||
STA L0813
|
||||
LDA L0823
|
||||
STA L0814
|
||||
LDA #$1400
|
||||
STA L0815
|
||||
LDA L080B
|
||||
STA L0817
|
||||
JSR L08F5
|
||||
LDA L0807
|
||||
CMP L0803
|
||||
BNE L08CD
|
||||
LDA L0809
|
||||
CMP L0805
|
||||
BEQ L08D0
|
||||
L08CD JSR L0949
|
||||
L08D0 LDA L0825
|
||||
SEC
|
||||
SBC L080B
|
||||
STA L0825
|
||||
BNE L0883
|
||||
SEP #$30
|
||||
LDA #$CC
|
||||
STA L08FA
|
||||
REP #$30
|
||||
LDA #$0001
|
||||
STA L0813
|
||||
LDA L0823
|
||||
STA L0814
|
||||
JSR L08F5
|
||||
RTS
|
||||
|
||||
L08F5 SEC
|
||||
XCE
|
||||
JSR PRODOS8
|
||||
L08FA DB $00
|
||||
DA L0813
|
||||
|
||||
PHP
|
||||
CLC
|
||||
XCE
|
||||
PLP
|
||||
REP #$30
|
||||
BCC L0940
|
||||
|
||||
LDX L0811
|
||||
LDA |$0003,X
|
||||
JSL $025E38
|
||||
LDA L0A90
|
||||
SEC
|
||||
SBC #$000A
|
||||
STA L0A90
|
||||
STZ $1C
|
||||
STZ $1E
|
||||
PLA
|
||||
SEP #$30
|
||||
LDA #$CC
|
||||
STA L0938
|
||||
REP #$30
|
||||
LDA #$0001
|
||||
STA L0813
|
||||
LDA L0823
|
||||
STA L0814
|
||||
SEC
|
||||
XCE
|
||||
JSR PRODOS8
|
||||
L0938 DB $00
|
||||
DA L0813
|
||||
CLC
|
||||
XCE
|
||||
REP #$30
|
||||
RTS
|
||||
|
||||
*----------------------------
|
||||
|
||||
L0940 BIT $D8
|
||||
BPL L0948
|
||||
JSL $025E88
|
||||
L0948 RTS
|
||||
|
||||
*----------------------------
|
||||
|
||||
L0949 SEP #$30
|
||||
LDA L0805
|
||||
STA L0963+2
|
||||
LDA L0809
|
||||
STA L0963+1
|
||||
REP #$30
|
||||
LDA L080B
|
||||
DEC
|
||||
LDX L0803
|
||||
LDY L0807
|
||||
L0963 MVN $000000,$000000
|
||||
PHK
|
||||
PLB
|
||||
LDA L0807
|
||||
CLC
|
||||
ADC L080B
|
||||
STA L0807
|
||||
LDA L0809
|
||||
ADC #$0000
|
||||
STA L0809
|
||||
RTS
|
||||
|
||||
*----------------------------
|
||||
|
||||
L097C SEC
|
||||
XCE
|
||||
JSR HOME
|
||||
SEI
|
||||
CLC
|
||||
XCE
|
||||
REP #$30
|
||||
SEP #$30
|
||||
PHB
|
||||
LDA #$E1
|
||||
PHA
|
||||
PLB
|
||||
LDA #$80
|
||||
TSB CYAREG
|
||||
LDA #$40
|
||||
TSB NEWVIDEO
|
||||
LDA #$30
|
||||
TRB STATEREG
|
||||
LDA #$0F
|
||||
TRB CLOCKCTL
|
||||
LDA #$F0
|
||||
TRB TBCOLOR
|
||||
PLB
|
||||
REP #$30
|
||||
PHA
|
||||
PHP
|
||||
SEP #$20
|
||||
LDA #$1F
|
||||
STAL $E1C035
|
||||
REP #$20
|
||||
PLP
|
||||
PLA
|
||||
LDA #$0000
|
||||
LDX #$0000
|
||||
L09BD STAL $E12000,X
|
||||
INX
|
||||
INX
|
||||
BPL L09BD
|
||||
LDA #$0001
|
||||
LDY #$0000
|
||||
JSL L09F8
|
||||
SEP #$20
|
||||
L09D1 LDAL $E1C019
|
||||
BMI L09D1
|
||||
L09D7 LDAL $E1C019
|
||||
BPL L09D7
|
||||
REP #$20
|
||||
LDAL $E1C029
|
||||
ORA #$0080
|
||||
STAL $E1C029
|
||||
LDA #$0000
|
||||
LDY #$0000
|
||||
JSL L09F8
|
||||
JMPL ptr028179
|
||||
|
||||
*
|
||||
* SAVE SCORE
|
||||
*
|
||||
|
||||
saveSCORE
|
||||
rtl
|
||||
|
||||
*
|
||||
* LOAD FILE
|
||||
*
|
||||
* A= INDEX IN $A000
|
||||
* Y= ENTRY INDEX FROM THE TARGET SOURCE POINTER
|
||||
*
|
||||
* A000 = (A010, A012...): THIS IS A
|
||||
* A012 = (A0DE, A0F7...): THIS IS Y
|
||||
|
||||
L09F8 PHA
|
||||
PHP
|
||||
SEP #$20
|
||||
LDA #$1F
|
||||
STAL $E1C035
|
||||
REP #$20
|
||||
PLP
|
||||
PLA
|
||||
PHB
|
||||
PHK
|
||||
PLB
|
||||
STZ $D8
|
||||
PHA
|
||||
LDX #$00FE
|
||||
L0A0F LDA $00,X
|
||||
STAL $010100,X
|
||||
DEX
|
||||
DEX
|
||||
BPL L0A0F
|
||||
PLA
|
||||
PHY
|
||||
ASL
|
||||
TAY
|
||||
LDA ptrA000,Y
|
||||
STA $00
|
||||
PLA ; WAS Y
|
||||
ASL
|
||||
TAY
|
||||
LDA ($00),Y
|
||||
STA $00
|
||||
LDY #$0000
|
||||
L0A2C LDA ($00),Y
|
||||
CMP #$FFFF
|
||||
BEQ L0A73
|
||||
PHA
|
||||
INY
|
||||
INY
|
||||
LDA ($00),Y
|
||||
STA $18
|
||||
PHA
|
||||
INY
|
||||
INY
|
||||
LDA ($00),Y
|
||||
STA $1A
|
||||
TAX
|
||||
INY
|
||||
INY
|
||||
LDA ($00),Y
|
||||
STA $1C
|
||||
INY
|
||||
INY
|
||||
LDA ($00),Y
|
||||
STA $1E
|
||||
INY
|
||||
INY
|
||||
STY L0A90
|
||||
PLY
|
||||
PLA
|
||||
JSR L0829
|
||||
LDA $1C
|
||||
ORA $1E
|
||||
BEQ L0A6E
|
||||
LDA [$18]
|
||||
CMP #$9000
|
||||
BCC L0A66
|
||||
DB $00 ; breaks if size > $9000
|
||||
|
||||
L0A66 INC $18
|
||||
INC $18
|
||||
JSL L0AC0
|
||||
L0A6E LDY L0A90
|
||||
BRA L0A2C
|
||||
L0A73 LDX #$00FE
|
||||
L0A76 LDAL $010100,X
|
||||
STA $00,X
|
||||
DEX
|
||||
DEX
|
||||
BPL L0A76
|
||||
PLB
|
||||
PHA
|
||||
PHP
|
||||
SEP #$20
|
||||
LDA #$1F
|
||||
STAL $E1C035
|
||||
REP #$20
|
||||
PLP
|
||||
PLA
|
||||
RTL
|
||||
|
||||
L0A90 DW $0000
|
||||
|
||||
*----------------------------
|
||||
|
||||
MX %11
|
||||
|
||||
L0A92 LDY #$00
|
||||
STY $12
|
||||
LDA #$00
|
||||
L0A98 STA $1000,Y
|
||||
INY
|
||||
CPY #$80
|
||||
BNE L0A98
|
||||
L0AA0 LDA [$18]
|
||||
REP #$30
|
||||
INC $18
|
||||
SEP #$30
|
||||
PHA
|
||||
STA [$1C]
|
||||
REP #$30
|
||||
INC $1C
|
||||
DEC $20
|
||||
SEP #$30
|
||||
PLA
|
||||
STA $1000,Y
|
||||
INY
|
||||
BNE L0AA0
|
||||
RTS
|
||||
|
||||
L0ABB LDA #$00
|
||||
STA $14
|
||||
RTS
|
||||
|
||||
*----------------------------
|
||||
|
||||
MX %00
|
||||
|
||||
L0AC0 PHB
|
||||
PEA $0000
|
||||
PLB
|
||||
PLB
|
||||
STA $20
|
||||
SEP #$30
|
||||
JSR L0A92
|
||||
JSR L0ABB
|
||||
L0AD0 LDA [$18]
|
||||
REP #$30
|
||||
INC $18
|
||||
SEP #$30
|
||||
TAX
|
||||
BEQ L0AF9
|
||||
LDA [$18]
|
||||
REP #$30
|
||||
INC $18
|
||||
SEP #$30
|
||||
TAY
|
||||
L0AE4 LDA $1000,Y
|
||||
STX $10
|
||||
LDX $14
|
||||
STA $1100,X
|
||||
INX
|
||||
STX $14
|
||||
LDX $10
|
||||
INY
|
||||
DEX
|
||||
BNE L0AE4
|
||||
BRA L0B09
|
||||
L0AF9 LDA [$18]
|
||||
REP #$30
|
||||
INC $18
|
||||
SEP #$30
|
||||
LDX $14
|
||||
STA $1100,X
|
||||
INX
|
||||
STX $14
|
||||
L0B09 LDX #$00
|
||||
L0B0B LDA $1100,X
|
||||
STA [$1C]
|
||||
REP #$30
|
||||
INC $1C
|
||||
DEC $20
|
||||
BEQ L0B2D
|
||||
SEP #$30
|
||||
LDY $12
|
||||
STA $1000,Y
|
||||
INY
|
||||
STY $12
|
||||
INX
|
||||
CPX $14
|
||||
BNE L0B0B
|
||||
LDX #$00
|
||||
STX $14
|
||||
BRA L0AD0
|
||||
L0B2D REP #$30
|
||||
PLB
|
||||
RTL
|
Binary file not shown.
|
@ -0,0 +1,7 @@
|
|||
|
||||
* TFBD generated equates
|
||||
* (c) PHC 1992,93
|
||||
|
||||
|
||||
PRODOS8 EQU $BF00
|
||||
HOME EQU $FC58
|
|
@ -0,0 +1,192 @@
|
|||
*
|
||||
* Sword of Sodan: the game
|
||||
*
|
||||
* (c) 1989, Discovery Software
|
||||
* (s) 2018, Brutal Deluxe Software
|
||||
*
|
||||
|
||||
mx %11
|
||||
TYP SYS
|
||||
ORG $002000
|
||||
lst off
|
||||
dsk Startup.System
|
||||
|
||||
*----------------------------
|
||||
|
||||
use STARTUP.E
|
||||
|
||||
*----------------------------
|
||||
|
||||
JMP L2125
|
||||
|
||||
L2003 DW $1400
|
||||
L2005 DW $0000
|
||||
L2007 DW $0000
|
||||
L2009 DW $0000
|
||||
L200B DW $0000
|
||||
|
||||
*----------------------------
|
||||
|
||||
L200D PHB
|
||||
PHK
|
||||
PLB
|
||||
STA L20D8
|
||||
STY L2007
|
||||
STX L2009
|
||||
SEP #$30
|
||||
LDA #$C8
|
||||
STA L20CC
|
||||
REP #$30
|
||||
LDA #$0003
|
||||
STA L20DA
|
||||
LDA L20D8
|
||||
STA L20DB
|
||||
LDA #$1000
|
||||
STA L20DD
|
||||
JSR L20C7
|
||||
LDA L20DF
|
||||
STA L20EA
|
||||
SEP #$20
|
||||
LDA #$D1
|
||||
STA L20CC
|
||||
REP #$30
|
||||
LDA #$0002
|
||||
STA L20DA
|
||||
LDA L20EA
|
||||
STA L20DB
|
||||
JSR L20C7
|
||||
LDA L20DC
|
||||
STA L20EC
|
||||
LDA L20DE
|
||||
AND #$00FF
|
||||
STA L20EE
|
||||
L2064 LDA L20EC
|
||||
CMP #$1800
|
||||
BCC L2074
|
||||
LDA #$1800
|
||||
STA L200B
|
||||
BRA L207A
|
||||
L2074 LDA L20EC
|
||||
STA L200B
|
||||
L207A SEP #$30
|
||||
LDA #$CA
|
||||
STA L20CC
|
||||
REP #$30
|
||||
LDA #$0004
|
||||
STA L20DA
|
||||
LDA L20EA
|
||||
STA L20DB
|
||||
LDA #$1400
|
||||
STA L20DC
|
||||
LDA L200B
|
||||
STA L20DE
|
||||
JSR L20C7
|
||||
JSR L20F2
|
||||
LDA L20EC
|
||||
SEC
|
||||
SBC L200B
|
||||
STA L20EC
|
||||
BNE L2064
|
||||
SEP #$30
|
||||
LDA #$CC
|
||||
STA L20CC
|
||||
REP #$30
|
||||
LDA #$0001
|
||||
STA L20DA
|
||||
LDA L20EA
|
||||
STA L20DB
|
||||
JSR L20C7
|
||||
PLB
|
||||
RTL
|
||||
|
||||
L20C7 SEC
|
||||
XCE
|
||||
JSR PRODOS8
|
||||
L20CC DB $00
|
||||
DA L20DA
|
||||
|
||||
PHP
|
||||
CLC
|
||||
XCE
|
||||
PLP
|
||||
REP #$30
|
||||
BCS L20C7
|
||||
RTS
|
||||
|
||||
L20D8 DB $00
|
||||
DB $00
|
||||
L20DA DB $00
|
||||
L20DB DB $00
|
||||
L20DC DB $00
|
||||
L20DD DB $00
|
||||
L20DE DB $00
|
||||
L20DF DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
L20EA DB $00
|
||||
DB $00
|
||||
L20EC DB $00
|
||||
DB $00
|
||||
L20EE DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
DB $00
|
||||
|
||||
*----------------------------
|
||||
|
||||
L20F2 SEP #$30
|
||||
LDA L2005
|
||||
STA L210C+2
|
||||
LDA L2009
|
||||
STA L210C+1
|
||||
REP #$30
|
||||
LDA L200B
|
||||
DEC
|
||||
LDX L2003
|
||||
LDY L2007
|
||||
L210C MVN $000000,$000000
|
||||
PHK
|
||||
PLB
|
||||
LDA L2007
|
||||
CLC
|
||||
ADC L200B
|
||||
STA L2007
|
||||
LDA L2009
|
||||
ADC #$0000
|
||||
STA L2009
|
||||
RTS
|
||||
|
||||
L2125 SEC
|
||||
XCE
|
||||
JSR HOME
|
||||
CLC
|
||||
XCE
|
||||
SEI
|
||||
REP #$30
|
||||
PHK
|
||||
PLB
|
||||
LDA #L214E
|
||||
LDX #$0000
|
||||
LDY #$A000
|
||||
JSL L200D
|
||||
LDA #L215B
|
||||
LDX #$0000
|
||||
LDY #$0800
|
||||
JSL L200D
|
||||
JMP $0800
|
||||
|
||||
*----------------------------
|
||||
|
||||
*L214E STR '/S1/FILEDATA'
|
||||
*L215B STR '/S1/START'
|
||||
|
||||
L214E STR 'S1/FILEDATA'
|
||||
L215B STR 'S1/START'
|
Loading…
Reference in New Issue