summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nes/konami.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nes/konami.h')
-rw-r--r--src/devices/bus/nes/konami.h56
1 files changed, 29 insertions, 27 deletions
diff --git a/src/devices/bus/nes/konami.h b/src/devices/bus/nes/konami.h
index 88f477cc4ea..ced0f7f4648 100644
--- a/src/devices/bus/nes/konami.h
+++ b/src/devices/bus/nes/konami.h
@@ -16,9 +16,9 @@ class nes_konami_vrc1_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_konami_vrc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ nes_konami_vrc1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, u8 data) override;
virtual void pcb_reset() override;
@@ -27,7 +27,7 @@ protected:
virtual void device_start() override;
private:
- uint8_t m_mmc_vrom_bank[2];
+ u8 m_mmc_vrom_bank[2];
};
@@ -37,24 +37,24 @@ class nes_konami_vrc2_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_konami_vrc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ nes_konami_vrc2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_m(offs_t offset, uint8_t data) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual u8 read_m(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:
// construction/destruction
- nes_konami_vrc2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ nes_konami_vrc2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
// device-level overrides
virtual void device_start() override;
private:
- uint8_t m_mmc_vrom_bank[8];
- uint8_t m_latch;
+ u8 m_mmc_vrom_bank[8];
+ u8 m_latch;
};
@@ -64,21 +64,20 @@ class nes_konami_vrc3_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_konami_vrc3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ nes_konami_vrc3_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
- virtual void write_h(offs_t offset, uint8_t 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;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-private:
- static constexpr device_timer_id TIMER_IRQ = 0;
+ TIMER_CALLBACK_MEMBER(irq_timer_tick);
- uint16_t m_irq_count, m_irq_count_latch;
+private:
+ u16 m_irq_count, m_irq_count_latch;
int m_irq_enable, m_irq_enable_latch;
int m_irq_mode;
@@ -94,25 +93,31 @@ public:
// construction/destruction
nes_konami_vrc4_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ virtual u8 read_m(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:
- static constexpr device_timer_id TIMER_IRQ = 0;
-
+ // construction/destruction
nes_konami_vrc4_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 device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ TIMER_CALLBACK_MEMBER(irq_timer_tick);
+
void set_mirror(u8 data);
void set_prg(int prg_base, int prg_mask);
+ void set_chr(int chr_base, int chr_mask);
virtual void set_prg() { set_prg(0x00, 0x1f); }
+ virtual void set_chr() { set_chr(0x00, 0x1ff); }
+
u16 m_mmc_vrom_bank[8];
u8 m_mmc_prg_bank[2];
u8 m_prg_flip;
+ u8 m_wram_enable;
void irq_tick();
virtual void irq_ack_w();
@@ -132,16 +137,15 @@ class nes_konami_vrc6_device : public nes_konami_vrc4_device
{
public:
// construction/destruction
- nes_konami_vrc6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ nes_konami_vrc6_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, u8 data) override;
protected:
// device-level overrides
- virtual void device_start() override;
-
virtual void device_add_mconfig(machine_config &config) override;
+private:
required_device<vrc6snd_device> m_vrc6snd;
};
@@ -152,16 +156,14 @@ class nes_konami_vrc7_device : public nes_konami_vrc4_device
{
public:
// construction/destruction
- nes_konami_vrc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ nes_konami_vrc7_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
- virtual void write_h(offs_t offset, uint8_t 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;
-
virtual void device_add_mconfig(machine_config &config) override;
private: