Thomas Harte
|
27afb8f0a7
|
Adds direct indirect long test, and thereby fixes addressing mode.
Nine to go!
|
2020-10-14 21:26:20 -04:00 |
|
Thomas Harte
|
b22aa5d699
|
Starts transcribing the addressing examples I have into tests.
Correspondingly extends the exposed register set and test-machine addressing range.
|
2020-10-13 21:38:30 -04:00 |
|
Thomas Harte
|
8f5537aaaa
|
Attempts to resolve my direct-indirect addressing stumble.
|
2020-10-13 20:21:53 -04:00 |
|
Thomas Harte
|
a15d4a156b
|
Starts trying to ensure appropriate address wrapping.
|
2020-10-12 22:33:43 -04:00 |
|
Thomas Harte
|
7479dc74ed
|
Removes printf. It's no longer telling me anything.
|
2020-10-12 21:52:58 -04:00 |
|
Thomas Harte
|
28da1a724a
|
Introduces Jeek816 test case.
|
2020-10-12 21:43:44 -04:00 |
|
Thomas Harte
|
f529eadbec
|
Corrects 16-bit read-modify-write.
Subject to the TODO proviso on 'correct'; has my 6502 prejudice pushed me into unrealistic bus signalling?
|
2020-10-12 18:36:09 -04:00 |
|
Thomas Harte
|
5dc3cd3a2f
|
Starts using Jeek816 for a basic native-mode audit. Fixes absolute long addressing.
|
2020-10-11 22:02:46 -04:00 |
|
Thomas Harte
|
a0885ab7d0
|
Implements STP and WAI.
Albeit still without fully-implemented reactions to exceptions in general.
|
2020-10-11 17:56:55 -04:00 |
|
Thomas Harte
|
8eaf1303a3
|
Attempts proactively to ensure proper RTI behaviour on the 65816.
|
2020-10-11 15:25:13 -04:00 |
|
Thomas Harte
|
20cbe72985
|
Ties to 8- or 16-bit those instructions that aren't M/X-dependent.
This is technically redundant for PEI, PEA and PER since they have dedicated bus programs anyway, but it's good to be explicit.
|
2020-10-11 14:38:35 -04:00 |
|
Thomas Harte
|
b8848d8580
|
Implements TCD, TDC, TCS, TSC.
|
2020-10-10 21:43:05 -04:00 |
|
Thomas Harte
|
ae87728770
|
Ensures M and X are exposed to the public interface.
|
2020-10-10 21:33:56 -04:00 |
|
Thomas Harte
|
28c8ba70c1
|
Implements REP and SEP and exposes the MX flags generally.
|
2020-10-10 21:23:59 -04:00 |
|
Thomas Harte
|
6892ac13e8
|
Corrects BIT. All 65816-applicable Wolfgang Lorenz tests now pass.
|
2020-10-10 17:47:33 -04:00 |
|
Thomas Harte
|
d17c90edf7
|
Corrects ROL d, x.
|
2020-10-10 11:25:14 -04:00 |
|
Thomas Harte
|
7966592fae
|
Corrects ROL d.
|
2020-10-10 11:22:23 -04:00 |
|
Thomas Harte
|
92e72959c3
|
Makes corrections to ix addressing mode and shift/roll flags.
|
2020-10-09 23:12:20 -04:00 |
|
Thomas Harte
|
451f83ba51
|
Corrects emulation-mode read-modify-writes not to empty the data buffer.
|
2020-10-09 22:14:42 -04:00 |
|
Thomas Harte
|
0ed98cbfac
|
Attempts to fix direct indirect indexed; not yet successful I think.
|
2020-10-08 22:15:19 -04:00 |
|
Thomas Harte
|
7dde7cc743
|
Implements altered direct indexed addressing in emulation mode.
|
2020-10-08 22:02:14 -04:00 |
|
Thomas Harte
|
f8004d7096
|
Implements RTI, corrects TAY.
|
2020-10-08 18:06:11 -04:00 |
|
Thomas Harte
|
0418f51ef2
|
Takes a shot at emulation-mode 'exceptions'.
It's just RTI and correct decimal SBC left of the official 6502s now, I think.
|
2020-10-08 17:52:13 -04:00 |
|
Thomas Harte
|
054e0af071
|
Corrects RTS behaviour: the return address on the stack is off by one.
Dormann's tests now proceed to a BRK.
|
2020-10-08 16:55:45 -04:00 |
|
Thomas Harte
|
907c3374c3
|
Attempts to clean up my JMP/JSR mess.
Also takes a step forwards in decimal SBC, but it's not right yet.
|
2020-10-08 16:48:46 -04:00 |
|
Thomas Harte
|
b608e11965
|
Realises that not all non-incrementing PC fetches should be thrown away.
|
2020-10-07 20:06:27 -04:00 |
|
Thomas Harte
|
e68b3a2f32
|
Corrects JMP program.
|
2020-10-07 19:59:29 -04:00 |
|
Thomas Harte
|
a4cec95db1
|
Corrects load and transfer flag oversights.
|
2020-10-07 19:36:23 -04:00 |
|
Thomas Harte
|
84c4fa197b
|
Corrects DEX mapping, notes new Dormann failure case.
|
2020-10-07 18:48:03 -04:00 |
|
Thomas Harte
|
7439a326a6
|
Implements BIT (in regular and immediate forms).
|
2020-10-07 18:15:18 -04:00 |
|
Thomas Harte
|
7065ba4857
|
Implements the single-byte branches.
|
2020-10-06 21:24:43 -04:00 |
|
Thomas Harte
|
b7ba0d4327
|
Attempts to complete all addressing modes.
So, if bugs didn't exist, it'd just be members of the Operation enum to go.
|
2020-10-05 17:04:57 -04:00 |
|
Thomas Harte
|
b83d93abc2
|
Accepts that whether instructions do 8- or 16-bit bus accesses depends on either M or X depending on the operation.
|
2020-10-02 17:08:30 -04:00 |
|
Thomas Harte
|
36f843bc6e
|
Ensure std::function is visible to 65816Storage.cpp.
|
2020-09-29 19:23:38 -04:00 |
|
Thomas Harte
|
78b3ec4b10
|
The actual work begins: starts implementing 65816 micro-ops.
|
2020-09-29 18:42:07 -04:00 |
|
Thomas Harte
|
5645f90abe
|
Takes a minor first step towards actually performing 65816 instructions.
|
2020-09-27 22:20:58 -04:00 |
|
Thomas Harte
|
5449e90b34
|
Edges towards offering the 65816 as another type of 6502 for testing.
|
2020-09-26 22:31:50 -04:00 |
|
Thomas Harte
|
1cd664ad85
|
Adds a sanity check.
|
2020-09-26 21:43:26 -04:00 |
|
Thomas Harte
|
e680022b1f
|
Completes the opcode set.
A million bugs yet to find.
|
2020-09-26 21:35:31 -04:00 |
|
Thomas Harte
|
67c2ce2174
|
Takes a run at completing the stack section.
I'm not really sure about BRK though — does it gain a signature on the 65816?
|
2020-09-26 21:20:01 -04:00 |
|
Thomas Harte
|
596e700b60
|
Drags myself onto the final page of bus programs.
233 opcodes now complete; six bus programs to go.
|
2020-09-26 20:57:24 -04:00 |
|
Thomas Harte
|
4a53b6e538
|
Adds push and pull, reaching 229/256 opcodes.
|
2020-09-26 20:38:29 -04:00 |
|
Thomas Harte
|
687f4bb3bb
|
Adds relative and relative long bus patterns.
Many of the rest cover only one or two opcodes so this puts me at 216/256 opcodes covered; 35/47 bus programs; just more than 5/7 pages.
|
2020-09-26 20:24:50 -04:00 |
|
Thomas Harte
|
473799cb62
|
There's not a lot to STP and WAI from a bus program point of view.
|
2020-09-26 20:18:30 -04:00 |
|
Thomas Harte
|
3dc22a9fd5
|
Adds implied and immediate modes.
... for 204/256 opcodes covered.
|
2020-09-26 17:42:42 -04:00 |
|
Thomas Harte
|
f54b655606
|
Adds d, x and d, y .
|
2020-09-26 17:26:17 -04:00 |
|
Thomas Harte
|
d2e868ea2b
|
Adds (d), y; [d], y; and [d].
Now covered: 146/256 opcodes, 4/7 pages, 25/47 bus programs.
|
2020-09-26 16:55:58 -04:00 |
|
Thomas Harte
|
3fc649359a
|
Transcribes the titles of all remaining bus programs.
Thereby frames the distance yet to travel.
|
2020-09-25 22:29:19 -04:00 |
|
Thomas Harte
|
1512ac11da
|
Adds (d, x) and (d) modes. Albeit by deferring the hard work.
That's: 122/256 opcodes; 22/47 bus programs, ~3.5/7 pages transcribed. Maybe I'll be able to get to the runtime stuff sooner rather than later?
|
2020-09-25 22:22:30 -04:00 |
|
Thomas Harte
|
5039cc7bb2
|
Adds direct page.
... to cover 106 opcodes.
|
2020-09-25 22:01:36 -04:00 |
|