From 838c47fbecfdcb5c2ec013238cd09bb9530de202 Mon Sep 17 00:00:00 2001 From: AJR Date: Thu, 3 Dec 2020 13:40:23 -0500 Subject: [PATCH] majtitl2: Use parallel EEPROM device --- src/mame/drivers/m92.cpp | 46 +++++++++++++++------------------------- src/mame/includes/m92.h | 4 ---- 2 files changed, 17 insertions(+), 33 deletions(-) diff --git a/src/mame/drivers/m92.cpp b/src/mame/drivers/m92.cpp index 28883fe6c70..7e57d8ca91b 100644 --- a/src/mame/drivers/m92.cpp +++ b/src/mame/drivers/m92.cpp @@ -64,7 +64,7 @@ Glitch list! Irem Skins: - EEPROM load/save not yet implemented - when done, MT2EEP should - be removed from the ROM definition. + be removed from the ROM definition. (?) LeagueMan: Raster effects don't work properly (not even cpu time per line?). @@ -211,9 +211,9 @@ psoldier dip locations still need verification. #include "includes/iremipt.h" #include "cpu/nec/nec.h" +#include "machine/eeprompar.h" #include "machine/gen_latch.h" #include "machine/irem_cpu.h" -#include "machine/nvram.h" #include "sound/ym2151.h" #include "sound/iremga20.h" #include "speaker.h" @@ -259,19 +259,6 @@ TIMER_DEVICE_CALLBACK_MEMBER(m92_state::scanline_interrupt) /*****************************************************************************/ -uint16_t m92_state::eeprom_r(offs_t offset) -{ -// logerror("%05x: EEPROM RE %04x\n",m_maincpu->pc(),offset); - return m_eeprom[offset] | 0xff00; -} - -void m92_state::eeprom_w(offs_t offset, uint16_t data, uint16_t mem_mask) -{ -// logerror("%05x: EEPROM WR %04x\n",m_maincpu->pc(),offset); - if (ACCESSING_BITS_0_7) - m_eeprom[offset] = data; -} - void m92_state::coincounter_w(uint8_t data) { machine().bookkeeping().coin_counter_w(0, data & 0x01); @@ -350,7 +337,7 @@ void m92_state::m92_banked_map(address_map &map) void m92_state::majtitl2_map(address_map &map) { m92_banked_map(map); - map(0xf0000, 0xf3fff).rw(FUNC(m92_state::eeprom_r), FUNC(m92_state::eeprom_w)).share("eeprom"); + map(0xf0000, 0xf3fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff); } void m92_state::m92_portmap(address_map &map) @@ -1012,7 +999,8 @@ void m92_state::majtitl2(machine_config &config) { m92_banked(config); m_maincpu->set_addrmap(AS_PROGRAM, &m92_state::majtitl2_map); - NVRAM(config, "eeprom", nvram_device::DEFAULT_ALL_0); + + EEPROM_2864(config, "eeprom"); // D28C64C-20 m_soundcpu->set_decryption_table(majtitl2_decryption_table); } @@ -1183,8 +1171,8 @@ ROM_START( skingame ) ROM_REGION( 0x80000, "irem", 0 ) ROM_LOAD( "k0d.ic8", 0x000000, 0x80000, CRC(713b9e9f) SHA1(91384d67d4ba9c7d926fbecb077293c661b8ec83) ) - ROM_REGION( 0x4000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ - ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) ) + ROM_REGION( 0x2000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ + ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) BAD_DUMP ) ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "pal16l8-m92-a-3m.ic11", 0x0000, 0x0104, NO_DUMP ) /* PAL is read protected */ @@ -1220,8 +1208,8 @@ ROM_START( majtitl2 ) ROM_REGION( 0x80000, "irem", 0 ) ROM_LOAD( "k0d.ic8", 0x000000, 0x80000, CRC(713b9e9f) SHA1(91384d67d4ba9c7d926fbecb077293c661b8ec83) ) - ROM_REGION( 0x4000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ - ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) ) + ROM_REGION( 0x2000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ + ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) BAD_DUMP ) ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "pal16l8-m92-a-3m.ic11", 0x0000, 0x0104, NO_DUMP ) /* PAL is read protected */ @@ -1258,8 +1246,8 @@ ROM_START( majtitl2b ) ROM_REGION( 0x80000, "irem", 0 ) ROM_LOAD( "k0d.ic8", 0x000000, 0x80000, CRC(713b9e9f) SHA1(91384d67d4ba9c7d926fbecb077293c661b8ec83) ) - ROM_REGION( 0x4000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ - ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) ) + ROM_REGION( 0x2000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ + ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) BAD_DUMP ) ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "pal16l8-m92-a-3m.ic11", 0x0000, 0x0104, NO_DUMP ) /* PAL is read protected */ @@ -1297,8 +1285,8 @@ ROM_START( majtitl2a ) ROM_REGION( 0x80000, "irem", 0 ) ROM_LOAD( "k0d.ic8", 0x000000, 0x80000, CRC(713b9e9f) SHA1(91384d67d4ba9c7d926fbecb077293c661b8ec83) ) - ROM_REGION( 0x4000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ - ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) ) + ROM_REGION( 0x2000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ + ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) BAD_DUMP ) ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "pal16l8-m92-a-3m.ic11", 0x0000, 0x0104, NO_DUMP ) /* PAL is read protected */ @@ -1334,8 +1322,8 @@ ROM_START( majtitl2j ) ROM_REGION( 0x80000, "irem", 0 ) ROM_LOAD( "k0d.ic8", 0x000000, 0x80000, CRC(713b9e9f) SHA1(91384d67d4ba9c7d926fbecb077293c661b8ec83) ) - ROM_REGION( 0x4000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ - ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) ) + ROM_REGION( 0x2000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ + ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) BAD_DUMP ) ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "pal16l8-m92-a-3m.ic11", 0x0000, 0x0104, NO_DUMP ) /* PAL is read protected */ @@ -1371,8 +1359,8 @@ ROM_START( skingame2 ) ROM_REGION( 0x80000, "irem", 0 ) ROM_LOAD( "k0d.ic8", 0x000000, 0x80000, CRC(713b9e9f) SHA1(91384d67d4ba9c7d926fbecb077293c661b8ec83) ) - ROM_REGION( 0x4000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ - ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) ) + ROM_REGION( 0x2000, "eeprom", 0 ) /* D28C64C-20 EEPROM */ + ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) BAD_DUMP ) ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "pal16l8-m92-a-3m.ic11", 0x0000, 0x0104, NO_DUMP ) /* PAL is read protected */ diff --git a/src/mame/includes/m92.h b/src/mame/includes/m92.h index 532b1ff7516..8967f58df2a 100644 --- a/src/mame/includes/m92.h +++ b/src/mame/includes/m92.h @@ -47,7 +47,6 @@ public: m_screen(*this, "screen"), m_palette(*this, "palette"), m_upd71059c(*this, "upd71059c"), - m_eeprom(*this, "eeprom"), m_mainbank(*this, "mainbank") { } @@ -86,7 +85,6 @@ private: required_device m_palette; required_device m_upd71059c; - optional_shared_ptr m_eeprom; optional_memory_bank m_mainbank; emu_timer *m_spritebuffer_timer; @@ -99,8 +97,6 @@ private: uint8_t m_palette_bank; std::vector m_paletteram; - uint16_t eeprom_r(offs_t offset); - void eeprom_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); void coincounter_w(uint8_t data); void bankswitch_w(uint8_t data); void sound_reset_w(uint16_t data);