summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/vcs/dpc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/vcs/dpc.h')
-rw-r--r--src/devices/bus/vcs/dpc.h24
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; }
};