summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2018-06-16 15:34:45 +0200
committer hap <happppp@users.noreply.github.com>2018-06-16 15:35:00 +0200
commita6bcfa0fe17f4695a06f7e8c4e2436de1ae5f360 (patch)
treeb9fe420313108bcb518f10b2fccf8bd6767838f6
parentc03176b85df375f78efc2ff1363f5ccdd85f1739 (diff)
fidel6502: added cpu divider to EAS family (nw)
-rw-r--r--src/mame/drivers/fidel6502.cpp207
1 files changed, 120 insertions, 87 deletions
diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp
index 4d0b07c0547..fae3c8dfc9e 100644
--- a/src/mame/drivers/fidel6502.cpp
+++ b/src/mame/drivers/fidel6502.cpp
@@ -14,7 +14,7 @@
- Source organization is a big mess. Each machine family could be in its own
sub driverclass, and separate files.
- verify cpu speed and rom labels where unknown
- - improve SC12/AS12 CPU divider? it seems a little bit slower than the real machine.
+ - improve EAS/SC12/etc CPU divider? it seems a little bit slower than the real machine.
Currently, a dummy timer workaround is needed, or it's much worse.
Is the problem here is due to timing of CPU addressbus changes? We can only 'sense'
the addressbus at read or write accesses.
@@ -473,17 +473,25 @@ public:
: fidelbase_state(mconfig, type, tag),
m_ppi8255(*this, "ppi8255"),
m_rombank(*this, "rombank"),
- m_sc12_map(*this, "sc12_map")
+ m_mainmap(*this, "mainmap"),
+ m_div_config(*this, "div_config")
{ }
// devices/pointers
optional_device<i8255_device> m_ppi8255;
optional_memory_bank m_rombank;
- optional_device<address_map_bank_device> m_sc12_map;
+ optional_device<address_map_bank_device> m_mainmap;
+ optional_ioport m_div_config;
+ // common
TIMER_DEVICE_CALLBACK_MEMBER(irq_on) { m_maincpu->set_input_line(M6502_IRQ_LINE, ASSERT_LINE); }
TIMER_DEVICE_CALLBACK_MEMBER(irq_off) { m_maincpu->set_input_line(M6502_IRQ_LINE, CLEAR_LINE); }
- TIMER_DEVICE_CALLBACK_MEMBER(dummy) { ; }
+ TIMER_DEVICE_CALLBACK_MEMBER(dummy) { ; } // MCFG_QUANTUM_PERFECT_CPU("maincpu") didn't work
+
+ DECLARE_WRITE8_MEMBER(div_trampoline_w);
+ DECLARE_READ8_MEMBER(div_trampoline_r);
+ void div_set_cpu_freq(offs_t offset);
+ void div_trampoline(address_map &map);
// CSC, SU9, RSC
void csc_prepare_display();
@@ -542,13 +550,9 @@ public:
void playmatic(machine_config &config);
// SC12
- DECLARE_WRITE8_MEMBER(sc12_trampoline_w);
- DECLARE_READ8_MEMBER(sc12_trampoline_r);
DECLARE_WRITE8_MEMBER(sc12_control_w);
DECLARE_READ8_MEMBER(sc12_input_r);
- void sc12_set_cpu_freq(offs_t offset);
void sc12_map(address_map &map);
- void sc12_trampoline(address_map &map);
void sc12(machine_config &config);
void sc12b(machine_config &config);
@@ -605,6 +609,61 @@ public:
};
+/***************************************************************************
+
+ Helper Functions
+
+***************************************************************************/
+
+// Offset-dependent CPU divider on some machines
+
+void fidel6502_state::div_set_cpu_freq(offs_t offset)
+{
+ if (m_div_config->read() & 2)
+ {
+ // when a13/a14 is high, XTAL goes through divider(s)
+ // (depending on factory-set jumper, either one or two 7474)
+ float div = (m_div_config->read() & 1) ? 0.25 : 0.5;
+ m_maincpu->set_clock_scale((offset & 0x6000) ? div : 1.0);
+ }
+}
+
+WRITE8_MEMBER(fidel6502_state::div_trampoline_w)
+{
+ div_set_cpu_freq(offset);
+ m_mainmap->write8(space, offset, data);
+}
+
+READ8_MEMBER(fidel6502_state::div_trampoline_r)
+{
+ if (!machine().side_effects_disabled())
+ div_set_cpu_freq(offset);
+
+ return m_mainmap->read8(space, offset);
+}
+
+void fidel6502_state::div_trampoline(address_map &map)
+{
+ map(0x0000, 0xffff).rw(FUNC(fidel6502_state::div_trampoline_r), FUNC(fidel6502_state::div_trampoline_w));
+}
+
+static INPUT_PORTS_START( cpu_div_2 )
+ PORT_START("div_config") // hardwired, default to /2
+ PORT_CONFNAME( 0x03, 0x02, "CPU Divider" )
+ PORT_CONFSETTING( 0x00, "Disabled" )
+ PORT_CONFSETTING( 0x02, "2" )
+ PORT_CONFSETTING( 0x03, "4" )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( cpu_div_4 )
+ PORT_START("div_config") // hardwired, default to /4
+ PORT_CONFNAME( 0x03, 0x03, "CPU Divider" )
+ PORT_CONFSETTING( 0x00, "Disabled" )
+ PORT_CONFSETTING( 0x02, "2" )
+ PORT_CONFSETTING( 0x03, "4" )
+INPUT_PORTS_END
+
+
// Devices, I/O
@@ -904,31 +963,6 @@ MACHINE_RESET_MEMBER(fidel6502_state, sc9c)
// TTL/generic
-void fidel6502_state::sc12_set_cpu_freq(offs_t offset)
-{
- if (m_inp_matrix[9]->read() & 2)
- {
- // when a13/a14 is high, XTAL goes through divider(s)
- // (depending on factory-set jumper, either one or two 7474)
- float div = (m_inp_matrix[9]->read() & 1) ? 0.25 : 0.5;
- m_maincpu->set_clock_scale((offset & 0x6000) ? div : 1.0);
- }
-}
-
-WRITE8_MEMBER(fidel6502_state::sc12_trampoline_w)
-{
- sc12_set_cpu_freq(offset);
- m_sc12_map->write8(space, offset, data);
-}
-
-READ8_MEMBER(fidel6502_state::sc12_trampoline_r)
-{
- if (!machine().side_effects_disabled())
- sc12_set_cpu_freq(offset);
-
- return m_sc12_map->read8(space, offset);
-}
-
WRITE8_MEMBER(fidel6502_state::sc12_control_w)
{
// d0-d3: 7442 a0-a3
@@ -1319,11 +1353,6 @@ void fidel6502_state::sc9d_map(address_map &map)
// SC12, AS12
-void fidel6502_state::sc12_trampoline(address_map &map)
-{
- map(0x0000, 0xffff).rw(FUNC(fidel6502_state::sc12_trampoline_r), FUNC(fidel6502_state::sc12_trampoline_w));
-}
-
void fidel6502_state::sc12_map(address_map &map)
{
map.unmap_value_high();
@@ -1531,6 +1560,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( eas )
PORT_INCLUDE( fidel_cb_magnets )
+ PORT_INCLUDE( cpu_div_4 )
PORT_MODIFY("IN.0")
PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("DM")
@@ -1579,6 +1609,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( eag )
PORT_INCLUDE( fidel_cb_magnets )
+ PORT_INCLUDE( cpu_div_4 )
PORT_MODIFY("IN.0")
PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_DEL) PORT_NAME("CL")
@@ -1640,33 +1671,19 @@ INPUT_PORTS_END
static INPUT_PORTS_START( sc12 )
PORT_INCLUDE( fidel_cb_buttons )
PORT_INCLUDE( sc12_sidepanel )
-
- PORT_START("IN.9") // hardwired, default to /2
- PORT_CONFNAME( 0x03, 0x02, "CPU Divider" )
- PORT_CONFSETTING( 0x00, "Disabled" )
- PORT_CONFSETTING( 0x02, "2" )
- PORT_CONFSETTING( 0x03, "4" )
+ PORT_INCLUDE( cpu_div_2 )
INPUT_PORTS_END
static INPUT_PORTS_START( sc12b )
- PORT_INCLUDE( sc12 )
-
- PORT_MODIFY("IN.9") // hardwired, modify default to /4
- PORT_CONFNAME( 0x03, 0x03, "CPU Divider" )
- PORT_CONFSETTING( 0x00, "Disabled" )
- PORT_CONFSETTING( 0x02, "2" )
- PORT_CONFSETTING( 0x03, "4" )
+ PORT_INCLUDE( fidel_cb_buttons )
+ PORT_INCLUDE( sc12_sidepanel )
+ PORT_INCLUDE( cpu_div_4 )
INPUT_PORTS_END
static INPUT_PORTS_START( as12 )
PORT_INCLUDE( fidel_cb_magnets )
PORT_INCLUDE( sc12_sidepanel )
-
- PORT_START("IN.9") // hardwired, default to /4
- PORT_CONFNAME( 0x03, 0x03, "CPU Divider" )
- PORT_CONFSETTING( 0x00, "Disabled" )
- PORT_CONFSETTING( 0x02, "2" )
- PORT_CONFSETTING( 0x03, "4" )
+ PORT_INCLUDE( cpu_div_4 )
INPUT_PORTS_END
static INPUT_PORTS_START( playmatic )
@@ -1855,12 +1872,20 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidel6502_state::eas)
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", R65C02, 3_MHz_XTAL) // R65C02P4
- MCFG_DEVICE_PROGRAM_MAP(eas_map)
+ MCFG_DEVICE_ADD("maincpu", R65C02, 3_MHz_XTAL)
+ MCFG_DEVICE_PROGRAM_MAP(div_trampoline)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_on", fidel6502_state, irq_on, attotime::from_hz(38.4_kHz_XTAL/64)) // through 4060 IC, 600Hz
MCFG_TIMER_START_DELAY(attotime::from_hz(38.4_kHz_XTAL/64) - attotime::from_hz(38.4_kHz_XTAL*2)) // edge!
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_off", fidel6502_state, irq_off, attotime::from_hz(38.4_kHz_XTAL/64))
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("dummy_timer", fidel6502_state, dummy, attotime::from_hz(3_MHz_XTAL))
+
+ MCFG_DEVICE_ADD("mainmap", ADDRESS_MAP_BANK, 0)
+ MCFG_DEVICE_PROGRAM_MAP(eas_map)
+ MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
+ MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
+ MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(16)
+
MCFG_DEVICE_ADD("ppi8255", I8255, 0) // port B: input, port A & C: output
MCFG_I8255_OUT_PORTA_CB(WRITE8(*this, fidel6502_state, eas_ppi_porta_w))
MCFG_I8255_TRISTATE_PORTA_CB(CONSTANT(0))
@@ -1895,6 +1920,10 @@ MACHINE_CONFIG_START(fidel6502_state::pc)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(4_MHz_XTAL) // R65C02P4
+ MCFG_DEVICE_REMOVE("dummy_timer")
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("dummy_timer", fidel6502_state, dummy, attotime::from_hz(4_MHz_XTAL))
+
+ MCFG_DEVICE_MODIFY("mainmap")
MCFG_DEVICE_PROGRAM_MAP(pc_map)
MCFG_DEVICE_REMOVE("ppi8255")
@@ -1909,6 +1938,10 @@ MACHINE_CONFIG_START(fidel6502_state::eag)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(5_MHz_XTAL) // R65C02P4
+ MCFG_DEVICE_REMOVE("dummy_timer")
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("dummy_timer", fidel6502_state, dummy, attotime::from_hz(5_MHz_XTAL))
+
+ MCFG_DEVICE_MODIFY("mainmap")
MCFG_DEVICE_PROGRAM_MAP(eag_map)
MCFG_DEFAULT_LAYOUT(layout_fidel_eag)
@@ -1968,14 +2001,14 @@ MACHINE_CONFIG_START(fidel6502_state::sc12)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", R65C02, 3_MHz_XTAL) // R65C02P3
- MCFG_DEVICE_PROGRAM_MAP(sc12_trampoline)
+ MCFG_DEVICE_PROGRAM_MAP(div_trampoline)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_on", fidel6502_state, irq_on, attotime::from_hz(630)) // from 556 timer (22nF, 102K, 1K)
MCFG_TIMER_START_DELAY(attotime::from_hz(630) - attotime::from_nsec(15250)) // active for 15.25us
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_off", fidel6502_state, irq_off, attotime::from_hz(630))
- MCFG_TIMER_DRIVER_ADD_PERIODIC("dummy_timer", fidel6502_state, dummy, attotime::from_hz(3_MHz_XTAL)) // MCFG_QUANTUM_PERFECT_CPU("maincpu") didn't work
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("dummy_timer", fidel6502_state, dummy, attotime::from_hz(3_MHz_XTAL))
- MCFG_DEVICE_ADD("sc12_map", ADDRESS_MAP_BANK, 0)
+ MCFG_DEVICE_ADD("mainmap", ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_PROGRAM_MAP(sc12_map)
MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
@@ -2012,14 +2045,14 @@ MACHINE_CONFIG_START(fidel6502_state::sc12b)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_off", fidel6502_state, irq_off, attotime::from_hz(596))
MCFG_DEVICE_REMOVE("dummy_timer")
- MCFG_TIMER_DRIVER_ADD_PERIODIC("dummy_timer", fidel6502_state, dummy, attotime::from_hz(4_MHz_XTAL)) // MCFG_QUANTUM_PERFECT_CPU("maincpu") didn't work
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("dummy_timer", fidel6502_state, dummy, attotime::from_hz(4_MHz_XTAL))
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidel6502_state::as12)
sc12b(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("sc12_map")
+ MCFG_DEVICE_MODIFY("mainmap")
MCFG_DEVICE_PROGRAM_MAP(as12_map)
// change irq timer frequency
@@ -2308,7 +2341,7 @@ ROM_END
ROM_START( feasbu )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("eli_bu.6", 0x8000, 0x0800, CRC(93dcc23b) SHA1(2eb8c5a85e566948bc256d6b1804694e6b0ffa6f) ) // ST M27C64A, unknown label
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
@@ -2322,7 +2355,7 @@ ROM_START( feasbu )
ROM_END
ROM_START( feasbusp )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("eli_bu.6", 0x8000, 0x0800, CRC(93dcc23b) SHA1(2eb8c5a85e566948bc256d6b1804694e6b0ffa6f) )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
@@ -2335,7 +2368,7 @@ ROM_START( feasbusp )
ROM_END
ROM_START( feasbug )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("eli_bu.6", 0x8000, 0x0800, CRC(93dcc23b) SHA1(2eb8c5a85e566948bc256d6b1804694e6b0ffa6f) )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
@@ -2348,7 +2381,7 @@ ROM_START( feasbug )
ROM_END
ROM_START( feasbufr )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("eli_bu.6", 0x8000, 0x0800, CRC(93dcc23b) SHA1(2eb8c5a85e566948bc256d6b1804694e6b0ffa6f) )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
@@ -2361,7 +2394,7 @@ ROM_START( feasbufr )
ROM_END
ROM_START( feasgla )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("eli_gla.6", 0x8000, 0x0800, CRC(2fdddb4f) SHA1(6da0a328a45462f285ae6a0756f97c5a43148f97) )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
@@ -2381,7 +2414,7 @@ ROM_START( feasgla )
ROM_END
ROM_START( feasglasp )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("eli_gla.6", 0x8000, 0x0800, CRC(2fdddb4f) SHA1(6da0a328a45462f285ae6a0756f97c5a43148f97) )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
@@ -2400,7 +2433,7 @@ ROM_START( feasglasp )
ROM_END
ROM_START( feasglag )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("eli_gla.6", 0x8000, 0x0800, CRC(2fdddb4f) SHA1(6da0a328a45462f285ae6a0756f97c5a43148f97) )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
@@ -2419,7 +2452,7 @@ ROM_START( feasglag )
ROM_END
ROM_START( feasglafr )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("eli_gla.6", 0x8000, 0x0800, CRC(2fdddb4f) SHA1(6da0a328a45462f285ae6a0756f97c5a43148f97) )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
@@ -2439,7 +2472,7 @@ ROM_END
ROM_START( fpres )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("u09_yellow", 0xb000, 0x1000, CRC(03fac294) SHA1(5a9d72978318c61185efd4bc9e4a868c226465b8) )
ROM_LOAD("u10_green", 0xc000, 0x1000, CRC(5d049d5e) SHA1(c7359bead92729e8a92d6cf1789d87ae43d23cbf) )
ROM_LOAD("u11_black", 0xd000, 0x1000, CRC(98bd01b7) SHA1(48cc560c4ca736f54e30d757990ff403c05c39ae) )
@@ -2452,7 +2485,7 @@ ROM_START( fpres )
ROM_END
ROM_START( fpressp )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("u09_yellow", 0xb000, 0x1000, CRC(03fac294) SHA1(5a9d72978318c61185efd4bc9e4a868c226465b8) )
ROM_LOAD("u10_green", 0xc000, 0x1000, CRC(5d049d5e) SHA1(c7359bead92729e8a92d6cf1789d87ae43d23cbf) )
ROM_LOAD("u11_black", 0xd000, 0x1000, CRC(98bd01b7) SHA1(48cc560c4ca736f54e30d757990ff403c05c39ae) )
@@ -2464,7 +2497,7 @@ ROM_START( fpressp )
ROM_END
ROM_START( fpresg )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("u09_yellow", 0xb000, 0x1000, CRC(03fac294) SHA1(5a9d72978318c61185efd4bc9e4a868c226465b8) )
ROM_LOAD("u10_green", 0xc000, 0x1000, CRC(5d049d5e) SHA1(c7359bead92729e8a92d6cf1789d87ae43d23cbf) )
ROM_LOAD("u11_black", 0xd000, 0x1000, CRC(98bd01b7) SHA1(48cc560c4ca736f54e30d757990ff403c05c39ae) )
@@ -2476,7 +2509,7 @@ ROM_START( fpresg )
ROM_END
ROM_START( fpresfr )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("u09_yellow", 0xb000, 0x1000, CRC(03fac294) SHA1(5a9d72978318c61185efd4bc9e4a868c226465b8) )
ROM_LOAD("u10_green", 0xc000, 0x1000, CRC(5d049d5e) SHA1(c7359bead92729e8a92d6cf1789d87ae43d23cbf) )
ROM_LOAD("u11_black", 0xd000, 0x1000, CRC(98bd01b7) SHA1(48cc560c4ca736f54e30d757990ff403c05c39ae) )
@@ -2488,7 +2521,7 @@ ROM_START( fpresfr )
ROM_END
ROM_START( fpresbu )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("u09_yellow", 0xb000, 0x1000, CRC(bb1cb486) SHA1(b83f50a3ef361d254b88eefaa5aac657aaa72375) )
ROM_LOAD("u10_green", 0xc000, 0x1000, CRC(af0aec0e) SHA1(8293d00a12efa1c142b9e37bc7786012250536d9) )
ROM_LOAD("u11_black", 0xd000, 0x1000, CRC(214a91cc) SHA1(aab07ecdd66ac208874f4053fc4b0b0659b017aa) )
@@ -2501,7 +2534,7 @@ ROM_START( fpresbu )
ROM_END
ROM_START( fpresbusp )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("u09_yellow", 0xb000, 0x1000, CRC(bb1cb486) SHA1(b83f50a3ef361d254b88eefaa5aac657aaa72375) )
ROM_LOAD("u10_green", 0xc000, 0x1000, CRC(af0aec0e) SHA1(8293d00a12efa1c142b9e37bc7786012250536d9) )
ROM_LOAD("u11_black", 0xd000, 0x1000, CRC(214a91cc) SHA1(aab07ecdd66ac208874f4053fc4b0b0659b017aa) )
@@ -2513,7 +2546,7 @@ ROM_START( fpresbusp )
ROM_END
ROM_START( fpresbug )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("u09_yellow", 0xb000, 0x1000, CRC(bb1cb486) SHA1(b83f50a3ef361d254b88eefaa5aac657aaa72375) )
ROM_LOAD("u10_green", 0xc000, 0x1000, CRC(af0aec0e) SHA1(8293d00a12efa1c142b9e37bc7786012250536d9) )
ROM_LOAD("u11_black", 0xd000, 0x1000, CRC(214a91cc) SHA1(aab07ecdd66ac208874f4053fc4b0b0659b017aa) )
@@ -2525,7 +2558,7 @@ ROM_START( fpresbug )
ROM_END
ROM_START( fpresbufr )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("u09_yellow", 0xb000, 0x1000, CRC(bb1cb486) SHA1(b83f50a3ef361d254b88eefaa5aac657aaa72375) )
ROM_LOAD("u10_green", 0xc000, 0x1000, CRC(af0aec0e) SHA1(8293d00a12efa1c142b9e37bc7786012250536d9) )
ROM_LOAD("u11_black", 0xd000, 0x1000, CRC(214a91cc) SHA1(aab07ecdd66ac208874f4053fc4b0b0659b017aa) )
@@ -2538,7 +2571,7 @@ ROM_END
ROM_START( feag2100 )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("el2100.2", 0xc000, 0x2000, CRC(76fec42f) SHA1(34660edb8458919fd179e93fdab3fe428a6625d0) )
ROM_LOAD("el2100.3", 0xe000, 0x2000, CRC(2079a506) SHA1(a7bb83138c7b6eff6ea96702d453a214697f4890) )
@@ -2551,7 +2584,7 @@ ROM_START( feag2100 )
ROM_END
ROM_START( feag2100sp )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("el2100.2", 0xc000, 0x2000, CRC(76fec42f) SHA1(34660edb8458919fd179e93fdab3fe428a6625d0) )
ROM_LOAD("el2100.3", 0xe000, 0x2000, CRC(2079a506) SHA1(a7bb83138c7b6eff6ea96702d453a214697f4890) )
@@ -2563,7 +2596,7 @@ ROM_START( feag2100sp )
ROM_END
ROM_START( feag2100g )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("el2100.2", 0xc000, 0x2000, CRC(76fec42f) SHA1(34660edb8458919fd179e93fdab3fe428a6625d0) )
ROM_LOAD("el2100.3", 0xe000, 0x2000, CRC(2079a506) SHA1(a7bb83138c7b6eff6ea96702d453a214697f4890) )
@@ -2575,7 +2608,7 @@ ROM_START( feag2100g )
ROM_END
ROM_START( feag2100fr )
- ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("el2100.2", 0xc000, 0x2000, CRC(76fec42f) SHA1(34660edb8458919fd179e93fdab3fe428a6625d0) )
ROM_LOAD("el2100.3", 0xe000, 0x2000, CRC(2079a506) SHA1(a7bb83138c7b6eff6ea96702d453a214697f4890) )
@@ -2613,14 +2646,14 @@ ROM_END
ROM_START( fscc12 ) // model SC12, PCB label 510-1084B01
- ROM_REGION( 0x10000, "sc12_map", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("101-1068a01.ic15", 0x8000, 0x2000, CRC(63c76cdd) SHA1(e0771c98d4483a6b1620791cb99a7e46b0db95c4) ) // SSS SCM23C65E4
ROM_LOAD("orange.ic13", 0xc000, 0x1000, CRC(ed5289b2) SHA1(9b0c7f9ae4102d4a66eb8c91d4e84b9eec2ffb3d) ) // TI TMS2732AJL-45, no label, orange sticker
ROM_LOAD("red.ic14", 0xe000, 0x2000, CRC(0c4968c4) SHA1(965a66870b0f8ce9549418cbda09d2ff262a1504) ) // TI TMS2764JL-25, no label, red sticker
ROM_END
ROM_START( fscc12b ) // model 6086, PCB label 510-1084B01
- ROM_REGION( 0x10000, "sc12_map", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("101-1068a01.ic15", 0x8000, 0x2000, CRC(63c76cdd) SHA1(e0771c98d4483a6b1620791cb99a7e46b0db95c4) ) // SSS SCM23C65E4
ROM_LOAD("orange.ic13", 0xc000, 0x1000, CRC(45070a71) SHA1(8aeecff828f26fb7081902c757559903be272649) ) // TI TMS2732AJL-45, no label, orange sticker
ROM_LOAD("red.ic14", 0xe000, 0x2000, CRC(183d3edc) SHA1(3296a4c3bce5209587d4a1694fce153558544e63) ) // Toshiba TMM2764D-2, no label, red sticker
@@ -2628,7 +2661,7 @@ ROM_END
ROM_START( feleg ) // model AS12(or 6085), PCB label 510-1084B01
- ROM_REGION( 0x10000, "sc12_map", 0 )
+ ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("feleg.1", 0x8000, 0x2000, CRC(e9df31e8) SHA1(31c52bb8f75580c82093eb950959c1bc294189a8) ) // TMM2764, no label
ROM_LOAD("feleg.2", 0xc000, 0x2000, CRC(bed9c84b) SHA1(c12f39765b054d2ad81f747e698715ad4246806d) ) // "
ROM_LOAD("feleg.3", 0xe000, 0x2000, CRC(b1fb49aa) SHA1(d8c9687dd564f0fa603e6d684effb1d113ac64b4) ) // "