diff options
Diffstat (limited to 'src/devices/bus/gameboy/mbc.cpp')
-rw-r--r-- | src/devices/bus/gameboy/mbc.cpp | 132 |
1 files changed, 66 insertions, 66 deletions
diff --git a/src/devices/bus/gameboy/mbc.cpp b/src/devices/bus/gameboy/mbc.cpp index 286c2d90a1e..bd57a4da23b 100644 --- a/src/devices/bus/gameboy/mbc.cpp +++ b/src/devices/bus/gameboy/mbc.cpp @@ -347,12 +347,12 @@ void gb_rom_camera_device::device_reset() mapper specific handlers -------------------------------------------------*/ -READ8_MEMBER(gb_rom_mbc_device::read_rom) +uint8_t gb_rom_mbc_device::read_rom(offs_t offset) { return m_rom[rom_bank_map[m_latch_bank] + offset]; } -READ8_MEMBER(gb_rom_mbc_device::read_ram) +uint8_t gb_rom_mbc_device::read_ram(offs_t offset) { if (!m_ram.empty()) return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + offset]; @@ -360,7 +360,7 @@ READ8_MEMBER(gb_rom_mbc_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_mbc_device::write_ram) +void gb_rom_mbc_device::write_ram(offs_t offset, uint8_t data) { if (!m_ram.empty()) m_ram[ram_bank_map[m_ram_bank] * 0x2000 + offset] = data; @@ -369,7 +369,7 @@ WRITE8_MEMBER(gb_rom_mbc_device::write_ram) // MBC1 -READ8_MEMBER(gb_rom_mbc1_device::read_rom) +uint8_t gb_rom_mbc1_device::read_rom(offs_t offset) { if (offset & 0x4000) /* RB1 */ return m_rom[rom_bank_map[(m_ram_bank << (5 + m_shift)) | m_latch_bank2] * 0x4000 + (offset & 0x3fff)]; @@ -380,7 +380,7 @@ READ8_MEMBER(gb_rom_mbc1_device::read_rom) } } -WRITE8_MEMBER(gb_rom_mbc1_device::write_bank) +void gb_rom_mbc1_device::write_bank(offs_t offset, uint8_t data) { // the mapper only uses inputs A15..A13 switch (offset & 0xe000) @@ -402,7 +402,7 @@ WRITE8_MEMBER(gb_rom_mbc1_device::write_bank) } } -READ8_MEMBER(gb_rom_mbc1_device::read_ram) +uint8_t gb_rom_mbc1_device::read_ram(offs_t offset) { if (!m_ram.empty() && m_ram_enable) { @@ -413,7 +413,7 @@ READ8_MEMBER(gb_rom_mbc1_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_mbc1_device::write_ram) +void gb_rom_mbc1_device::write_ram(offs_t offset, uint8_t data) { if (!m_ram.empty() && m_ram_enable) { @@ -425,7 +425,7 @@ WRITE8_MEMBER(gb_rom_mbc1_device::write_ram) // MBC2 -READ8_MEMBER(gb_rom_mbc2_device::read_rom) +uint8_t gb_rom_mbc2_device::read_rom(offs_t offset) { if (offset & 0x4000) /* RB1 */ return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)]; @@ -433,7 +433,7 @@ READ8_MEMBER(gb_rom_mbc2_device::read_rom) return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)]; } -WRITE8_MEMBER(gb_rom_mbc2_device::write_bank) +void gb_rom_mbc2_device::write_bank(offs_t offset, uint8_t data) { // the mapper only has data lines D3..D0 data &= 0x0f; @@ -450,7 +450,7 @@ WRITE8_MEMBER(gb_rom_mbc2_device::write_bank) } } -READ8_MEMBER(gb_rom_mbc2_device::read_ram) +uint8_t gb_rom_mbc2_device::read_ram(offs_t offset) { if (!m_ram.empty() && m_ram_enable) return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x01ff)] | 0xf0; @@ -458,7 +458,7 @@ READ8_MEMBER(gb_rom_mbc2_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_mbc2_device::write_ram) +void gb_rom_mbc2_device::write_ram(offs_t offset, uint8_t data) { if (!m_ram.empty() && m_ram_enable) m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x01ff)] = data & 0x0f; @@ -479,7 +479,7 @@ void gb_rom_mbc3_device::update_rtc() m_rtc_regs[4] = (m_rtc_regs[4] & 0xf0) | (curtime.local_time.day >> 8); } -READ8_MEMBER(gb_rom_mbc3_device::read_rom) +uint8_t gb_rom_mbc3_device::read_rom(offs_t offset) { if (offset < 0x4000) return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)]; @@ -487,7 +487,7 @@ READ8_MEMBER(gb_rom_mbc3_device::read_rom) return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)]; } -WRITE8_MEMBER(gb_rom_mbc3_device::write_bank) +void gb_rom_mbc3_device::write_bank(offs_t offset, uint8_t data) { if (offset < 0x2000) m_ram_enable = ((data & 0x0f) == 0x0a) ? 1 : 0; @@ -517,7 +517,7 @@ WRITE8_MEMBER(gb_rom_mbc3_device::write_bank) } } -READ8_MEMBER(gb_rom_mbc3_device::read_ram) +uint8_t gb_rom_mbc3_device::read_ram(offs_t offset) { if (m_ram_bank < 4 && m_ram_enable) { @@ -534,7 +534,7 @@ READ8_MEMBER(gb_rom_mbc3_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_mbc3_device::write_ram) +void gb_rom_mbc3_device::write_ram(offs_t offset, uint8_t data) { if (m_ram_bank < 4 && m_ram_enable) { @@ -552,7 +552,7 @@ WRITE8_MEMBER(gb_rom_mbc3_device::write_ram) // MBC5 -READ8_MEMBER(gb_rom_mbc5_device::read_rom) +uint8_t gb_rom_mbc5_device::read_rom(offs_t offset) { if (offset < 0x4000) return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)]; @@ -560,7 +560,7 @@ READ8_MEMBER(gb_rom_mbc5_device::read_rom) return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)]; } -WRITE8_MEMBER(gb_rom_mbc5_device::write_bank) +void gb_rom_mbc5_device::write_bank(offs_t offset, uint8_t data) { if (offset < 0x2000) m_ram_enable = ((data & 0x0f) == 0x0a) ? 1 : 0; @@ -588,7 +588,7 @@ WRITE8_MEMBER(gb_rom_mbc5_device::write_bank) } } -READ8_MEMBER(gb_rom_mbc5_device::read_ram) +uint8_t gb_rom_mbc5_device::read_ram(offs_t offset) { if (!m_ram.empty() && m_ram_enable) return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)]; @@ -596,7 +596,7 @@ READ8_MEMBER(gb_rom_mbc5_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_mbc5_device::write_ram) +void gb_rom_mbc5_device::write_ram(offs_t offset, uint8_t data) { if (!m_ram.empty() && m_ram_enable) m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)] = data; @@ -604,7 +604,7 @@ WRITE8_MEMBER(gb_rom_mbc5_device::write_ram) // MBC6 -READ8_MEMBER(gb_rom_mbc6_device::read_rom) +uint8_t gb_rom_mbc6_device::read_rom(offs_t offset) { if (offset < 0x4000) return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)]; @@ -614,7 +614,7 @@ READ8_MEMBER(gb_rom_mbc6_device::read_rom) return m_rom[rom_bank_map[m_bank_6000 >> 1] * 0x4000 + (m_bank_6000 & 0x01) * 0x2000 + (offset & 0x1fff)]; } -WRITE8_MEMBER(gb_rom_mbc6_device::write_bank) +void gb_rom_mbc6_device::write_bank(offs_t offset, uint8_t data) { if (offset < 0x2000) { @@ -636,7 +636,7 @@ WRITE8_MEMBER(gb_rom_mbc6_device::write_bank) } } -READ8_MEMBER(gb_rom_mbc6_device::read_ram) +uint8_t gb_rom_mbc6_device::read_ram(offs_t offset) { if (!m_ram.empty()) return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)]; @@ -644,7 +644,7 @@ READ8_MEMBER(gb_rom_mbc6_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_mbc6_device::write_ram) +void gb_rom_mbc6_device::write_ram(offs_t offset, uint8_t data) { if (!m_ram.empty()) m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)] = data; @@ -652,7 +652,7 @@ WRITE8_MEMBER(gb_rom_mbc6_device::write_ram) // MBC7 -READ8_MEMBER(gb_rom_mbc7_device::read_rom) +uint8_t gb_rom_mbc7_device::read_rom(offs_t offset) { if (offset < 0x4000) return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)]; @@ -660,7 +660,7 @@ READ8_MEMBER(gb_rom_mbc7_device::read_rom) return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)]; } -WRITE8_MEMBER(gb_rom_mbc7_device::write_bank) +void gb_rom_mbc7_device::write_bank(offs_t offset, uint8_t data) { if (offset < 0x2000) { @@ -693,7 +693,7 @@ WRITE8_MEMBER(gb_rom_mbc7_device::write_bank) } } -READ8_MEMBER(gb_rom_mbc7_device::read_ram) +uint8_t gb_rom_mbc7_device::read_ram(offs_t offset) { if (!m_ram.empty()) return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)]; @@ -701,7 +701,7 @@ READ8_MEMBER(gb_rom_mbc7_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_mbc7_device::write_ram) +void gb_rom_mbc7_device::write_ram(offs_t offset, uint8_t data) { if (!m_ram.empty()) m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)] = data; @@ -710,12 +710,12 @@ WRITE8_MEMBER(gb_rom_mbc7_device::write_ram) // M161 -READ8_MEMBER(gb_rom_m161_device::read_rom) +uint8_t gb_rom_m161_device::read_rom(offs_t offset) { return m_rom[rom_bank_map[m_base_bank] * 0x4000 + (offset & 0x7fff)]; } -WRITE8_MEMBER(gb_rom_m161_device::write_bank) +void gb_rom_m161_device::write_bank(offs_t offset, uint8_t data) { // the mapper (74HC161A) only has data lines D2..D0 data &= 0x07; @@ -736,7 +736,7 @@ WRITE8_MEMBER(gb_rom_m161_device::write_bank) // MMM01 -READ8_MEMBER(gb_rom_mmm01_device::read_rom) +uint8_t gb_rom_mmm01_device::read_rom(offs_t offset) { uint16_t romb = m_romb & ~(0x1e0 | m_romb_nwe); uint16_t romb_base = m_romb & (0x1e0 | m_romb_nwe); @@ -765,7 +765,7 @@ READ8_MEMBER(gb_rom_mmm01_device::read_rom) return m_rom[rom_bank_map[romb] * 0x4000 + (offset & 0x3fff)]; } -WRITE8_MEMBER(gb_rom_mmm01_device::write_bank) +void gb_rom_mmm01_device::write_bank(offs_t offset, uint8_t data) { // the mapper only has data lines D6..D0 data &= 0x7f; @@ -810,7 +810,7 @@ WRITE8_MEMBER(gb_rom_mmm01_device::write_bank) } } -READ8_MEMBER(gb_rom_mmm01_device::read_ram) +uint8_t gb_rom_mmm01_device::read_ram(offs_t offset) { uint8_t ramb_masked = ((offset & 0x4000) | m_mode ? m_ramb : m_ramb & ~0x03); uint8_t ramb = ramb_masked; @@ -827,7 +827,7 @@ READ8_MEMBER(gb_rom_mmm01_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_mmm01_device::write_ram) +void gb_rom_mmm01_device::write_ram(offs_t offset, uint8_t data) { uint8_t ramb_masked = ((offset & 0x4000) | m_mode ? m_ramb : m_ramb & ~0x03); uint8_t ramb = ramb_masked; @@ -844,7 +844,7 @@ WRITE8_MEMBER(gb_rom_mmm01_device::write_ram) // Sachen MMC1 -READ8_MEMBER(gb_rom_sachen_mmc1_device::read_rom) +uint8_t gb_rom_sachen_mmc1_device::read_rom(offs_t offset) { uint16_t off_edit = offset; @@ -875,7 +875,7 @@ READ8_MEMBER(gb_rom_sachen_mmc1_device::read_rom) return m_rom[rom_bank_map[(m_base_bank & m_mask) | (m_latch_bank & ~m_mask)] * 0x4000 + (off_edit & 0x3fff)]; } -WRITE8_MEMBER(gb_rom_sachen_mmc1_device::write_bank) +void gb_rom_sachen_mmc1_device::write_bank(offs_t offset, uint8_t data) { /* Only A15..A6, A4, A1..A0 are connected */ /* We only decode upper three bits */ @@ -916,7 +916,7 @@ WRITE8_MEMBER(gb_rom_sachen_mmc1_device::write_bank) // Sachen MMC2 -READ8_MEMBER(gb_rom_sachen_mmc2_device::read_rom) +uint8_t gb_rom_sachen_mmc2_device::read_rom(offs_t offset) { uint16_t off_edit = offset; @@ -954,7 +954,7 @@ READ8_MEMBER(gb_rom_sachen_mmc2_device::read_rom) return m_rom[rom_bank_map[(m_base_bank & m_mask) | (m_latch_bank & ~m_mask)] * 0x4000 + (off_edit & 0x3fff)]; } -READ8_MEMBER(gb_rom_sachen_mmc2_device::read_ram) +uint8_t gb_rom_sachen_mmc2_device::read_ram(offs_t offset) { if (m_mode == MODE_LOCKED_DMG) { m_unlock_cnt = 0x00; @@ -964,7 +964,7 @@ READ8_MEMBER(gb_rom_sachen_mmc2_device::read_ram) } -WRITE8_MEMBER(gb_rom_sachen_mmc2_device::write_ram) +void gb_rom_sachen_mmc2_device::write_ram(offs_t offset, uint8_t data) { if (m_mode == MODE_LOCKED_DMG) { m_unlock_cnt = 0x00; @@ -976,7 +976,7 @@ WRITE8_MEMBER(gb_rom_sachen_mmc2_device::write_ram) // 188 in 1 pirate (only preliminary) -READ8_MEMBER(gb_rom_188in1_device::read_rom) +uint8_t gb_rom_188in1_device::read_rom(offs_t offset) { if (offset < 0x4000) return m_rom[m_game_base + rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)]; @@ -984,7 +984,7 @@ READ8_MEMBER(gb_rom_188in1_device::read_rom) return m_rom[m_game_base + rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)]; } -WRITE8_MEMBER(gb_rom_188in1_device::write_bank) +void gb_rom_188in1_device::write_bank(offs_t offset, uint8_t data) { if (offset == 0x7b00) { @@ -1003,24 +1003,24 @@ WRITE8_MEMBER(gb_rom_188in1_device::write_bank) printf("write to 0x%X data 0x%X\n", offset, data); } else - gb_rom_mbc1_device::write_bank(space, offset, data); + gb_rom_mbc1_device::write_bank(offset, data); } // MBC5 variant used by Li Cheng / Niutoude games -WRITE8_MEMBER(gb_rom_licheng_device::write_bank) +void gb_rom_licheng_device::write_bank(offs_t offset, uint8_t data) { if (offset > 0x2100 && offset < 0x3000) return; - gb_rom_mbc5_device::write_bank(space, offset, data); + gb_rom_mbc5_device::write_bank(offset, data); } // MBC5 variant used by Chong Wu Xiao Jing Ling (this appears to be a re-release of a Li Cheng / Niutoude game, // given that it contains the Niutoude logo, with most protection checks patched out) -READ8_MEMBER(gb_rom_chongwu_device::read_rom) +uint8_t gb_rom_chongwu_device::read_rom(offs_t offset) { // protection check at the first read here... if (offset == 0x41c3 && !m_protection_checked) @@ -1056,7 +1056,7 @@ void gb_rom_sintax_device::set_xor_for_bank(uint8_t bank) } } -READ8_MEMBER(gb_rom_sintax_device::read_rom) +uint8_t gb_rom_sintax_device::read_rom(offs_t offset) { if (offset < 0x4000) return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)]; @@ -1064,7 +1064,7 @@ READ8_MEMBER(gb_rom_sintax_device::read_rom) return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)] ^ m_currentxor; } -WRITE8_MEMBER(gb_rom_sintax_device::write_bank) +void gb_rom_sintax_device::write_bank(offs_t offset, uint8_t data) { if (offset < 0x2000) m_ram_enable = ((data & 0x0f) == 0x0a) ? 1 : 0; @@ -1113,7 +1113,7 @@ WRITE8_MEMBER(gb_rom_sintax_device::write_bank) if (!m_sintax_mode) { m_sintax_mode = data; - write_bank(space, 0x2000, 1); //force a fake bank switch + write_bank(0x2000, 1); //force a fake bank switch } // printf("sintax mode %x\n", m_sintax_mode & 0xf); } @@ -1141,7 +1141,7 @@ WRITE8_MEMBER(gb_rom_sintax_device::write_bank) } -READ8_MEMBER(gb_rom_sintax_device::read_ram) +uint8_t gb_rom_sintax_device::read_ram(offs_t offset) { if (!m_ram.empty() && m_ram_enable) return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)]; @@ -1149,7 +1149,7 @@ READ8_MEMBER(gb_rom_sintax_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_sintax_device::write_ram) +void gb_rom_sintax_device::write_ram(offs_t offset, uint8_t data) { if (!m_ram.empty() && m_ram_enable) m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)] = data; @@ -1169,7 +1169,7 @@ WRITE8_MEMBER(gb_rom_sintax_device::write_ram) // MBC5 variant used by Digimon 2 (and maybe 4?) -READ8_MEMBER(gb_rom_digimon_device::read_rom) +uint8_t gb_rom_digimon_device::read_rom(offs_t offset) { if (offset < 0x4000) return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)]; @@ -1177,7 +1177,7 @@ READ8_MEMBER(gb_rom_digimon_device::read_rom) return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)]; } -WRITE8_MEMBER(gb_rom_digimon_device::write_bank) +void gb_rom_digimon_device::write_bank(offs_t offset, uint8_t data) { if (offset < 0x2000) m_ram_enable = ((data & 0x0f) == 0x0a) ? 1 : 0; @@ -1206,7 +1206,7 @@ WRITE8_MEMBER(gb_rom_digimon_device::write_bank) // printf("written $07 %X at %X\n", data, offset); } -READ8_MEMBER(gb_rom_digimon_device::read_ram) +uint8_t gb_rom_digimon_device::read_ram(offs_t offset) { if (!m_ram.empty() && m_ram_enable) return m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)]; @@ -1214,7 +1214,7 @@ READ8_MEMBER(gb_rom_digimon_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_digimon_device::write_ram) +void gb_rom_digimon_device::write_ram(offs_t offset, uint8_t data) { if (!m_ram.empty() && m_ram_enable) m_ram[ram_bank_map[m_ram_bank] * 0x2000 + (offset & 0x1fff)] = data; @@ -1223,7 +1223,7 @@ WRITE8_MEMBER(gb_rom_digimon_device::write_ram) // MBC1 variant used by Yong Yong for Rockman 8 -READ8_MEMBER(gb_rom_rockman8_device::read_rom) +uint8_t gb_rom_rockman8_device::read_rom(offs_t offset) { if (offset < 0x4000) return m_rom[m_latch_bank * 0x4000 + (offset & 0x3fff)]; @@ -1231,7 +1231,7 @@ READ8_MEMBER(gb_rom_rockman8_device::read_rom) return m_rom[m_latch_bank2 * 0x4000 + (offset & 0x3fff)]; } -WRITE8_MEMBER(gb_rom_rockman8_device::write_bank) +void gb_rom_rockman8_device::write_bank(offs_t offset, uint8_t data) { if (offset < 0x2000) return; @@ -1248,7 +1248,7 @@ WRITE8_MEMBER(gb_rom_rockman8_device::write_bank) } } -READ8_MEMBER(gb_rom_rockman8_device::read_ram) +uint8_t gb_rom_rockman8_device::read_ram(offs_t offset) { if (!m_ram.empty()) return m_ram[offset]; @@ -1256,7 +1256,7 @@ READ8_MEMBER(gb_rom_rockman8_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_rockman8_device::write_ram) +void gb_rom_rockman8_device::write_ram(offs_t offset, uint8_t data) { if (!m_ram.empty()) m_ram[offset] = data; @@ -1291,7 +1291,7 @@ static uint8_t smb3_table1[0x20] = // however, no such a write ever happen (only bit4 is written, but changing mode with // bit4 breaks the gfx...) -READ8_MEMBER(gb_rom_sm3sp_device::read_rom) +uint8_t gb_rom_sm3sp_device::read_rom(offs_t offset) { if (offset < 0x4000) return m_rom[rom_bank_map[0] * 0x4000 + (offset & 0x3fff)]; @@ -1299,7 +1299,7 @@ READ8_MEMBER(gb_rom_sm3sp_device::read_rom) return m_rom[m_latch_bank2 * 0x4000 + (offset & 0x3fff)]; } -WRITE8_MEMBER(gb_rom_sm3sp_device::write_bank) +void gb_rom_sm3sp_device::write_bank(offs_t offset, uint8_t data) { // printf("write 0x%x at %x\n", data, offset); if (offset < 0x2000) @@ -1352,11 +1352,11 @@ WRITE8_MEMBER(gb_rom_sm3sp_device::write_bank) { // printf("write mode %x\n", data); m_mode = BIT(data, 5); -// write_bank(space, 0x2000, 1); +// write_bank(0x2000, 1); } } -READ8_MEMBER(gb_rom_sm3sp_device::read_ram) +uint8_t gb_rom_sm3sp_device::read_ram(offs_t offset) { if (!m_ram.empty()) return m_ram[offset]; @@ -1364,7 +1364,7 @@ READ8_MEMBER(gb_rom_sm3sp_device::read_ram) return 0xff; } -WRITE8_MEMBER(gb_rom_sm3sp_device::write_ram) +void gb_rom_sm3sp_device::write_ram(offs_t offset, uint8_t data) { if (!m_ram.empty()) m_ram[offset] = data; @@ -1375,7 +1375,7 @@ void gb_rom_camera_device::update_camera() m_camera_regs[0] &= ~0x1; } -READ8_MEMBER(gb_rom_camera_device::read_rom) +uint8_t gb_rom_camera_device::read_rom(offs_t offset) { if (offset < 0x4000) return m_rom[rom_bank_map[m_latch_bank] * 0x4000 + (offset & 0x3fff)]; @@ -1383,7 +1383,7 @@ READ8_MEMBER(gb_rom_camera_device::read_rom) return m_rom[rom_bank_map[m_latch_bank2] * 0x4000 + (offset & 0x3fff)]; } -WRITE8_MEMBER(gb_rom_camera_device::write_bank) +void gb_rom_camera_device::write_bank(offs_t offset, uint8_t data) { if (offset < 0x2000) m_ram_enable = ((data & 0x0f) == 0x0a) ? 1 : 0; @@ -1403,7 +1403,7 @@ WRITE8_MEMBER(gb_rom_camera_device::write_bank) } } -READ8_MEMBER(gb_rom_camera_device::read_ram) +uint8_t gb_rom_camera_device::read_ram(offs_t offset) { if ((m_ram_bank & 0x10) != 0) return (offset == 0) ? (m_camera_regs[0] & 0x7) : 0; @@ -1417,7 +1417,7 @@ READ8_MEMBER(gb_rom_camera_device::read_ram) return 0; } -WRITE8_MEMBER(gb_rom_camera_device::write_ram) +void gb_rom_camera_device::write_ram(offs_t offset, uint8_t data) { if ((m_ram_bank & 0x10) != 0) { |