Peter Evans
1ac19aaaae
Port similar changes from DE* to IN*
2018-04-30 22:15:24 -05:00
Peter Evans
635ff624e7
Refactor the DEC/X/Y tests a bit for clarity
2018-04-30 21:37:20 -05:00
Peter Evans
c53c7bfd1d
Add function to return true if an instruction would write to memory
2018-04-21 23:15:48 -05:00
Peter Evans
37f9e627ba
Change from last_opcode/last_operand to opcode/operand
...
This change also makes it so that those values are set once they are
known, rather than only at the end of the execute function.
2018-04-21 23:14:32 -05:00
Peter Evans
a5947f646e
We no longer need the last effective address
2018-04-21 23:06:23 -05:00
Peter Evans
40550b38dc
We also need to set the debug flag
2018-04-21 21:59:56 -05:00
Peter Evans
be82a23061
Remove two-op checks
2018-04-20 16:47:51 -05:00
Peter Evans
9ac85cb30b
The on/off switch for BANK_ALTZP was mixed up
2018-04-16 22:28:24 -05:00
Peter Evans
573a276948
We mixed up when to turn on/off text mode
2018-04-16 22:15:17 -05:00
Peter Evans
c82c1828b0
Remove unused grid file; resolve crash condition
2018-04-15 23:31:29 -05:00
Peter Evans
b06c00a547
Rename segment -> seg, index -> addr
2018-04-15 22:40:44 -05:00
Peter Evans
b5fef760b8
Remove the map_mach abstraction in favor of vm_di
2018-04-15 22:30:57 -05:00
Peter Evans
8e810e724f
Add addr_mode field, rely upon it vs. the opcode
...
This makes testing _slightly_ easier, because now the handlers require a
type of state in the cpu vs. a specific opcode state in the segment that
we execute from. (The latter being just more complex to work with and
require in testing.)
2018-04-15 00:56:34 -05:00
Peter Evans
7c78c22618
The lores colors have changed; update the test to account for it
2018-04-14 18:08:59 -05:00
Peter Evans
7cc443206c
Fix table sort order
...
Otherwise bsearch() can't find the help command, which causes other
problems later on
2018-04-13 23:43:52 -05:00
Peter Evans
a3a32662ef
Remove disasm command
2018-04-13 23:36:58 -05:00
Peter Evans
5db0c3b9c0
Clearer documentation on push_stack
2018-04-13 18:01:17 -05:00
Peter Evans
3887f52119
Clarify behavior of pop_stack
2018-04-13 16:22:58 -05:00
Peter Evans
ebb5f068fd
Always set the UNUSED and BREAK flags after execution.
...
This change simply replicates the behavior demonstrated in AppleWin.
2018-04-13 16:17:13 -05:00
Peter Evans
20047c65a8
If we pressed a key, we need to set the strobe to true
2018-04-13 16:14:57 -05:00
Peter Evans
ee2c9746c6
Add docblocks
2018-04-07 19:54:05 -05:00
Peter Evans
6e77e99813
Add ability to debug separate from pausing
...
Also, pausing just pauses now; no debugger prompt is shown. ALT+P
toggles pausing, so just hit it again to unpause. Also, when things are
paused, you can perform other keyboard events (like quitting).
2018-04-07 11:14:12 -05:00
Peter Evans
ec719da2c5
Remove unused vm_reflect files
2018-04-07 11:05:26 -05:00
Peter Evans
4b0b8e1a89
Move vm_debug fully into apple2
2018-04-07 00:53:17 -05:00
Peter Evans
27d0a15bc5
Move vm_debug_broke() check out of mos6502 and into apple2
2018-04-07 00:48:16 -05:00
Peter Evans
18e0bde099
Remove vm_reflect.c
2018-04-07 00:39:49 -05:00
Peter Evans
c665df3531
Move reflect to event
2018-04-07 00:33:40 -05:00
Peter Evans
8a899f87a2
Move reflect files to event files
2018-04-07 00:32:29 -05:00
Peter Evans
a913668c02
Missing some reorg changes; move reflect into event, debug
2018-04-07 00:26:31 -05:00
Peter Evans
74aafb0d01
Reorganizing files into directories
2018-04-06 20:27:47 -05:00
Peter Evans
f9d130ba97
Add an extremely crude method to slow things down
...
It's not configurable, and not accurate to any particular measure. But
it's something for now.
2018-04-06 11:49:54 -05:00
Peter Evans
281544bf43
Avoid polling for events until we're ready for a frame redraw
...
This change drastically cuts the number of times we poll for events, and
consequently drastically speeds up the number of frames we can draw
within any given span of time.
In other words, we go from "this barely moves as fast as the actual
Apple II" to "holy shit this moves so fast".
2018-04-06 11:47:54 -05:00
Peter Evans
f8dd49e892
Revert "Separate window and renderer creation; use software rendering"
...
This reverts commit c178e417b7
.
2018-04-05 20:57:09 -05:00
Peter Evans
206bd86196
Revert "Move hires colors into include file"
...
This reverts commit d8e0159de0
.
2018-04-05 20:56:59 -05:00
Peter Evans
e50af5aba9
Revert "Implement rect change stack"
...
This reverts commit 616bfdcc58
.
2018-04-05 20:56:46 -05:00
Peter Evans
616bfdcc58
Implement rect change stack
2018-04-04 22:01:46 -05:00
Peter Evans
d8e0159de0
Move hires colors into include file
2018-04-04 22:01:26 -05:00
Peter Evans
c178e417b7
Separate window and renderer creation; use software rendering
...
It seems _slightly_ faster than hardware acceleration for the uses we
have.
2018-04-02 08:37:01 -05:00
Peter Evans
2d0952133a
Add missing docblock comments, remove some dead code
2018-03-31 21:10:08 -05:00
Peter Evans
418950750f
A very rough version of the correct hires render logic
2018-03-31 20:54:47 -05:00
Peter Evans
221d798c82
Remove online checks
...
That doesn't seem to be how the motor on/off status works. This
basically stops the motor from actively spinning, but it does not
prevent the drive from basic operation.
2018-03-30 23:33:30 -05:00
Peter Evans
2b8cdc7cfc
Remove logging, always work on a drive in switch_drive
2018-03-30 23:05:24 -05:00
Peter Evans
6653da3c20
Rework overflow logic, and add missing handling
2018-03-30 23:04:21 -05:00
Peter Evans
0ccabda71e
Rewrite SBC logic
...
The carry handling was incorrect; carry is set if we went below zero,
but bit 7 is not enough to determine that. It follows that negative
handling needed to be modified accordingly. Overflow handling was also
incorrect.
2018-03-30 20:07:24 -05:00
Peter Evans
07a8a385f5
Remove log statements
2018-03-30 20:06:59 -05:00
Peter Evans
54708e5110
Switch back to >=
2018-03-30 18:49:32 -05:00
Peter Evans
a23c7321f5
Don't do certain operations if the drive is offline
2018-03-30 16:26:24 -05:00
Peter Evans
d129ffed99
Logging on STA instructions
2018-03-30 16:10:15 -05:00
Peter Evans
523b9c4a03
Several changes...
...
1. We have much more logging.
2. We were not properly turning off drives when we would get called with
C0x8.
3. We now roll over sector pos if we are greater than ENC_ETRACK.
4. We now reset sector pos when we step.
2018-03-30 16:07:58 -05:00
Peter Evans
d2047457e9
Use log_crit() instead of log_critical()
...
This change also removes the former log_critical and log_error macros.
2018-03-29 21:45:25 -05:00