Actions

SCHG How-to Talk

Port Sonic 1's Sound Driver to Sonic 2

From Sonic Retro

Revision as of 21:23, 22 October 2012 by Melphi (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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