Will Angenent
7ce52edf93
Moved disk module out of mmu
2018-05-26 23:23:35 +01:00
Will Angenent
2aa16a20f0
Made a bunch of things private in disk.go
2018-05-26 23:17:18 +01:00
Will Angenent
543bb6925c
Removed -image flag, the disk image is a non-positional param now
2018-05-26 23:08:38 +01:00
Will Angenent
3233cfc244
Added page switching in text, gr and hgr
2018-05-26 22:27:29 +01:00
Will Angenent
3dd01cd5f2
Removed comment
2018-05-26 21:35:11 +01:00
Will Angenent
d950bb8ff0
Fixed aux memory writes that should have been ignored
...
This was killing the Prodos basic intepreter bootstrapper since a write was
going to main memory at $800, leading to invalid code when the JMP to $0800
from the prodos reloader was done.
2018-05-26 13:58:41 +01:00
Will Angenent
9f2226d968
Updated drive head move logic to handle Prodos's head move logic
2018-05-20 19:55:00 +01:00
Will Angenent
6f19957ee7
Added aux memory and 80 column card stubs ...
...
... just enough to fool prodos that there's only 64k of RAM and no
80 column card.
2018-05-20 17:19:40 +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
e48ca1a393
Fixed test var clobber
2018-05-19 11:07:39 +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
1ea1b10ab0
Ensure DOS actually boots in boot test
2018-05-16 10:39:53 +01:00
Will Angenent
699b4923bd
Added monochrome hires mode
2018-05-15 21:56:16 +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
55e0b6b664
Added dos33 boot test for benchmarking purposes
2018-05-14 23:23:01 +01:00
Will Angenent
825840a9b6
Removed unused var
2018-05-14 23:03:12 +01:00
Will Angenent
91cf87d297
moved reset to a better place
2018-05-14 22:49:35 +01:00
Will Angenent
0f17ecfd21
Moved some screen constants to a better place
2018-05-14 22:49:14 +01:00
Will Angenent
95eb6fb575
Shortened audio attenuation
2018-05-14 22:44:44 +01:00
Will Angenent
31a4ba8cf6
Adjusted clock frequency to be ever so slightly more correct
2018-05-14 18:51:50 +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
23f7dc04b2
Run ebiten in background
2018-05-12 19:40:17 +01:00
Will Angenent
7ae4159424
Added lores mode
2018-05-12 18:55:36 +01:00
Will Angenent
0a7b8c81b3
Added capslock key, toggable with ctrl-alt-c
2018-05-12 13:59:43 +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
f8ca059f18
Split IO into its own module
2018-05-09 21:25: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
ef0000b67b
Renamed vid and moved some more vid stuff to it
2018-05-09 17:34:34 +01:00
Will Angenent
4bc2403e25
Reduced flash frequency slightly
2018-05-09 17:29:11 +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
7d64938630
Added warm reset key combination using ctrl-alt-r
2018-05-09 10:57:04 +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