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
05a641c8f6
Use SDL's render logical size feature
...
This allows us to work with the pure x/y coordinate system we set when
creating the vm_screen. SDL will take care of the translation of those
coordinates to whatever the window size is.
2017-12-18 14:32:15 -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
4ef9e50792
Really basic implementation of SDL2.
...
Plus a crappy rectangle to prove that our vm screen code is working in
principle. (It will be removed shortly.)
2017-12-17 23:31:56 -06:00
Peter Evans
ad37d59b2d
Remove references to OpenGL/GLFW/GLEW
2017-12-17 20:20:11 -06:00
Peter Evans
afa07e346f
A few comments
2017-12-17 19:22:33 -06:00
Peter Evans
83dcfaf646
Add glew, defines for width/height
2017-12-17 19:09:54 -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
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