Basic Questions & Answers thread

Discussion in 'Engineering & Reverse Engineering' started by Tweaker, May 29, 2008.

  1. RamiroR


    Oh, and.. would that affect normal levels?
  2. Cinossu


    London, UK
    Sonic the Hedgehog Extended Edition
    Not if you specifically made it such, no. Use something like the game mode to check for it ($FFFFF600 in RAM, $0C for Normal Levels, $10 for Special Stage).
  3. RamiroR


    I did make the two frames for the ring counter. But I got these results:



    This is what I got from making the two frames for the ring counter:

    Code (Text):
    1. SME_hIRTh:
    2.         dc.w SME_hIRTh_C-SME_hIRTh, SME_hIRTh_3F-SME_hIRTh
    3.         dc.w SME_hIRTh_72-SME_hIRTh, SME_hIRTh_A5-SME_hIRTh
    4.         dc.w SME_hIRTh_D8-SME_hIRTh, SME_hIRTh_E3-SME_hIRTh
    5. SME_hIRTh_C:    dc.b $A
    6.         dc.b $80, $D, $80, 0, $F8
    7.         dc.b $80, $D, $80, $18, $18
    8.         dc.b $80, $D, $80, $20, $38
    9.         dc.b $90, $D, $80, $10, $F8
    10.         dc.b $90, $D, $80, $28, $20
    11.         dc.b $A0, $D, $80, 8, $F8
    12.         dc.b $A0, 1, $80, 0, $18
    13.         dc.b $A0, 9, $80, $30, $28
    14.         dc.b $40, 5, $81, $A, $F8
    15.         dc.b $B0, $D, $81, $E, $F8
    16. SME_hIRTh_3F:   dc.b $A
    17.         dc.b $80, $D, $80, 0, 0
    18.         dc.b $80, $D, $80, $18, $20
    19.         dc.b $80, $D, $80, $20, $40
    20.         dc.b $90, $D, $80, $10, 0
    21.         dc.b $90, $D, $80, $28, $28
    22.         dc.b $A0, $D, $A0, 8, 0
    23.         dc.b $A0, 1, $A0, 0, $20
    24.         dc.b $A0, 9, $80, $30, $30
    25.         dc.b $40, 5, $81, $A, 0
    26.         dc.b $40, $D, $81, $E, $10
    27. SME_hIRTh_72:   dc.b $A
    28.         dc.b $80, $D, $80, 0, 0
    29.         dc.b $80, $D, $80, $18, $20
    30.         dc.b $80, $D, $80, $20, $40
    31.         dc.b $90, $D, $A0, $10, 0
    32.         dc.b $90, $D, $80, $28, $28
    33.         dc.b $A0, $D, $80, 8, 0
    34.         dc.b $A0, 1, $80, 0, $20
    35.         dc.b $A0, 9, $80, $30, $30
    36.         dc.b $40, 5, $81, $A, 0
    37.         dc.b $40, $D, $81, $E, $10
    38. SME_hIRTh_A5:   dc.b $A
    39.         dc.b $80, $D, $80, 0, 0
    40.         dc.b $80, $D, $80, $18, $20
    41.         dc.b $80, $D, $80, $20, $40
    42.         dc.b $90, $D, $A0, $10, 0
    43.         dc.b $90, $D, $80, $28, $28
    44.         dc.b $A0, $D, $A0, 8, 0
    45.         dc.b $A0, 1, $A0, 0, $20
    46.         dc.b $A0, 9, $80, $30, $30
    47.         dc.b $40, 5, $81, $A, 0
    48.         dc.b $40, $D, $81, $E, $10
    49. SME_hIRTh_D8:   dc.b $A
    50.         dc.b $80, $D, $80, 0, 0
    51.         dc.b $80, $D, $80, $18, $20
    52. SME_hIRTh_E3:   dc.b $A
    53.                                 dc.b $80, $D, $80, 0, 0
    54.         dc.b $80, $D, $80, $18, $20
    55.                                 even
  4. Cinossu


    London, UK
    Sonic the Hedgehog Extended Edition
    Your problem is the "dc.b $A" on the last two mapping frames. The $A is the number of fragments per frame, and that's been reduced now, hasn't it? :P
  5. c1owd


    Previously 'CarrascoZX0' Member
    Yes I have a problem with credits... I'm not doing the credits but my team member: Selbi is and he doesn't have a Sonic Retro account... So I'll post it here for him...:

    To see original post in SSRG here's the link
  6. SonikkuForever


    Be cool, be wild, and be groovy! Member
    Gathering information on Sega World Sydney and collecting Sonic merchandise.
    Is it at all possible to hack Sonic 06 to make a version that works on a PC? I don't think so, but maybe it can be done with enough editing?
  7. Afti



    Not unless you feel like running under a constant layer of 360 emulation, which takes technology which isn't yet on the market, or you can convince SEGA to give you the C source so you can build for PC.

    Neither one is going to happen anytime soon.

    Also, do we really want to spread the plague that is Sonic 06?
  8. muteKi


    Fuck it Member
    Depends on whether or not it means actual bugfixes and better loading times.
  9. SonikkuForever


    Be cool, be wild, and be groovy! Member
    Gathering information on Sega World Sydney and collecting Sonic merchandise.
    I've always thought it would be cool if someone could fix all the bugs and long loading times in Sonic 06 - essentially finish the game, since what we ended up with is pretty much a beta since it was so rushed.
  10. Overlord


    Now playable in Smash Bros Ultimate Moderator
    Berkshire, England
    Learning Cymraeg
    Anything is possible.

    Probable? HELL no.
  11. Sik


    Sik is pronounced as "seek", not as "sick". Tech Member
    being an asshole =P
    If "enough editing" means making the program from scratch, then yes.

    Actually it'd be interesting to make an engine that can use the data from the new-school games. I assume you can port bytes everywhere, right? =P
  12. Polygon Jim

    Polygon Jim

    Eternal Tech Member
    across town from Hinchy
    All the bitches.
    Pay me $100,000 and I'll make Sonic 06 for the PC with better load times and no lag.

    No really not kidding, but I'm not doing it for free.
  13. This is why I kinda wish Sega ported the game to PC. I wanted to fuck around with it =P. See if there was any more code that anyone hasn't found...Possibly finish the game <_<...
  14. filmzombie


    The real spindash... Member
    England- The Land of Tea
    Sonic Synthesis
    Okay guys, as you know my hack is currently focussing on layout only in SonEd2. Afterwards I will take cautious baby steps into art editing and gradually I'm hoping it will evolve as I keep going back to it.

    My main aim is innovation. I'm not very skilled but I intend to make the smallest of changes feel larger. Yet, as I reconstruct zones in Sonic 2, I also have plans to include elements I have no clue about, hence why I will be asking for assistance here.

    One is to include short Picture style introductions to levels, Sonic 2 MS style.
    One is to work out a way to feature chaos emeralds in zones a.k.a both Sonic 1/2 MS style. (until then extra lives will take their place)
    Another is a means of working out how to get badniks to "respawn". If anyone knows of a way to do this, it will prove to be a really good feature.

    And finally, I want to feature alternative gens music and act titlecards. Although naturally, this is something that I'll explore myself after art editing.

    If anyone can help me with any of the above, I will smother you with thanks.
  15. Tweaker


    CarrascoZX0, do not repost the same question multiple times in multiple topics. I've deleted your second occurrence of that particular post; if I see it again, you're getting a suspension. If someone is interested in answering your question, they'll do it on their time—not yours.
  16. c1owd


    Previously 'CarrascoZX0' Member
    Sorry about that Tweaker... It won't happen again...
  17. Shadow Hog

    Shadow Hog

    "I'm a superdog!" Member
    Right, so I've been tempted to get in on this VGM-posting frenzy, given all the fun being had in Creative Works and all... so I finally decided to try my hand at xm4smps and what have you. I'd thought I'd figured it all out - take an XM, minimize it to the maximum number of channels the Genesis can handle, tell the program what XM channels go to what FM/PSG channels, select the instruments, hit the convert button, put the resulting bin into a Sonic 2 disassembly, reassemble, boot up the Sound Test and enjoy.

    Well, following that set of instructions, I get... a broken sound driver in Sonic 2. (That is to say, the other songs play, but if mine plays, no sound will ever come out of the system again, until I restart the ROM - kind of like how the continue cheat plays Oil Ocean ad infinitum, only mine doesn't play anything.) Trying the resulting BIN files in <a href="">Rob Jinnai's SMPS player</a> only results in crashing said player. I figured it was, perhaps, outputting it in the wrong pointer format for Sonic 2, something easily fixable with that "Music Pointer Fixer" I'd discovered while searching the site for a solution to this, so I try that out, only to get:


    Obviously I'm doing something wrong, here. Thus, so as to be as transparent as possible as to my process, here's a full-out demonstration of what I'm doing. With pictures!

    First off, <a href="">here</a> is the XM I'm converting. I tried a MIDI conversion first, only to get the same error, so I figured I'd try to see if a base case would work first before getting very fancy.

    Okay, so let's start messing with xm4smps, then.

    So far, so good. XM is loaded and ready to work with.

    Only one channel, and most of my instruments SHOULD be for FM, so that's what I set it up as. I also see no reason it shouldn't loop, so I check that. The XM is setup to loop from the only pattern it has, according to my tracker, so!

    Right, this is one of the steps I'm unfamiliar with, so this might be where I'm messing up. Still, it looks simple enough - I only have one instrument in the XM, so I grab one from the instrument list and go about my business, like so.

    I'd imagine there's a bit more to do here - like, "okay, these are the instruments I want, now commit them to this song" or something - but no such dialog box shows up. Best I can do is assume I've done it right and move on.

    If it matters, <a href="">this</a> is the instrument set I'm using. Nabbed it from <a href="">Roxahris</a> here.

    I don't really care to mess with volume or panning or any crap like that right now. When I get a working file, sure, I'd mess with it to make it prettier, but I just want a working file right now, regardless of how crappy it comes out. Thus, I completely ignore this panel and move on. (Which also may be where the mistake is, I dunno.)

    I'm not entirely sure what's going on here. I assume "instrument 0" on the FM side is the one instrument I've already loaded, and that XM instrument "1" is presently mapped to it. No further input from me is needed, I guess.

    PSG isn't selected, but AFAIK I'm not using PSG, so that's negligible.

    Okay, time to convert.


    So I nab the latest version of the bin and asm (uploaded <a href="">here</a> and <a href="">here</a> for reference), and put them into the "conversions" folder in my xm4smps folder. I don't really feel like making another reassembly, right now, but I'll try the bin out in that SMPS player. If it works there, certainly it'd work in Sonic 2 itself?

    ...that's certainly not promising.

    Just for the helluvit, let's check that Pointer Fixer thingy again.


    So right, this is probably all the info you'd need to figure out where exactly I'm completely screwing up. I'm not 100% sure where it is, myself - it looks like the process should be relatively painless (to get any output at all, that is, not necessarily to get GOOD output), but I'm obviously missing something, since this isn't working at all.
  18. nineko


    I am the Holy Cat Tech Member
    The music pointer fixer can only work with 0603 and 0703 songs. Your one is a 0200.

    Also you have to rename the song to .smp if you want to play it in Rob Jinnai's player, since xm4smps targets Sonic 1's format.
  19. Shadow Hog

    Shadow Hog

    "I'm a superdog!" Member
    Well, that gets it playing. Glad to know I actually am doing everything right.

    So if I want to record a VGM of it, I would put it into a Sonic 1 disassembly instead of Sonic 2?
  20. Spanner


    The Tool Member
    United Kingdom
    Sonic Hacking Contest
    Yes. As nineko said, xm4smps (along with xm3smps and xm2smps) can only output songs in the Sonic 1 SMPS format. Just replace a song from the Sonic 1 Disassembly in order to use it. If you want to use the asm file, then go to the music index and use an include instead of an incbin/binclude. For example if you're using Music81:
    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm">Music81: [color= #00bfff;]incbin[/color] sound/music81.bin</pre><!--gc2--><!--TXVzaWM4MTogICBpbmNiaW4gc291bmQvbXVzaWM4MS5iaW4=--><!--egc2--><!--g2--></div><!--eg2-->
    Would be changed to:
    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm">Music81: [color= #00CC66;]include[/color] [color= #CC33CC;]"sound/music81.asm"[/color]</pre><!--gc2--><!--TXVzaWM4MTogIGluY2x1ZGUgICZxdW90O3NvdW5kL211c2ljODEuYXNtJnF1b3Q7--><!--egc2--><!--g2--></div><!--eg2-->
    You'd also have to include the smps2asm macros at the top of your main ASM file if you're using the asm version though.