diff options
Diffstat (limited to 'src/mame/includes/pc1401.h')
-rw-r--r-- | src/mame/includes/pc1401.h | 71 |
1 files changed, 35 insertions, 36 deletions
diff --git a/src/mame/includes/pc1401.h b/src/mame/includes/pc1401.h index 11f66eb34b2..56fba456224 100644 --- a/src/mame/includes/pc1401.h +++ b/src/mame/includes/pc1401.h @@ -12,54 +12,53 @@ #define MAME_INCLUDES_PC1401_H #include "pocketc.h" -#include "cpu/sc61860/sc61860.h" -#include "machine/nvram.h" -#include "emupal.h" - -#define CONTRAST (ioport("DSW0")->read() & 0x07) - class pc1401_state : public pocketc_state { public: - enum - { - TIMER_POWER_UP - }; - pc1401_state(const machine_config &mconfig, device_type type, const char *tag) - : pocketc_state(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_gfxdecode(*this, "gfxdecode"), - m_palette(*this, "palette") { } + : pocketc_state(mconfig, type, tag) + , m_keys(*this, "KEY%u", 0U) + { } - uint8_t m_portc; - uint8_t m_outa; - uint8_t m_outb; - int m_power; - uint8_t m_reg[0x100]; void init_pc1401(); - uint32_t screen_update_pc1401(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - DECLARE_READ_LINE_MEMBER(pc1401_reset); - DECLARE_READ_LINE_MEMBER(pc1401_brk); - DECLARE_WRITE8_MEMBER(pc1401_outa); - DECLARE_WRITE8_MEMBER(pc1401_outb); - DECLARE_WRITE8_MEMBER(pc1401_outc); - DECLARE_READ8_MEMBER(pc1401_ina); - DECLARE_READ8_MEMBER(pc1401_inb); - DECLARE_READ8_MEMBER(pc1401_lcd_read); - DECLARE_WRITE8_MEMBER(pc1401_lcd_write); - virtual void machine_start() override; - required_device<sc61860_device> m_maincpu; - required_device<gfxdecode_device> m_gfxdecode; - required_device<palette_device> m_palette; void pc1401(machine_config &config); void pc1402(machine_config &config); + +protected: + virtual void machine_start() override; + + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void pc1401_mem(address_map &map); void pc1402_mem(address_map &map); -protected: - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + + DECLARE_READ_LINE_MEMBER(reset_r); + DECLARE_WRITE8_MEMBER(out_b_w); + DECLARE_WRITE8_MEMBER(out_c_w); + DECLARE_READ8_MEMBER(in_a_r); + DECLARE_READ8_MEMBER(in_b_r); + DECLARE_READ8_MEMBER(lcd_read); + DECLARE_WRITE8_MEMBER(lcd_write); + +private: + required_ioport_array<13> m_keys; + + uint8_t m_portc; + uint8_t m_reg[0x100]; + + static const char* const s_line[5]; + static const char* const s_busy[5]; + static const char* const s_def[5]; + static const char* const s_shift[5]; + static const char* const s_hyp[5]; + static const char* const s_de[5]; + static const char* const s_g[5]; + static const char* const s_rad[5]; + static const char* const s_braces[5]; + static const char* const s_m[5]; + static const char* const s_e[5]; }; #endif // MAME_INCLUDES_PC1401_H |