summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nes/multigame.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nes/multigame.h')
-rw-r--r--src/devices/bus/nes/multigame.h53
1 files changed, 25 insertions, 28 deletions
diff --git a/src/devices/bus/nes/multigame.h b/src/devices/bus/nes/multigame.h
index fe4a780691c..54056689f5b 100644
--- a/src/devices/bus/nes/multigame.h
+++ b/src/devices/bus/nes/multigame.h
@@ -790,20 +790,40 @@ class nes_bmc_70in1_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_bmc_70in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ nes_bmc_70in1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual u8 read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, u8 data) override;
virtual void pcb_reset() override;
protected:
+ // construction/destruction
+ nes_bmc_70in1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+
// device-level overrides
virtual void device_start() override;
+ virtual void update_banks();
+ void update_prg(u8 bank);
+
+ u8 m_latch[2];
+
private:
- uint8_t m_mode;
- uint8_t m_reg[2];
+ u8 m_jumper;
+};
+
+
+// ======================> nes_bmc_800in1_device
+
+class nes_bmc_800in1_device : public nes_bmc_70in1_device
+{
+public:
+ // construction/destruction
+ nes_bmc_800in1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+protected:
+ virtual void update_banks() override;
};
@@ -877,29 +897,6 @@ public:
};
-// ======================> nes_bmc_800in1_device
-
-class nes_bmc_800in1_device : public nes_nrom_device
-{
-public:
- // construction/destruction
- nes_bmc_800in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- virtual uint8_t read_h(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
-
- virtual void pcb_reset() override;
-
-protected:
- // device-level overrides
- virtual void device_start() override;
-
-private:
- uint8_t m_mode;
- uint8_t m_reg[2];
-};
-
-
// ======================> nes_bmc_1200in1_device
class nes_bmc_1200in1_device : public nes_nrom_device