Thomas Harte
|
6b1eef572b
|
Eliminates diamond inheritance of KeyboardMachine::Machine by typers.
Specifically by pulling the key action stuff into a purely abstract class [/interface]. Takes the opportunity to unpublish a bunch of machine details.
|
2018-03-09 15:19:02 -05:00 |
|
Thomas Harte
|
c83b3cefbc
|
Eliminates the generalised special case selectors and ROM suppliers from the CPC, Vic-20, Electron and ZX80/81.
|
2017-11-24 17:55:28 -05:00 |
|
Thomas Harte
|
ddcdd07dd0
|
Modifies the Vic-20 and C1540 to bring them into the realm of self-ROM fetching.
Hence enables Vic-20 support within kiosk mode as currently drafted.
|
2017-11-07 21:19:51 -05:00 |
|
Thomas Harte
|
9e0907ee76
|
Completes clean-up of post-formalisation per-machine keyboard code.
At least for now. Standardising on how column + row is encoded might be helpful.
|
2017-10-21 10:52:35 -04:00 |
|
Thomas Harte
|
75208b0762
|
Moves the Electron implementation behind a more opaque interface, in line with changes elsewhere.
|
2017-08-16 15:33:40 -04:00 |
|
Thomas Harte
|
903a17ae11
|
Corrected typo and removed replication of what's already declared formally.
|
2017-08-16 14:53:03 -04:00 |
|
Thomas Harte
|
1d8edf58dd
|
Ensured that a virtual destructor is declared, so that the various automatically-generated real constructors get in on the action.
|
2017-08-11 12:07:48 -04:00 |
|
Thomas Harte
|
caf3ac0645
|
Sought: (i) to instruct the CPC that it should be a 664, not a 464, if given a disk image (at least until I have RAM paging implemented for a 6128); (ii) to support ROM selection within the CPC and allow paging in of AMSDOS.
|
2017-08-05 19:20:38 -04:00 |
|
Thomas Harte
|
33ed27c3ad
|
Minor tidiness: included missing headers, and spaced out the ROM type and key lists for readability.
|
2017-08-03 12:45:42 -04:00 |
|
Thomas Harte
|
575b1dba75
|
Formally declared the ZX80/81 and Amstrad CPC as keyboard machines in their public interface. Which means not having to repeat the meaning of set_key_state and clear_all_keys. So: a minor DRY improvement.
|
2017-08-03 12:38:22 -04:00 |
|
Thomas Harte
|
d3bf8fa53b
|
Upped the documentation.
|
2017-08-02 20:37:26 -04:00 |
|
Thomas Harte
|
7e04d00cc1
|
Fixed key values, causing the new set of keys to work, decreased quantity of output and ensured that pixels appear in modes 0 and 2.
|
2017-08-01 20:39:10 -04:00 |
|
Thomas Harte
|
f5b278d683
|
Added enough stuff to put the emulated Amstrad CPC in a state of knowing whether its '0' key is pressed.
|
2017-08-01 17:31:56 -04:00 |
|
Thomas Harte
|
3df13cddd4
|
As per my keenness for cleanliness improvements corresponding to my ever-increasing C++ ability: turned the Amstrad into something that a factory produces, allowing me completely to hide a bunch of implementation details.
|
2017-07-31 22:32:04 -04:00 |
|
Thomas Harte
|
c2253c1e0f
|
Fixed multiplier: the dot clock I've used to instantiate the CRT is the pixel clock, not the character clock.
|
2017-07-31 22:17:46 -04:00 |
|
Thomas Harte
|
f742fd5d4a
|
Made basic attempt to get something on screen: white where the display is enabled, black for the border.
|
2017-07-31 22:13:20 -04:00 |
|
Thomas Harte
|
69b99fe127
|
Transferred ownership of the CRT to the CRTC bus handler, to give it easy access.
|
2017-07-31 22:04:52 -04:00 |
|
Thomas Harte
|
e28829bd1b
|
Corrected CRTC timing, gave it someone to talk to and a means with which to talk.
|
2017-07-31 20:14:46 -04:00 |
|
Thomas Harte
|
68ceeab610
|
Created a 6845 class and started pushing data at it and clocking it. It doesn't currently have the concept of a bus but will do, hence the in-header implementation.
|
2017-07-31 19:56:59 -04:00 |
|
Thomas Harte
|
68dca9d047
|
Made a first attempt at ROM paging, with pretty much the same scheme that'll be needed for 128kb support.
|
2017-07-31 19:37:28 -04:00 |
|
Thomas Harte
|
3c90218c3d
|
With a very basic stab at something a bit like the memory map (sans paging), execution begins.
|
2017-07-31 19:15:43 -04:00 |
|
Thomas Harte
|
afd409c883
|
Ensured that ROM images are loaded and passed to the Amstrad CPC.
|
2017-07-31 18:44:49 -04:00 |
|
Thomas Harte
|
9c04d851e4
|
Added the basics necessary to get the CPU ticking over, at a nominal 4Mhz but with the wait states that I currently believe to be accurate.
|
2017-07-31 07:29:50 -04:00 |
|
Thomas Harte
|
1d6fe11906
|
Added an instance of Outputs::CRT::CRT . So progress is now: select CDT, up comes a blank window.
|
2017-07-31 07:16:51 -04:00 |
|
Thomas Harte
|
c0f1313830
|
Performed sufficient wiring to get to the point where attempting to load a CDT creates an instance of the Amstrad CPC and then fails only because the thing vends a nullptr CRT.
|
2017-07-30 22:05:29 -04:00 |
|