forked from opencode.energia.arti.ee/vt1200
The 16-bit-displacement jump (low byte 0x00, two words) is JRcc, not the three-word JAcc (low byte 0x80). Printing it as ja made linear disassembly report the wrong control flow and made every such branch grow by a word when reassembled. Register 15 is the stack pointer in either file: 0x0F is A15 and 0x1F is B15. The disassembler printed both as sp, hiding B-file stack-pointer code. Print b15 when the R bit selects the B file. Validated with the 1987 TI GSPA/GSPLNK/GSPROM round trip: the 32 KB region at bit 3F208000 still reassembles byte-for-byte (md5 43adb6669571041985f3e26fd9ff7cb9), as do the 4 KB and 16 KB spans and the 0x8000/3F240000 region. The converter no longer needs its ja->jr or sp->b15 rewrites (5 fixups -> 3); a whole-ROM diff contains only those two output categories. The ROM is unchanged (b46a3e442ccb86134d2356bd70d22fd2).
19 lines
236 B
Plaintext
19 lines
236 B
Plaintext
# The 1987 DOS toolchain is extracted here on first use, and round-trip
|
|
# products are written here by roundtrip.sh. Neither is source.
|
|
work/
|
|
*.bin
|
|
*.obj
|
|
*.out
|
|
*.map
|
|
*.lst
|
|
*.hex
|
|
*.tag
|
|
*.HI
|
|
*.LO
|
|
*.$$$
|
|
*.asm
|
|
*.dis
|
|
*.c
|
|
__pycache__/
|
|
*.pyc
|