don't click here

Basic Questions & Answers thread

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

  1. Interrobang Pie

    Interrobang Pie

    Get a load of palm. Member
    24
    0
    0
    England
    Something that must be kept a SUPER SECRET.
    Ah crap. I'm having some real trouble trying to figure out xm4smps. :|

    Voices are the things that are getting me. I'm not sure what file I should be loading (I'm guessing I'm looking for the filetype 'SMPS raw voices'). Now, opening a Sonic 1 ROM gives me ~20970 voices (I'm guessing ididitrong), and opening psgX.bin from my SVN disassembly gives me none whatsoever. I then went to the filetype 'Rip from SMPS Z80 song' and opened z80_1.bin, which froze it. Erk.

    Y'see, theres no decent tutorial on how to use the bugger, so I'm absolutely clueless. I'll think about writing one after I figure it out. Help is appreciated.
     
  2. amphobius

    amphobius

    doing more important things with my life Member
    2,120
    0
    16
    life
    *cough*

    Voices are found in music files, easily found in the sound folder.
     
  3. Interrobang Pie

    Interrobang Pie

    Get a load of palm. Member
    24
    0
    0
    England
    Something that must be kept a SUPER SECRET.
    Got it, cheers brah.
     
  4. Selbi

    Selbi

    The Euphonic Mess Member
    1,492
    40
    28
    Northern Germany
    Sonic ERaZor
    It would if you'd work with $10(a0) and $12(a0) (velocity). But because the code you got there moves the object's position absolutley with 8(a0), you don't need that.
     
  5. Selbi

    Selbi

    The Euphonic Mess Member
    1,492
    40
    28
    Northern Germany
    Sonic ERaZor
    Sorry for double posting, but got a little question: I started to do some IDA stuff and wanted to disassemble a simple ROM. So far, everything works fine, but there's something that bothers me, how can I transform this:
    Code (ASM):
    1.         dc.l $FFFE00
    2.         dc.l loc_206
    3.         dc.l sub_200
    4.         dc.l sub_200
    5.         dc.l sub_200
    6.         dc.l sub_200
    7.         dc.l sub_200
    8.         dc.l sub_200
    9.         dc.l sub_200
    10.         dc.l sub_200
    11.         dc.l sub_200
    12.         dc.l sub_200
    13.         dc.l sub_200
    14.         dc.l sub_200
    15.         dc.l sub_200
    16.         ....
    17.  
    Into something like this:
    Code (ASM):
    1.         dc.l $FFFE00, loc_206, sub_200, sub_200
    2.         dc.l sub_200, sub_200, sub_200, sub_200
    3.         dc.l sub_200, sub_200, sub_200, sub_200
    4.         dc.l sub_200, sub_200, sub_200, sub_200
    5.         dc.l sub_200, sub_200, sub_200, sub_200
    6.         ...
    Of course it's not necesary or something, but it is a lot nicer and takes less lines this way.
     
  6. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,719
    1
    0
    being an asshole =P
    I usually turn stuff like that into arrays. Press * on the numpad and make sure to mess with the settings to get the exact layout.
     
  7. Selbi

    Selbi

    The Euphonic Mess Member
    1,492
    40
    28
    Northern Germany
    Sonic ERaZor
    I did that and it works pretty good so far. However, now he transformed every label name into a hexadecimal offset (e.g. sub_200 became $200). Is there anything I need to take care off?

    EDIT: Just need to press O on the line.
     
  8. Azu

    Azu

    I must be stupid. Member
    Ripping sound effect from Gens roms? Any tool that will let me do that? Or will have to disassemble the rom? It's Mega Bomberman by the way.
     
  9. Ravenfreak

    Ravenfreak

    I dunno what I should put here. Tech Member
    3,027
    149
    43
    O'Fallon Mo
    Hacking Sonic Drift, Writer at Sonic Cage Dome
    I have a question regarding the super/hyper flag in S3K. It says on the wiki, to set the hyper flag, set the address with the value 7. I thought flags are only set with either a 0 or 1, since in binary format 0/1 means off/on. Also, I set the flag with the value #-1, and it worked. I didn't really know where to post this, but would this be correct?
     
  10. MarkeyJester

    MarkeyJester

    Nothing's Impossible Resident Jester
    2,164
    334
    63
    Japan
    If you're referring to porting it to SMPS format for Sonic games, then firstly, there are no tools are far as I know, and Mega Bomberman uses a different sound driver from what I know, so porting it will no doubt be difficult, let alone the fact that you'd need to find the locations for these sound effects.

    I think it's referring to what bit is to be set, like "the 7th bit", setting the 7th bit (10000000) clearing the 7th bit (00000000), of course I know almost nothing of S3&K's coding, so apologies if this is not the information you were looking for.
     
  11. Azu

    Azu

    I must be stupid. Member
    Actually, I don't want to port anything, I want to rip them as wavs or something.
     
  12. FraGag

    FraGag

    Tech Member
    VGM pack on Project 2612.
     
  13. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,719
    1
    0
    being an asshole =P
    Those packs only include the background music, not the sound effects.
     
  14. Namo

    Namo

    take a screenshot of your heart Member
    2,912
    0
    0
    What Sonic hacks do you guys recommend? Doesn't have to be a specific Sonic game, as long as its not 3D Blast/Flickie's island.
     
  15. Actually it said set bit #7, like MJ said. I've changed the wording to be clearer. Additionally, flags only need to be either 0 or 1 if they occupy just a single bit. The Super/Hyper flag occupies a whole byte and so can take any value between 0 and $FF.
     
  16. Was editing more zones in S2, and I've run into a problem.

    ARZ has been not functioning for a while, I thought it was PLC related, but I've pinpointed the location because of this problem.


    When the zone is loaded (either via previous act or LS) the screen goes back, and it goes into an infinite loop of blackness.



    The reason, is Level_ClrRam: from my investigating. That's where the water is added. Removing water from said levels makes it load properly. Is there some kind of bug with this code making it bugger up RAM when water is in a level and with other conditions? (Data shift I'm assuming)


    How can I prevent this from happening?
     
  17. randomselect

    randomselect

    ?!?! Member
    63
    0
    0
    Nothing recently
    If you mean which is best to hack, I'd say Sonic 1 for the ease and sheer amount of information on it, or Sonic 2 for the increased amount of things you can do with it if you know how.
     
  18. Namo

    Namo

    take a screenshot of your heart Member
    2,912
    0
    0
    No, no, I meant like, which Sonic romhacks. Like Megamix and such. I didn't know where else to ask and didn't think the question was new topic worthy.
     
  19. DigitalDuck

    DigitalDuck

    Arriving four years late. Member
    5,262
    362
    63
    Lincs, UK
    TurBoa, S1RL
  20. Namo

    Namo

    take a screenshot of your heart Member
    2,912
    0
    0
    Thanks, D. Duck :)