Serial TX/RX builder
This commit is contained in:
21
README.md
21
README.md
@@ -20,6 +20,12 @@ To turn the structured decompile output into conservative C-like pseudocode:
|
||||
.\.venv\Scripts\python.exe h8536_pseudocode.py build\rom_decompiled.json --out build\rom_pseudocode.c --cycles
|
||||
```
|
||||
|
||||
To generate a focused RX/TX serial-path pseudocode view from the reconstruction metadata:
|
||||
|
||||
```powershell
|
||||
.\.venv\Scripts\python.exe h8536_serial_pseudocode.py build\rom_decompiled.json --out build\rom_serial_pseudocode.c
|
||||
```
|
||||
|
||||
## What It Does
|
||||
|
||||
- Decodes the H8/500 instruction set used by the H8/536.
|
||||
@@ -35,6 +41,7 @@ To turn the structured decompile output into conservative C-like pseudocode:
|
||||
- Tracks SCI setup writes and can infer baud rates from SMR/BRR when `--clock-hz` is supplied.
|
||||
- Annotates SCI protocol actions such as TDRE waits, TDR writes, RDR reads, RX/TX interrupt enables, and receive-error clears.
|
||||
- Reconstructs evidence-supported SCI1 serial frame candidates, including the apparent six-byte TX/RX units and XOR checksum seeded by `0x5A`.
|
||||
- Generates a focused RX/TX serial-path pseudocode view from those serial reconstruction candidates.
|
||||
- Adds a Sony RCP-TX7 board profile that ties H8/536 pin 66 `P95/TXD` and pin 67 `P96/RXD` to the MAX202 RS232 transceiver.
|
||||
- Flags/manual-annotates TEMP-register access ordering for FRT and A/D 16-bit peripheral registers.
|
||||
- Scans unreached ROM ranges for ASCII strings and pointer-table candidates.
|
||||
@@ -90,6 +97,18 @@ python h8536_pseudocode.py --help
|
||||
- `--no-structure`: preserve label/goto output instead of simple structured `if`/loop output.
|
||||
- `--max-functions N`: emit only the first `N` functions for focused review.
|
||||
|
||||
For focused serial pseudocode:
|
||||
|
||||
```powershell
|
||||
python h8536_serial_pseudocode.py --help
|
||||
```
|
||||
|
||||
- `--tx-only`: emit only the candidate transmit path.
|
||||
- `--rx-only`: emit only the candidate receive path.
|
||||
- `--no-evidence`: omit evidence-address comments.
|
||||
- `--no-manual`: omit manual-reference comments.
|
||||
- `--no-board`: omit board/MAX202 comments.
|
||||
|
||||
## Code Layout
|
||||
|
||||
- `h8536_decompiler.py`: compatibility wrapper for the CLI.
|
||||
@@ -111,9 +130,11 @@ python h8536_pseudocode.py --help
|
||||
- `h8536/sci.py`: SCI setup tracking and baud inference.
|
||||
- `h8536/sci_protocol.py`: SCI transmit/receive/status semantic annotations.
|
||||
- `h8536/serial_reconstruction.py`: cautious higher-level SCI frame reconstruction from decompiled evidence.
|
||||
- `h8536/serial_pseudocode.py`: focused RX/TX protocol pseudocode generation from reconstruction metadata.
|
||||
- `h8536/board_profile.py`: Sony RCP-TX7 board-trace annotations, including the MAX202 RS232 path.
|
||||
- `h8536/peripheral_access.py`: FRT/A-D TEMP-register access analysis.
|
||||
- `h8536/pseudocode.py`: JSON-to-C-like pseudocode generation.
|
||||
- `h8536/render.py`: assembly and JSON output.
|
||||
- `h8536/model.py`, `h8536/rom.py`, `h8536/formatting.py`: shared data structures and helpers.
|
||||
- `h8536_pseudocode.py`: pseudocode CLI wrapper.
|
||||
- `h8536_serial_pseudocode.py`: focused serial pseudocode CLI wrapper.
|
||||
|
||||
Reference in New Issue
Block a user