I think someone asked this, but what I'm trying to ask is, how do I hack Sonic CD? My intent isn't anything fancy, just putting Tails and Knuckles in there (and changing the Spindash behavior to S2/3&K).
If this isn't fancy, than do tell, what is? Also, so this post doesn't get trashed, Sonic CD hasn't exactly been broken open yet. As it is, there's a LOT of stuff that you have to work with, especially since each level is it's own little "minigame" of sorts. Perhaps you should learn the way the Sega CD works, and then try to attempt something like this.
Sonic 1 Megamix is built very differently than Sonic CD, and properly implementing those characters in plain Genesis Sonic 1 is complicated enough without having to worry about the runtime storage limitation of the SegaCD. If you don't want to get "Fancy", then you certainly won't be getting Tails and Knuckles into Sonic CD
I changed the player modes in SSD So that Sonic alone is 0 and Shadow is 1. In doing so, I had to switch the player icons so that the second character icon loaded for character 1 (Shadow in this case.). That code is in the Level: routine. Now I am wondering, how could I add an icon for a third character?
You would... uh, increment the value and check for them. I'm sorry—how are you currently testing for characters? tst? You're going to want to use either data tables or direct compares for more than one extra character.
Here is the code I am talking about, I commented the part that handles the second character icon. I am sure there is more to it than just those few lines, I am just not too sure where quite yet. Code (Text): Level: bset #7,(Game_Mode).w; add $80 to screen mode (for pre level sequence) tst.w (Demo_mode_flag).w bmi.s + move.b #$79+$80,d0 bsr.w PlaySound ; fade out music + bsr.w ClearPLC bsr.w Pal_FadeFrom tst.w (Demo_mode_flag).w bmi.s Level_ClrRam move #$2700,sr bsr.w ClearScreen jsr (LoadTitleCard).l; load title card patterns move #$2300,sr moveq #0,d0 move.w d0,(Timer_frames).w move.b (Current_Zone).w,d0 ; multiply d0 by 12, the size of a level art load block add.w d0,d0 add.w d0,d0 move.w d0,d1 add.w d0,d0 add.w d1,d0 lea (LevelArtPointers).l,a2 lea (a2,d0.w),a2 moveq #0,d0 move.b (a2),d0 beq.s + bsr.w LoadPLC + moveq #1,d0 bsr.w LoadPLC bsr.w sub_4450 moveq #6,d0 tst.w (Two_player_mode).w bne.s + cmpi.w #1,(Player_mode).w; is this shadow's player mode? bne.s Level_ClrRam ; if not, continue to clear ram/ load level addq.w #1,d0 ; if yes, load Shad's life icon + tst.b (Graphics_Flags).w bpl.s + addq.w #2,d0 + bsr.w LoadPLC Edit: Code (Text): cmpi.w #1,(Player_mode).w WAS Code (Text): cmpi.w #2,(Player_mode).w
Does anyone know how to remove the "PRESS START BUTTON" when you replay a race you've made in Sonic R? I can't remove it through the sprites. I'm hoping that someone could help me out Thanks in advance.
There isn't a good disassembly for Sonic 3 right now. I suggest you try Sonic 2 instead. I (as well as many others I am sure) can provide directions for adding the peel out to it. Edit: I think it might be too large for this thread though. Edit2: Here's a rough guide for adding the peel out to Sonic 2.
I don't want to sound stupid or anything, but why is there no Sonic 3 disassembly yet? Will there be one soon? btw thanks for the info on peel out.
Disassemblies aren't easy to make - sometimes they may even take years to make, specially when not much information is known about the game (major pain for me with Sonic 3D). In fact Sonic 1 and 2 are being disassembled again. So don't get surprised really.
Would it be possible to create a moving Sonic 1 boss? Like Sonic Advance 2 where you had to run to keep up with the boss?
There is an SK disassembly (not split yet). Due to the way lock-on works an S3 disassembly would be mostly redundant.
Since Sonic and Knuckles has been disassembled, If I started hacking that, could I add a Sonic 3 Style save menu? Thats really the main thing I want in my hack. EDIT: By hacking the Sonic and Knuckles ROM you can change how it behaves when locked on to Sonic 3?
Your questions shouldn't involve whether or not something can be done—chances are, it can. The difficulty of such a thing relies entirely on your skill. Instead, you should ask the general process of what would be required to achieve what you wish to do. The question here would be how you would go about implementing a Sonic 3-style save menu, since such a thing is definitely possible to implement. The methods you could go about making one involve (but are not limited to) modifying the existing code for the save menu (since it does exist in Sonic & Knuckles), or simply coding your own menu reminiscent of the Sonic 3 menu. I'd choose the former, personally—all of the code used in Sonic 3 & Knuckles is present in Sonic & Knuckles alone. Sonic 3 is used only for data not present in the Sonic & Knuckles cartridge itself. Theoretically, it should be as simple as changing a few branches, though in practice it may be a bit more involved. Expect to do a lot of your own research to learn the things required to achieve your goals, though. Sonic & Knuckles is mostly uncharted territory, so be aware that you're on your own for the most part.
Almost every piece of code that runs in Sonic 3 also exists in Sonic and Knuckles, including the save menu. With a few exceptions the only things you'll ever need from a Sonic 3 rom are data, which obviously can be extracted without the need for a disassembly.
Thanks a lot for the info, I really appreciate it. One more thing..... where is the save menu code located?