NeoGF/doltool/README.md

39 lines
1.9 KiB
Markdown
Raw Normal View History

2022-04-15 23:57:43 +02:00
# doltool.py
**Tests for --patch-action-replay command has to be done so this command is experimental for now.**
Python3 script for manipuling 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.
## User manual
Translate a virtual address into a dol offset if this was originaly mapped from data or text. virtual_address has to be in hexadecimal: 80003000
```
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.
```
doltool.py --extract source.dol section_index
```
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.
```
doltool.py --stats source.dol
```
**experimental** 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.
```
doltool.py --patch-action-replay source.dol action_replay_list.ini
```
## 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
* others lines have to be in format: "0AXXXXXX XXXXXXXX" with (A=2 or A=4) and X in \[0-9a-fA-F\]