Peter Evans
2c3d6a4dfa
Reimplement idx and idy to use 16-bit addresses
...
While I have found some conflicting details on how this should be done,
it seems pretty clear to me that IDX and IDY work with 16-bit addresses,
not 8-bit. The inability to do so was preventing us from probing
peripheral ROM (e.g. at $C705, for the disk controller).
2018-01-27 19:54:55 -06:00
Peter Evans
9402eccc04
Add, and use, Apple //e enhanced rom
2018-01-27 19:54:19 -06:00
Peter Evans
4165c1cefc
Make idx, idy clearer
...
I'm still not confident this is how it _should_ work, but I have found
conflicting accounts online for the behavior of these two modes. The
current code is what allows the Apple II to bootstrap as it should.
2018-01-27 13:04:19 -06:00
Peter Evans
38d80078d9
Remove obsoleted test functions
2018-01-27 00:16:39 -06:00
Peter Evans
dde7312864
No need to deal with carry here
2018-01-27 00:15:06 -06:00
Peter Evans
9bbfb95b02
Carry is no longer factored
2018-01-26 22:04:47 -06:00
Peter Evans
d29dfd442a
Account for SLOTCXROM being on by default
2018-01-26 22:03:57 -06:00
Peter Evans
76e4d3797f
By default SLOTCXROM should be high
2018-01-26 22:01:46 -06:00
Peter Evans
ca5276cb6b
It turns out we don't use carry for addr modes.
...
This fix actually corrects a rather irritating bug where the Apple ][
logo was displaying one-off--e.g., as "pple ][D".
2018-01-26 21:18:42 -06:00
Peter Evans
4509f61be6
dd_write no longer accepts the byte it will wryte
2018-01-26 20:00:10 -06:00
Peter Evans
9c0e01ecd2
Add drive phases, switches for control and i/o
2018-01-26 19:49:19 -06:00
Peter Evans
e901bcf54d
Add docblock comments
2018-01-25 14:12:49 -06:00
Peter Evans
217b27b040
Handle inversed text
2018-01-24 20:05:47 -06:00
Peter Evans
f36bba2e83
Add extern for the prepare function
2018-01-24 20:05:19 -06:00
Peter Evans
2ae272af3a
Stop flickering issue by clearing before drawing
2018-01-24 20:04:53 -06:00
Peter Evans
d581194bbc
Add apple text functions and refactor draw logic for text
2018-01-24 16:11:08 -06:00
Peter Evans
8bbe337643
Move open apple to index 0
2018-01-24 15:05:29 -06:00
Peter Evans
6069ab4d1b
Add inverse font
2018-01-24 14:26:28 -06:00
Peter Evans
4a4fd93d9d
Inverse for last two glyphs; add inverse bitmap
2018-01-24 14:14:49 -06:00
Peter Evans
375b5a173f
Add inverse font glyphs
2018-01-24 13:56:48 -06:00
Peter Evans
f073c0d007
Add new glyph grid files and rebuild bitmap
2018-01-24 13:05:35 -06:00
Peter Evans
70cfa527b4
Add new glyphs and sort glyph map
2018-01-24 13:05:16 -06:00
Peter Evans
cfee8baf25
Refresh once every thirtieth of a second
...
And also refresh on keypress
2018-01-23 23:14:26 -06:00
Peter Evans
882cf2c166
Comment out cycles
2018-01-23 21:41:43 -06:00
Peter Evans
9f518d5141
We should not resolv the address a second time
2018-01-23 21:41:30 -06:00
Peter Evans
47630fdc88
pha/php only push one byte onto the stack
2018-01-23 21:37:36 -06:00
Peter Evans
c946eb3f69
Fix incorrect stack info
...
(The previous behavior of RTS/JSR was not right.)
2018-01-23 21:35:59 -06:00
Peter Evans
2e334e2ee1
Update tests with correct expected text from disassembler
2018-01-23 21:19:26 -06:00
Peter Evans
1751a7af1f
Don't try to call resolv() if resolv is NULL
2018-01-23 21:18:42 -06:00
Peter Evans
80136e9360
Most status flags are now set when the CPU is created
2018-01-23 20:41:48 -06:00
Peter Evans
0b03fd24f5
Carry must also be factored in
2018-01-23 20:26:01 -06:00
Peter Evans
5656b271ee
Account for carry being set by default
2018-01-23 16:30:52 -06:00
Peter Evans
746e2246b3
Set negative and unset zero since the operand >= A
2018-01-23 16:29:53 -06:00
Peter Evans
3c7002c6c7
Carry is only unset if the operand >= A
2018-01-23 16:29:08 -06:00
Peter Evans
dc97a6996e
Account for carry being set by default
2018-01-23 16:28:39 -06:00
Peter Evans
b02679f6a0
Carry must be unset
2018-01-23 16:26:05 -06:00
Peter Evans
522905b39c
Carry must be unset in this test
2018-01-23 16:24:46 -06:00
Peter Evans
60ff0e5781
Carry is set by default now
2018-01-23 16:24:16 -06:00
Peter Evans
a3598ecd16
The stack pushes from the end of the page now
2018-01-23 16:21:43 -06:00
Peter Evans
8edf83f7ad
Carry is set only if the result is > 0xFF
2018-01-23 16:20:33 -06:00
Peter Evans
8133781fd3
Use the address mode enum itself
2018-01-23 16:18:22 -06:00
Peter Evans
7a0ea50aa3
The stack now only works with 8bit values; disable carry
2018-01-23 16:16:59 -06:00
Peter Evans
9215600148
Don't attempt to render a glyph if render is NULL
2018-01-23 16:09:27 -06:00
Peter Evans
ef13fe4ef1
Require STATUS_DEFAULT, stack pointer at ff
2018-01-23 16:07:21 -06:00
Peter Evans
766aea9c96
Change dbuf switches to work off correct addresses
2018-01-23 15:51:06 -06:00
Peter Evans
8f516db42b
Remove arbitrary counter and allow escape to exit
2018-01-23 15:04:11 -06:00
Peter Evans
775a145480
Rework screen display logic for more efficiency
2018-01-23 14:52:16 -06:00
Peter Evans
b5e1e09a35
Bump up counter by a ton
2018-01-22 21:43:18 -06:00
Peter Evans
b97af6cb16
Disable active refresh
2018-01-22 21:43:01 -06:00
Peter Evans
47d7483297
Disable usleep delay for now
2018-01-22 21:42:42 -06:00