Utility to replace the 2.3.1 cerbios splash screen with a mesh generated in blender. Note that this removes the ability to display the "Safe Mode" text on safe mode boot.
This program modifies logic flow in the cerbios bios and could result in a broken bios. DO NOT flash any produced bioses to TSOP unless you have a way to recover. I do not guarantee that this even works on anything other than my personal xbox. I highly recommend testing in Xemu if possible. If this bricks your xbox... sucks lol
- An unmodified copy of Cerbios 2.3.1
- Cerbios Tool: https://github.com/Team-Resurgent/CerbiosTool
- A 2D mesh in a wavefront .obj file with special formatting (explained below)
- Python 3.8 or newer
- Blender (optional)
- Inkscape (optional)
The script requires an unpacked cerbios file to make modifications, use the unpack.exe found within Cerbios Tool to do this.
unpack.exe "Cerbios Hybrid V2.3.1 BETA.bin" cerbios_unpacked.bin
This obj file cannot have more than 5 colors, 948 vertices, or 1512 triangles! There are infinitely many methods for this, I am posting my method which was to draw my item in Inkscape, and then import the svg into blender, which will generate the mesh for you.
- Draw your splash in Inkscape

- Save to an .svg
- Import svg into Blender
- Center drawing on the XZ plane

- Name shapes in Blender such that the shape is [name]_[color code] and that they are in alphabetical order, in that earlier colors get drawn first and later colors drawn later. All objects of the same color are drawn at the same time!

- Select your shapes and export to Wavefront with the following settings:

- Use visual mode to see the scale of the cerbios image
python modify_cerbios_splash.py -b cerbios_unpacked.bin -v
- Use visual mode to see your .obj file
python modify_cerbios_splash.py -m duckbios.obj -v
- Make sure you are happy with the relative size of the drawing to the original cerbios logo. You can add
-s [value]to change the scale, default is 800x because it worked for my drawing. ex:python modify_cerbios_splash.py -m duckbios.obj -s 1000 -v - Now patch the drawing into the unpacked cerbios
python draw_cerbios.py -m duckbios.obj -o cerbios_unpacked.bin. Make sure to include the scale argument if you opted for a different scale!
Take the modified unpacked cerbios and run it through the pack.exe utility found within Cerbios Tool.
pack.exe cerbios_unpacked.bin "Cerbios Hybrid V2.3.1 BETA.bin" cerbios_patched_compiled.bin
Now you can flash the modified cerbios to your Xbox through whatever method you prefer!

usage: modify_cerbios_splash.py [-h] (-b | -m) [-o OUTPUT_TO_BIOS] [-v] [-s MESH_SCALE] [input_file]
Utility for viewing cerbios splash meshes
positional arguments:
input_file An extracted cerbios or waveform obj file
options:
-h, --help show this help message and exit
-b, --bios Input is Cerbios binary
-m, --mesh Input is waveform obj file
-o OUTPUT_TO_BIOS, --output-to-bios OUTPUT_TO_BIOS
Output mesh to bios file
-v, --visualize Open a tkinter window to visualize the input mesh
-s MESH_SCALE, --mesh-scale MESH_SCALE
Scale factor for mesh, use the visual window to compare against cerbios logo for sizing