summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nes/kaiser.h
diff options
context:
space:
mode:
author 0kmg <9137159+0kmg@users.noreply.github.com>2021-06-30 09:23:44 -0800
committer GitHub <noreply@github.com>2021-06-30 13:23:44 -0400
commit7216fe6a99d90c2a67b1b8140c37fb755b1b86e0 (patch)
tree7fa51df13b78caaf6e30229a7e76d9a19715ecb1 /src/devices/bus/nes/kaiser.h
parentb9325a1e1152910b04545c42bf286fdb1ede2d84 (diff)
bus/nes: add support for 2 more FDS conversions (#8238)
* add KS7010 PCB device unique to akumafds * add KS7030 PCB device unique to dokidokia * do some sorting and tidying of Kaiser board tags New working software list additions ----------------------------------- Akumajou Dracula (Asia, FDS conversion) [Kevtris] Doki Doki Panic (Asia, FDS conversion, alt PCB) [famiac]
Diffstat (limited to 'src/devices/bus/nes/kaiser.h')
-rw-r--r--src/devices/bus/nes/kaiser.h60
1 files changed, 55 insertions, 5 deletions
diff --git a/src/devices/bus/nes/kaiser.h b/src/devices/bus/nes/kaiser.h
index 8b57957e501..0b71e59cb51 100644
--- a/src/devices/bus/nes/kaiser.h
+++ b/src/devices/bus/nes/kaiser.h
@@ -127,6 +127,28 @@ private:
};
+// ======================> nes_ks7010_device
+
+class nes_ks7010_device : public nes_nrom_device
+{
+public:
+ // construction/destruction
+ nes_ks7010_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+ virtual u8 read_m(offs_t offset) override;
+ virtual u8 read_h(offs_t offset) override;
+
+ virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
+private:
+ u8 m_latch;
+};
+
+
// ======================> nes_ks7012_device
class nes_ks7012_device : public nes_nrom_device
@@ -144,6 +166,7 @@ protected:
virtual void device_start() override;
};
+
// ======================> nes_ks7013b_device
class nes_ks7013b_device : public nes_nrom_device
@@ -163,6 +186,30 @@ protected:
};
+// ======================> nes_ks7030_device
+
+class nes_ks7030_device : public nes_nrom_device
+{
+public:
+ // construction/destruction
+ nes_ks7030_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+ virtual u8 read_m(offs_t offset) override;
+ virtual u8 read_h(offs_t offset) override;
+ virtual void write_m(offs_t offset, u8 data) override;
+ virtual void write_h(offs_t offset, u8 data) override;
+
+ virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
+private:
+ u8 m_reg[2];
+};
+
+
// ======================> nes_ks7031_device
class nes_ks7031_device : public nes_nrom_device
@@ -207,6 +254,7 @@ private:
uint8_t m_reg;
};
+
// ======================> nes_ks7037_device
class nes_ks7037_device : public nes_nrom_device
@@ -257,16 +305,18 @@ private:
// device type definition
-DECLARE_DEVICE_TYPE(NES_KS7058, nes_ks7058_device)
-DECLARE_DEVICE_TYPE(NES_KS7022, nes_ks7022_device)
-DECLARE_DEVICE_TYPE(NES_KS7032, nes_ks7032_device)
DECLARE_DEVICE_TYPE(NES_KS202, nes_ks202_device)
-DECLARE_DEVICE_TYPE(NES_KS7017, nes_ks7017_device)
+DECLARE_DEVICE_TYPE(NES_KS7010, nes_ks7010_device)
DECLARE_DEVICE_TYPE(NES_KS7012, nes_ks7012_device)
+DECLARE_DEVICE_TYPE(NES_KS7016, nes_ks7016_device)
+DECLARE_DEVICE_TYPE(NES_KS7017, nes_ks7017_device)
DECLARE_DEVICE_TYPE(NES_KS7013B, nes_ks7013b_device)
+DECLARE_DEVICE_TYPE(NES_KS7022, nes_ks7022_device)
+DECLARE_DEVICE_TYPE(NES_KS7030, nes_ks7030_device)
DECLARE_DEVICE_TYPE(NES_KS7031, nes_ks7031_device)
-DECLARE_DEVICE_TYPE(NES_KS7016, nes_ks7016_device)
+DECLARE_DEVICE_TYPE(NES_KS7032, nes_ks7032_device)
DECLARE_DEVICE_TYPE(NES_KS7037, nes_ks7037_device)
DECLARE_DEVICE_TYPE(NES_KS7057, nes_ks7057_device)
+DECLARE_DEVICE_TYPE(NES_KS7058, nes_ks7058_device)
#endif // MAME_BUS_NES_KAISER_H