1
0
mirror of https://github.com/pevans/erc-c.git synced 2024-12-21 23:29:16 +00:00
Commit Graph

63 Commits

Author SHA1 Message Date
Peter Evans
14f2dcae1a Set the map machine on setup; revert to NULL on teardown 2018-01-03 15:21:24 -06:00
Peter Evans
194ec07b1f Add skeletons for read/write_bank tests 2018-01-03 01:01:53 -06:00
Peter Evans
80c7f38368 Add test suite for apple2.mem.c 2018-01-03 01:00:51 -06:00
Peter Evans
425ca1b1e1 Include the mach argument 2018-01-02 23:52:40 -06:00
Peter Evans
ead5f28e79 Refactor to use cpu, not literal segments 2017-12-30 23:02:30 -06:00
Peter Evans
b42d5370aa Small bug in the jump label code for IND
This also required a rethink on some core functions which now needed to
know about the memory segment; and further changes in the unit-testing
code on the disassembly suite was also necessary.
2017-12-30 22:50:23 -06:00
Peter Evans
b7211f43c2 Testing relative label assignments 2017-12-29 17:14:20 -06:00
Peter Evans
26529f77ab Implement jump table, labels in code 2017-12-29 17:08:25 -06:00
Peter Evans
9000245002 Much documentation; use BUFSIZ for buf length 2017-12-29 15:55:25 -06:00
Peter Evans
927d03ebbe Add scan function (rename original scan -> opcode); test 2017-12-29 15:31:05 -06:00
Peter Evans
f98e2f65ee Add disassembly scan function, tests 2017-12-28 23:47:36 -06:00
Peter Evans
6a230341e1 Make vm_area_set be an inline function.
Gets most of the benefits of being a macro, but also gains type safety
(which macros do not have).
2017-12-27 17:10:51 -06:00
Peter Evans
30223e0bca Remove screen area field; document area fields 2017-12-27 16:59:56 -06:00
Peter Evans
27f91ec00f Use vm_area with bitfont_offset
This should further standardize on vm_area.
2017-12-27 16:47:26 -06:00
Peter Evans
c7b830bb4a Switch references from SDL_Rect to vm_area
We still use SDL_Rect internally, but we want to abstract the use of it
in our API. The only thing the rest of the app should care about is the
vm_area struct.
2017-12-27 16:31:02 -06:00
Peter Evans
bcf354989d Tests for bitfont and screen 2017-12-27 01:02:56 -06:00
Peter Evans
eeecaf4bdc Add tests for get_width and get_height 2017-12-26 22:35:50 -06:00
Peter Evans
04d40a44f9 Reorganize tests 2017-12-26 17:20:06 -06:00
Peter Evans
8146687110 Don't create a window when testing
We do this by creating the notion of a "headless" mode, and skip window
creation in SDL.
2017-12-26 17:06:08 -06:00
Peter Evans
5b35e2294e Add tests for new functions in apple2 2017-12-26 17:03:32 -06:00
Peter Evans
f50d599545 Beginnings of lo-res graphics 2017-12-24 15:07:24 -06:00
Peter Evans
f31fcd9c37 Add support for vm_bitfont 2017-12-19 21:50:50 -06:00
Peter Evans
28cd93d5e9 Do static analysis if env variable is set 2017-12-19 01:02:48 -06:00
Peter Evans
c84f194c8b Get our test suite working with SDL
Had to remove a couple of screen tests for now; it needs a big re-think
now that we're using SDL. Namely, how do we test SDL?
2017-12-18 14:46:40 -06:00
Peter Evans
f3966dc010 Enable static analysis through clang
If you want to, just uncomment the line that adds the --analyze flag to
CMAKE_C_FLAGS.
2017-12-18 14:26:53 -06:00
Peter Evans
ad37d59b2d Remove references to OpenGL/GLFW/GLEW 2017-12-17 20:20:11 -06:00
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
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
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
eae302e686 Add eject, insert tests 2017-12-15 16:46:40 -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
cebdedeff0 Add initial test suite for apple2dd 2017-12-14 22:47:11 -06:00
Peter Evans
060b7000de Add tests to prove read/write mappers are used 2017-12-12 15:07:26 -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
0bcf9e006d Explicit test that memory (plus others) are zeroed 2017-12-12 14:45:06 -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
8a261f6600 We need to include the max disk slot
Tiny comparison logic error. :grimace:
2017-12-08 17:10:13 -06:00
Peter Evans
cf62694ef0 Add option parsing code, tests 2017-12-08 17:06:21 -06:00