1
0
mirror of https://github.com/pevans/erc-c.git synced 2024-11-04 22:09:08 +00:00
Commit Graph

91 Commits

Author SHA1 Message Date
Peter Evans
a73c15c37c Rename vm_screen_context to vm_screen 2017-12-17 16:42:05 -06:00
Peter Evans
8beb761535 Actually show a window.
This is also the beginning outline of how we want to abstract graphics
away in erc.
2017-12-16 23:38:59 -06:00
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