Make sure you have S1.bin (an untouched S1 rom) and that there is an S1.txt file with offsets, which is used by split.bat to split the rom into seperate files. Also, do you mind just taking a screenshot of the folder it is kept it? That will help, I think.
You have to change the bankswitch pointers ($FBC in an S3 savestate, $FD9 in an S&K savestate) and the music pointers (savestate locations in Tweaker's guide). I'm in a bit of a hurry right now so can't explain much, but anyway, here's a Sonic 3k savestate using Sonic 3's sound bank for tunes which are different in the two.
OK so, I've been trying to add a credits screen to my hax, using 1. different text (of course) 2. different pallette, 3. different music and 4. a different font. OK Only the different pallette and different music work, and I don't know why the hell it is. First, here's my messy code. Ignore the shitty labels. Code (Text): Title_ChkLevSel: btst #4,($FFFFF604).w; check if B is pressed bne.w Fucknuts; if so, goto credits screen tst.b ($FFFFFFE0).w; check if level select code is on beq.w PlayLevel; if not, play level btst #6,($FFFFF604).w; check if A is pressed bne.w Levsel; if so, goto levelselect beq.w PlayLevel ; if everything else fails, play the fucking level Levsel: move.b #0,d0 move.b #0,d1 move.w #0,a5 move.w #0,a6 lea ($C00000).l,a6 move.l #$50000003,4(a6) lea (Art_Optn).l,a5 move.w #$28F,d1 Bumsex: move.w (a5)+,(a6) dbf d1,Bumsex; load uncompressed text patterns moveq #2,d0 bsr.w PalLoad2; load level select pallet move.b #$94,d0 ; play menu music bsr.w PlaySound_Special lea ($FFFFCC00).w,a1 moveq #0,d0 move.w #$DF,d1 jmp Title_ClrScroll Fucknuts: move.b #0,d0 move.b #0,d1 move.w #0,a5 move.w #0,a6 lea ($C00000).l,a6 move.l #$50000003,4(a6) lea (Art_Optn).l,a5 move.w #$28F,d1 LoadText: move.w (a5)+,(a6) dbf d1,LoadText; load uncompressed text patterns moveq #3,d0 bsr.w PalLoad2; load level select pallet move.b #$99,d0 ; play menu music bsr.w PlaySound_Special lea ($FFFFCC00).w,a1 moveq #0,d0 move.w #$DF,d1 Title_ClrScroll2: move.l d0,(a1)+ dbf d1,Title_ClrScroll2; fill scroll data with 0 move.l d0,($FFFFF616).w move #$2700,sr lea ($C00000).l,a6 move.l #$60000003,($C00004).l move.w #$3FF,d1 Title_ClrVram2: move.l d0,(a6) dbf d1,Title_ClrVram; fill VRAM with 0 bsr.w LevSelTextLoad2 jmp LevelSelect Title_ClrScroll: move.l d0,(a1)+ dbf d1,Title_ClrScroll; fill scroll data with 0 move.l d0,($FFFFF616).w move #$2700,sr lea ($C00000).l,a6 move.l #$60000003,($C00004).l move.w #$3FF,d1 Title_ClrVram: move.l d0,(a6) dbf d1,Title_ClrVram; fill VRAM with 0 bsr.w LevSelTextLoad jmp LevelSelect Goawayfgt: ; --------------------------------------------------------------------------- ; Level Select ; --------------------------------------------------------------------------- LevelSelect2: move.b #4,($FFFFF62A).w bsr.w DelayProgram bsr.w LevSelControls bsr.w RunPLC_RAM tst.l ($FFFFF680).w bne.s LevelSelect andi.b #$F0,($FFFFF605).w; is A, B, C, or Start pressed? beq.s LevelSelect; if not, branch move.w ($FFFFFF82).w,d0 cmpi.w #$14,d0 ; have you selected item $14 (sound test)? bne.s load; if not, go to Level/SS subroutine move.w ($FFFFFF84).w,d0 addi.w #$80,d0 tst.b ($FFFFFFE3).w; is Japanese Credits cheat on? beq.s LevSel_NoCheat; if not, branch cmpi.w #$9F,d0 ; is sound $9F being played? beq.s LevSel_Ending; if yes, branch cmpi.w #$9E,d0 ; is sound $9E being played? beq.s LevSel_Credits; if yes, branch jmp Goon load: jsr LevSel_Level_SS2 rts Goon: jmp LevSel_NoCheat LevelSelect: move.b #4,($FFFFF62A).w bsr.w DelayProgram bsr.w LevSelControls bsr.w RunPLC_RAM tst.l ($FFFFF680).w bne.s LevelSelect andi.b #$F0,($FFFFF605).w; is A, B, C, or Start pressed? beq.s LevelSelect; if not, branch move.w ($FFFFFF82).w,d0 cmpi.w #$14,d0 ; have you selected item $14 (sound test)? bne.s LevSel_Level_SS; if not, go to Level/SS subroutine move.w ($FFFFFF84).w,d0 addi.w #$80,d0 tst.b ($FFFFFFE3).w; is Japanese Credits cheat on? beq.s LevSel_NoCheat; if not, branch cmpi.w #$9F,d0 ; is sound $9F being played? beq.s LevSel_Ending; if yes, branch cmpi.w #$9E,d0 ; is sound $9E being played? beq.s LevSel_Credits; if yes, branch And so on. All labels exist and stuff, and it's loading different music and pallette, but the Text is identical and the font too. Please help
<!--quoteo(post=207683:date=Jul 17 2008, 08:01 AM:name=DalekSam)--><div class='quotetop'>QUOTE (DalekSam @ Jul 17 2008, 08:01 AM) [/quote] That's my problem...running split.bat isn't doing anything...
Actually, I figured out what the problem was, I had the names wrong. I named the s1.bin "s1.bin.bin" and the s1comb.asm "s1comb.asm.asm" Qjimbo had said to make sure the extentions were showing, so I renamed them so that the "extentions" would show. I deleted the extras and ran split.bat and it split and built perfectly.
I tried the save state. That's what I wanted to do with the music. How do you make it permanent, ingame?
<!--quoteo(post=207688:date=Jul 17 2008, 08:27 AM:name=RandomAvatarFan)--><div class='quotetop'>QUOTE (RandomAvatarFan @ Jul 17 2008, 08:27 AM) [/quote] That's my problem...running split.bat isn't doing anything... [/quote] Rename your rom to s1 instead of s1.bin. That should do the trick. Edit: Same case with s2 roms.
Well, thanks to shobiz's post I could partially solve my problem, but now I have another similar problem. Any frame that uses tiles that have an index equal to or greater than $800, begins to load them from the tile 0, but the others are loaded fine. How I can solve this?
tl;dr -- There's a value in a RAM address I wanna display on the HUD. How do I do that? So I've sort of ported the "Link" feature from Sonic: Time Attacked into Sonic 2. The problem is that I don't really know much about hacking, and stuff so far was mostly doable because honestly was more of a "read ASM guides, insert counters" basic thing. I thought I should try asking around here before I move on to the next step, which is, taking the Link counter I have on RAM and displaying it along with score, time and rings. Like, is there a guide around for messing with the HUD? Do I have to worry about VRAM? Where's a good place to start when it comes to adding new art? I'll have to do this because the game does not have the letters l and k of that yellow font used in the rest of the HUD, right? http://www.filefactory.com/file/1843f5/n/s2ramlink_bin -- This is the very, very basic stuff I have so far. If you wanna play with it, make sure you have a emulator with RAM Watch (the Gens from Tasvideos.org has it), and watch address 00FFFAFC, 4 bytes. One last question... Anybody ever did this? I can't really believe I'm the first to do it.
I have a problem with the BG scrolling, I replaced EHZ's code with MTZ's to keep the entire BG still, but this is the result: Some help would be appreciated.
I've got another quick question. How do you disable the beginning and end of level title cards in Sonic 1?
Wha, why would you want to do that? >__> Anyway, I can think of a cheap way, just delete the Title card art (Basicly, open up the Title Card art in artnem, and delete the Blue ball and Letters), but if there is some sort of way through ASM, that would be alot more reasonable. :P
How would one go about changing Sonic's start position? I'm changing a layout in Marble zone, but I can't find any way to move him to the new position, basically, he dies as soon as the level starts. =P
All right, this is the most stupid question ever, but how can I register a video with an emulator? Suppose I want to record a video and I want to put it on youtube. I know Kega can't log movies, but Gens can? And if yes, how does it work? If Gens can't, can anyone direct me to the right emulator?
Gens Movie Test Instructions and the download for this modified version of Gens is in that article on the wiki.
I have my reasons. Either I want to do that or extend the lengths of the title card names. I'd prefer extending the lengths of the title card names instead of disabling them. Edit!: I want to know how to do both, though!