mirror of
https://github.com/StewBC/cc65-Chess.git
synced 2026-10-24 10:02:24 +00:00
CMOC / GIME 320x200x16, C64 layout, Disk BASIC .bin and RS-DOS .dsk. Quit restores Super Extended BASIC at $8000 and cold-starts.
23 lines
524 B
Python
23 lines
524 B
Python
# print DECB load/exec from a CoCo .bin
|
|
import struct, sys, pathlib
|
|
|
|
p = pathlib.Path(sys.argv[1])
|
|
d = p.read_bytes()
|
|
i = 0
|
|
load = end = 0
|
|
while i < len(d):
|
|
pre = d[i]
|
|
if pre == 0:
|
|
ln, ad = struct.unpack(">HH", d[i + 1:i + 5])
|
|
if not load:
|
|
load = ad
|
|
end = ad + ln
|
|
i += 5 + ln
|
|
elif pre == 0xFF:
|
|
ex = struct.unpack(">HH", d[i + 1:i + 5])[1]
|
|
print("coco3: load $%04x-$%04x exec $%04x size %d headroom %d" % (
|
|
load, end, ex, len(d), 0x7E00 - end))
|
|
break
|
|
else:
|
|
sys.exit("bad DECB preamble %02X" % pre)
|