 |
 |
GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
zoinkity 007


Joined: 24 Nov 2005 Posts: 1764
 |
Posted: Mon Sep 07, 2026 12:36 am Post subject: |
 |
|
In USA 2DF can only contain data if loaded externally. Due to the way entries are created when walking the internal ROM table, the last file is always a dummy used to set the previous endpoint. No matter the length of the table, it stops reading things when the count hits 2E0 so you can't just push the dummy over the edge.
Loading externally 2DF can be used. That's because the size of the data is declared.
Pretty sure Japan fixed this. PAL is a whole other beast.
The editor's own handling of the table aside, the game does need an endpoint and that endpoint can't have its own endpoint. |
|
| |
|
|
|
 |
 |
 |
 |
 |
StupidMarioBros1Fan Agent


Joined: 07 Dec 2017 Posts: 59
 |
Posted: Mon Sep 07, 2026 2:39 pm Post subject: |
 |
|
Interesting that the different regions handled things differently. Do you mind explaining what you mean by "loaded externally" vs "loaded internally"?
I do take it that in short, leave "ob/ob_end.seg" alone as the last file to avoid issues which was what I expected. Thanks for explaining things. ? _________________ Stupid Mario Brothers is a YouTube series, get asked about my username a lot. |
|
| |
|
|
|
 |
 |
 |
 |
 |
zoinkity 007


Joined: 24 Nov 2005 Posts: 1764
 |
Posted: Mon Sep 07, 2026 5:29 pm Post subject: |
 |
|
Loaded internally: pulled from the ROM
Loaded externally: sent via PC
Might seem like a footnote but a lot of the specifics of the behaviour depend on how/why it supports both.
NTSC versions of GE are one of several games with semi-to-fully active file servers. Eventually will do a full write-up in the "debug stuff" thread with an example, just not sure what/how that example will be just yet. |
|
| |
|
|
|
 |
 |
 |
 |
 |
StupidMarioBros1Fan Agent


Joined: 07 Dec 2017 Posts: 59
 |
Posted: Thu Sep 17, 2026 6:53 pm Post subject: |
 |
|
Would it be possible to add a new option to the Weapon Stats page where if the Editor reads a custom RAM address for the Multi Pickup, an option to see & change the address can be available? Or maybe have it be like the Setup File list where the dropdown options are updated with whatever is located within the 21990 rather than a premade list?
While I couldn't figure out a way to extend the option to other slots, Gun 00 - 1F have their own slots so it is extremely easy to give Weapons like the Taser their own pickup models through Hex editing, the Editor simply does the typical "blank" option.
Given that's a niche case and requires Hex editing to begin with in order to find free spots in the 21990 File, I understand if it'd be too much of a hassle or something to implement this. Again, the only real issue is that the option blanks when using a custom address like if you Hex Edit one of the Level Unlock Hardcodes to use 14 or higher. (Which I did to "disable" the Load Credits feature)
Figured I'd ask anyways. _________________ Stupid Mario Brothers is a YouTube series, get asked about my username a lot. |
|
| |
|
|
|
 |
 |
 |
 |
 |
SubDrag Administrator

Joined: 16 Aug 2006 Posts: 6242
 |
Posted: Sat Sep 19, 2026 3:26 am Post subject: |
 |
|
| I doubt I'd start adding all these custom manual move addresses around - but supporting custom address instead of hardcoded is probably quick. Can you give me the technical details of what you did / what address works and then give a sample patch? |
|
| |
|
|
|
 |
 |
 |
 |
 |
Manocheese Agent

Joined: 27 Dec 2012 Posts: 7
 |
Posted: Sat Sep 19, 2026 11:39 am Post subject: |
 |
|
There seems to be a bug in the action block editor for action C4 (play sound effect). The sound effect ID displayed in the dropdown and in the summary text is 1 less than the ID encoded in the action. For example, here's part of action block 1002 in Bunker 1, which plays a sound effect when you hack the mainframe:
Both the dropdown and the summary text indicate sound effect E2. But in the encoded action (C400E3FF), the sound effect ID is E3. I'm not sure which one is correct. |
|
| |
|
|
|
 |
 |
 |
 |
 |
StupidMarioBros1Fan Agent


Joined: 07 Dec 2017 Posts: 59
 |
Posted: Sat Sep 19, 2026 1:26 pm Post subject: |
 |
