1
0
mirror of https://github.com/pevans/erc-c.git synced 2024-11-25 06:31:28 +00:00
Commit Graph

549 Commits

Author SHA1 Message Date
Peter Evans
dfbe0750ae In which I spent an evening plotting a bitmap font
The idea here is to eventually write something that can convert these
(very simple to edit) grid files into an image file which we can then
read parts from and copy onto the screen.

This is also a template for how we can implement other default typefaces
that may come with other platforms we may wish to emulate (for example,
C64).
2017-12-19 00:48:06 -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
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