diff options
Diffstat (limited to 'src/devices/bus/vcs/dpc.h')
-rw-r--r-- | src/devices/bus/vcs/dpc.h | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/devices/bus/vcs/dpc.h b/src/devices/bus/vcs/dpc.h index 19dc7f34dd2..9bbf4382b95 100644 --- a/src/devices/bus/vcs/dpc.h +++ b/src/devices/bus/vcs/dpc.h @@ -11,9 +11,7 @@ // TYPE DEFINITIONS //************************************************************************** -// TO DO: DPC should be made a separate device! - -// m_dpc.oscillator = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(a2600_state::modeDPC_timer_callback),this)); +// TODO: DPC should be made a separate device class dpc_device : public device_t { @@ -27,7 +25,11 @@ public: virtual void write(offs_t offset, uint8_t data); protected: - static constexpr device_timer_id TIMER_OSC = 0; + // device-level overrides + virtual void device_start() override; + virtual void device_reset() override; + + TIMER_CALLBACK_MEMBER(oscillator_tick); struct df_t { uint8_t top; @@ -39,11 +41,6 @@ protected: uint8_t osc_clk; /* Only used by data fetchers 5,6, and 7 */ }; - // device-level overrides - virtual void device_start() override; - virtual void device_reset() override; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; - df_t m_df[8]; uint8_t m_movamt; uint8_t m_latch_62; @@ -70,22 +67,17 @@ DECLARE_DEVICE_TYPE(ATARI_DPC, dpc_device) class a26_rom_dpc_device : public a26_rom_f8_device { public: - // construction/destruction a26_rom_dpc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); required_device<dpc_device> m_dpc; - // reading and writing - virtual uint8_t read_rom(offs_t offset) override; - virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override; + virtual void install_memory_handlers(address_space *space) override; virtual void setup_addon_ptr(uint8_t *ptr) override; protected: - // device-level overrides - virtual void device_start() override; virtual void device_add_mconfig(machine_config &config) override; - virtual void device_reset() override; + virtual uint8_t get_start_bank() override { return 0; } }; |