Website
Home
Database
News
Submissions queue
Community
Forum
Clubs
Discord
Members
Tools
ROM Patcher
ROM Hasher
Pages
Support us
Learn Romhacking
About
Contact Us
Help & Legal Pages
Guest
Login
Forum
Entries
News
Settings
Community
Tutorials & Guides
[Tutorial] How to make Speed Shoes play music in Sonic 1
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Mildanner" data-source="post: 6624" data-attributes="member: 7577"><p>In the original game, the developers have made something in mind to make Sonic speed higher. And decided to make the flag to accelerate the music, when the speed shoes is over. It also slow down the music, with no Speed Shoes jingle.</p><p></p><p>In this guide, you will go simply on the <strong>_incobj/01 Sonic.asm</strong> (In older disassemblies, it was part of <strong>Sonic Display.asm</strong>) and find these lines</p><p>[CODE] move.w #bgm_Slowdown,d0 ; resume music...</p><p> jmp (QueueSound1).l ; ...at normal speed[/CODE]</p><p>Replace it with this (Code taken from invincibility)</p><p>[CODE] moveq #0,d0 ; clear d0</p><p> move.b (v_zone).w,d0 ; get current zone ID</p><p> cmpi.w #id_LZ_act4,(v_zone_act).w ; check if level is SBZ3 (LZ4)</p><p> bne.s .music_speedshoes ; if not, branch</p><p> moveq #5,d0 ; play SBZ music instead of LZ</p><p></p><p>; Obj01_PlayMusic:</p><p>.music_speedshoes:</p><p> lea (MusicList2).l,a1 ; load music list for post-speed shoes</p><p> move.b (a1,d0.w),d0 ; get entry for current zone</p><p> jsr (QueueSound1).l ; resume normal level music[/CODE]</p><p>Also, go to the <strong>26, 2E Monitors and Power-Ups.asm</strong> file (For older disassemblies, this was still called <strong>2E Monitor Content Power-Up.asm </strong>but in current versions. This was merged with Monitors.)</p><p></p><p>Go to the label <strong>Pow_ChkShoes</strong> and find this line</p><p>[CODE] move.w #bgm_Speedup,d0 ; set music speed-up command</p><p> jmp (QueueSound1).l ; play it[/CODE]</p><p>Simply replace the <strong>bgm_Speedup</strong> music with any music you put in <strong>Constants.asm</strong> (Example: bgm_SpeedShoes).</p><p></p><p><strong>Notice:</strong> If you want to do the same thing when you have implemented the different song per acts guide by Selbi (og. by Nineko), just simply replace the lines mentioned with these:</p><p>[CODE] moveq #0,d0</p><p> move.b (v_zone).w,d0</p><p> cmpi.w #id_LZ_act4,(v_zone_act).w ; check if level is SBZ3 (LZ4)</p><p> bne.s .music_speedshoes</p><p> moveq #5,d0 ; play SBZ music</p><p></p><p>; Obj01_PlayMusic:</p><p> .music_speedshoes:</p><p> jsr (PlayCurrentActMusic).l ; resume level music after speed shoes has worn off[/CODE]</p><p>I hope you enjoy this tutorial, happy hacking and enjoy the vastly customized music for speed shoes (Like how Sonic CD did.)</p></blockquote><p></p>
[QUOTE="Mildanner, post: 6624, member: 7577"] In the original game, the developers have made something in mind to make Sonic speed higher. And decided to make the flag to accelerate the music, when the speed shoes is over. It also slow down the music, with no Speed Shoes jingle. In this guide, you will go simply on the [B]_incobj/01 Sonic.asm[/B] (In older disassemblies, it was part of [B]Sonic Display.asm[/B]) and find these lines [CODE] move.w #bgm_Slowdown,d0 ; resume music... jmp (QueueSound1).l ; ...at normal speed[/CODE] Replace it with this (Code taken from invincibility) [CODE] moveq #0,d0 ; clear d0 move.b (v_zone).w,d0 ; get current zone ID cmpi.w #id_LZ_act4,(v_zone_act).w ; check if level is SBZ3 (LZ4) bne.s .music_speedshoes ; if not, branch moveq #5,d0 ; play SBZ music instead of LZ ; Obj01_PlayMusic: .music_speedshoes: lea (MusicList2).l,a1 ; load music list for post-speed shoes move.b (a1,d0.w),d0 ; get entry for current zone jsr (QueueSound1).l ; resume normal level music[/CODE] Also, go to the [B]26, 2E Monitors and Power-Ups.asm[/B] file (For older disassemblies, this was still called [B]2E Monitor Content Power-Up.asm [/B]but in current versions. This was merged with Monitors.) Go to the label [B]Pow_ChkShoes[/B] and find this line [CODE] move.w #bgm_Speedup,d0 ; set music speed-up command jmp (QueueSound1).l ; play it[/CODE] Simply replace the [B]bgm_Speedup[/B] music with any music you put in [B]Constants.asm[/B] (Example: bgm_SpeedShoes). [B]Notice:[/B] If you want to do the same thing when you have implemented the different song per acts guide by Selbi (og. by Nineko), just simply replace the lines mentioned with these: [CODE] moveq #0,d0 move.b (v_zone).w,d0 cmpi.w #id_LZ_act4,(v_zone_act).w ; check if level is SBZ3 (LZ4) bne.s .music_speedshoes moveq #5,d0 ; play SBZ music ; Obj01_PlayMusic: .music_speedshoes: jsr (PlayCurrentActMusic).l ; resume level music after speed shoes has worn off[/CODE] I hope you enjoy this tutorial, happy hacking and enjoy the vastly customized music for speed shoes (Like how Sonic CD did.) [/QUOTE]
Insert quotes…
Verification
Post reply
Community
Tutorials & Guides
[Tutorial] How to make Speed Shoes play music in Sonic 1
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…
Back
Top