ROM disassembly as raw text file
#241
Here are the common scale and table "header" structures...
Scales - 16 bit format
2 bytes: Destination Variable Address (relative to fp)
2 bytes: Source Variable Address (relative to fp)
2 bytes: Number of elements that follow
...
...then the scale data.
Tables - 8 bit format, 2-Dimensional
1 byte: Style of table. 02 = 2-dimensional
1 byte: Value offset (a fixed value to add to every raw table element)
2 bytes: Source Scaling Variable Address (relative to fp)
...
...then the table data.
Tables - 8 bit format, 3-Dimensional
1 byte: Style of table. 03 = 3-dimensional.
1 byte: Value offset (a fixed value to add to every raw table element)
2 bytes: Source X Scaling Variable Address (relative to fp)
2 bytes: Source Y Scaling Variable Address (relative to fp)
1 byte: Number of rows (or columns... I forget)
...
...then the table data.
Tables - 16 bit format, 2-Dimensional
2 bytes: Style of table. 0002 = 2-dimensional
2 bytes: Value offset (a fixed value to add to every raw table element)
2 bytes: Source Scaling Variable Address (relative to fp)
...
...then the table data.
Tables - 16 bit format, 3-Dimensional
2 bytes: Style of table. 0003 = 3-dimensional.
2 bytes: Value offset (a fixed value to add to every raw table element)
2 bytes: Source X Scaling Variable Address (relative to fp)
2 bytes: Source Y Scaling Variable Address (relative to fp)
2 bytes: Number of rows (or columns... I forget)
...
...then the table data.
There are some weirdo extra formats that crop up in later year ROMs (eg. 2011), but the above will cover 99.9% of all data styles.
If any typos have snuck in, let me know and I'll edit to fix.
Rich
Scales - 16 bit format
2 bytes: Destination Variable Address (relative to fp)
2 bytes: Source Variable Address (relative to fp)
2 bytes: Number of elements that follow
...
...then the scale data.
Tables - 8 bit format, 2-Dimensional
1 byte: Style of table. 02 = 2-dimensional
1 byte: Value offset (a fixed value to add to every raw table element)
2 bytes: Source Scaling Variable Address (relative to fp)
...
...then the table data.
Tables - 8 bit format, 3-Dimensional
1 byte: Style of table. 03 = 3-dimensional.
1 byte: Value offset (a fixed value to add to every raw table element)
2 bytes: Source X Scaling Variable Address (relative to fp)
2 bytes: Source Y Scaling Variable Address (relative to fp)
1 byte: Number of rows (or columns... I forget)
...
...then the table data.
Tables - 16 bit format, 2-Dimensional
2 bytes: Style of table. 0002 = 2-dimensional
2 bytes: Value offset (a fixed value to add to every raw table element)
2 bytes: Source Scaling Variable Address (relative to fp)
...
...then the table data.
Tables - 16 bit format, 3-Dimensional
2 bytes: Style of table. 0003 = 3-dimensional.
2 bytes: Value offset (a fixed value to add to every raw table element)
2 bytes: Source X Scaling Variable Address (relative to fp)
2 bytes: Source Y Scaling Variable Address (relative to fp)
2 bytes: Number of rows (or columns... I forget)
...
...then the table data.
There are some weirdo extra formats that crop up in later year ROMs (eg. 2011), but the above will cover 99.9% of all data styles.
If any typos have snuck in, let me know and I'll edit to fix.
Rich
00 06 1C 70 00 06 1C E8 header in a 8 bits / 3D table.
00 06 33 AA 00 06 33 C8 header in a 16 bits / 3D table
Does anyone know what it means?
#242
I'm probably a few years late, but I noticed some tables headers are bit different from what Rich have said (probably the 0.1% data style). Examples:
00 06 1C 70 00 06 1C E8 header in a 8 bits / 3D table.
00 06 33 AA 00 06 33 C8 header in a 16 bits / 3D table
Does anyone know what it means?
00 06 1C 70 00 06 1C E8 header in a 8 bits / 3D table.
00 06 33 AA 00 06 33 C8 header in a 16 bits / 3D table
Does anyone know what it means?
Thread
Thread Starter
Forum
Replies
Last Post
mrfred
ECU Flash
268
Feb 26, 2022 06:16 PM
logic
ECU Flash
78
Nov 8, 2018 04:17 AM
adding, binutils, definition, disassemble, disassembly, file, files, idapro, instruction, linux, m32r, rom, roms, set, tools