|
| SubDrag wrote: | | I doubt I'd start adding all these custom manual move addresses around - but supporting custom address instead of hardcoded is probably quick. Can you give me the technical details of what you did / what address works and then give a sample patch? |
Here's an example file: https://drive.google.com/file/d/1Y4N6210G461SzXd7Z4GnhoNusihFVYLg/view
Besides being a standard GE rom after clicking "Delete Extra Debug Data" and "Delete Debug Data (and J text)"
the patch gives the Watch Laser and Taser custom addresses for Pickup Models (AR33 used for Watch Laser, KF7 used for Taser) and replaces the first two weapons in the "Slappers Only" MP weapon set. To be clear: The patch is meant for an unedited US rom, I was just specifying that the Debug Data had been deleted as part of the patch to make free space in the 21990 file.
The actual laser projectile is a bit funky because the Watch Laser clearly wasn't meant to be used in Multiplayer but otherwise the pickup models work as intended, including the KF7 prop not spawning the muzzle flash because it's being used for the Taser which does not spawn a muzzle flash.
Changes in the 21990 file:
Gun Details:
Gun 17: Watch Laser
Hex Address in 21990: 368F8
RAM Address: 80057688
Points to "80028590" in RAM.
Gun 1F: Taser
Hex Address in 21990: 36918
RAM Address: 800576A8
Points to "8005C190" in RAM.
New Pickup Model slot 1:
Hex Address in 21990: 7800
RAM Address: 80028590
Inserted "03E00008 240200BC"
New Pickup Model slot 2:
Hex Address in 21990: 3B400
RAM Address: 8005C190
Inserted "03E00008 240200B8"
As far as I can tell, it can be any valid RAM address besides pointing to the space after the last file name for files (ob/ob_end.seg), that's the spot reserved for renaming actual files and obviously shouldn't be messed with. I accidently tested that area when simply searching for the empty space left behind the removed Debug Data and wasn't paying attention. lol _________________ Stupid Mario Brothers is a YouTube series, get asked about my username a lot. |
|
| |
|
|
|
 |
 |
 |
 |
 |
SubDrag Administrator

Joined: 16 Aug 2006 Posts: 6242
 |
Posted: Sun Sep 20, 2026 7:59 am Post subject: |
 |
|
| Manocheese wrote: | There seems to be a bug in the action block editor for action C4 (play sound effect). The sound effect ID displayed in the dropdown and in the summary text is 1 less than the ID encoded in the action. For example, here's part of action block 1002 in Bunker 1, which plays a sound effect when you hack the mainframe:
Both the dropdown and the summary text indicate sound effect E2. But in the encoded action (C400E3FF), the sound effect ID is E3. I'm not sure which one is correct. |
It should be correct. It is -1 of value since 0000 is nothing. |
|
| |
|
|
|
 |
 |
 |
 |
 |
SubDrag Administrator

Joined: 16 Aug 2006 Posts: 6242
 |
Posted: Sun Sep 20, 2026 8:13 am Post subject: |
 |
|
| StupidMarioBros1Fan wrote: | | SubDrag wrote: | | I doubt I'd start adding all these custom manual move addresses around - but supporting custom address instead of hardcoded is probably quick. Can you give me the technical details of what you did / what address works and then give a sample patch? |
Here's an example file: https://drive.google.com/file/d/1Y4N6210G461SzXd7Z4GnhoNusihFVYLg/view
Besides being a standard GE rom after clicking "Delete Extra Debug Data" and "Delete Debug Data (and J text)"
the patch gives the Watch Laser and Taser custom addresses for Pickup Models (AR33 used for Watch Laser, KF7 used for Taser) and replaces the first two weapons in the "Slappers Only" MP weapon set. To be clear: The patch is meant for an unedited US rom, I was just specifying that the Debug Data had been deleted as part of the patch to make free space in the 21990 file.
The actual laser projectile is a bit funky because the Watch Laser clearly wasn't meant to be used in Multiplayer but otherwise the pickup models work as intended, including the KF7 prop not spawning the muzzle flash because it's being used for the Taser which does not spawn a muzzle flash.
Changes in the 21990 file:
Gun Details:
Gun 17: Watch Laser
Hex Address in 21990: 368F8
RAM Address: 80057688
Points to "80028590" in RAM.
Gun 1F: Taser
Hex Address in 21990: 36918
RAM Address: 800576A8
Points to "8005C190" in RAM.
New Pickup Model slot 1:
Hex Address in 21990: 7800
RAM Address: 80028590
Inserted "03E00008 240200BC"
New Pickup Model slot 2:
Hex Address in 21990: 3B400
RAM Address: 8005C190
Inserted "03E00008 240200B8"
As far as I can tell, it can be any valid RAM address besides pointing to the space after the last file name for files (ob/ob_end.seg), that's the spot reserved for renaming actual files and obviously shouldn't be messed with. I accidently tested that area when simply searching for the empty space left behind the removed Debug Data and wasn't paying attention. lol |
Can you show me which parts of the editor you are asking me to change/support this change? That patch seemed to load so I'm not really clear which parts need adjustment. |
|
| |
|
|
|
 |
 |
 |
 |
 |
StupidMarioBros1Fan Agent


Joined: 07 Dec 2017 Posts: 59
 |
Posted: Sun Sep 20, 2026 8:27 am Post subject: |
 |
|
| SubDrag wrote: | | Can you show me which parts of the editor you are asking me to change/support this change? That patch seemed to load so I'm not really clear which parts need adjustment. |
The editor shows whatever the last selected option was when switching between the Weapons. In the example patch, switch to Gun 1F Taser immediately after switching to various other weapons and you'll see the Pickup Model option change without actually changing things yourself.
I did find out yesterday that if you do edit the Weapon, the custom address will be changed to whatever Pickup option the Editor is currently showing so I actually do need support to avoid having to regularly hex edit the slot. _________________ Stupid Mario Brothers is a YouTube series, get asked about my username a lot. |
|
| |
|
|
|
 |
 |
 |
 |
 |
