bugs.
Implement basic support for parts of the apple II memory map
- 64K address space is assembled from multiple memory regions
- a memory region can optionally intercept reads and/or writes
- memory regions may be marked non-writable (this has a bug and isn't
yet working)
- execution handler can intercept execution to defined entry points
when PC enters a memory region
- can trap when PC enters a memory region to an unhandled entry point
- basic support for some IO page soft switches and status registers
- mostly just printing an event
- support loading boot1 image from sqlite DB
- load and install bits of the apple IIe ROM
- but I don't think I have got all of the important bits from the
image yet -- e.g. the CXROM image at alternate $C100 is not yet
installed
execution. This traps writes to text page 1 and reads/writes to high
memory (>$C000).
This is already sufficient to trace the execution of one of the simple
boot1 images that clears the text page (manually) and writes 'THIS DISK
HAS NO DOS TO BOOT'
sectors and visualize it as a D3 force-directed graph. This is pretty
cool
There are two thresholds to control the graph size and connectivity
- limit to boot1 images that are represented in at least 10 disks
- only render links for distances < 200 bits
Needs improvements, e.g.
- use human-readable names for the boot1 images
- potentially add controls for dynamically changing those thresholds
and other D3 params
- display list of associated disks to each image