summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/pecom.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/pecom.h')
-rw-r--r--src/mame/includes/pecom.h43
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;