diff options
Diffstat (limited to 'src/mame/drivers/hp_ipc.cpp')
-rw-r--r-- | src/mame/drivers/hp_ipc.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/mame/drivers/hp_ipc.cpp b/src/mame/drivers/hp_ipc.cpp index 74e05e364de..ff219646ba7 100644 --- a/src/mame/drivers/hp_ipc.cpp +++ b/src/mame/drivers/hp_ipc.cpp @@ -343,7 +343,7 @@ http://www.brouhaha.com/~eric/hpcalc/chips/ Software to look for -------------------- -00095-60978 "Service ROM - Used in trobleshooting the integral PC" via ambry +00095-60978 "Service ROM - Used in troubleshooting the integral PC" via ambry 00095-60925 "Service ROM" via service manual 00095-60969 "Service Diagnostic Disc" via service manual 00095-60950 "I/O Component-Level Diagnostic Disc" via serial interface service manual @@ -380,6 +380,8 @@ Software to look for #include "screen.h" +namespace { + class hp_ipc_state : public driver_device { public: @@ -406,10 +408,12 @@ public: void hp_ipc(machine_config &config); void hp9808a(machine_config &config); -private: +protected: virtual void machine_start() override; virtual void machine_reset() override; + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; +private: uint16_t mem_r(offs_t offset, uint16_t mem_mask); void mem_w(offs_t offset, uint16_t data, uint16_t mem_mask); uint16_t mmu_r(offs_t offset); @@ -427,9 +431,9 @@ private: DECLARE_WRITE_LINE_MEMBER(irq_1); DECLARE_WRITE_LINE_MEMBER(irq_2); DECLARE_WRITE_LINE_MEMBER(irq_3); - DECLARE_WRITE_LINE_MEMBER(irq_4); + [[maybe_unused]] DECLARE_WRITE_LINE_MEMBER(irq_4); DECLARE_WRITE_LINE_MEMBER(irq_5); - DECLARE_WRITE_LINE_MEMBER(irq_6); + [[maybe_unused]] DECLARE_WRITE_LINE_MEMBER(irq_6); DECLARE_WRITE_LINE_MEMBER(irq_7); emu_timer *m_bus_error_timer; @@ -467,7 +471,6 @@ private: return (m_mmu[(m_maincpu->get_fc() >> 1) & 3] + offset) & 0x3FFFFF; } - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; void set_bus_error(uint32_t address, bool write, uint16_t mem_mask); bool m_bus_error; }; @@ -731,6 +734,7 @@ WRITE_LINE_MEMBER(hp_ipc_state::irq_7) void hp_ipc_state::machine_start() { m_bus_error_timer = timer_alloc(0); + m_bus_error = false; m_bankdev->set_bank(1); @@ -930,6 +934,9 @@ ROM_END #define rom_hp9808a rom_hp_ipc +} // Anonymous namespace + + // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS COMP( 1985, hp_ipc, 0, 0, hp_ipc, hp_ipc, hp_ipc_state, empty_init, "Hewlett-Packard", "Integral Personal Computer 9807A", 0) COMP( 1985, hp9808a, 0, 0, hp9808a, hp_ipc, hp_ipc_state, empty_init, "Hewlett-Packard", "Integral Personal Computer 9808A", MACHINE_NOT_WORKING) |