1
0
mirror of https://github.com/pevans/erc-c.git synced 2024-11-27 05:49:24 +00:00
Commit Graph

247 Commits

Author SHA1 Message Date
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
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
4d34663435 Add hires graphics file; draw hires graphics 2018-03-13 16:08:31 -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
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
7d9879f843 Add file for lores tests 2018-03-13 00:50:10 -05:00
Peter Evans
7d043abc9f Force removal of test program 2018-03-13 00:27:10 -05:00
Peter Evans
19d006e9a3 Update tests to include register info 2018-03-13 00:12:52 -05:00
Peter Evans
ab6e6b03db Use option_open_file() 2018-03-09 16:45:39 -06:00
Peter Evans
1ff5d17f19 Add hexdump command 2018-03-09 16:44:53 -06:00
Peter Evans
267171ea4a Change to option_open_file(), allow any file mode 2018-03-09 16:44:20 -06:00
Peter Evans
f555196080 Test for !OK with system data addresses 2018-03-07 20:42:27 -06:00
Peter Evans
4d4fbdf79a Switch to vm_di for option variable storage
Things like disk1, disk2, width/height, etc.
2018-03-07 20:25:39 -06:00
Peter Evans
0edfcaf370 Add test for notify_refresh, skip for draw 2018-03-07 17:06:50 -06:00
Peter Evans
c3b86031bd Add tests for primary, alternate functions 2018-03-07 17:00:11 -06:00
Peter Evans
9562dd19ce Rewrite dd to use phases and half-track steps
Phases will yet be the death of me. THE DEATH OF ME.
2018-03-03 21:29:19 -06:00
Peter Evans
9d585d6ef3 Remove colors 2018-03-02 16:43:00 -06:00
Peter Evans
998a139c00 Use state machine for stepper motor changes 2018-03-02 16:42:22 -06:00
Peter Evans
c5d1542937 Show correct PC counter in scan 2018-03-01 21:37:10 -06:00
Peter Evans
b239cac239 Add dblock command to disassemble blocks of code 2018-03-01 19:31:56 -06:00
Peter Evans
0315eb33bf Better testing for ROL/ROR 2018-03-01 18:31:03 -06:00
Peter Evans
0949661b18 Do a better job testing overflow 2018-03-01 17:24:51 -06:00
Peter Evans
f8bda4ebd3 Remove modify_status() function
Also rewrite tests to use macros
2018-02-28 21:40:52 -06:00
Peter Evans
edd175c1f9 Add disasm command (toggle disassembly) 2018-02-26 20:52:13 -06:00
Peter Evans
4558e62adc Use the correct name for the quit command function 2018-02-26 20:46:19 -06:00
Peter Evans
26e2abe745 Test that ASL sets carry 2018-02-26 20:33:52 -06:00
Peter Evans
724dbb1577 Add test to ensure decimal mode is respected for SBC 2018-02-26 20:33:33 -06:00
Peter Evans
0333e308e7 Test decimal mode with ADC 2018-02-26 20:02:58 -06:00
Peter Evans
30c07df9cb When carry is set, subtract one fewer, not one more
A subtle misunderstanding... which led to bizarre and unexpected
behavior elsewhere.
2018-02-26 18:59:25 -06:00
Peter Evans
d1a6441c5a Add missing tests for vm_debug.c 2018-02-26 14:25:02 -06:00
Peter Evans
f376f00688 Fix scan test not to rely on buggy operand output 2018-02-25 16:16:14 -06:00
Peter Evans
7b3b30a0f2 Use addr2 for ws tests
I take it back from the previous commit--the test was written with an
assumption that was not how execute() works
2018-02-25 16:14:05 -06:00
Peter Evans
e50fda62be Add step command 2018-02-25 15:41:37 -06:00
Peter Evans
01f230dc85 Add unbreak command, unbreak_all() function for testing 2018-02-25 14:38:24 -06:00
Peter Evans
588362abee Add prompt; quit command; breakpoints 2018-02-25 14:25:02 -06:00
Peter Evans
09f7152e07 Add writeaddr command 2018-02-24 19:38:04 -06:00
Peter Evans
06bf63ecb2 Add jump debug command 2018-02-24 19:36:02 -06:00
Peter Evans
1be1abc0af Add printaddr, printstate 2018-02-24 18:57:00 -06:00
Peter Evans
ec253905ad Add resume command, finder function, arg parser, execute 2018-02-24 16:30:46 -06:00
Peter Evans
a614c1e5df Add new file, vm_debug.c, and help command for it 2018-02-23 21:58:30 -06:00
Peter Evans
ac5d532a7f Fix length bug with s_bytes (one too short)
This also fixes tests for disassembly so that they account for changed
output. Finally this also exits if we have to perror in the setup
function.
2018-02-23 21:35:53 -06:00
Peter Evans
395ac4a841 Disassembler now outputs more idiomatic code
It also no longer prints out register and address state
2018-02-23 20:46:24 -06:00
Peter Evans
0d1e22a348 Add support for decimal mode ADC/SBC.
This also corrects a bug where SBC set carry incorrectly in binary mode.
2018-02-23 00:46:07 -06:00
Peter Evans
978ad1faaf Formerly "BAD" instructions are now forms of NOPs
But weird forms. In most cases they basically are NOPs, except with
different opcodes. In other cases, we call them NP2 and NP3s, and do so
because they consume 2 or 3 bytes respectively (vs. just 1 with NOP).

We had to teach some arcane magic to the emulator for this to work. We
may want to refactor to decouple the number of bytes consumed from the
address mode.
2018-02-22 14:07:05 -06:00
Peter Evans
e35ff91fa7 Clear the decimal bit in BRK; also improve test logic for BRK 2018-02-22 13:44:13 -06:00
Peter Evans
90892c32e4 Add TSB (Test and Set Bits) instruction
This commit also moves the TRB code from loadstor to bits, which is
where it should have been all along.
2018-02-22 13:39:48 -06:00