Commit Graph

9 Commits

Author SHA1 Message Date
kris aadc97efcb Port from py6502 to py65 since it is more mature and has fewer CPU
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
2017-05-19 22:41:56 +01:00
kris 9f8538b5dc Initial skeleton of an Apple II simulator to be used for tracing boot1
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'
2017-05-12 00:23:08 +01:00
kris 73f1697ad3 Clean up imports 2017-05-11 23:56:44 +01:00
kris 6a4706d6b0 Build a JSON graph of the levenshtein distances between pairs of boot1
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
2017-05-11 23:54:59 +01:00
kris 8eab43e5ee Add check for disk length not aligned to sector boundary 2017-05-04 21:31:55 +01:00
kris 863fdba10f Compute levenshtein distance between all pairs of boot1 sectors in the
DB.
2017-05-04 21:28:46 +01:00
kris b1f2f63a4e Process disk images under filesystem hierarchy and insert metadata into
DB
2017-05-04 21:27:57 +01:00
kris eeffd229bb Initial schema for disk metadata 2017-05-04 21:25:33 +01:00
KrisKennaway 51c59c18a1 Initial commit 2017-05-04 20:57:22 +01:00