diff options
Diffstat (limited to 'src/mame/includes/aim65.h')
-rw-r--r-- | src/mame/includes/aim65.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/mame/includes/aim65.h b/src/mame/includes/aim65.h index c689c5f1529..be2b9370fbd 100644 --- a/src/mame/includes/aim65.h +++ b/src/mame/includes/aim65.h @@ -23,6 +23,8 @@ #include "machine/ram.h" #include "sound/wave.h" #include "video/dl1416.h" +#include "emupal.h" +#include "screen.h" class aim65_state : public driver_device @@ -30,10 +32,16 @@ class aim65_state : public driver_device public: aim65_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) + , m_palette(*this, "palette") , m_riot_port_a(0) , m_pb_save(0) , m_kb_en(true) , m_ca2(true) + , m_cb2(true) + , m_printer_x(0) + , m_printer_y(0) + , m_printer_flag(0) + , m_printer_level(0) , m_maincpu(*this, "maincpu") , m_cassette1(*this, "cassette") , m_cassette2(*this, "cassette2") @@ -60,13 +68,16 @@ public: DECLARE_INPUT_CHANGED_MEMBER(reset_button); -protected: +private: virtual void machine_start() override; + void aim65_palette(palette_device &palette) const; void u1_pa_w(u8 data); void u1_pb_w(u8 data); u8 z33_pb_r(); + void z32_pa_w(u8 data); void z32_pb_w(u8 data); + void z32_cb2_w(bool state); u8 z32_pb_r(); template <unsigned D> DECLARE_WRITE16_MEMBER(update_ds); @@ -78,16 +89,25 @@ protected: DECLARE_DEVICE_IMAGE_LOAD_MEMBER(z13_load) { return load_cart(image, m_z13, "z13"); } DECLARE_DEVICE_IMAGE_LOAD_MEMBER(z14_load) { return load_cart(image, m_z14, "z14"); } DECLARE_DEVICE_IMAGE_LOAD_MEMBER(z15_load) { return load_cart(image, m_z15, "z15"); } + emu_timer *m_print_timer; + TIMER_CALLBACK_MEMBER(printer_timer); + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); image_init_result load_cart(device_image_interface &image, generic_slot_device *slot, const char *slot_tag); void mem_map(address_map &map); -private: + optional_device<palette_device> m_palette; uint8_t m_riot_port_a; uint8_t m_pb_save; bool m_kb_en; bool m_ca2; + bool m_cb2; + u8 m_printer_x; + u8 m_printer_y; + u8 m_printer_flag; + bool m_printer_level; + std::unique_ptr<uint16_t[]> m_printerRAM; required_device<cpu_device> m_maincpu; required_device<cassette_image_device> m_cassette1; |