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
Peter Evans
7ca099d0d0
Open log file rather than use stdout
2018-03-29 21:42:38 -05:00
Peter Evans
20d33ef464
Change to erc.log
...
emp is a much older name for the program
2018-03-29 21:40:11 -05:00
Peter Evans
89a0f34ebe
Add suite of log functions that map to syslog RFC levels
2018-03-29 21:39:13 -05:00
Peter Evans
5d55d5b258
Use a bitwise-and to determine carry
...
A bitwise-and is what we do in most (all?) other cases; it's a bit
jarring to read the current logic.
2018-03-26 23:10:57 -05:00
Peter Evans
8aef335f25
Remove unnecessary zero page code
...
This is handled in the zp_read/write functions in apple2.mem.c
2018-03-26 20:59:24 -05:00
Peter Evans
d9be1d6ab2
We need to return from aux, or write to aux, immediately
...
If we wait until later in the function, we may get caught up in the
check for ROM.
2018-03-26 20:51:10 -05:00
Peter Evans
92ac77e8f5
Sort read switches
2018-03-26 20:48:13 -05:00
Peter Evans
e51e643294
Force $C059 to do nothing
2018-03-26 20:47:41 -05:00
Peter Evans
b2e9198ede
Defensive conditionals
2018-03-26 20:46:55 -05:00
Peter Evans
81bcc7d973
We also need to check ACC in ASL/LSR/ROL/ROR
...
And, possibly more importantly--opcode is not a bool.
2018-03-25 20:34:12 -05:00
Peter Evans
3439ec51a8
inc and dec should work with a zero-address
...
Just checking if (cpu->eff_addr) is not sufficient. We need to check the
address mode; only increment or decrement the A register if the mode is
literally ACC.
2018-03-25 19:42:55 -05:00
Peter Evans
8a285aace8
Enlargen the nibble segment length
2018-03-25 19:39:54 -05:00
Peter Evans
0c244cf3f2
Slight update to sector header length
2018-03-25 19:39:27 -05:00
Peter Evans
64306fa5a6
Add hidump, hires_dump commands
2018-03-25 19:39:00 -05:00
Peter Evans
64afcb2040
Rewrite phaser to use state transitions, whole phase states
...
By whole phase states, I mean we no longer track if more than one phase
is active.
2018-03-23 19:41:01 -05:00
Peter Evans
2870bc03bc
Remove option flags; remove unnecessary --flash option
2018-03-21 15:26:58 -05:00
Peter Evans
a461194a63
More clearly check opposite phases
...
And prev should not be checked
2018-03-21 15:11:03 -05:00
Peter Evans
443f9d1a01
Only zero page and stack should be affected by ALTZP
2018-03-21 15:09:40 -05:00
Peter Evans
5ea10d8a98
We track steps in quarter tracks, so double the max
2018-03-20 15:07:55 -05:00
Peter Evans
474104085c
Reorganize encoded sizes/routines to align with reference nibble output
...
(This is comparing to the output that we see from dsk2nib.)
2018-03-20 14:06:26 -05:00
Peter Evans
f5e0de5bbc
Reverting to just black/white color for now
...
Only while I work on some other issues with disk loading
2018-03-19 19:02:46 -05:00
Peter Evans
2baa2fac75
Significant rewrites and slightly better understanding
2018-03-18 00:15:55 -05:00
Peter Evans
82906e74f8
Decrease frame rate per second
2018-03-18 00:01:40 -05:00
Peter Evans
2eccb288a4
Update to use NTSC Corrected color values
2018-03-14 23:50:53 -05:00
Peter Evans
bff83bc315
Implement first pass at hires draw
...
Note: it's a hot mess
2018-03-14 00:57:50 -05:00
Peter Evans
68f9daf6ac
Add -O3 optimization
...
Also add debugging symbols in the unit test version (which we didn't
have???)
2018-03-14 00:12:00 -05:00
Peter Evans
47bbed1399
Add color tables, row table
2018-03-14 00:05:26 -05:00
Peter Evans
ec00bb2a87
It's the columns which matter, not rows
2018-03-13 16:14:38 -05:00
Peter Evans
4d34663435
Add hires graphics file; draw hires graphics
2018-03-13 16:08:31 -05:00
Peter Evans
52e5f8afa7
Add missing decl for apple2_draw_lores()
2018-03-13 15:55:43 -05:00
Peter Evans
809c1724f1
Add test for lores_color, skip on draw
2018-03-13 15:46:21 -05:00
Peter Evans
0e3a0889f3
Punt on testing
2018-03-13 15:42:08 -05:00
Peter Evans
62d868f1aa
Add tests for row, col functions
2018-03-13 15:40:37 -05:00
Peter Evans
a5c777b3e9
Remove --size flag for now
...
I may add an option for full size in the future
2018-03-13 15:22:47 -05:00
Peter Evans
2c676e144a
Rename test to open_file
2018-03-13 15:19:26 -05:00
Peter Evans
d0b085fd7a
Add test for hexdump
2018-03-13 15:18:54 -05:00
Peter Evans
851bc85860
We should print the final line if from is still >= to
...
This can happen if the region of to - from is not cleanly divisible by
16.
2018-03-13 15:17:33 -05:00
Peter Evans
ed32f73e98
Use another pointer to retain the original address to free
...
This also resolves an issue where we weren't attempting to free the
duplicated string when returning early.
2018-03-13 11:00:44 -05:00
Peter Evans
a243ed3d35
Add docblock comments
2018-03-13 00:53:46 -05:00
Peter Evans
7d9879f843
Add file for lores tests
2018-03-13 00:50:10 -05:00
Peter Evans
f33f9cd493
Remove unnecessary check if tok == NULL
...
This also corrects a formatting error (no space between the rparen of
the if and the lbrace of the code block).
2018-03-13 00:33:32 -05:00
Peter Evans
090307f4fe
Removed unnecessary code
2018-03-13 00:28:24 -05:00