Peter Evans
b646bfc511
First stab at adding graphics.
...
This involves using glfw. This first commit creates a window but doesn't
do anything with it; it also just hangs until you can escape out
somehow.
2017-12-16 22:45:39 -06:00
Peter Evans
294fab76aa
Add boot function; modify main to use apple2 boot
2017-12-15 22:22:40 -06:00
Peter Evans
3f3210205f
We missed the size multiplier for memset()
...
In doing so, only a small portion of memory would have reliably been set
to zero; specifically, just the first element!
This change should resolve some intermittent test failures to guarantee
that all memory be zeroed.
2017-12-15 21:22:22 -06:00
Peter Evans
ed1a7b3278
Rename to read/write (without byte)
2017-12-15 21:03:38 -06:00
Peter Evans
047d9eabd0
Add tests for read/write
2017-12-15 21:01:49 -06:00
Peter Evans
4cc79b1ba8
Add 140k, 240k, decls for read/write
2017-12-15 21:01:15 -06:00
Peter Evans
b07848dd9d
Change name; move 140k, 240k
2017-12-15 21:00:59 -06:00
Peter Evans
9c646435c5
Add bad image file for testing
2017-12-15 16:53:22 -06:00
Peter Evans
223edd14fe
Add shift test
2017-12-15 16:53:12 -06:00
Peter Evans
06c8d623e7
Move MAX_SECTOR_POS and change shift into a while loop
2017-12-15 16:52:47 -06:00
Peter Evans
c5c010699c
Move MAX_SECTOR_POS into header file
2017-12-15 16:52:35 -06:00
Peter Evans
0c82a58f79
Add ERR_BADFILE
2017-12-15 16:52:26 -06:00
Peter Evans
eae302e686
Add eject, insert tests
2017-12-15 16:46:40 -06:00
Peter Evans
a034408f03
Add headers for insert, shift
2017-12-15 16:46:22 -06:00
Peter Evans
079a35507c
A number of updates in heavy dev phase
...
1. Add an insert function (to insert a new disk).
2. Add a new shift function to coordinate sector position updates when
reading or writing.
2017-12-15 16:45:20 -06:00
Peter Evans
256e0cf1d6
Don't write to the log stream if null
...
This prevents a somewhat vexing crash condition from happening.
2017-12-15 16:28:14 -06:00
Peter Evans
7811f4da44
No, use actual zero bytes
...
Forgot the ol' backslash in the script I wrote to make this file
2017-12-15 14:39:57 -06:00
Peter Evans
9689d984bc
Add data directory, image file with all zeroes
2017-12-14 23:22:10 -06:00
Peter Evans
a48bc05bd0
Further testing
2017-12-14 23:09:32 -06:00
Peter Evans
e84b79819b
Allow position function to be globally visible
2017-12-14 23:08:50 -06:00
Peter Evans
4dffea1dda
Make position non-static; add case for NULL data
2017-12-14 23:08:33 -06:00
Peter Evans
cebdedeff0
Add initial test suite for apple2dd
2017-12-14 22:47:11 -06:00
Peter Evans
f629b350fa
We can't have a negative track pos; zero is the lowest
2017-12-14 22:46:50 -06:00
Peter Evans
a82348ff9a
Missing header files, esp. stdbool
2017-12-14 22:30:09 -06:00
Peter Evans
a81f422d2d
Add apple2.dd.c to source file list
2017-12-14 22:28:24 -06:00
Peter Evans
82d22c8fab
Change name of header file in #include
2017-12-14 22:27:45 -06:00
Peter Evans
091939b06b
Renaming files
2017-12-14 22:24:30 -06:00
Peter Evans
24e599a8fd
Rename to apple2dd; add read/write functions
2017-12-14 22:14:55 -06:00
Peter Evans
58137cb2a0
Remove io_byte field; rename to apple2dd
2017-12-14 22:13:39 -06:00
Peter Evans
0162544fa6
Add initial struct and drive code
2017-12-13 20:30:32 -06:00
Peter Evans
577e92de9e
Documentation is good. Write documentation.
2017-12-12 15:10:42 -06:00
Peter Evans
060b7000de
Add tests to prove read/write mappers are used
2017-12-12 15:07:26 -06:00
Peter Evans
7da3c2ec20
Make use of our read/write mappers
2017-12-12 15:00:47 -06:00
Peter Evans
e019b6daee
A warning to the concerned
2017-12-12 14:59:00 -06:00
Peter Evans
7da2f9e791
Add support for setting read/write map functions
2017-12-12 14:58:06 -06:00
Peter Evans
ca7e576266
Use a setup and teardown function
2017-12-12 14:53:45 -06:00
Peter Evans
bb92162dba
Zero, not NULL.
...
Not that there's a practical difference, but we should be clear that
we're zeroing out memory because its contents are vm_8bit values, not
pointers.
2017-12-12 14:45:48 -06:00
Peter Evans
0bcf9e006d
Explicit test that memory (plus others) are zeroed
2017-12-12 14:45:06 -06:00
Peter Evans
da62ac4ca6
Use double-slash comments
2017-12-12 14:35:13 -06:00
Peter Evans
6f4627802f
We should also NULL out segment memory.
...
Er... oops
2017-12-12 14:33:55 -06:00
Peter Evans
06705f21fc
Add mallocs for read/write tables, NULL-out code
2017-12-12 14:32:32 -06:00
Peter Evans
b36bb78a12
Add read/write map functions to vm_segment
2017-12-12 14:31:44 -06:00
Peter Evans
daab8a7f58
Add instruction strings (mapped to enum symbols)
2017-12-11 21:03:16 -06:00
Peter Evans
850fdc55b5
Add error codes to segment functions
2017-12-09 15:16:56 -06:00
Peter Evans
c4a6f77bcd
We should be using the rts handler function
...
Oops!
2017-12-09 14:53:18 -06:00
Peter Evans
a720246e26
We need to account for the P register on the stack
2017-12-09 14:52:55 -06:00
Peter Evans
f44b029083
We need to check P's value as well
...
This test broke once we began to (properly) push P onto the stack.
However, I'm not _clear_ on whether we should push P before or after we
set the INTERRUPT bit... We'll go with things as-is for now.
2017-12-09 14:50:33 -06:00
Peter Evans
96b2542ea6
CARRY should be set if oper > 0
...
This error became apparent once we added the missing modify_status
function to some instructions.
2017-12-09 14:47:49 -06:00
Peter Evans
3954b1647f
Missing status modifications in a number of instructions
2017-12-08 23:26:46 -06:00
Peter Evans
b0aa6d400a
We should be pushing and popping status
2017-12-08 23:24:58 -06:00