don't click here

Sonic 3D general hacking topic

Discussion in 'Engineering & Reverse Engineering' started by Sik, Dec 5, 2008.

Thread Status:
Not open for further replies.
  1. Ollie

    Ollie

    DIGGY DIGGY HOLE Member
    They do look similar to the ones in the Mega Drive version, maybe they're just unused?
     
  2. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
  3. Rob Jinnai

    Rob Jinnai

    Not really master of theory debunking anymore Tech Member
    215
    0
    0
    Custom Game Engine Prototypes
    Bahahaha

    Boy, how often does anyone go to a continue screen?
     
  4. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    Still sad ;_;

    Whatever, for some reason having the decompression cracked speed up the disassembling a lot o_O So now you get a huge update in the SVN. Go and check. I think level editing is getting near, I managed to start with the format of one of the things pointed by the level headers (it's a list of extra graphics to load into VRAM, though no idea why bosses load graphics that are only in non-boss stages - most likely sloppy designing). Also added a few more addresses around all the new database, as well as now you can safely grab the background of the menu and the Continue screen because now all palette, graphics and even the tilemap arrangement are known =O

    Also extra points to whoever figures out why 1bpp FMVs are so smooth by only looking at VDP activity. Sure, smaller frame size has to do with it somehow, but remember that uploading tiles in VRAM is horribly slow, so some major cheatery goes there. Go and find it if you can. I already know the trick.
     
  5. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    *double post*
    I somehow want to keep this topic alive :)

    [​IMG]
    What the hell, Ashura 3D Blast? XD

    Whatever, definitely I touched some code that has to do with Sonic's sprite. The subroutine starts at $140E, if anybody wants to check in the disassembly. For some reason the palette can be changed, because I didn't NOP the instruction but forced a branch... Now go and check, the branch is at $147A =P

    EDIT: found why the branch, it's used for the sprite when Sonic gets frozen in DDz =P
     
  6. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    *triple post* :colbert:

    http://srb2town.sepwich.com/junk/sonic3dh.zip

    32MB-enabled ROM. Yes, serious, I've broken the 4MB limit. Should work in any emulator that can run Super Street Fighter 2 The New Challengers as it uses the same mapper (Phantasy Star IV uses it too). This should make level editing easier. Right now it only works for RNC'd data, but later I may add wrappers for other kind of data. As a proof that it works, go into Green Grove and trigger the first big ring. Lights changed from light green to blue (those graphics are compressed) =P That data is at $400000, just above the 4MB limit.

    Rules:
    • Data cannot cross a 512KB boundary. Take into mind it also has to fit into RAM which is 64KB, so...
    • ROM must be padded to a 512KB boundary, or emulators may crash. Watch out.
    Remind me to put up the patch for it. Also I have to put up the patch for the no flicky hack... ARGH x_X

    And please, don't enter the Level Select. I really mean it :v:
     
  7. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,252
    982
    93
    Long-term happiness
    Very nice work, this should lead to some massive levels. Also, you realise as soon as I saw that instruction I had to break it, right? On that note - LOL =P Though I could do that with STE =P
     
  8. GIHunter

    GIHunter

    Member
    Gawd!
    Rickrolled
    ! How dare you
    Rickroll
    me!
     
  9. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
  10. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    I hope nobody gets angry with double posting ._. Tweaker told me it was fine as long as I kept posting new content, but still... This board needs some kind of setting or something so when editting a post, the user can choose whenever the "new posts" flag gets updated or not.

    Whatever: http://srb2town.sepwich.com/junk/rnchack.zip
    Patch for the 32MB hack for RNC'd data.

    And yes, I know I still have to release how to do the no-flicky hack, but meanwhile, stick with this, as it's probably more useful. Though you better find a working RNC compressor for this one or then you'll have pretty much nothing to do =/ And you also need to find pointers to the data you're replacing and make them point to your new data and such =P Yeah, we're back at the hex-only hacking times =]
     
  11. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    Triple bump post >____> It starts looking more like a blog, but I don't think you'd pay attention to a blog, right?

    Whatever. I wanted to wait until I had an editor ready but I'm too lame for that =V Oh, well. Here's what I have:
    [​IMG]

    Basically I cracked the 32x32 mappings for plane B :) First a bit of explanation:

    Plane A and B work differently. Tiles used in Plane A are loaded in run-time as they don't fit into VRAM (hence they're uncompressed in the ROM). Plane B, in the other hand, is used for a few tiles that are loaded and stay static in VRAM (mainly the floor tiles). Those graphics are compressed and always have the same place in VRAM. So mappings for both planes can't be the same. This means these mappings only apply to plane B.

    And what is their format? An array of 16 words which are values ready to be put straight in the tilemap (for every 32x32 tile) =P

    I know this isn't much, but it's something at least.
     
  12. What D:

    How can't you call that much!

    IMO it's a huge leap for hackers ;)

    :)
     
  13. Lostgame

    Lostgame

    producer/turnablist. homebrew dev. cosplayer. Oldbie
    4,134
    58
    28
    Toronto, ON
    The O.I.C.
    Wowowowow. do want. Please keep posting progress. This may just be the thing that gets me back into hacking.
     
  14. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
  15. S.N.N.

    S.N.N.

    Meh. Member
    23
    0
    0
    Ontario, Canada
    Music and hacking
    It's great to see more work on Sonic 3D. You've done awesome so far Sik, and with your most recent update, I can say that I'm genuinely interested in seeing how far this can go.

    I think I still have a TXT full of data (various music pointers, some tile data, etc.) floating around on my HD. I posted it here years ago, but it eventually drowned in other topics. Not sure how useful it would be at this point, nor do I even remember much about it, but if you're interested, I could link it.
     
  16. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    If you can find it then please give it away. Everything helps, and pretty much the new database is empty compared to the old one (both are up on the SVN). Especially, I have no idea where the music pointers are o_o;

    EDIT: I assume that by music pointers you mean the addresses of the music data itself, right? Because if it's the BGM ID list for the levels, I already found it =P
     
  17. S.N.N.

    S.N.N.

    Meh. Member
    23
    0
    0
    Ontario, Canada
    Music and hacking
    The BGM ID is there (if I recall). There are also some pointers which Tweaker found that I added into it.

    Here is the data. A lot of it will probably be useless to you, but if you think you can pull anything from it, then that's fantastic. I was pretty inexperienced when I started doing this, so yeah :\. I was also able to assemble a few tiles, similar to you, but they didn't turn out quite that nicely :P

    I'll be keeping my eye on this thread though. The progress you have made is superb.

    (this has semi inspired me to delve through the ROM again. It's been so long, and I feel a lot more confident then I did two years ago. I might actually be useful now!)
     
  18. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    Actually a lot of that data is missing from my knowledge o_o; But there are some addresses I don't understand - e.g. the list at the beginning. When I go to those addresses, I find the code that triggers the credits screen when you don't get all the Chaos Emeralds (and maybe the bad ending too?).

    By the way, I noticed you tried to edit data at $100000. Well, that is data about Sonic sprites =P
     
  19. S.N.N.

    S.N.N.

    Meh. Member
    23
    0
    0
    Ontario, Canada
    Music and hacking
    I remember there were two versions of the ROM (.smd and .bin, I think?) and I think I was using the version that a lot of people advised against. Both of them are sitting in my folder now, so I couldn't tell you which one it was, but you might be using the opposite one that I used :\.
     
  20. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    BIN is a pure binary. SMD has the data interleaved - read bytes are moved all around. Which means nothing is in its place (not to mention it also has a header). If you've messed up with the SMD version then we're screwed :argh: Any SMD-to-BIN address converter out there, please? =/
     
Thread Status:
Not open for further replies.