Basic Questions & Answers thread

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

  1. Shadow Hog

    Shadow Hog

    "I'm a superdog!" Member
    I think I'll stick with the bin file for now, given that I don't really understand asm. Yet.

    Thanks for the help!
     
  2. There's nothing to it really.

    include is what it is. To include something.
    incbin is for including BIN files, hence incBIN.
     
  3. PsychoSk8r

    PsychoSk8r

    PsychedelAnt | Tone Turner Oldbie
    2,582
    3
    18
    Birmingham, UK
    30 Day Project: Revisited.A New Release!
    Two questions.
    Firstly, would you rather see special stage monitors, or S3K style special stage rings?
    Secondly, I need some help with VRAM. Loading the SS Ring's art overwrites a couple of badniks. I've not had to mess with VRAM before, so any help will be greatly appreciated.
     
  4. Hitaxas

    Hitaxas

    Retro 80's themed Paladins Twich streamer Member
    For people that will tell me to research more: I meant most people haven't, not that it's NEVER been done before. :(
     
  5. ColinC10

    ColinC10

    Tech Member
    They sound like decent enough goals to me! I'll try and give you a couple of hints on where to start. These are just rough ideas, not instructions on what to do!

    - For pictures in title cards, that should be a simple enough case of adding some art and then getting the title card mappings to point to it. I'm sure there must be documentation on changing title cards sitting around somewhere.

    - To get collectable emeralds within zones, I would personally start with object 25 ("A ring"). Change the graphics to an emerald and make it update Emerald_count instead of Ring_count - job done.

    - A quick and dirty way of getting enemies to respawn is to set their "Remember sprite state" flag to "No" (press the 0 key in SonEd2). Enemies will reappear once they move a short distance off screen. For something a bit more sophisticated, I would suggest having an additional routine for the enemy that it uses when it's dead (instead of deleting itself). This routine wouldn't move or display the enemy - it would just count down for a certain time and then call the enemy's initialization routine again.

    I'm not sure how much you know of ASM, but hopefully some of that means something to you!
     
  6. McGuirk

    McGuirk

    The Egg-Man Cometh. Member
    576
    0
    16
    Fort Worth, Texas, USA
    Making a Full-Sized Egg Carrier in Minecraft.
    Are there any decent guides written on sprite programming? My eventual goal would be bosses, but badniks are a start=)

    I've looked around for a while but have yet to see any good material.
     
  7. Do you know if with Sonic Mega Collection Plus, you can edit the DVD so you can separate the installation of each game?

    Thanks in advance.
     
  8. Afti

    Afti

    ORIGINAL MACHINE Member
    3,521
    0
    0
    Games are ROMS running in an emulator. You probably could, but you'd need to have several copies of the emulator. Not space-efficient.

    Just delete the other games' files, replace them with dummy ROMs.
     
  9. Namagem

    Namagem

    Member
    388
    0
    16
    USA
    I think he means to make it so that certain roms aren't installed. Possibly, but it would require hacking the installer EXE.
     
  10. I'm talking about the original DVD game for PC.
     
  11. Afti

    Afti

    ORIGINAL MACHINE Member
    3,521
    0
    0
    Modifying the original DVD is impossible. DVD-ROM is impossible to burn to once pressed.
     
  12. Is it possible if I hack the .exe of the DVD? I mean, I can burn the original DVD.
     
  13. McGuirk

    McGuirk

    The Egg-Man Cometh. Member
    576
    0
    16
    Fort Worth, Texas, USA
    Making a Full-Sized Egg Carrier in Minecraft.
    Shameless bump, as my post drowned, and I am genuinely interested in my previous question.
     
  14. Malevolence

    Malevolence

    Tech Member
    274
    0
    16
    Well, I don't believe there are any but maybe these will help you. FraGag and I a while ago worked on this while he was teaching me ASM68K http://pastebin.com/f7a74c999 (from S1).

    This was something I did a few months ago, it's much more advanced but it may wind up helping http://pastebin.com/f907c5ac

    The main thing to do for learning this kind of stuff really is analyzing existing code to see how such effects are achieved. For sonic 1 this will be your best friend and for sonic 2 this will be your best friend. You'll be looking at the "Object Status Table Format" part the most. Also, the bottom part of this (Condition Codes for Bcc, DBcc and Scc Instructions) is useful for the different branches. I should come up with a guide of basic sprite programing, it shouldn't be hard to make. Anyway, good luck.
     
  15. Thorn

    Thorn

    Tech Member
    333
    11
    18
    Home
    Sonic 2 Retro Remix
    This is a really basic question with a really long explanation, and probably boils down to me not being able to follow the path certain values are taking through my code.

    I've set up the Sonic 2 Sound Test to display from 01-$FF, and (at the moment) will have 01-$1F and $81-$9F playing music tracks. I've set up the following changes, but somewhere along the line I'm mixing up a greater/less than check or flat out doing it wrong.
    [codebox]loc_9146:
    ...
    move.w (Sound_test_sound).w,d0 ; move the selected Sound Test value to d0
    cmpi.b #$80,d0 ; check which half of the sound test we're in
    bgt.s SoundTest_LowerHalf ; if the lower half, branch
    subi.b #$80,d0 ; make sound ID $80 less than Sound Test value (for time being),
    ; e.g. if $82 selected, pass 02.
    bra.s + ; branch past code that adjusts other half of sound test
    SoundTest_LowerHalf:
    addi.b #$80,d0 ; add $80 to the selected ID, e.g. if 02 selected, pass $82.
    +
    bsr.w JmpTo_PlayMusic ; prepare to sort playlists and play a track
    ...[/codebox]
    [codebox]PlayMusic:
    move.b #0,(MusicList2Flag).w ; make sure we're using the primary playlist
    cmpi.b #$80,d0 ; compare the Sound ID to $80
    ble.s + ; if $80 < ID, then ID is fine, branch
    addi.b #$80,d0 ; else, add $80 to the ID...
    move.b #1,(MusicList2Flag).w ; ...and prep the secondary playlist.
    +
    move.b d0,($FFFFF00A).w ; set ID to have its track played
    rts[/codebox]
    [codebox]loc_7202C: ; by now, the ID has been passed to d7 by the Sonic 1 Sound Driver
    jsr sub_725CA(pc)
    movea.l (off_719A0).l,a4
    subi.b #$81,d7 ; edit the ID so that it matches an index in the playlist
    move.b (a4,d7.w),$29(a6)
    movea.l (Go_MusicIndex).l,a4 ; load the primary playlist
    cmpi.b #1,(MusicList2Flag).w ; prepped for secondary playlist?
    bne.s + ; if not, move on
    movea.l (Go_MusicIndex2).l,a4 ; load the secondary playlist
    +
    lsl.w #2,d7
    ...[/codebox]
    What this results in is most sound effects playing (I'm worrying about getting music to play before fixing the few outliers here), but only tracks $81-$9F -- the "secondary playlist" above -- playing in-game; primary playlist 01-$1F is silent. So, for anybody who cares to muddle through that, is there an error? I've followed it by hand using 02 and $82 as example selected sound test IDs (which equate to calling $82 and 2 respectively from anywhere else in the ROM), and it looks fine to me. :s
     
  16. c1owd

    c1owd

    Previously 'CarrascoZX0' Member
    183
    0
    16
    I have a question... How do you disable or take out the demo play on the credits? (I think that might solve my credits problem...)
     
  17. Spanner

    Spanner

    The Tool Member
    3,286
    82
    28
    United Kingdom
    Sonic Hacking Contest
    Dunno if I should be posting this but since nobody's been able to help...
    I'm trying to get DAC samples 8F and after to work. My S3K sample list has the correct sample pitches and sizes yet for some reason they're not working. Puto provided me with a few lines that was supposed to rectify the issue yet it's not working. Anyone able to help me with this problem, if it helps it can be done privately.
     
  18. 1st off I want to thank the community for adding/validating me. I'm happy to have got this far. Unfortunately I am not very familiar with emulators and things of that nature.

    I have been looking on the forums trying to find how to get starting.

    At the moment I am unable to contribute because I don't know how to get started. I don't have any emulator or program to read/play the games that are made.
    From what I understand I need some kind of program to read the play it and the actual game file itself. Its a little confusing for me cause I'm not very knowledgeable about this.
    So what I'm asking from the community is if someone could help me get started.

    So recap:
    1) What do I need to play the games made by the team
    2) Where can get the games so that I may test/play (I really want to see some sonic HD levels)

    And Finally I want to apologies if this has been posted before. I have been looking at the forums for hours now and I cant figure it out.
    I truly would appreciate any help.
     
  19. nineko

    nineko

    I am the Holy Cat Tech Member
    You need an emulator. Kega and Gens are the most popular ones.
    Then you run the emulator of your choice and you do something like "File -> Open" or "File -> Load ROM" (it depends on the emulator but it's pretty intuitive).
    Where to find the roms, it's up to you. You can find the hacks on the wiki, but due to legal issues I can't link you to the original ROMs. It's easy to find them anyway (hint: google).

    Sonic 2 HD is a completely different matter though. It's currently being developed on this very forum. As of now, it's the only Sonic HD game in the making. Not counting that hq4x crap pulled by Sega.
     
  20. Thats pretty helpful. Well I played sonic 123 for ever so I'm going to check out some of the hack stuff. I was playing sonic flash game and it runs really shoppy and I know you guys made better games