Announcement

Collapse
No announcement yet.

Doom 32x ROM Hacks

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Doom 32x ROM Hacks

    The infinite ammo codes below are not supported by any emulator that I know of, so you'll have to hack them into your ROM. Although I just found out that if you have a Neo Myth, you can input the cheat codes in the cheat manager to apply on the fly. Thanks to Chilly Willy for that info.

    Doom 32x ("JU" version)

    Open up your Doom 32x (JU) ROM with a hex editor (must be in "bin" format). Hack the following codes into the ROM...


    $07CC:6002
    32x Master Code (must use). Go to ROM address $07CC and change the B446 to 6002.


    $03F580:7100
    Infinite pistol ammo. Go to ROM address $03F580 and change the 71FF to 7100.


    $03F696:7100
    Infinite shotgun ammo. Go to ROM address $03F696 and change the 71FF to 7100.


    $03F38C:7100
    Infinite Rocket Launcher ammo. Go to ROM address $03F38C and change the 71FF to 7100.

    =========================

    Some extra technical info...

    The 3 ammo codes/hacks all have a code value of 7100. The original value at these ROM addresses is 71FF. 71FF is a 32x assembly instruction:

    71FF = add #FF, r1

    By adding "FF", you are really subtracting #01 (from your amount of ammo). By changing the value from 71FF to 7100, you are now adding #00, so your ammo never decreases. If you want your hack to make it so your amount of ammo INCREASES every time your fire a shot, just change the value to 7101.

    Also, if you see some Doom 32x PAR codes for infinite ammo on the internet that begin with "FFxxxx"... they don't work. "FFxxxx" is a standard Genesis/MD RAM address. All those codes do is freeze the ammo value that's shown on the screen, but you'll soon find out that your ammo will still run out. The ROM hacks above change the actual 32x programing/assembly, and give you true infinite ammo.
    The Code Hut: http://codehut.gshi.org/

  • #2
    Very nice work Tony! Thank you for sharing the codes. Can you find an infinite heath code?
    Last edited by orcanaoftime; 01-01-2011, 03:00:53 PM.

    Comment


    • #3
      Originally posted by orcanaoftime View Post
      Very nice work Tony! Thank you for sharing the codes. Can you find an infinite heath code?
      I tried making an infinite health ROM hack, but soon found out that the enemies use the same routine for damage. My first infinite health hack made the enemies invincible too. Ugh.

      With Genesis games that have enemies that use the same routine for damage (ie. most fighting games), it was usually fairly easy to find some unused/unneeded programing, and add some new programing that keeps forcing a value into the RAM address for your health. I haven't figured out how to do that in 32x games yet.

      There is a controller cheat for God mode, so I may not spend anymore time on that hack.

      Some more new Doom 32x hacks...

      $03CB50:7104
      Blue health pick-ups are worth 4 (instead of only 2). Go to ROM address $03CB50 and change the 7102 to 7104.


      $03CB50:7108
      Blue health pick-ups are worth 8 (instead of only 2). Go to ROM address $03CB50 and change the 7102 to 7108.


      $03CB68:7104
      Armor pick-ups are worth 4 (instead of only 2). Go to ROM address $03CB68 and change the 7102 to 7104.


      $03CB68:7108
      Armor pick-ups are worth 8 (instead of only 2). Go to ROM address $03CB68 and change the 7102 to 7108.


      $03D26C:0009
      Your armor never gets damaged. Go to ROM address $03D26C and change the 3128 to 0009.

      =======================

      Extra info...

      As with the ammo codes, most of these latest codes can be adjusted so you can modify the game to make it easier or harder. They use the same code format as before (7100 = add 00, 7101 = add 01, etc).

      The "Armor never gets damaged" code is different. It uses 0009 as the value which is NOP (No Operation) in 32x assembly, and can't be adjusted.
      The Code Hut: http://codehut.gshi.org/

      Comment


      • #4
        Since I use special builds of Gens for 99% of my hacking/code making, I rarely use Kega Fusion, but I just found out that Kega Fusion v3.63 accepts these 32x codes (no hacking needed). And if you are using Fusion, it looks like you may not need the 32x master code. The 32x master code is probably still needed when you use hacked ROMs in a flash cart, or other emulators.
        Last edited by Tony H; 01-02-2011, 11:51:46 AM.
        The Code Hut: http://codehut.gshi.org/

        Comment


        • #5
          Nice work Tony!

          I'm curious if you use Windows or not, the current version of Fusion is 3.64.
          I wished the Alt+G worked for Sega CD also >.<

          I had to use your Master Code for my first Game Genie code for Genesis.
          I was patching the ROM and trying to load it with Fusion, and was only getting a black screen.
          http://OldGameHacking.com/
          http://www.youtube.com/user/DreamcastVideos

          Comment


          • #6
            Yes, I'm using Windows (XP). What does "Alt+G" do? (I don't use Fusion much).
            Last edited by Tony H; 01-02-2011, 11:52:38 AM.
            The Code Hut: http://codehut.gshi.org/

            Comment


            • #7
              Oh, it's just the code input box.
              http://OldGameHacking.com/
              http://www.youtube.com/user/DreamcastVideos

              Comment


              • #8
                Originally posted by Mezmorize View Post
                I had to use your Master Code for my first Game Genie code for Genesis.
                I was patching the ROM and trying to load it with Fusion, and was only getting a black screen.
                The only problem I have with Master Codes is figuring out if they're needed on real hardware or not. There are MANY games that need a Master Code when played on an emulator, but don't need a Master Code when played on real hardware. Of course, it could just be the emulator I'm using. :-)

                EDIT: BTW, congrats on your first Genesis Game Genie code!
                Last edited by Tony H; 01-02-2011, 12:19:23 PM.
                The Code Hut: http://codehut.gshi.org/

                Comment


                • #9
                  Off Topic:

                  Thanks for the congrats!
                  Means a lot coming from the champion of Genesis Game Genie lol.

                  I used the same method that I showed you with CE/Fusion.
                  I thought about making a guide: 'An Insane Way To Make Game Genie Codes For Any System That Fusion Emulates'.

                  One last thing, you think you could convert the PAR code for Zaxxon's Motherbase 2000 (32X) to Game Genie for me?
                  FF0552:0004

                  Start - Start/end debugging
                  D-Pad - Move Object

                  A - Cycle down through the different objects
                  C - Cycle up through the different objects

                  B - Place current object down
                  Y - Remove current object

                  X - Cycle through the different speeds
                  Z - Move the map forward at the speed set by X
                  http://OldGameHacking.com/
                  http://www.youtube.com/user/DreamcastVideos

                  Comment


                  • #10
                    Was able to do the Zaxxon's Motherbase 2000 debug menu with a single Game Genie code. Many thanks for Ugetab's 68000 instruction list.

                    The assembly tracer was freaking out because of the 32x stuff, but was able to get enough info to make the GG code. This one was all about the correct replacement instruction. Here's the assembly that loads a value of 02 into your RAM address (FF0552)...

                    FF:00D6 1B 40 MOVE.b D0,$0006(A5) A0=00FFDB26 A1=00FFD396 A2=00A01450 A3=00882042 A4=00000000 A5=00FF054C A6=00FFCFFE A7=00FFFFFA D0=00000002 D1=00000008 D2=00000009 D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FF00 xnZvc

                    Here's what that means... it's moving the value from register D0 (which is 02) to RAM address A5 + 0006 (A5 = FF054C + 0006 = FF0552). We want a value of 04 in that RAM address instead. Here's how I did that... I just changed the 1B 40 MOVE.b D0,$0006(A5) instruction to this instruction instead: 58 2D addq.b #4, (-$0006,A5). That adds 04 to our RAM address (FF0552).

                    Here's our code: $00BBFC:582D = F07T-BT16 Enable debugger menu.

                    Only tested it enough to see that the hidden menu showed up and was functional.

                    EDIT: Good find Mez!
                    Last edited by Tony H; 01-02-2011, 11:22:45 PM.
                    The Code Hut: http://codehut.gshi.org/

                    Comment


                    • #11
                      Kickass Tony, thanks that was fast!
                      Thanks for showing me the technicality of it, I'm understanding, just need more experience with it I suppose.

                      I was surprised this was not known of before, since there were so few 32x games in the first place.
                      http://OldGameHacking.com/
                      http://www.youtube.com/user/DreamcastVideos

                      Comment


                      • #12
                        Good job on finding the hidden menu. Good to know there are unknown treasures like that still to be found.

                        Here's a bit more info on the method I used...

                        Use Gens Tracer to do a memory trace of your RAM address. That shows you were in the ROM the values for the RAM address are coming from. Here's what it looked like:

                        [FF:B8A6] W16 = 0000 [FF0552]
                        [FF:00D8] W08 = 02 [FF0552]

                        The ROM address we're interested in is [FF:00D8]. The problem is that because it's a 32x game, FF:00D8 isn't the actual ROM address. We'll use the assembly trace log to find the actual ROM address.

                        Do an assembly trace log.

                        Open the log and search for FF:00D until you find what your looking for (what's loading the value of 02 into our RAM address). Then use the method I described earlier to make the code. Note that the ROM address shown from the memory trace file is FF:00D8, and the actual ROM address for our code is $00BBFC. WTF?? As you can see, they're not even close. The way I find the actual ROM address is to write down a string of numbers from the assembly trace log and then search for them in the ROM with a hex editor.

                        This one was a little more difficult than most. You'll find that it's much easier with regular Genesis games.
                        Last edited by Tony H; 01-02-2011, 11:49:17 PM.
                        The Code Hut: http://codehut.gshi.org/

                        Comment


                        • #13
                          OK, is this the version of Gens I need?
                          http://www.romhacking.net/utils/337/

                          I just don't see where to input a RAM address to watch, but I don't usually use this emulator.
                          http://OldGameHacking.com/
                          http://www.youtube.com/user/DreamcastVideos

                          Comment


                          • #14
                            Yes, that's the right one. I wrote a guide on how to use it:

                            http://codehut.gshi.org/GensTracerGuide.txt

                            EDIT: Note that in the guide, I say to subtract 2 from the ROM address you get from the memory trace. It may not always be exactly 2 less than the address it gives you. The address it gives you is USUALLY 2 less.
                            Last edited by Tony H; 01-03-2011, 12:11:29 AM.
                            The Code Hut: http://codehut.gshi.org/

                            Comment


                            • #15
                              Mez, I'm going to add my Motherbase 2000 Game Genie code to my 32x GG file (giving you full credit for discovering the hidden options of course), but with your permission, I'd like in include your debugger instructions.
                              The Code Hut: http://codehut.gshi.org/

                              Comment

                              Working...
                              X