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
Peter Evans
eb865243bb
We have to pass NULL into log_open now
2017-12-06 16:53:15 -06:00