Will Angenent
9323078bc0
Added flag to disable DOS delay code
2019-11-10 12:32:16 +00:00
Will Angenent
4e5449f3ca
Migrated to GO11 modules
2019-11-02 15:50:17 +00:00
Will Angenent
ca7f2d2e04
Made golint happy
2018-05-28 18:12:08 +01:00
Will Angenent
5e330c1373
Added comments to mmu package
2018-05-28 16:49:09 +01:00
Will Angenent
b549d0e33d
Added some documentation to cpu package & made some small tweaks
2018-05-28 16:15:01 +01:00
Will Angenent
c397f0e092
Made everything that can be private in cpu package private
2018-05-28 14:21:16 +01:00
Will Angenent
01e92c6c80
Added instructions for the CPU tests and a missing file
2018-05-28 14:00:01 +01:00
Will Angenent
ce69239c1e
Added comments to video.go
2018-05-27 22:58:19 +01:00
Will Angenent
ade84dc657
Added glide based dependency management
2018-05-27 14:39:03 +01:00
Will Angenent
024eebae61
Renamed mos6502 to apple2
2018-05-27 11:05:00 +01:00
Will Angenent
f1dff51564
Added bank switched upper memory
2018-05-20 14:58:12 +01:00
Will Angenent
a43fd7c08c
Added Disassemble utils
2018-05-20 13:45:06 +01:00
Will Angenent
c2163c8197
Fixed multiple DOS tests not working
2018-05-20 13:45:06 +01:00
Will Angenent
94c6ecd97d
Added some comments to the audio samples calculation
2018-05-15 15:45:06 +01:00
Will Angenent
de7299a5ab
Rearranged files and resurrected CPU test
2018-05-14 23:40:31 +01:00
Will Angenent
91cf87d297
moved reset to a better place
2018-05-14 22:49:35 +01:00
Will Angenent
a5441b2615
Added some comments for missing instruction names
2018-05-14 18:51:38 +01:00
Will Angenent
1324460d9d
Corrected branch cycles timing issue
...
This fixes the sound timing for the system beep and lemonade stand
2018-05-14 18:51:11 +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
100c44cb11
Added disk controller and disk images ...
...
With this, DOS3.3 is booting
2018-05-12 13:49:30 +01:00
Will Angenent
7ec43f0299
Added command line disassembler
2018-05-11 10:03:21 +01:00
Will Angenent
a5acfb9140
Renamed InitDisasm to InitInstructionDecoder
2018-05-09 19:32:38 +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
ad9be4d604
Renamed disasm to debug
2018-05-09 17:35:41 +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
481ddf0ebf
Integrated test-vid with test-apple-iie-boot ...
...
... we have the apple booting up with a well working screen and hanging on
not yet implemented disk I/O.
2018-05-08 22:21:06 +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
Will Angenent
d45e1a4aac
Added IRQ/BRK/NMI support + tests
2018-05-07 21:56:40 +01:00
Will Angenent
4b2a4c3730
Initial commit
2018-05-03 12:30:07 +01:00