Peter Evans
9a1e51fec3
We need to pass the machine, not memory
2018-01-02 23:49:29 -06:00
Peter Evans
cb9a7d0fce
Let the segment vm know about the machine
2018-01-02 21:12:21 -06:00
Peter Evans
ee7b5f66b0
Add support for a map machine pointer
...
To be sent to the read/write functions that are implemented by said
machine.
2018-01-02 21:11:43 -06:00
Peter Evans
3fe7a4e0bb
Use explicit memory size of MOS6502
2018-01-02 20:48:42 -06:00
Peter Evans
73f7d8f63a
Actually map memory when we create an apple2
2018-01-02 16:30:21 -06:00
Peter Evans
33c8f0de9d
Add memory map functions
2018-01-02 16:26:51 -06:00
Peter Evans
834959c10a
Add rom, ram2 bank memory; modify read/write sig
...
The signature for read/write map functions now accepts a void pointer so
that we can pass in the machine that those functions may need to know
about. This is a bit hairy, but allows us to avoid the need for a
yet-uglier global variable.
2018-01-02 16:24:51 -06:00
Peter Evans
49d475d534
Documentation
2018-01-01 17:41:15 -06:00
Peter Evans
d53b6df7a4
Add documentation; plus set sector/track pos to 0 on eject
2018-01-01 17:26:29 -06:00
Peter Evans
2aeef09f97
Remove unused msb variable
2018-01-01 17:12:41 -06:00
Peter Evans
8f04deb642
Comment out unused cycles variable
2018-01-01 17:12:25 -06:00
Peter Evans
78aab1bd13
Fix potential memory leaks in create()
2018-01-01 17:11:03 -06:00
Peter Evans
a2b4fe1466
Write an fread function for segments; use in apple2.dd
2017-12-31 20:28:11 -06:00
Peter Evans
e14e22a596
Uh, so we forgot to read data into the disk
2017-12-31 15:54:30 -06:00
Peter Evans
f70f21789b
Add flash memory, disassemble options
2017-12-31 15:50:59 -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
7e142e2736
Properly handle indirect addresses
2017-12-30 21:48:16 -06:00
Peter Evans
26529f77ab
Implement jump table, labels in code
2017-12-29 17:08: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
491b3c0c38
Add scan function for disassembly
2017-12-28 21:47:35 -06:00
Peter Evans
d95572bd4a
Move instruction strings to mos6502.dis.c
2017-12-27 21:21:33 -06:00
Peter Evans
32d08fbbc5
Add new file for opcode disassembly
2017-12-27 21:21:11 -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
efb8f04555
Use vm_area for draw_rect.
...
This simplifies and to some degree normalizes the way we reference areas
in the vm subsystem.
2017-12-27 16:42:30 -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
5407ce2d32
Add documentation for option functions
2017-12-27 14:32:13 -06:00
Peter Evans
76191991c8
Add a lot of missing documentation
2017-12-27 01:14:52 -06:00
Peter Evans
f8ce9ae1d1
Documentation
2017-12-26 17:13:34 -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
253db81460
Comment out unused instruction string table
2017-12-26 16:45:24 -06:00
Peter Evans
81804532df
Reorganize log.c
2017-12-26 16:44:28 -06:00
Peter Evans
a86fc8e80e
Reorganize
2017-12-26 16:42:04 -06:00
Peter Evans
f5af03786d
Reorganize
2017-12-26 16:39:23 -06:00
Peter Evans
f50d599545
Beginnings of lo-res graphics
2017-12-24 15:07:24 -06:00
Peter Evans
7b19279f1d
No need for this comment any longer
2017-12-22 20:45:26 -06:00
Peter Evans
4ad690212f
Blank out the space we want to render a character
2017-12-22 17:49:36 -06:00
Peter Evans
29652b2368
Implement draw text functionality
2017-12-22 15:48:48 -06:00
Peter Evans
b2c1bd9e6d
Hello world, in rendered text; use nearest pixel sampling
...
The scale change removes some blurriness that we saw when copying pixels
from the bitmap font into the renderer.
2017-12-22 12:56:22 -06:00
Peter Evans
979ca65f43
Add bitmap font to apple2, remove rectangle draw
2017-12-21 23:33:04 -06:00
Peter Evans
adac6346e8
Add color mode, text video modes
2017-12-21 11:52:56 -06:00
Peter Evans
87b67216b0
Default to lo-res mode
2017-12-20 21:54:54 -06:00
Peter Evans
23e113e72a
Add video mode switcher to handle logical sizes
2017-12-20 21:52:28 -06:00
Peter Evans
7d62548248
Add the bones of the draw functions and file
2017-12-20 21:33:15 -06:00
Peter Evans
f55b608bee
Move screen run logic into apple run_loop and create
2017-12-20 20:45:26 -06:00
Peter Evans
8c23f3fa7e
Switch window sizes for 4.375:3
2017-12-20 19:32:54 -06:00
Peter Evans
53db99f4fd
Use size options for window
2017-12-20 17:08:19 -06:00