Commit Graph

14 Commits

Author SHA1 Message Date
Will Angenent
f1dff51564 Added bank switched upper memory 2018-05-20 14:58:12 +01:00
Will Angenent
c26b44c686 Added optional click when drive head moves
Very primitive but kind of entertaining.
2018-05-19 10:55:41 +01:00
Will Angenent
bdcf3e0db7 Added disk writes 2018-05-17 14:29:13 +01:00
Will Angenent
699b4923bd Added monochrome hires mode 2018-05-15 21:56:16 +01:00
Will Angenent
8284073beb Added very basic audio processing
Every frame sends a bunch of audio samples in a channel. This channel is
consumed by the audio Read() function which is called asynchronously. There's
all kinds of timing issues where the audio/video are not aligned.

Issues:
- There's a large delay between the audio being produced and it being played
- Something with the timing is wrong. The first not of lemonade stand and the
  system beep are both incorrect. Changing the CPU frequency fixes it for one
  but not for the other. This means something must be wrong in the cycle
  counting.

Also added FPS display that can be toggled with ctrl-alt-F.
2018-05-14 10:49:24 +01:00
Will Angenent
7ae4159424 Added lores mode 2018-05-12 18:55:36 +01:00
Will Angenent
100c44cb11 Added disk controller and disk images ...
With this, DOS3.3 is booting
2018-05-12 13:49:30 +01:00
Will Angenent
f8ca059f18 Split IO into its own module 2018-05-09 21:25:21 +01:00
Will Angenent
d89c7babf0 Refactored memory read/write to MMU
This required moving some common things in a new package to resolve a circular
dependency between cpu <=> mmu.
2018-05-09 19:31:15 +01:00
Will Angenent
c2a9e819b1 Made state global, to simplify later refactors 2018-05-09 18:02:57 +01:00
Will Angenent
fb6d868bc3 Removed ROM code for slots that haven't been implemented yet 2018-05-09 15:58:02 +01:00
Will Angenent
389773cb1d Added keyboard controller 2018-05-09 15:42:31 +01:00
Will Angenent
9c9f826c6a Replaced MemoryMap with an PageTable array
There was no good reason to be using a map when an array lookup would have
done nicely.
2018-05-09 10:36:17 +01:00
Will Angenent
5d1c25a724 Added MMU and WIP rudimentary apple //e boot test
Basic memory management has been implemented since $c100-$cfff needs flipping
with soft switches during Apple //e boot. All memory reads & writes now go
through the MMU. Memory is also dynamically allocated and associated with the
CPU state.
2018-05-08 21:48:56 +01:00