Difference between revisions of "Port Sonic 1's Sound Driver to Sonic 2"
From Sonic Retro
(→Typo/mutation in provided Sonic 1 Driver file) |
|||
Line 37: | Line 37: | ||
Moreover, more explantion needs to be given to what you can delete for the S2Snd driver. Should the programmer delete the actual "s2.sounddriver.asm" file or the code for the driver from s2.asm? If you just make the changes from the how-to, paste the ported driver into the s2.asm file, and add the sounds files from the .zip file, many errors still occur. PM me, please | Moreover, more explantion needs to be given to what you can delete for the S2Snd driver. Should the programmer delete the actual "s2.sounddriver.asm" file or the code for the driver from s2.asm? If you just make the changes from the how-to, paste the ported driver into the s2.asm file, and add the sounds files from the .zip file, many errors still occur. PM me, please | ||
+ | |||
+ | ==Xenowhirl Disassembly== | ||
+ | I don't know if someone have noticed, but when you use S2 xenowhirl disassembly, there is some part missing: " replace all instances of "$FFFFF08" with "$FFFFFA8" " those intances does not exist for what i see, instead, the only one is "$FFFFF080"... thus this disassembly uses a disassembled sound driver.. an explanation of what to do there would not be bad... |
Latest revision as of 21:23, 22 October 2012
Clone Driver
With the Sonic 2 Clone Driver being public, would anyone mind if this guide was changed to use this sound driver instead of the plain vanilla Sonic 1 version? SOTI 18:02, 25 October 2010 (CDT)
Typo/mutation in provided Sonic 1 Driver file
To whomever reads this (Tweaker hopefully?), I have noted that the actual sound driver file in the .zip download has a typo that prevents asm compilation. Here is the typo, and a comparison to the un-mutated driver from SMSPlay (http://forums.sonicretro.org/index.php?showtopic=22136&st=0&p=488501&#entry488501)
Original, mutated driver:
<asm> loc_71B82: lea ($FFF000).l,a6 clr.b $E(a6) tst.b 3(a6) ; is music paused? bne.w loc_7g v ; if yes, branch subq.b #1,1(a6) bne.s loc_71B9E jsr sub_7 �N» �N¹ �Â(R¸þ�Lß?ÿNs ��~�¼�Ò�â���ª�–�Ø�¦��²�ªNù �ÀPNqNqA8
jsr sub_72504(pc)
</asm>
SMPSPlay version of driver:
loc_71B82:
lea ($FFF000).l,a6 clr.b $E(a6) tst.b 3(a6) ; is music paused? bne.w loc_71E50 ; if yes, branch subq.b #1,1(a6) bne.s loc_71B9E jsr sub_7260C(pc)
The main question is: after deleting that glitched line in the original, should the "jsr" jump to sub_72504(pc), sub_7260C(pc), or something else?
Quote: "You can also delete the Sonic 2 sound driver now, if you wish, though it is not required to do so."
Moreover, more explantion needs to be given to what you can delete for the S2Snd driver. Should the programmer delete the actual "s2.sounddriver.asm" file or the code for the driver from s2.asm? If you just make the changes from the how-to, paste the ported driver into the s2.asm file, and add the sounds files from the .zip file, many errors still occur. PM me, please
Xenowhirl Disassembly
I don't know if someone have noticed, but when you use S2 xenowhirl disassembly, there is some part missing: " replace all instances of "$FFFFF08" with "$FFFFFA8" " those intances does not exist for what i see, instead, the only one is "$FFFFF080"... thus this disassembly uses a disassembled sound driver.. an explanation of what to do there would not be bad...