diff options
Diffstat (limited to 'src/mame/includes/pecom.h')
-rw-r--r-- | src/mame/includes/pecom.h | 43 |
1 files changed, 25 insertions, 18 deletions
diff --git a/src/mame/includes/pecom.h b/src/mame/includes/pecom.h index bec69caea98..ddaa3daaac3 100644 --- a/src/mame/includes/pecom.h +++ b/src/mame/includes/pecom.h @@ -3,6 +3,8 @@ #ifndef MAME_INCLUDES_PECOM_H #define MAME_INCLUDES_PECOM_H +#pragma once + #include "cpu/cosmac/cosmac.h" #include "imagedev/cassette.h" #include "machine/ram.h" @@ -17,8 +19,8 @@ class pecom_state : public driver_device { public: - pecom_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), + pecom_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), m_cdp1802(*this, CDP1802_TAG), m_cdp1869(*this, CDP1869_TAG), m_cassette(*this, "cassette"), @@ -27,18 +29,13 @@ public: m_bank2(*this, "bank2"), m_bank3(*this, "bank3"), m_bank4(*this, "bank4"), - m_io_cnt(*this, "CNT") { } - - required_device<cosmac_device> m_cdp1802; - required_device<cdp1869_device> m_cdp1869; - - std::unique_ptr<uint8_t[]> m_charram; /* character generator ROM */ - int m_reset; /* CPU mode */ - int m_dma; /* memory refresh DMA */ + m_io_cnt(*this, "CNT") + { } - /* timers */ - emu_timer *m_reset_timer; /* power on reset timer */ + DECLARE_INPUT_CHANGED_MEMBER(ef_w); + void pecom64(machine_config &config); +protected: DECLARE_READ8_MEMBER(pecom_cdp1869_charram_r); DECLARE_WRITE8_MEMBER(pecom_cdp1869_charram_w); DECLARE_READ8_MEMBER(pecom_cdp1869_pageram_r); @@ -46,10 +43,6 @@ public: DECLARE_WRITE8_MEMBER(pecom_bank_w); DECLARE_READ8_MEMBER(pecom_keyboard_r); DECLARE_WRITE8_MEMBER(pecom_cdp1869_w); - virtual void machine_start() override; - virtual void machine_reset() override; - DECLARE_VIDEO_START(pecom); - DECLARE_INPUT_CHANGED_MEMBER(ef_w); TIMER_CALLBACK_MEMBER(reset_tick); DECLARE_READ_LINE_MEMBER(clear_r); DECLARE_READ_LINE_MEMBER(ef2_r); @@ -59,12 +52,26 @@ public: CDP1869_CHAR_RAM_READ_MEMBER(pecom_char_ram_r); CDP1869_CHAR_RAM_WRITE_MEMBER(pecom_char_ram_w); CDP1869_PCB_READ_MEMBER(pecom_pcb_r); - void pecom64(machine_config &config); + + virtual void machine_start() override; + virtual void machine_reset() override; + virtual void video_start() override; void pecom_video(machine_config &config); void cdp1869_page_ram(address_map &map); void pecom64_io(address_map &map); void pecom64_mem(address_map &map); -protected: + +private: + required_device<cosmac_device> m_cdp1802; + required_device<cdp1869_device> m_cdp1869; + + std::unique_ptr<uint8_t[]> m_charram; /* character generator ROM */ + int m_reset; /* CPU mode */ + int m_dma; /* memory refresh DMA */ + + /* timers */ + emu_timer *m_reset_timer; /* power on reset timer */ + required_device<cassette_image_device> m_cassette; required_device<ram_device> m_ram; required_memory_bank m_bank1; |