NeoGF/doltool/README.md

39 lines
2.0 KiB
Markdown
Raw Normal View History

2022-04-15 23:57:43 +02:00
# doltool.py
2022-04-23 22:36:55 +02:00
**Tests on -sr command and sections remapping has to be done.**
2022-04-15 23:57:43 +02:00
2022-04-23 22:36:55 +02:00
Python3 script for manipulating dol file format. This tool can stats with all informations from dol header and patch dol .text and .data using a list of write Action Replay code in an formated .ini file. MIT License.
2022-04-15 23:57:43 +02:00
## User manual
2022-04-16 00:19:44 +02:00
Translate a virtual address into a dol offset if this was originaly mapped from data or text. virtual_address has to be in hexadecimal: 80003100
2022-04-15 23:57:43 +02:00
```
doltool.py --virtual2image virtual_address
```
Translate a dol offset to a virtual address mapped from data or text. dol_offset has to be in hexadecimal: 2000
```
doltool.py --image2virtual dol_offset
```
Extract a section_index between 0 to 17 from the dol file **source.dol** with the name _source.dol\_sectiontypeN_. sectiontype = data or text and N is the index from 0 to 17.
```
2022-04-23 22:36:55 +02:00
doltool.py --extract source.dol section_index [-o output_file]
2022-04-15 23:57:43 +02:00
```
Print stats about the dol file. This stats contains informations about full header information formated (with sections used or not), empty spaces informations splited .bss and entry point.
```
2022-04-23 22:36:55 +02:00
doltool.py --stats source.dol
2022-04-15 23:57:43 +02:00
```
2022-04-24 20:37:21 +02:00
Patch the dol data and text section using an action_replay.ini file containing write instructions (02/04 implemented yet). If the virtual address of the ARCode doesn't match existing mapped data or text sections it raise an Exception. To avoid this exception use the -sr argument to auto remap dol offsets and create news data sections reserved for the patching process.
2022-04-15 23:57:43 +02:00
```
2022-04-24 06:22:51 +02:00
doltool.py --patch-action-replay source.dol -ini action_replay_list.ini [-sr]
2022-04-15 23:57:43 +02:00
```
## Action Replay ini file format
All ARCodes present in the ini will be enabled without taking care of \[ActionReplay_Enabled\] section
Raise an Exception if lines are in invalid format:
* empty lines are removed
* lines beginning with $ are considered as comments and are removed
* lines beginning with \[ are considered as comments and are removed
2022-04-24 06:23:37 +02:00
* others lines have to be in format: "0AXXXXXX XXXXXXXX" with (A in 2,3,4,5) and X in \[0-9a-fA-F\]