Thomas Harte
|
6e698e908e
|
Made an attempt to reduce cost of the most-likely path.
|
2016-06-28 18:46:00 -04:00 |
|
Thomas Harte
|
574aa32b72
|
Made an attempt to implement NMI. Some work to do on the B flag though, I think.
|
2016-06-27 22:01:48 -04:00 |
|
Thomas Harte
|
88e2b382e5
|
Made an attempt at a full and thorough 6532 implementation (and got a bit more explicit about flag size in the 6502).
|
2016-06-20 18:57:35 -04:00 |
|
Thomas Harte
|
ef3ed1f436
|
Implemented full paste ability for any machine that is a typer.
|
2016-06-19 16:35:04 -04:00 |
|
Thomas Harte
|
06fb2ff1c7
|
Started endeavouring to sketch out the boilerplate for writing a 6522 test harness. Added a default implementation of synchronise to the 6522 too, since not everybody is going to want one.
|
2016-06-18 09:28:46 -04:00 |
|
Thomas Harte
|
5c4f35e13f
|
Finally started on generalising the C++ stuff so as to be able to be able to get a working audio binding on the OS-specific side without further repetition by factoring an appropriate protocol out from the Electron and sketching out the correct speaker class for the Atari. Added a method to ask it what a good output frequency would be.
|
2016-05-31 21:23:44 -04:00 |
|
Thomas Harte
|
0242924fb4
|
Various bits of caveman debugging appearing and disappearing, switched to latching ball behaviour.
|
2016-05-22 14:26:02 -04:00 |
|
Thomas Harte
|
e636ae37b4
|
Ensured that calling return_from_subroutine really does unjam the processor if required, causing all tests once again to pass.
|
2016-05-10 21:44:11 -04:00 |
|
Thomas Harte
|
5a4262d74e
|
Confirmed: it is inaccurate for a 6502 to self reset at power up. So that responsibility now rests in the machines.
|
2016-05-10 21:05:52 -04:00 |
|
Thomas Harte
|
9b64f64db7
|
Attempted to normalise some style decisions.`
|
2016-04-24 22:32:24 -04:00 |
|
Thomas Harte
|
a6ef78862c
|
This'll probably do for now.
|
2016-03-24 22:20:00 -04:00 |
|
Thomas Harte
|
f1caf62ff2
|
Continuing the switch around.
|
2016-03-24 19:31:41 -04:00 |
|
Thomas Harte
|
738186e323
|
Edging back towards shifting things to the stack.
|
2016-03-24 19:17:44 -04:00 |
|
Thomas Harte
|
3038704977
|
Attempted to introduce a lowpass filter to the graphics output, reverted 6502 optimisations as seemingly not working.
|
2016-03-21 22:01:25 -04:00 |
|
Thomas Harte
|
5db0f9e2d5
|
Shunted a few more things onto the stack.
|
2016-03-20 22:59:21 -04:00 |
|
Thomas Harte
|
9a82f028aa
|
operation is now also stack local.
|
2016-03-20 22:52:49 -04:00 |
|
Thomas Harte
|
2f174b3a3e
|
Moved operand to stack-local storage.
|
2016-03-20 22:50:16 -04:00 |
|
Thomas Harte
|
5966ac845f
|
Switched symbols and updated all-RAM 6502 in order to fix unit test target.
|
2016-03-20 22:48:56 -04:00 |
|
Thomas Harte
|
a4ec0b023c
|
Made some type conversions explicit.
|
2016-03-15 21:25:02 -04:00 |
|
Thomas Harte
|
20ac630e4d
|
Some minor optimisations and timing tweaks. Nothing of substance.
|
2016-03-10 19:58:50 -05:00 |
|
Thomas Harte
|
1eea28b692
|
Disabled some debugging parts, added some others, marked some things as inline. Ticking over.
|
2016-02-22 23:35:42 -05:00 |
|
Thomas Harte
|
baef1ccd57
|
Made the constructor protected, to emphasise that this class isn't for instantiation. Also added extra comments aplenty.
|
2016-01-21 08:39:34 -05:00 |
|
Thomas Harte
|
9fa35dd559
|
Killed some whitespace lines.
|
2016-01-20 21:58:34 -05:00 |
|
Thomas Harte
|
de7218cdf0
|
Added a lot of commenting to the CPU6502 definition, simplifying its construction. Added missing nullability modifier to CSElectron. Fixed bad-habit Objective-C style naming on the Electron's Interrupt enum.
|
2016-01-20 21:55:38 -05:00 |
|
Thomas Harte
|
93f7df04a0
|
Ensured correctly timed sampling of the interrupt line.
|
2016-01-10 22:55:56 -05:00 |
|
Thomas Harte
|
ccf20299a3
|
Made an attempt at getting some interrupts all up inside this thing.
|
2016-01-10 19:06:46 -05:00 |
|
Thomas Harte
|
7341f5c341
|
This is intended to be enough to start producing something of an output. But something's obviously still broken.
|
2016-01-09 20:26:40 -05:00 |
|
Thomas Harte
|
bfd9957c81
|
You now get an Electron only if you ask for a new file. That'll do for now while it's the only thing that one might want to start without supplying a file. The 6502 now starts from a defined point — being reset. The Electron is starting to grow the absolute most simple buds of its memory map.
|
2016-01-06 21:09:49 -05:00 |
|
Thomas Harte
|
675070c5dd
|
Very, _very_ minor: switched to normal C++ constructor syntax for simple variable initialisation.
|
2015-12-06 16:53:37 -05:00 |
|
Thomas Harte
|
a693c081f8
|
Switched on the appropriate compiler warnings re: signed comparisons and implicit conversions. Fixed all less-than-explicit calls.
|
2015-08-16 16:08:29 -04:00 |
|
Thomas Harte
|
9ca57b80a7
|
Minor steps to help with diagnostics; all commented out or merely to benefit with breakpoint placement.
|
2015-08-13 08:43:10 +01:00 |
|
Thomas Harte
|
cc98534f94
|
Added test for NOP, discovering the undocumented ones to be the incorrect length.
|
2015-08-13 07:32:50 +01:00 |
|
Thomas Harte
|
dd0f17130a
|
Found and fixed some timing errors in absolute indexed and in (indirect), y addressing modes: neither is able in write or read-modify-write modes to shave a cycle as then can when reading.
|
2015-08-13 02:58:39 +01:00 |
|
Thomas Harte
|
975836c30f
|
Added a quick snippet test, discovering that I've cut a cycle from read/modify/writes.
|
2015-08-13 02:18:41 +01:00 |
|
Thomas Harte
|
503d684af0
|
Added a couple of timing tests, both of which seem to pass for now.
|
2015-08-13 01:55:23 +01:00 |
|
Thomas Harte
|
d19f8ed507
|
Removed the implicit reset upon 6502 startup, adding a reset line. Hence all tests now pass again. Added an empty shell for timing tests, the all-RAM 6502 now counting bus cycles.
|
2015-08-13 00:51:06 +01:00 |
|
Thomas Harte
|
c1d1fb65cb
|
Made an attempt properly to emulate the RDY line and the Atari's use of it.
|
2015-07-31 16:54:20 -04:00 |
|
Thomas Harte
|
53dd5c8f16
|
Trying to fix my RDY line emulation. Switched to PAL timings, at least temporarily, since it's starting to make a difference.
|
2015-07-31 16:44:53 -04:00 |
|
Thomas Harte
|
cd0a62d21e
|
With a slight tweak to the informal protocol used for 6502 memory access cycles, ensured the wait strobe actually halts the CPU, to give a more accurate linking of machine time to real time.
|
2015-07-26 15:55:19 -04:00 |
|
Thomas Harte
|
6252f6030f
|
Switched to idiomatic source name, ensured latest project name is in all appropriate header places, threw texture coordinates slightly into the shader mix.
|
2015-07-26 15:25:11 -04:00 |
|
Thomas Harte
|
6558ae1425
|
Imported what little I have so far in the way of a memory-access cycle complete 6502 and just enough of a pretend Atari 2600 on top to be able to see some playfields in ASCII art.
|
2015-07-16 19:56:02 -04:00 |
|