summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2025-10-26 02:21:31 +1100
committer Vas Crabb <vas@vastheman.com>2025-10-26 02:21:31 +1100
commit511b9de919ba4b9e757abbd91292f0d2c2445fb9 (patch)
tree7c8749447c8bbb2a58d96f4ae7ace418f80da280
parent84f5a277b18d27768faf646197d278f6dc8790ef (diff)
Tidied a few things.
-rw-r--r--src/devices/bus/qbus/dvk_dwhle.cpp36
-rw-r--r--src/devices/cpu/m6805/hd6305.cpp54
-rw-r--r--src/devices/cpu/m6805/m68705.cpp2
-rw-r--r--src/devices/cpu/m6805/m68hc05.cpp2
-rw-r--r--src/devices/machine/sis950_lpc.cpp54
-rw-r--r--src/devices/machine/sis950_lpc.h25
-rw-r--r--src/mame/misc/daphor32.cpp13
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)