Thomas Harte
|
73131735fa
|
Further qmake warning corrections.
|
2020-05-30 19:31:17 -04:00 |
|
Thomas Harte
|
267006782f
|
Starts to add Qt target; resolves many build warnings.
|
2020-05-30 00:37:06 -04:00 |
|
Thomas Harte
|
512a52e88d
|
Increases const correctness, marks some additional constructors as constexpr, switches std::atomic construction style.
|
2020-05-20 23:34:26 -04:00 |
|
Thomas Harte
|
28881cb391
|
Implements apply .
|
2020-05-19 18:27:10 -04:00 |
|
Thomas Harte
|
a16b710d22
|
Removes <cassert> from Struct.h (which means it's needed in the 68000's State).
|
2020-05-19 00:06:29 -04:00 |
|
Thomas Harte
|
a3d4c7599b
|
Attempts fully to capture 68000 state.
Albeit that it can't be put back yet.
|
2020-05-18 23:55:54 -04:00 |
|
Thomas Harte
|
6f16928215
|
Adds all remaining simple scalar fields.
|
2020-05-16 22:47:04 -04:00 |
|
Thomas Harte
|
57edfe8751
|
Formalises TODO list and marches onward into execution state.
|
2020-05-16 18:31:43 -04:00 |
|
Thomas Harte
|
dcc0ee3679
|
Adds input line capture.
|
2020-05-16 17:44:15 -04:00 |
|
Thomas Harte
|
f7a16762b4
|
Starts populating the 68000 state registers.
|
2020-05-16 00:06:04 -04:00 |
|
Thomas Harte
|
8b76d4007e
|
Starts adding State for the 68000.
|
2020-05-14 22:46:40 -04:00 |
|
Thomas Harte
|
c5b746543b
|
Factors the half mask into steps count.
|
2020-05-14 00:09:01 -04:00 |
|
Thomas Harte
|
11d936331d
|
Attempts to preserve scheduled_program_counter_.
|
2020-05-13 23:58:04 -04:00 |
|
Thomas Harte
|
3709aa7555
|
Edges almost up to an initially complete implementation.
|
2020-05-13 22:04:04 -04:00 |
|
Thomas Harte
|
7c9d9ee048
|
Adds basic Z80 state.
|
2020-05-13 20:15:22 -04:00 |
|
Thomas Harte
|
66c2eb0414
|
Further tightens const and constexpr usage.
|
2020-05-12 22:22:21 -04:00 |
|
Thomas Harte
|
25996ce180
|
Further doubles down on construction syntax for type conversions.
|
2020-05-09 23:00:39 -04:00 |
|
Thomas Harte
|
cc357a6afa
|
Removes boilerplate from header.
|
2020-04-02 19:15:57 -04:00 |
|
Thomas Harte
|
dfc1c7d358
|
Separates 6502 State object to make it optional.
Also makes a few minor const improvements while I'm poking around.
|
2020-04-02 19:11:27 -04:00 |
|
Thomas Harte
|
7ed8e33622
|
Eliminates unused 6502 counter.
|
2020-04-02 18:49:28 -04:00 |
|
Thomas Harte
|
a491650c8b
|
Adds safety asserts.
|
2020-03-30 21:39:31 -04:00 |
|
Thomas Harte
|
95c68c76e1
|
Corrects use of StructImpl.
|
2020-03-30 00:27:40 -04:00 |
|
Thomas Harte
|
edc553fa1d
|
Removes duplicative 'register'.
|
2020-03-29 22:58:00 -04:00 |
|
Thomas Harte
|
4f2ebad8e0
|
Takes a shot a set_state.
|
2020-03-29 22:50:30 -04:00 |
|
Thomas Harte
|
cfb75b58ca
|
Pulls all 6502 MicroOp sequences into the main operations_ table.
This will make state restoration somewhat more tractable.
|
2020-03-29 18:36:41 -04:00 |
|
Thomas Harte
|
4fbe983527
|
Provisionally adds State and get_state to the 6502.
`set_state` may be a little more complicated, requiring a way to advance in single-cycle steps **without applying bus accesses**.
|
2020-03-28 00:33:27 -04:00 |
|
Thomas Harte
|
a51fe70498
|
Standardises cast syntax.
|
2020-03-06 21:55:00 -05:00 |
|
Thomas Harte
|
b971e2a42c
|
Adds get_is_resetting to the Z80, eliminating the CPC's custom version.
|
2020-02-29 19:58:25 -05:00 |
|
Thomas Harte
|
01faffd5bf
|
Corrects memptr behaviour of OTIR/OTDR and INIR/INDR.
This seemingly perfects memptr.
|
2020-02-27 20:55:43 -05:00 |
|
Thomas Harte
|
26de5be07c
|
Corrects memptr behaviour of LDIR/LDDR and CPIR/CPDR.
|
2020-02-27 20:44:53 -05:00 |
|
Thomas Harte
|
87474d5916
|
Corrects memptr behaviour of OUT (C), 0 .
|
2020-02-27 20:38:27 -05:00 |
|
Thomas Harte
|
06163165d9
|
Corrects memptr effect of LD rr, (nn).
|
2020-02-26 22:22:54 -05:00 |
|
Thomas Harte
|
ec82c075be
|
Fixes memptr for IN C, (C).
|
2020-02-26 22:19:37 -05:00 |
|
Thomas Harte
|
3b0df172a7
|
Corrects memptr behaviour of JP nn.
|
2020-02-26 22:02:15 -05:00 |
|
Thomas Harte
|
7058dbc3cc
|
Corrects memptr for LD HL, (nn).
|
2020-02-26 21:54:49 -05:00 |
|
Thomas Harte
|
b64de89d2d
|
Corrects JR memptrs.
|
2020-02-26 21:47:34 -05:00 |
|
Thomas Harte
|
8878396339
|
Corrects DJNZ memptr behaviour.
|
2020-02-26 21:42:31 -05:00 |
|
Thomas Harte
|
3097c4ccae
|
Improves MEMPTR testing and some results.
|
2020-02-24 23:32:18 -05:00 |
|
Thomas Harte
|
7959d243f6
|
Adds single-stepping. Of a kind.
|
2020-02-24 23:31:42 -05:00 |
|
Thomas Harte
|
79dd402bc8
|
Consolidates different test port input selection.
|
2020-02-23 16:12:28 -05:00 |
|
Thomas Harte
|
3f3229851b
|
Implements MEMPTR for IN.
|
2020-02-23 00:32:33 -05:00 |
|
Thomas Harte
|
dca79ea10e
|
Requires trace flag currently set.
|
2020-01-18 22:52:53 -05:00 |
|
Thomas Harte
|
b7fd4de32f
|
Ensures a one-instruction latency on the trace flag.
|
2020-01-18 22:06:00 -05:00 |
|
Thomas Harte
|
9f2f547932
|
Adds and satisfies test on the function code word.
Thanks to ijor's "68000 Address and Bus Error Stack Frame" re: contents.
|
2020-01-04 23:58:07 -05:00 |
|
Thomas Harte
|
f0d5bbecf2
|
Introduces a test of stack contents after an address error.
Fixes: stacked PC, address of fault.
|
2020-01-04 23:22:07 -05:00 |
|
Thomas Harte
|
a28c52c250
|
Fixes A7-relative JSRs.
I completely withdraw my earlier statement re: the test cases.
|
2020-01-04 22:22:33 -05:00 |
|
Thomas Harte
|
7de1181213
|
Make a new guess at post-overflow DIV flags, based on tests.
Specifically: for DIVU, stick with the current guess of a fixed set. For DIVS, leave N and Z alone.
|
2020-01-03 23:44:49 -05:00 |
|
Thomas Harte
|
c7a5b054db
|
There's no TODO here; overflow is always 0 for a 16x16 multiply.
... and the original 68000 doesn't support 32x32 multiplies.
|
2020-01-03 22:44:19 -05:00 |
|
Thomas Harte
|
2f8078db22
|
Switches to should_log as a global when I'm hacking about.
|
2020-01-02 20:15:48 -05:00 |
|
Thomas Harte
|
5be30b1f7b
|
Introduces further comparative tests, prompting a new CHK fix.
Specifically: how to set N when both is_under and is_over are true, and to eliminate a failure fully to prefetch in the longer addressing modes.
|
2020-01-01 19:11:36 -05:00 |
|