IP.BIN: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
{| class="wikitable" | {| class="wikitable" | ||
!Offset | !Offset | ||
!Size | |||
!Load address | !Load address | ||
!Contents | !Contents | ||
|- | |- | ||
|0x0000-00FF | |0x0000-00FF | ||
|0x00FF : 256 Bytes | |||
|8C008000-8C0080FF | |8C008000-8C0080FF | ||
|Meta information | |Meta information | ||
|- | |- | ||
|0x0100-02FF | |0x0100-02FF | ||
|0x01FF : 512 Bytes | |||
|8C008100-8C0082FF | |8C008100-8C0082FF | ||
|Table of contents | |Table of contents | ||
|- | |- | ||
|0x0300-36FF | |0x0300-36FF | ||
|0x33FF : 13312 Bytes | |||
|8C008300-8C00B6FF | |8C008300-8C00B6FF | ||
|SEGA license screen code | |SEGA license screen code | ||
|- | |- | ||
|0x3700-37FF | |0x3700-37FF | ||
|0x00FF : 256 Bytes | |||
|8C00B700-8C00B7FF | |8C00B700-8C00B7FF | ||
|Area protection symbols | |Area protection symbols | ||
|- | |- | ||
|0x3800-5FFF | |0x3800-5FFF | ||
|rowspan="2"|0x47FF : 18432 Bytes | |||
|8C00B800-8C00DFFF | |8C00B800-8C00DFFF | ||
|Bootstrap 1 | |Bootstrap 1 | ||
Line 35: | Line 41: | ||
|0x6000-7FFF | |0x6000-7FFF | ||
|8C00E000-8C00FFFF | |8C00E000-8C00FFFF | ||
|Bootstrap 2 (Not Required[[# | |Bootstrap 2 (Not Required [[#Bootstraps]]) | ||
|} | |} | ||
Line 42: | Line 48: | ||
== Deeper Look into User Code == | == Deeper Look into User Code == | ||
All IP.BIN files from Sega are generally made with the IP Maker software and follow the same basic layout codewise. Bootstrap 1 is very small and is responsible for setting some minor hardware registers then jumps immediately to Bootstrap 2. This second Bootstrap actually does the bulk of the work and handles setting up the stack, VBR, disables cpu caching and then handles the jump to [[1ST_READ.BIN]] which is loaded to address 0x8C010000. | |||
=== Bootstrap === | === Bootstraps === | ||
This is the area in the IP.BIN that is completely unregulated and can be used however someone would like. | |||
==== Bootstrap 1 ==== | |||
This piece of code is generally very small, under 32 bytes and sets hardware registers. | |||
* a custom [[MR]] image can also live within this section at offset 0x3820, Address 0x8C00B820 and will be displayed on the license screen. | |||
==== Bootstrap 2 ==== | |||
Code here | |||
==References== | ==References== | ||
<references/> | <references/> |
Revision as of 03:20, 10 January 2020
Basic Overview
- Loaded and ran from Disc (GD-ROM, CD-ROM)
- Contains basic meta information for a disc
- Draws the Sega License Screen
- Possibly holds an image in MR Format
- Has space to run Code that is typically used in setting up the basic hardware then launching the binary on disc
General Header Information
Overview of Each piece of the IP.BIN listing file offset and memory location when loaded [1]
Offset | Size | Load address | Contents |
---|---|---|---|
0x0000-00FF | 0x00FF : 256 Bytes | 8C008000-8C0080FF | Meta information |
0x0100-02FF | 0x01FF : 512 Bytes | 8C008100-8C0082FF | Table of contents |
0x0300-36FF | 0x33FF : 13312 Bytes | 8C008300-8C00B6FF | SEGA license screen code |
0x3700-37FF | 0x00FF : 256 Bytes | 8C00B700-8C00B7FF | Area protection symbols |
0x3800-5FFF | 0x47FF : 18432 Bytes | 8C00B800-8C00DFFF | Bootstrap 1 |
0x6000-7FFF | 8C00E000-8C00FFFF | Bootstrap 2 (Not Required #Bootstraps) |
Execution Flow Overview
bleh
Deeper Look into User Code
All IP.BIN files from Sega are generally made with the IP Maker software and follow the same basic layout codewise. Bootstrap 1 is very small and is responsible for setting some minor hardware registers then jumps immediately to Bootstrap 2. This second Bootstrap actually does the bulk of the work and handles setting up the stack, VBR, disables cpu caching and then handles the jump to 1ST_READ.BIN which is loaded to address 0x8C010000.
Bootstraps
This is the area in the IP.BIN that is completely unregulated and can be used however someone would like.
Bootstrap 1
This piece of code is generally very small, under 32 bytes and sets hardware registers.
- a custom MR image can also live within this section at offset 0x3820, Address 0x8C00B820 and will be displayed on the license screen.
Bootstrap 2
Code here