feat(inventory): Phase 1 - scan and validate UPC barcodes #1

Open
lyrathorpe wants to merge 54 commits from feat/inventory-phase1-scan into main
Showing only changes of commit a8a0102a2f - Show all commits
+12
View File
@@ -30,6 +30,18 @@ Useful `CMDS.txt` debugger commands:
This resolves the segment/relocation mapping that flat static disassembly of the This resolves the segment/relocation mapping that flat static disassembly of the
ROM could not (e.g. `SCANNER.DYL` / `SCANAPP` code). ROM could not (e.g. `SCANNER.DYL` / `SCANAPP` code).
**Decompilation (Ghidra headless):** extract the DYL region to a slice and load
as 16-bit real-mode x86:
```
ghidra-analyzeHeadless PROJ NAME -import slice.bin -processor "x86:LE:16:Real Mode" \
-scriptPath SCRIPTS -postScript decomp.java -deleteProject
```
`SCANNER.DYL`/`SCANAPP` decompile to readable pseudo-C this way (Ghidra 12 needs
a Java GhidraScript, not Python). Caveat: TopSpeed C uses the register-based
`jpi` calling convention, so argument recovery may need convention hints, but
control flow, struct access and the `int` service calls read clearly.
**Static RE:** `radare2 -e asm.arch=x86 -e asm.bits=16 w2mx_v7.20f_eng.bin` **Static RE:** `radare2 -e asm.arch=x86 -e asm.bits=16 w2mx_v7.20f_eng.bin`
(good for strings, byte-pattern search, and clean fixed-mapped regions). (good for strings, byte-pattern search, and clean fixed-mapped regions).