diff options
| author | 2025-10-26 02:21:31 +1100 | |
|---|---|---|
| committer | 2025-10-26 02:21:31 +1100 | |
| commit | 511b9de919ba4b9e757abbd91292f0d2c2445fb9 (patch) | |
| tree | 7c8749447c8bbb2a58d96f4ae7ace418f80da280 | |
| parent | 84f5a277b18d27768faf646197d278f6dc8790ef (diff) | |
Tidied a few things.
| -rw-r--r-- | src/devices/bus/qbus/dvk_dwhle.cpp | 36 | ||||
| -rw-r--r-- | src/devices/cpu/m6805/hd6305.cpp | 54 | ||||
| -rw-r--r-- | src/devices/cpu/m6805/m68705.cpp | 2 | ||||
| -rw-r--r-- | src/devices/cpu/m6805/m68hc05.cpp | 2 | ||||
| -rw-r--r-- | src/devices/machine/sis950_lpc.cpp | 54 | ||||
| -rw-r--r-- | src/devices/machine/sis950_lpc.h | 25 | ||||
| -rw-r--r-- | src/mame/misc/daphor32.cpp | 13 |
7 files changed, 86 insertions, 100 deletions
diff --git a/src/devices/bus/qbus/dvk_dwhle.cpp b/src/devices/bus/qbus/dvk_dwhle.cpp index b772daf19dc..051e71f9239 100644 --- a/src/devices/bus/qbus/dvk_dwhle.cpp +++ b/src/devices/bus/qbus/dvk_dwhle.cpp @@ -16,6 +16,8 @@ #include "imagedev/harddriv.h" #include "machine/pdp11.h" +#include <algorithm> + #define LOG_DBG (1U << 1) @@ -93,16 +95,10 @@ public: // construction/destruction dvk_dwhle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - std::error_condition load_hd(device_image_interface &image); - void unload_hd(device_image_interface &image); - - uint16_t read(offs_t offset); - void write(offs_t offset, uint16_t data); - virtual void init_w() override; protected: - // device-level overrides + // device_t implementation virtual void device_start() override ATTR_COLD; virtual void device_reset() override ATTR_COLD; virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; @@ -110,7 +106,7 @@ protected: // device_z80daisy_interface overrides virtual int z80daisy_irq_state() override; virtual int z80daisy_irq_ack() override; - virtual void z80daisy_irq_reti() override {}; + virtual void z80daisy_irq_reti() override { } TIMER_CALLBACK_MEMBER(wait_tick); TIMER_CALLBACK_MEMBER(seek_tick); @@ -118,17 +114,23 @@ protected: TIMER_CALLBACK_MEMBER(write_tick); private: - bool m_installed; + uint16_t read(offs_t offset); + void write(offs_t offset, uint16_t data); - line_state m_drqa, m_drqb; + std::error_condition load_hd(device_image_interface &image); + void unload_hd(device_image_interface &image); void command(int command); int sector_to_lba(unsigned int cylinder, unsigned int head, unsigned int sector, uint32_t *lba); - inline void raise_drqa(); - inline void clear_drqa(); - inline void raise_drqb(); - inline void clear_drqb(); + void raise_drqa(); + void clear_drqa(); + void raise_drqb(); + void clear_drqb(); + + bool m_installed; + + line_state m_drqa, m_drqb; harddisk_image_device *m_image; const hard_disk_file::info *m_hd_geom; @@ -205,10 +207,10 @@ void dvk_dwhle_device::device_reset() void dvk_dwhle_device::init_w() { - memset(m_regs, 0, sizeof(m_regs)); + std::fill(std::begin(m_regs), std::end(m_regs), 0); m_regs[REGISTER_ERR] = 128/4; - m_regs[REGISTER_CSR] = KZDCSR_DONE|KZDCSR_DRDY; - m_regs[REGISTER_SI] = KZDSI_DONE|KZDSI_SLOW; + m_regs[REGISTER_CSR] = KZDCSR_DONE | KZDCSR_DRDY; + m_regs[REGISTER_SI] = KZDSI_DONE | KZDSI_SLOW; m_drqa = m_drqb = CLEAR_LINE; m_bus->birq4_w(CLEAR_LINE); diff --git a/src/devices/cpu/m6805/hd6305.cpp b/src/devices/cpu/m6805/hd6305.cpp index 2dd877c681b..82403c20c19 100644 --- a/src/devices/cpu/m6805/hd6305.cpp +++ b/src/devices/cpu/m6805/hd6305.cpp @@ -22,7 +22,7 @@ TODO: #define LOG_MISC (1U << 4) //#define VERBOSE (LOG_GENERAL | LOG_IOPORT | LOG_TIMER | LOG_SCI | LOG_MISC) -//#define LOG_OUTPUT_FUNC printf +//#define LOG_OUTPUT_FUNC osd_printf_info #include "logmacro.h" #define LOGIOPORT(...) LOGMASKED(LOG_IOPORT, __VA_ARGS__) @@ -128,15 +128,15 @@ void hd6305_device::port_ddr_w(u8 data) { if(data != m_port_ddr[Port]) { LOGIOPORT("port %d ddr %c%c%c%c%c%c%c%c\n", - Port, - BIT(data, 7) ? 'o': 'i', - BIT(data, 6) ? 'o': 'i', - BIT(data, 5) ? 'o': 'i', - BIT(data, 4) ? 'o': 'i', - BIT(data, 3) ? 'o': 'i', - BIT(data, 2) ? 'o': 'i', - BIT(data, 1) ? 'o': 'i', - BIT(data, 0) ? 'o': 'i'); + Port, + BIT(data, 7) ? 'o': 'i', + BIT(data, 6) ? 'o': 'i', + BIT(data, 5) ? 'o': 'i', + BIT(data, 4) ? 'o': 'i', + BIT(data, 3) ? 'o': 'i', + BIT(data, 2) ? 'o': 'i', + BIT(data, 1) ? 'o': 'i', + BIT(data, 0) ? 'o': 'i'); m_port_ddr[Port] = data; m_write_port[Port](Port, m_port_data[Port] | ~data, data); @@ -210,11 +210,11 @@ void hd6305_device::timer_ctrl_w(u8 data) m_tcr = (m_tcr & data & 0x80) | (data & 0x7f); if((old ^ m_tcr) & 0x7f) { LOGTIMER("timer ctrl %02x irq=%s, %s clock=%s%s prescale=%d\n", data, - BIT(m_tcr, 7) ? "on" : "off", - BIT(m_tcr, 6) ? "disabled" : "enabled", - BIT(m_tcr, 4, 2) == 0 ? "e" : BIT(m_tcr, 4, 2) == 1 ? "e&timer" : BIT(m_tcr, 4, 2) == 2 ? "off" : "timer", - BIT(m_tcr, 3) ? " reset prescaler" : "", - 1 << BIT(m_tcr, 0, 3)); + BIT(m_tcr, 7) ? "on" : "off", + BIT(m_tcr, 6) ? "disabled" : "enabled", + BIT(m_tcr, 4, 2) == 0 ? "e" : BIT(m_tcr, 4, 2) == 1 ? "e&timer" : BIT(m_tcr, 4, 2) == 2 ? "off" : "timer", + BIT(m_tcr, 3) ? " reset prescaler" : "", + 1 << BIT(m_tcr, 0, 3)); if(BIT(m_tcr, 4, 2) != 0) logerror("WARNING: timer mode not implemented\n"); @@ -247,9 +247,9 @@ void hd6305_device::misc_w(u8 data) { m_mr = (m_mr & data & 0x80) | (data & 0x60) | 0x1f; LOGMISC("misc %02x int2=%s, %s int=%s\n", data, - BIT(m_mr, 7) ? "on" : "off", - BIT(m_mr, 6) ? "disabled" : "enabled", - BIT(m_mr, 5) ? "edge" : "level"); + BIT(m_mr, 7) ? "on" : "off", + BIT(m_mr, 6) ? "disabled" : "enabled", + BIT(m_mr, 5) ? "edge" : "level"); } void hd6305_device::sci_timer_step() @@ -297,10 +297,10 @@ void hd6305_device::sci_ctrl_w(u8 data) { m_scr = data; LOGSCI("sci ctrl %02x d3=%s d4=%s d5=%s rate=%d\n", data, - BIT(data, 7) ? "data_out" : "gpio", - BIT(data, 6) ? "data_in" : "gpio", - BIT(data, 5) == 0 ? "gpio" : BIT(data, 4) ? "clock_in" : "clock_out", - clock()/(1 << (BIT(data, 0, 4) + 3))); + BIT(data, 7) ? "data_out" : "gpio", + BIT(data, 6) ? "data_in" : "gpio", + BIT(data, 5) == 0 ? "gpio" : BIT(data, 4) ? "clock_in" : "clock_out", + clock() / (1 << (BIT(data, 0, 4) + 3))); } u8 hd6305_device::sci_ssr_r() @@ -312,11 +312,11 @@ void hd6305_device::sci_ssr_w(u8 data) { m_ssr = ((m_ssr & data) & 0xc0) | (data & 0x38) | 7; LOGSCI("sci ssr w %02x sci irq=%s, %s timer2 irq=%s, %s%s\n", data, - BIT(m_ssr, 7) ? "on" : "off", - BIT(m_ssr, 5) ? "disabled" : "enabled", - BIT(m_ssr, 6) ? "on" : "off", - BIT(m_ssr, 4) ? "disabled" : "enabled", - BIT(m_ssr, 3) ? "reset sci prescaler" : ""); + BIT(m_ssr, 7) ? "on" : "off", + BIT(m_ssr, 5) ? "disabled" : "enabled", + BIT(m_ssr, 6) ? "on" : "off", + BIT(m_ssr, 4) ? "disabled" : "enabled", + BIT(m_ssr, 3) ? "reset sci prescaler" : ""); if((m_ssr & 0xa0) == 0x80) m_pending_interrupts |= 1 << HD6305_INT_SCI; diff --git a/src/devices/cpu/m6805/m68705.cpp b/src/devices/cpu/m6805/m68705.cpp index 30f498980c6..72ad2c9467f 100644 --- a/src/devices/cpu/m6805/m68705.cpp +++ b/src/devices/cpu/m6805/m68705.cpp @@ -27,7 +27,7 @@ #define LOG_AD (1U << 5) //#define VERBOSE (LOG_GENERAL | LOG_IOPORT | LOG_TIMER | LOG_EPROM | LOG_AD) -//#define LOG_OUTPUT_FUNC printf +//#define LOG_OUTPUT_FUNC osd_printf_info #include "logmacro.h" #define LOGINT(...) LOGMASKED(LOG_INT, __VA_ARGS__) diff --git a/src/devices/cpu/m6805/m68hc05.cpp b/src/devices/cpu/m6805/m68hc05.cpp index f2033bb55b4..c2214a2a7ee 100644 --- a/src/devices/cpu/m6805/m68hc05.cpp +++ b/src/devices/cpu/m6805/m68hc05.cpp @@ -34,7 +34,7 @@ determines both the COP watchdog timeout and the real-time interrupt rate #define LOG_COP (1U << 4) //#define VERBOSE (LOG_GENERAL | LOG_INT | LOG_IOPORT | LOG_TIMER | LOG_COP) -//#define LOG_OUTPUT_FUNC printf +//#define LOG_OUTPUT_FUNC osd_printf_info #include "logmacro.h" #define LOGINT(...) LOGMASKED(LOG_INT, __VA_ARGS__) diff --git a/src/devices/machine/sis950_lpc.cpp b/src/devices/machine/sis950_lpc.cpp index e5219f0c787..5c467bd36d6 100644 --- a/src/devices/machine/sis950_lpc.cpp +++ b/src/devices/machine/sis950_lpc.cpp @@ -135,14 +135,14 @@ void sis950_lpc_device::device_add_mconfig(machine_config &config) m_dmac_master->out_eop_callback().set(FUNC(sis950_lpc_device::at_dma8237_out_eop)); m_dmac_master->in_memr_callback().set(FUNC(sis950_lpc_device::pc_dma_read_byte)); m_dmac_master->out_memw_callback().set(FUNC(sis950_lpc_device::pc_dma_write_byte)); - m_dmac_master->in_ior_callback<0>().set(FUNC(sis950_lpc_device::pc_dma8237_0_dack_r)); - m_dmac_master->in_ior_callback<1>().set(FUNC(sis950_lpc_device::pc_dma8237_1_dack_r)); - m_dmac_master->in_ior_callback<2>().set(FUNC(sis950_lpc_device::pc_dma8237_2_dack_r)); - m_dmac_master->in_ior_callback<3>().set(FUNC(sis950_lpc_device::pc_dma8237_3_dack_r)); - m_dmac_master->out_iow_callback<0>().set(FUNC(sis950_lpc_device::pc_dma8237_0_dack_w)); - m_dmac_master->out_iow_callback<1>().set(FUNC(sis950_lpc_device::pc_dma8237_1_dack_w)); - m_dmac_master->out_iow_callback<2>().set(FUNC(sis950_lpc_device::pc_dma8237_2_dack_w)); - m_dmac_master->out_iow_callback<3>().set(FUNC(sis950_lpc_device::pc_dma8237_3_dack_w)); + m_dmac_master->in_ior_callback<0>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_r<0>)); + m_dmac_master->in_ior_callback<1>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_r<1>)); + m_dmac_master->in_ior_callback<2>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_r<2>)); + m_dmac_master->in_ior_callback<3>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_r<3>)); + m_dmac_master->out_iow_callback<0>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_w<0>)); + m_dmac_master->out_iow_callback<1>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_w<1>)); + m_dmac_master->out_iow_callback<2>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_w<2>)); + m_dmac_master->out_iow_callback<3>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_w<3>)); m_dmac_master->out_dack_callback<0>().set(FUNC(sis950_lpc_device::pc_dack0_w)); m_dmac_master->out_dack_callback<1>().set(FUNC(sis950_lpc_device::pc_dack1_w)); m_dmac_master->out_dack_callback<2>().set(FUNC(sis950_lpc_device::pc_dack2_w)); @@ -152,12 +152,12 @@ void sis950_lpc_device::device_add_mconfig(machine_config &config) m_dmac_slave->out_hreq_callback().set(FUNC(sis950_lpc_device::pc_dma_hrq_changed)); m_dmac_slave->in_memr_callback().set(FUNC(sis950_lpc_device::pc_dma_read_word)); m_dmac_slave->out_memw_callback().set(FUNC(sis950_lpc_device::pc_dma_write_word)); - m_dmac_slave->in_ior_callback<1>().set(FUNC(sis950_lpc_device::pc_dma8237_5_dack_r)); - m_dmac_slave->in_ior_callback<2>().set(FUNC(sis950_lpc_device::pc_dma8237_6_dack_r)); - m_dmac_slave->in_ior_callback<3>().set(FUNC(sis950_lpc_device::pc_dma8237_7_dack_r)); - m_dmac_slave->out_iow_callback<1>().set(FUNC(sis950_lpc_device::pc_dma8237_5_dack_w)); - m_dmac_slave->out_iow_callback<2>().set(FUNC(sis950_lpc_device::pc_dma8237_6_dack_w)); - m_dmac_slave->out_iow_callback<3>().set(FUNC(sis950_lpc_device::pc_dma8237_7_dack_w)); + m_dmac_slave->in_ior_callback<1>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_r<5>)); + m_dmac_slave->in_ior_callback<2>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_r<6>)); + m_dmac_slave->in_ior_callback<3>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_r<7>)); + m_dmac_slave->out_iow_callback<1>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_w<5>)); + m_dmac_slave->out_iow_callback<2>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_w<6>)); + m_dmac_slave->out_iow_callback<3>().set(FUNC(sis950_lpc_device::pc_dma8237_dack_w<7>)); m_dmac_slave->out_dack_callback<0>().set(FUNC(sis950_lpc_device::pc_dack4_w)); m_dmac_slave->out_dack_callback<1>().set(FUNC(sis950_lpc_device::pc_dack5_w)); m_dmac_slave->out_dack_callback<2>().set(FUNC(sis950_lpc_device::pc_dack6_w)); @@ -816,21 +816,17 @@ void sis950_lpc_device::pc_dma_write_word(offs_t offset, uint8_t data) prog_space.write_word((page_offset & 0xfe0000) | (offset << 1), m_dma_high_byte | data); } -uint8_t sis950_lpc_device::pc_dma8237_0_dack_r() { return m_isabus->dack_r(0); } -uint8_t sis950_lpc_device::pc_dma8237_1_dack_r() { return m_isabus->dack_r(1); } -uint8_t sis950_lpc_device::pc_dma8237_2_dack_r() { return m_isabus->dack_r(2); } -uint8_t sis950_lpc_device::pc_dma8237_3_dack_r() { return m_isabus->dack_r(3); } -uint8_t sis950_lpc_device::pc_dma8237_5_dack_r() { return m_isabus->dack_r(5); } -uint8_t sis950_lpc_device::pc_dma8237_6_dack_r() { return m_isabus->dack_r(6); } -uint8_t sis950_lpc_device::pc_dma8237_7_dack_r() { return m_isabus->dack_r(7); } - -void sis950_lpc_device::pc_dma8237_0_dack_w(uint8_t data) { m_isabus->dack_w(0, data); } -void sis950_lpc_device::pc_dma8237_1_dack_w(uint8_t data) { m_isabus->dack_w(1, data); } -void sis950_lpc_device::pc_dma8237_2_dack_w(uint8_t data) { m_isabus->dack_w(2, data); } -void sis950_lpc_device::pc_dma8237_3_dack_w(uint8_t data) { m_isabus->dack_w(3, data); } -void sis950_lpc_device::pc_dma8237_5_dack_w(uint8_t data) { m_isabus->dack_w(5, data); } -void sis950_lpc_device::pc_dma8237_6_dack_w(uint8_t data) { m_isabus->dack_w(6, data); } -void sis950_lpc_device::pc_dma8237_7_dack_w(uint8_t data) { m_isabus->dack_w(7, data); } +template <unsigned Which> +uint8_t sis950_lpc_device::pc_dma8237_dack_r() +{ + return m_isabus->dack_r(Which); +} + +template <unsigned Which> +void sis950_lpc_device::pc_dma8237_dack_w(uint8_t data) +{ + m_isabus->dack_w(Which, data); +} void sis950_lpc_device::at_dma8237_out_eop(int state) { diff --git a/src/devices/machine/sis950_lpc.h b/src/devices/machine/sis950_lpc.h index b6bf4678853..8aada11ff92 100644 --- a/src/devices/machine/sis950_lpc.h +++ b/src/devices/machine/sis950_lpc.h @@ -33,9 +33,9 @@ class sis950_lpc_device : public pci_device { public: template <typename T, typename U> sis950_lpc_device( - const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, - T &&cpu_tag, U &&flash_tag - ) : sis950_lpc_device(mconfig, tag, owner, clock) + const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, + T &&cpu_tag, U &&flash_tag) + : sis950_lpc_device(mconfig, tag, owner, clock) { // Revision 0 -> A0 set_ids(0x10390008, 0x00, 0x060100, 0x00); @@ -182,20 +182,8 @@ private: void at_speaker_set_spkrdata(uint8_t data); void iochck_w(int state); - uint8_t pc_dma8237_0_dack_r(); - uint8_t pc_dma8237_1_dack_r(); - uint8_t pc_dma8237_2_dack_r(); - uint8_t pc_dma8237_3_dack_r(); - uint8_t pc_dma8237_5_dack_r(); - uint8_t pc_dma8237_6_dack_r(); - uint8_t pc_dma8237_7_dack_r(); - void pc_dma8237_0_dack_w(uint8_t data); - void pc_dma8237_1_dack_w(uint8_t data); - void pc_dma8237_2_dack_w(uint8_t data); - void pc_dma8237_3_dack_w(uint8_t data); - void pc_dma8237_5_dack_w(uint8_t data); - void pc_dma8237_6_dack_w(uint8_t data); - void pc_dma8237_7_dack_w(uint8_t data); + template <unsigned Which> uint8_t pc_dma8237_dack_r(); + template <unsigned Which> void pc_dma8237_dack_w(uint8_t data); void pc_dack0_w(int state); void pc_dack1_w(int state); void pc_dack2_w(int state); @@ -209,5 +197,4 @@ private: DECLARE_DEVICE_TYPE(SIS950_LPC, sis950_lpc_device) - -#endif +#endif // MAME_MACHINE_SIS950_LPC_H diff --git a/src/mame/misc/daphor32.cpp b/src/mame/misc/daphor32.cpp index a2718be0c35..2c4057c2555 100644 --- a/src/mame/misc/daphor32.cpp +++ b/src/mame/misc/daphor32.cpp @@ -43,10 +43,6 @@ protected: virtual void machine_start() override ATTR_COLD; private: - //required_device<ef9364_device> m_ef9364; - required_shared_ptr<uint8_t> m_videoram; - required_device<palette_device> m_palette; - void mem_map(address_map &map) ATTR_COLD; void io_map(address_map &map) ATTR_COLD; @@ -62,9 +58,14 @@ private: void ppi2_portc_w(uint8_t data); void ppi3_portc_w(uint8_t data); + void kbd_put(uint8_t data); + + //required_device<ef9364_device> m_ef9364; + required_shared_ptr<uint8_t> m_videoram; + required_device<palette_device> m_palette; + uint8_t m_ppi_c; - void kbd_put(uint8_t data); uint8_t m_kbd_data; }; @@ -73,7 +74,7 @@ void daphor_state::mem_map(address_map &map) { map(0x0000, 0x5fff).rom().region("maincpu", 0); map(0x6000, 0x8fff).ram(); - map(0xe000, 0xffff).ram().share("videoram"); + map(0xe000, 0xffff).ram().share(m_videoram); } void daphor_state::io_map(address_map &map) |
