mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-10 08:31:34 +00:00
Minor tidiness: included missing headers, and spaced out the ROM type and key lists for readability.
This commit is contained in:
parent
45cbab6751
commit
33ed27c3ad
@ -13,41 +13,38 @@
|
|||||||
#include "../CRTMachine.hpp"
|
#include "../CRTMachine.hpp"
|
||||||
#include "../KeyboardMachine.hpp"
|
#include "../KeyboardMachine.hpp"
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
namespace AmstradCPC {
|
namespace AmstradCPC {
|
||||||
|
|
||||||
enum ROMType: uint8_t {
|
enum ROMType: uint8_t {
|
||||||
OS464, OS664, OS6128,
|
OS464, OS664, OS6128,
|
||||||
BASIC464, BASIC664, BASIC6128,
|
BASIC464, BASIC664, BASIC6128,
|
||||||
AMSDOS
|
AMSDOS
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Key: uint16_t {
|
enum Key: uint16_t {
|
||||||
#define Line(l, k1, k2, k3, k4, k5, k6, k7, k8) \
|
#define Line(l, k1, k2, k3, k4, k5, k6, k7, k8) \
|
||||||
k1 = (l << 4) | 0x07,\
|
k1 = (l << 4) | 0x07, k2 = (l << 4) | 0x06, k3 = (l << 4) | 0x05, k4 = (l << 4) | 0x04,\
|
||||||
k2 = (l << 4) | 0x06,\
|
k5 = (l << 4) | 0x03, k6 = (l << 4) | 0x02, k7 = (l << 4) | 0x01, k8 = (l << 4) | 0x00,
|
||||||
k3 = (l << 4) | 0x05,\
|
|
||||||
k4 = (l << 4) | 0x04,\
|
|
||||||
k5 = (l << 4) | 0x03,\
|
|
||||||
k6 = (l << 4) | 0x02,\
|
|
||||||
k7 = (l << 4) | 0x01,\
|
|
||||||
k8 = (l << 4) | 0x00,
|
|
||||||
|
|
||||||
Line(0, KeyFDot, KeyEnter, KeyF3, KeyF6, KeyF9, KeyDown, KeyRight, KeyUp)
|
Line(0, KeyFDot, KeyEnter, KeyF3, KeyF6, KeyF9, KeyDown, KeyRight, KeyUp)
|
||||||
Line(1, KeyF0, KeyF2, KeyF1, KeyF5, KeyF8, KeyF7, KeyCopy, KeyLeft)
|
Line(1, KeyF0, KeyF2, KeyF1, KeyF5, KeyF8, KeyF7, KeyCopy, KeyLeft)
|
||||||
Line(2, KeyControl, KeyBackSlash, KeyShift, KeyF4, KeyRightSquareBracket, KeyReturn, KeyLeftSquareBracket, KeyClear)
|
Line(2, KeyControl, KeyBackSlash, KeyShift, KeyF4, KeyRightSquareBracket, KeyReturn, KeyLeftSquareBracket, KeyClear)
|
||||||
Line(3, KeyFullStop, KeyForwardSlash, KeyColon, KeySemicolon, KeyP, KeyAt, KeyMinus, KeyCaret)
|
Line(3, KeyFullStop, KeyForwardSlash, KeyColon, KeySemicolon, KeyP, KeyAt, KeyMinus, KeyCaret)
|
||||||
Line(4, KeyComma, KeyM, KeyK, KeyL, KeyI, KeyO, Key9, Key0)
|
Line(4, KeyComma, KeyM, KeyK, KeyL, KeyI, KeyO, Key9, Key0)
|
||||||
Line(5, KeySpace, KeyN, KeyJ, KeyH, KeyY, KeyU, Key7, Key8)
|
Line(5, KeySpace, KeyN, KeyJ, KeyH, KeyY, KeyU, Key7, Key8)
|
||||||
Line(6, KeyV, KeyB, KeyF, KeyG, KeyT, KeyR, Key5, Key6)
|
Line(6, KeyV, KeyB, KeyF, KeyG, KeyT, KeyR, Key5, Key6)
|
||||||
Line(7, KeyX, KeyC, KeyD, KeyS, KeyW, KeyE, Key3, Key4)
|
Line(7, KeyX, KeyC, KeyD, KeyS, KeyW, KeyE, Key3, Key4)
|
||||||
Line(8, KeyZ, KeyCapsLock, KeyA, KeyTab, KeyQ, KeyEscape, Key2, Key1)
|
Line(8, KeyZ, KeyCapsLock, KeyA, KeyTab, KeyQ, KeyEscape, Key2, Key1)
|
||||||
Line(9, KeyDelete, KeyJoy1Fire3, KeyJoy2Fire2, KeyJoy1Fire1, KeyJoy1Right, KeyJoy1Left, KeyJoy1Down, KeyJoy1Up)
|
Line(9, KeyDelete, KeyJoy1Fire3, KeyJoy2Fire2, KeyJoy1Fire1, KeyJoy1Right, KeyJoy1Left, KeyJoy1Down, KeyJoy1Up)
|
||||||
|
|
||||||
#undef Line
|
#undef Line
|
||||||
};
|
};
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Models an Amstrad CPC, a CRT-outputting machine that can accept configuration targets.
|
Models an Amstrad CPC, a CRT-outputting machine with a keyboard that can accept configuration targets.
|
||||||
*/
|
*/
|
||||||
class Machine:
|
class Machine:
|
||||||
public CRTMachine::Machine,
|
public CRTMachine::Machine,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user