diff options
author | 2020-02-27 08:35:52 -0700 | |
---|---|---|
committer | 2020-02-27 10:35:51 -0500 | |
commit | 6c3e1da14a0484e2aaafa87c805440a5e41d5a7f (patch) | |
tree | 2b026422cf66595d96380ec1504444220578c4eb /src/devices/cpu/gigatron | |
parent | 673232ea59df2c7fec1f59592cd0ed62bbd5ff9b (diff) |
gigatron: add some meat on the bones (#6347)
* gigatron: make some changes
(nw)
* gigatron: add some meat on the bones
* gigatron: make some fixes that ajr needed
(nw)
* (nw)
* (nw)
* (nw)
* gigatron: make outx a callback (nw)
* (nw)
* (nw)
Diffstat (limited to 'src/devices/cpu/gigatron')
-rw-r--r-- | src/devices/cpu/gigatron/gigatron.cpp | 3 | ||||
-rw-r--r-- | src/devices/cpu/gigatron/gigatron.h | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/devices/cpu/gigatron/gigatron.cpp b/src/devices/cpu/gigatron/gigatron.cpp index 643e99dabe5..dc4f38cc3fe 100644 --- a/src/devices/cpu/gigatron/gigatron.cpp +++ b/src/devices/cpu/gigatron/gigatron.cpp @@ -119,6 +119,8 @@ void gigatron_cpu_device::init() save_item(NAME(m_ppc)); save_item(NAME(m_inReg)); save_item(NAME(m_pc)); + + m_outx_cb.resolve_safe(); } void gigatron_cpu_device::branchOp(uint8_t op, uint8_t mode, uint8_t bus, uint8_t d) @@ -314,6 +316,7 @@ gigatron_cpu_device::gigatron_cpu_device(const machine_config &mconfig, const ch , m_ramMask(0x7fff) , m_program_config("program", ENDIANNESS_BIG, 16, 14, -1) , m_data_config("data", ENDIANNESS_BIG, 8, 15, 0) + , m_outx_cb(*this) { } diff --git a/src/devices/cpu/gigatron/gigatron.h b/src/devices/cpu/gigatron/gigatron.h index 7ef0b9018b7..e11f48d226a 100644 --- a/src/devices/cpu/gigatron/gigatron.h +++ b/src/devices/cpu/gigatron/gigatron.h @@ -25,7 +25,8 @@ class gigatron_cpu_device : public cpu_device public: // construction/destruction gigatron_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - + auto outx_cb() { return m_outx_cb.bind(); } + protected: // device-level overrides virtual void device_start() override; @@ -76,6 +77,8 @@ private: int m_icount; void gigatron_illegal(); + + devcb_write8 m_outx_cb; }; |