Actions

User

Difference between revisions of "Shadow05"

From Sonic Retro

(A bug fix to my optimization)
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Sonic Megamix "V5.0B"==
 
*I actually have a rom of [[Sonic the Hedgehog Megamix]] V5.0B I won't post a link (because i'll probably get banned) but here's some screenshots.
 
 
WARNING:These will contain ALOT of spoilers!
 
 
====Preferences Screen====
 
[[File:Preferences_Sonic_Megamix_V5.0.png]]
 
====City Outskirts====
 
[[File:Updated_City_Outskirts.png]]
 
====Starry Night====
 
[[File:Updated_Starry_Night.png]]
 
====Metallic Base====
 
[[File:Updated_Metallic_Base.png]]
 
====Notes====
 
*The time attack menu music has a few additional notes sounding like birds.
 
*Special Stages are very different as they are based off the [[Sonic CD]]
 
*The build was leaked in mid-2011.
 
*[[Stealth]] uploaded a [https://www.youtube.com/watch?v=mZFJT-0kVlQ video of a even later build].
 
*Ending and Credits crashes (Credits doesn't in original mode).
 
*[[Stealth]] refers to it as "V5.0a" (Version 5.0 Alpha)
 
*City Outskirts CD theme reminds me of [[Studiopolis]] act 1.
 
*Final Fight is Unfinished
 
 
==Current Projects==
 
*Doomsday Zone Animation
 
*Project:Sonic
 
*Sonic 1 Enhanced Edition
 
*Sonic 1 AS Disassembly (A Enhanced version of the original.)
 
 
==Sonic 1 Enhanced Edition==
 
*SRAM Support (Selbi's Guide) [http://sonicresearch.org/community/index.php?threads/how-to-work-with-sram.1948/ Link]
 
*Title Screen Menu (with new game and continue options)
 
*Sonic CD Style Camera (Nat The Porcupine's Guide)
 
*Spindash
 
*Sonic 3 Object and Ring Managers (SSRG)
 
*Super Peelout and Sonic CD Sound Effects(From the Free Assets thread from SSRG)
 
 
[[Category:User pages]]
 
[[Category:User pages]]
===Help Page===
 
[http://forums.sonicretro.org/index.php?showtopic=38031 Link]
 
 
 
=A Few Fixes=
 
 
==Death Egg Music Not Playing After Boss (All Revisions)==
 
 
===Fix===
 
 
Goto '''''loc_39BA4''''' and you'll see this.
 
<syntaxhighlight lang="asm"> move.b (Level_Music).w,d0</syntaxhighlight>
 
Change the b to a w.
 
 
===Cause===
 
 
The Game is trying to read the RAM address as a byte instead of a word which makes it load Sound 00 which is nothing.
 
 
==Grabbers legs and skids are the wrong way (REV02 Only)==
 
 
===Fix===
 
Goto '''''InheritParentXYFlip:''''' and you'll see this.
 
<syntaxhighlight lang="asm">    if gameRevision<2
 
andi.b #$FC,d0
 
move.b status(a0),d2
 
andi.b #$FC,d2
 
move.b render_flags(a1),d1
 
andi.b #3,d1
 
    else
 
; Peculiarly, REV02 changes this to only inherit the Y-flip.
 
; This causes a bug where some sprites are displayed backwards (Silver Sonic's sparks and Grabber's legs).
 
andi.b #$FD,d0
 
move.b status(a0),d2
 
andi.b #$FD,d2
 
move.b render_flags(a1),d1
 
andi.b #2,d1
 
    endif</syntaxhighlight>
 
Remove the bit after the else and the '''''if gameRevision<2'''''.
 
 
===Cause===
 
Revisions 00 and 01 inherits the X and Y flips but for some reason in REV02 (Sonic Classics) they change it to only inherit the Y flip this means the sparks and legs won't be flipped horizontally.
 
 
==Walking on air in WFZ (REV02 Only)==
 
 
===Fix===
 
Goto '''''loc_3B7BC:''''' and you'll see this.
 
<syntaxhighlight lang="asm">    if gameRevision<2
 
andi.b #standing_mask,d0
 
    else
 
; I don't know what this change was meant to do, but it causes
 
; Sonic to not fall off ObjBD's ascending platforms when they retract,
 
; making him hover.
 
andi.b #2,d0 ; 'Y-flipped' bit???
 
    endif</syntaxhighlight>
 
Like the last bug remove the REV02 check and everything below (and including) the else.
 
 
===(Probable) Cause===
 
It's possible that because the game isn't checking that Sonic is standing anymore this causes the game to think Sonic is on the ground.
 
 
=A few optimizations for MegaPCM=
 
==Optimization #1==
 
At '''''Int_Normal''''' and '''''Int_NoOverride''''' you'll see this.
 
<syntaxhighlight lang="asm"> cp 80h ; stop flag?
 
jp z,StopDAC ; if yes, branch
 
jp m,PauseDAC ; if < 80h, branch</syntaxhighlight>
 
Delete them and replace them with this.
 
<syntaxhighlight lang="asm"> jp Int_StopFlag</syntaxhighlight>
 
Then above '''''Int_Normal''''' add this.
 
<syntaxhighlight lang="asm">Int_StopFlag:
 
cp 80h ; stop flag?
 
jp z,StopDAC ; if yes, branch
 
jp m,PauseDAC ; if < 80h, branch
 
ret</syntaxhighlight>
 
This will reduce the size by 1 byte.
 

Revision as of 21:09, 16 February 2020