Jump to content
OGXbox.com

Help patching 128MB ram usage to xbe using Linux


Frank.Bullitt
 Share

Recommended Posts

57 minutes ago, MadMartigan said:

Doesn’t seem that the extra RAM will help gameplay of OG games. It’s typically more for home brew, dashboards, etc. 

Apparently games can benefit a lot from the delimit tool, which enables the games to use more RAM than a stock xbox.

I've had some games freeze when using widescreen and 480p patches. For example the game 'Whiplash' has a widescreen patch that i applied to my PAL copy but it ended up freezing early in the game, Undoing the hex edit on the xbe fixed the issue.

I'd be really grateful if someone could explain what strings of the xbe game files need to be edited to use more RAM, this would help me patch the xbe files using Linux.

Link to comment
Share on other sites

The header of each default.xbe file for a game has several flags (bits) to set various configuration options.  Initialization Flags are used to limit the RAM usage to 64MBs of a retail console. 

Field Name              Description                                         Size (in bytes)    Offset

Initialization Flags	Various flags for this .XBE file. Known flags are:  0x0004            0x0124

                        MountUtilityDrive  = 0x00000001
                        FormatUtilityDrive = 0x00000002
                        Limit64Megabytes   = 0x00000004
                        DontSetupHarddisk  = 0x00000008

From what I understand, if bit 2 of the double-word (4 bytes) that starts at offset 0x0124 of the default.xbe file is set to 1, RAM usage is limited to 64MBs.  If set to 0, all RAM available on the console can be used instead.

Edit: Open the file in a hex editor. Change the value of this bit accordingly then save the file.  Upload the modified default.xbe file to the console.

Edit 2: Look at caustik's web page .XBE File Format for more information on the Xbox's XBE file's content and known header flag locations.

Edit 3: Double words stored in the header of the XBE file are in little-endian format (Little End First).

When you open the file in a hex editor and see the byte values 0C 00 00 00 starting at offset 0x0124, the hex value of the double-word is 0x0000000C.

Hex:       0    0     0    0     0    0     0    C
Binary: 0000 0000  0000 0000  0000 0000  0000 1100
==================================================
                                              ||||
Initialization Flags:                         |||+- MountUtilityDrive  = 0 (False)
                                              ||+-- FormatUtilityDrive = 0 (False)
                                              |+--- Limit64Megabytes   = 1 (True) 
                                              +---- DontSetupHarddisk  = 1 (True)

 

  • Thanks 1
Link to comment
Share on other sites

I really appreciate the help guys, thank you :)

I've got a few xbe files patched now and ready to test.

I'm using the Rocky5 patched IND-5003.67 Bios. It states that it is patched for 128mb of RAM. Looking at the config file that was made when i flashed the bios, the use all memory value is set to 0, do i still need to change the value to 1 in this patched version?

 

Link to comment
Share on other sites

5 hours ago, Frank.Bullitt said:

I'm using the Rocky5 patched IND-5003.67 Bios. It states that it is patched for 128mb of RAM. Looking at the config file that was made when i flashed the bios, the use all memory value is set to 0, do i still need to change the value to 1 in this patched version?

Yes.  The BIOS is patched to properly initialize 128MBs of RAM; however, ind-bios.cfg needs to be modified to actually use it. 

  • Thanks 1
Link to comment
Share on other sites

  • 4 weeks later...
On 1/17/2022 at 6:04 AM, KaosEngineer said:

Yes.  The BIOS is patched to properly initialize 128MBs of RAM; however, ind-bios.cfg needs to be modified to actually use it. 

I have also one question. In config file there is USEUSEALLMEMORY=0. Is that typo and should be USEALLMEMORY=1 or should I leave it USEUSEALLMEMORY=1?

Link to comment
Share on other sites

6 hours ago, antonic901 said:

I have also one question. In config file there is USEUSEALLMEMORY=0. Is that typo and should be USEALLMEMORY=1 or should I leave it USEUSEALLMEMORY=1?

I believe it's a typo.  When I unpack the kernel.img from the ind-bios.5003.67.bin file, there's no USEUSEALLMEMORY text found in the file; however, there is USEALLMEMORY.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

Board Life Status


Board startup date: April 23, 2017 12:45:48
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.