summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nes/bootleg.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nes/bootleg.h')
-rw-r--r--src/devices/bus/nes/bootleg.h83
1 files changed, 36 insertions, 47 deletions
diff --git a/src/devices/bus/nes/bootleg.h b/src/devices/bus/nes/bootleg.h
index 8367ba8fe1d..93cdaa2ec6f 100644
--- a/src/devices/bus/nes/bootleg.h
+++ b/src/devices/bus/nes/bootleg.h
@@ -15,7 +15,7 @@ public:
nes_sc127_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void write_h(offs_t offset, uint8_t data) override;
- virtual void hblank_irq(int scanline, int vblank, int blanked) override;
+ virtual void hblank_irq(int scanline, bool vblank, bool blanked) override;
virtual void pcb_reset() override;
protected:
@@ -34,25 +34,25 @@ class nes_mbaby_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_mbaby_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ nes_mbaby_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+ virtual u8 read_m(offs_t offset) 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);
- uint8_t m_latch;
+private:
+ u16 m_irq_count;
int m_irq_enable;
+ u8 m_latch;
emu_timer *irq_timer;
- attotime timer_freq;
};
@@ -94,13 +94,13 @@ public:
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;
+
+ TIMER_CALLBACK_MEMBER(irq_timer_tick);
private:
u16 m_irq_count;
int m_irq_enable;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
};
@@ -127,7 +127,7 @@ public:
nes_btl_dn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void write_h(offs_t offset, uint8_t data) override;
- virtual void hblank_irq(int scanline, int vblank, int blanked) override;
+ virtual void hblank_irq(int scanline, bool vblank, bool blanked) override;
virtual void pcb_reset() override;
protected:
@@ -158,7 +158,8 @@ public:
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;
+
+ TIMER_CALLBACK_MEMBER(irq_timer_tick);
private:
void update_irq(u8 data);
@@ -166,7 +167,6 @@ private:
u16 m_irq_count;
int m_irq_enable;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
};
@@ -187,13 +187,13 @@ public:
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;
+
+ TIMER_CALLBACK_MEMBER(irq_timer_tick);
private:
u16 m_irq_count;
int m_irq_enable;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
};
@@ -213,11 +213,12 @@ public:
virtual void pcb_reset() override;
protected:
- nes_smb2jb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ nes_smb2jb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 bank67);
// 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);
u16 m_irq_count;
int m_irq_enable;
@@ -225,9 +226,8 @@ protected:
private:
void write_45(offs_t offset, u8 data);
- u8 m_bank67;
+ const u8 m_bank67;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
};
@@ -285,14 +285,14 @@ public:
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;
+
+ TIMER_CALLBACK_MEMBER(irq_timer_tick);
private:
u16 m_irq_count;
int m_irq_enable;
u8 m_reg;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
};
@@ -312,12 +312,12 @@ public:
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;
+
+ TIMER_CALLBACK_MEMBER(irq_timer_tick);
private:
u16 m_irq_count;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
};
@@ -337,13 +337,13 @@ public:
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;
+
+ TIMER_CALLBACK_MEMBER(irq_timer_tick);
private:
u16 m_irq_count;
int m_irq_enable;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
};
@@ -400,6 +400,7 @@ class nes_whirlwind_device : public nes_nrom_device
{
public:
virtual u8 read_m(offs_t offset) override;
+
virtual void pcb_reset() override;
protected:
@@ -533,11 +534,11 @@ class nes_lh10_device : public nes_nrom_device
{
public:
// construction/destruction
- nes_lh10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ nes_lh10_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
- virtual uint8_t read_h(offs_t offset) override;
- virtual uint8_t read_m(offs_t offset) override;
- virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual u8 read_h(offs_t offset) override;
+ virtual u8 read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, u8 data) override;
virtual void pcb_reset() override;
@@ -546,9 +547,7 @@ protected:
virtual void device_start() override;
private:
- void update_prg();
- uint8_t m_latch;
- uint8_t m_reg[8];
+ u8 m_latch;
};
@@ -584,14 +583,14 @@ public:
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;
+
+ TIMER_CALLBACK_MEMBER(irq_timer_tick);
private:
uint16_t m_irq_count;
int m_irq_enable;
uint8_t m_reg;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
attotime timer_freq;
};
@@ -654,12 +653,6 @@ public:
virtual uint8_t read_m(offs_t offset) override;
virtual void write_m(offs_t offset, uint8_t data) override;
-
- virtual void pcb_reset() override;
-
-protected:
- // device-level overrides
- virtual void device_start() override;
};
@@ -674,10 +667,6 @@ public:
virtual uint8_t read_h(offs_t offset) override;
virtual void pcb_reset() override;
-
-protected:
- // device-level overrides
- virtual void device_start() override;
};
@@ -699,14 +688,14 @@ public:
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;
+
+ TIMER_CALLBACK_MEMBER(irq_timer_tick);
private:
void write_45(offs_t offset, u8 data);
u16 m_irq_count;
int m_irq_latch;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
};