Announcement

Collapse
No announcement yet.

Sega Mega CD ISO Hacks & Editors

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tony H
    replied
    I can confirm that 01E700:4E71 does not work on Gens or Gens Tracer 9.5b. It was worth a shot.

    EDIT: Mez, I've used that wiki site many times for Genesis hacking. Very helpful stuff.
    Last edited by Tony H; 01-18-2013, 10:22:12 PM.

    Leave a comment:


  • Tony H
    replied
    Originally posted by rimsky82 View Post
    That would (in theory) work for mess, and other emu's if they supported it as that's the way it is for the other systems.
    Now we just need to get emulator authors to implement that into some emulators.
    Last edited by Tony H; 01-18-2013, 10:15:05 PM.

    Leave a comment:


  • Mezmorize
    replied
    This could potently be useful, but getting a bit beyond me:
    http://en.wikibooks.org/wiki/Genesis_Programming

    Tells about the different areas of memory with Sega CD.

    Leave a comment:


  • rimsky82
    replied
    Originally posted by Tony Hedstrom View Post
    I think I understand what you're saying rimsky. kind of like how a SNES ROM address is not the same as the CPU address used in SNES Game Genie codes.

    Since there is no "official" Sega CD code format, we should figure something out that could be used in the db here.

    By looking in the asm trace logs that I make with Gens 9.5b, I can see the addresses that are used in there (which are not the same as the actual ROM addresses) but to be honest, I don't know if those are the actual addresses that the Sega CD hardware is using. My guess is that they are the addresses used by the hardware, but I'm not sure.

    For example, here is the assembly for subtracting fuel...

    01:E700 90 41 SUB.W D1,D0

    The address there is 01:E700, but the actual ROM address is 66DE38.
    Exactly. When pieces of the cd's track 1 are loaded into memory, they are placed in RAM. It's the same for NES, gameboy/color, and other systems where the ram is too small for the whole rom.

    The 01E700 is exactly what we'd be looking for, in regards to where the ASM is in the address space. So a ROM code for segacd would be 01E700?9041:4E71. Just the way a raw game genie code looks. That would (in theory) work for mess, and other emu's if they supported it as that's the way it is for the other systems.

    EDIT: I can confirm that when I load RDF in MESS, the value at address 01E700 is in fact 9041. If I could just figure out my problem that is freezing the mess gui, I could test your code. The tricky part will be seeing if MESS will allow us to write to that address or not. Maybe Nolberto could try it?

    Leave a comment:


  • nolberto82
    replied
    Code:
    [COLOR="#0000FF"]Final Fight CD - Sega CD[/COLOR]
    
    Semi Hit Anywhere(Enemies have to be somewhat close.)
    Search:  6B 00 03 E6 61 00 07 76 66
    Replace: 6B 00 03 E6 61 00 07 76 [COLOR="#FF0000"]60[/COLOR]
    
    Invincibility
    Search:  00 01 2C 61 00 03 12 66 00
    Replace: 00 01 2C 61 00 03 12 [COLOR="#FF0000"]60 02[/COLOR]

    Leave a comment:


  • Tony H
    replied
    I think I understand what you're saying rimsky. kind of like how a SNES ROM address is not the same as the CPU address used in SNES Game Genie codes.

    Since there is no "official" Sega CD code format, we should figure something out that could be used in the db here.

    By looking in the asm trace logs that I make with Gens 9.5b, I can see the addresses that are used in there (which are not the same as the actual ROM addresses) but to be honest, I don't know if those are the actual addresses that the Sega CD hardware is using. My guess is that they are the addresses used by the hardware, but I'm not sure.

    For example, here is the assembly for subtracting fuel...

    01:E700 90 41 SUB.W D1,D0

    The address there is 01:E700, but the actual ROM address is 66DE38.

    Leave a comment:


  • rimsky82
    replied
    Originally posted by Mezmorize View Post
    I'm not sure how that would work out.
    It would seem like the different dumping methods of the cd audio tracks could affect the addresses or something.
    Like a code made with a 1:1 copy might not work with a .mp3 type dump.
    Respectfully, I doubt that. The ASM is the same regardless of the variable length of the audio tracks.

    Leave a comment:


  • Mezmorize
    replied
    I'm not sure how that would work out.
    It would seem like the different dumping methods of the cd audio tracks could affect the addresses or something.
    Like a code made with a 1:1 copy might not work with a .mp3 type dump.

    Leave a comment:


  • rimsky82
    replied
    I don't think you understood my question. I know for certain that modified isos would work in other emulators, as well as in real hardware. When you go to enter a segacd code into the database, it'll ask you for an address and a value. It doesn't seem like you're getting the right address to patch as it lives in the sega cd's address space.

    The asm pages in the ram, because the ram usually isn't big enough to hold the first track of a sega cd, afaik. Also, there are 3 processors, the Z80 in the Genesis for sound, the 68k in the genesis, and the 68k in the segacd.

    It seems if we found where these addresses show up in the address space, we'd need to provide a compare value as well.

    I have a genny 1 & 2, and a 32x, but I haven't yet acquired a segacd. I plan to, but they weren't that cheap the last time I checked.

    Leave a comment:


  • Mezmorize
    replied
    Originally posted by Tony Hedstrom View Post
    Yes, the ISO hacks should work on any emulator that can play Sega CD games. If fact, I'll bet that if you could burn a hacked ISO file onto a CD-ROM, along with the related MP3 files, it would work on real hardware (assuming a real Sega CD console can read CD-ROM discs). Does anyone have a real Sega CD?

    Mez, one thing I've done sometimes in addition to using CE, is to make an assembly trace log with Gens 9.5b. I'm so used to reading asm files now, that it's easier that way for me. One problem I noticed is that when there is a reference in one of the A registers, the address there is not the actual address. I'm sure it has to do with what Rimsky mentioned about paging and switching. Will have to try and figure that part out. Could make better codes.
    Yea I'm still kinda figuring things out as I go when it comes to ASM, figured you would devise a better method :-)
    I never actually figured out how to use Gens with ram address and such, need to try that some time.
    I've only ever used the tracing successfully when making the Walk On Air codes.

    Leave a comment:


  • Tony H
    replied
    Yes, the ISO hacks should work on any emulator that can play Sega CD games. If fact, I'll bet that if you could burn a hacked ISO file onto a CD-ROM, along with the related MP3 files, it would work on real hardware (assuming a real Sega CD console can read CD-ROM discs). Does anyone have a real Sega CD?

    Mez, one thing I've done sometimes in addition to using CE, is to make an assembly trace log with Gens 9.5b. I'm so used to reading asm files now, that it's easier that way for me. One problem I noticed is that when there is a reference in one of the A registers, the address there is not the actual address. I'm sure it has to do with what Rimsky mentioned about paging and switching. Will have to try and figure that part out. Could find more codes with that info.
    Last edited by Tony H; 01-18-2013, 08:18:36 PM.

    Leave a comment:


  • Mezmorize
    replied
    Originally posted by rimsky82 View Post
    OK, but in using cheat engine, are you sure the addresses you provide will translate for other emulators? That's a big deal considering MESS would use them as well as any future emulators (Not that I'm holding my breath for that).
    Once I find the emulated ROM in Cheat Engine's Memory Viewer, I copy a bunch of bytes and paste them into Hex Workshop's find box.
    Far as I know the hacked games should work in other emulators also.

    Leave a comment:


  • Mezmorize
    replied


    Sol-Feace (U)

    Code Title: Show Extra Options [Note: Still requires Push-Button code to use the options...]
    Bytes To Search For:
    FFFF5F8442424E404A79FFFF5F886700
    Replace last 4 digits with 6002

    Code Title: Infinite Planes
    Bytes To Search For:
    007008390001FFFF60756600000C5379
    Note: Replace all 7 instances for each of the 7 stages.
    Replace last 4 digits with 6004

    ------------------------------------------------------------------------



    Star Blade (U)

    Code Title: Infinite Shield
    Bytes To Search For:
    37400008600C5940B0416C0230013740
    Replace last 4 digits with 6002

    ------------------------------------------------------------------------



    Star Wars: Rebel Assault (U)

    Code Title: Infinite Pilots
    Bytes To Search For:
    00010B4A4EBA53F44E714FEF00145379
    Replace last 4 digits with 6004

    ------------------------------------------------------------------------



    Thunderhawk (E)
    Code Title: Infinite Missiles
    Bytes To Search For:
    42AD00026100012E4A3860D266045338
    Replace last 4 digits with 6002

    ------------------------------------------------------------------------



    Ultraverse Prime (U)

    Code Title: Infinite Health (Player 1)
    Bytes To Search For:
    4A790008129A670000966A00001A0479
    Replace last 4 digits with 6006

    Code Title: Infinite Lives
    Bytes To Search For:
    0000E654FFEC000185680000E6540439
    Replace last 4 digits with 6006

    Increase Lives Cheat:
    Pause the game and press Down, Down, Up, Down, C, Left, Right, A, B.
    A sound effect will be played and the number of lives you currently have will increase by one.
    You can repeat the code as many times as you would like.

    ------------------------------------------------------------------------



    Vay (U)

    Code Title: Infinite Item Usage
    Bytes To Search For:
    4229000242290003422900044E755329
    Replace last 4 digits with 6002

    ------------------------------------------------------------------------



    Wild Woody (U)

    Code Title: Infinite Lives
    Bytes To Search For:
    0001000182E23039000182E24E750479
    Replace last 4 digits with 6006

    Code Title: Invulnerability
    Bytes To Search For:
    42390001119A4E750C69FFFF00346732
    Replace last 4 digits with 6032

    Code Title: Infinite Health
    Bytes To Search For:
    000348E7C000323900013EF6C0C19179
    Replace last 4 digits with 6004

    ------------------------------------------------------------------------



    Wolfchild (U)

    Code Title: Infinite Bombs
    Bytes To Search For:
    4A2B032566200C6B000004D26F18536B
    Replace last 4 digits with 6002

    Code Title: Infinite Lives
    Bytes To Search For:
    177C00FF02BC302B04C853406B143740
    Replace last 4 digits with 6002

    Code Title: Infinite Health
    Bytes To Search For:
    C91A377C000004D66100C932600E3740
    Replace last 4 digits with 6002

    ------------------------------------------------------------------------



    Wonder Dog (U)

    Code Title: Infinite Lives
    Bytes To Search For: 00FF800F48E7FFFE4E714CDF7FFF103900FF800E66EE301F4A 6D0BA46710536D
    Replace last 4 digits with 6002

    Code Title: Invulnerability
    Bytes To Search For: 3B7C00022412610016F04A6D24566706
    Replace last 4 digits with 6006

    ------------------------------------------------------------------------

    Leave a comment:


  • rimsky82
    replied
    Originally posted by Mezmorize View Post
    You can make ROM codes with any system that Fusion emulates when used with Cheat Engine.
    I have 10 games I've hacked in the last few months I could post.
    OK, but in using cheat engine, are you sure the addresses you provide will translate for other emulators? That's a big deal considering MESS would use them as well as any future emulators (Not that I'm holding my breath for that).

    Leave a comment:


  • Tony H
    replied
    Originally posted by Mezmorize View Post
    Awesome, always hated how the Sega CD was neglected code-wise just because it didn't have a cheat device.
    Would you mind if I also posted hacks in this thread.
    I would rather the old thread I had made to die out since I put out a lot of bad hacks back then.
    Putting all Sega CD hacks here would be a good idea.

    And I suppose I should take your cue and start listing the specific game/region the hacks are for.

    EDIT: Although now that I think about it, I'll bet that the hacks would work on any version/region of the game. Since you're searching for a hex string instead of using a specific ROM address, the hacks should work on all versions of the game in most cases.
    Last edited by Tony H; 01-18-2013, 07:44:58 PM.

    Leave a comment:

Working...
X