SubDrag Administrator

Joined: 16 Aug 2006 Posts: 6242
 |
Posted: Sun Sep 20, 2026 11:06 am Post subject: |
 |
|
| I'm still not really understanding what asking to support specifically. You extended the pickup list? And moved it? |
|
| |
|
|
|
 |
 |
 |
 |
 |
StupidMarioBros1Fan Agent


Joined: 07 Dec 2017 Posts: 59
 |
Posted: Sun Sep 20, 2026 11:42 am Post subject: |
 |
|
I hex edited the table used for determining which prop model to use as the Multi Pickup model to point to custom addresses.
For the example patch, these addresses are in spots that had debug data which then I inserted the needed stuff for the pickup models to be chosen.
While everything works in game, the Editor doesn't show the new addresses because they're not part of the expected list. So instead it shows whatever was last seen when switching between Guns.
If you scroll from 1E Detonator to 1F Taser, it shows "7F09B360 None" whereas if you click on the drop down list to jump from 19 Rocket Launcher to 1F Taser, it shows "7F09B33C 00D3 - Rocket Launcher" while the whole time it's actually set to "8005C190"
However, if I make any changes to 1F Taser, the Editor will see "7F09B360 None" / "7F09B33C 00D3 - Rocket Launcher" and automatically update the Multi Pickup alongside whatever edits made because it thinks that's the intended setting when it's actually not. _________________ Stupid Mario Brothers is a YouTube series, get asked about my username a lot. |
|
| |
|
|
|
 |
 |
 |
 |
 |
StupidMarioBros1Fan Agent


Joined: 07 Dec 2017 Posts: 59
 |
Posted: Mon Sep 21, 2026 1:57 pm Post subject: |
 |
|
So I thought about it some more on how to properly explain what I'm suggesting. Forgive my ignorance on how the Editor works internally, I'm going off of what I see.
When selecting what Setup File should be used for a level, the Editor looks at the assigned RAM Address then reads whatever text is located at the destination, this gets updated with all custom text as well as any custom addresses.
In this example, I simply changed what was at the vanilla location but custom locations work perfectly fine.
For the Multi Pickup (and presumably other similar selectable lists like the Reload Style for example), I'm assuming that the editor is reading the values found at specific spots in the 21990 file and comparing it to a premade list. If it reads 7F09B360, then it uses "7F09B360 None" for the option.
The problem happens when it reads a value that isn't recognized, so what I'm assuming is happening in those cases is that it assumes it's an error that then gets "fixed" whenever updating the Gun stuff.
The format used for the Setup File would be better for custom stuff, however I understand that it would be more confusing for everyone else because the current format also specifies what prop ID is expected to be found at the selected RAM address.
My suggestion, if possible, is to combine the two formats where at first it shows the actual value found, then if it's one of the original options it switches them to the premade list.
Something like this:
Internal logic could be this:
Read what is at Selected Gun's Multi Pickup
Compare to premade list
Matches: then show premade list - Doesn't Match: Show raw value as the option
Examples using Gun 1F's Multi Pickup:
Read what is at 36918 in the 21990 file
Finds 7F09B360
7F09B360 = "7F09B360 None" Option
Use the premade option found in the list
Read what is at 36918 in the 21990 file
Finds 8005C190
8005C190 =/= Any Options
Show "8005C190" at the end of the list
When editing, the custom option would stay visible even if no longer used until the rom is reloaded or a 21990 File is imported, like it does with the Setup File name table.
This would preserve the user-friendly list so people wouldn't have to find notes explaining what the RAM Addresses point to but also allow the editor to not run into issues when reading a value that wasn't expected. _________________ Stupid Mario Brothers is a YouTube series, get asked about my username a lot. |
|
| |
|
|
|
 |
 |
 |
 |
 |
SubDrag Administrator

Joined: 16 Aug 2006 Posts: 6242
 |
Posted: Thu Sep 24, 2026 3:33 am Post subject: |
 |
|
| Thanks - that was very helpful. It now adds an extra option if it can't find one in that list to beta (not all lists, just that dropdown). |
|
| |
|
|
|
 |
 |
 |
 |
 |
StupidMarioBros1Fan Agent


Joined: 07 Dec 2017 Posts: 59
 |
Posted: Thu Sep 24, 2026 9:13 pm Post subject: |
 |
|
Finally got around to testing the update, while the Editor does now recognize the custom address and switches to a different list to specify that it's custom, the list itself breaks. It now shows all options as custom and only makes them available after scrolling through the Guns and tends to reset back to only one option in the list.
Reloading a rom will get the Editor to start over with the normal list but will run into the issue again once switching to an option with a custom address. _________________ Stupid Mario Brothers is a YouTube series, get asked about my username a lot. |
|
| |
|
|
|
 |
 |
 |
 |
 |
|
 |
 |
 |
 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
 |