summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/fidel6502.cpp75
-rw-r--r--src/mame/mame.lst1
2 files changed, 74 insertions, 2 deletions
diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp
index ea038fdb15a..7b473bafaed 100644
--- a/src/mame/drivers/fidel6502.cpp
+++ b/src/mame/drivers/fidel6502.cpp
@@ -502,6 +502,10 @@ public:
void su9(machine_config &config);
void rsc(machine_config &config);
+ // PC
+ void pc_map(address_map &map);
+ void pc(machine_config &config);
+
// EAS, EAG
void eas_prepare_display();
DECLARE_WRITE8_MEMBER(eas_segment_w);
@@ -725,6 +729,16 @@ WRITE_LINE_MEMBER(fidel6502_state::csc_pia1_ca2_w)
/******************************************************************************
+ PC
+******************************************************************************/
+
+// TTL/generic
+
+//x
+
+
+
+/******************************************************************************
EAS, EAG
******************************************************************************/
@@ -1182,6 +1196,18 @@ void fidel6502_state::rsc_map(address_map &map)
}
+// PC
+
+void fidel6502_state::pc_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x0000, 0x0fff).ram();
+ //map(0x2000, 0x5fff).r(this, FUNC(fidel6502_state::cartridge_r));
+ map(0x8000, 0x9fff).ram();
+ map(0xb000, 0xffff).rom();
+}
+
+
// EAS, EAG
void fidel6502_state::eas_map(address_map &map)
@@ -1206,7 +1232,7 @@ void fidel6502_state::eag_map(address_map &map)
map(0x7020, 0x7027).w(this, FUNC(fidel6502_state::eas_segment_w)).nopr();
map(0x7030, 0x7037).w(this, FUNC(fidel6502_state::eas_led_w)).nopr();
map(0x7050, 0x7050).r(this, FUNC(fidel6502_state::eas_input_r));
- map(0x8000, 0xffff).rom(); //AM_WRITENOP
+ map(0x8000, 0xffff).rom(); //.nopw()
}
@@ -1256,7 +1282,7 @@ void fidel6502_state::fexcel_map(address_map &map)
{
map(0x0000, 0x07ff).mirror(0x3800).ram();
map(0x4000, 0x4007).mirror(0x3ff8).rw(this, FUNC(fidel6502_state::fexcel_ttl_r), FUNC(fidel6502_state::fexcel_ttl_w));
- //AM_RANGE(0x8000, 0x8000) AM_READNOP // checks for opening book module, but hw doesn't have a module slot
+ //map(0x8000, 0x8000).nopr(); // checks for opening book module, but hw doesn't have a module slot
map(0xc000, 0xffff).rom();
}
@@ -1740,6 +1766,35 @@ MACHINE_CONFIG_START(fidel6502_state::su9)
MCFG_DEFAULT_LAYOUT(layout_fidel_su9)
MACHINE_CONFIG_END
+MACHINE_CONFIG_START(fidel6502_state::pc)
+
+ /* basic machine hardware */
+ MCFG_CPU_ADD("maincpu", R65C02, 4_MHz_XTAL)
+ MCFG_CPU_PROGRAM_MAP(pc_map)
+ MCFG_CPU_PERIODIC_INT_DRIVER(fidel6502_state, irq0_line_hold, 600) // guessed
+
+ //MCFG_NVRAM_ADD_0FILL("nvram")
+
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelbase_state, display_decay_tick, attotime::from_msec(1))
+ MCFG_DEFAULT_LAYOUT(layout_fidel_eas)
+
+ /* sound hardware */
+ MCFG_SPEAKER_STANDARD_MONO("speaker")
+ MCFG_SOUND_ADD("speech", S14001A, 25000) // R/C circuit, around 25khz
+ MCFG_S14001A_EXT_READ_HANDLER(READ8(fidel6502_state, csc_speech_r))
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75)
+
+ MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+
+ /* cartridge */
+ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc")
+ MCFG_GENERIC_EXTENSIONS("bin,dat")
+ MCFG_GENERIC_LOAD(fidelbase_state, scc_cartridge)
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "fidel_scc")
+MACHINE_CONFIG_END
+
MACHINE_CONFIG_START(fidel6502_state::eas)
/* basic machine hardware */
@@ -2162,6 +2217,20 @@ ROM_START( super9ccfr )
ROM_END
+ROM_START( fpres )
+ ROM_REGION( 0x10000, "maincpu", 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) )
+ ROM_LOAD("u12_blue", 0xe000, 0x1000, CRC(6f18115f) SHA1(a08b3a66bfdc23f3400e03fe253a8b9a4967d14f) )
+ ROM_LOAD("u13_red", 0xf000, 0x1000, CRC(dea8091d) SHA1(1d94a90ae076215c2c009e78ec4919dbd8467ef8) )
+
+ ROM_REGION( 0x2000, "speech", 0 )
+ ROM_LOAD("101-32107", 0x0000, 0x1000, BAD_DUMP CRC(f35784f9) SHA1(348e54a7fa1e8091f89ac656b4da22f28ca2e44d) ) // taken from csc, assume correct
+ ROM_RELOAD( 0x1000, 0x1000)
+ROM_END
+
+
ROM_START( feasbu )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("eli_bu.6", 0x8000, 0x0800, CRC(93dcc23b) SHA1(2eb8c5a85e566948bc256d6b1804694e6b0ffa6f) ) // ST M27C64A, unknown label
@@ -2503,6 +2572,8 @@ CONS( 1983, super9ccsp, super9cc, 0, su9, su9sp, fidel6502_state, 0,
CONS( 1983, super9ccg, super9cc, 0, su9, su9g, fidel6502_state, 0, "Fidelity Electronics", "Super 9 Sensory Chess Challenger (German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
CONS( 1983, super9ccfr, super9cc, 0, su9, su9fr, fidel6502_state, 0, "Fidelity Electronics", "Super 9 Sensory Chess Challenger (French)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
+CONS( 1982, fpres, 0, 0, pc, eas, fidel6502_state, 0, "Fidelity Electronics", "Prestige Challenger (original program, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
+
CONS( 1983, feasbu, 0, 0, eas, eas, fidel6502_state, 0, "Fidelity Electronics", "Elite A/S Challenger (Budapest program, English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
CONS( 1983, feasbusp, feasbu, 0, eas, eassp, fidel6502_state, 0, "Fidelity Electronics", "Elite A/S Challenger (Budapest program, Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
CONS( 1983, feasbug, feasbu, 0, eas, easg, fidel6502_state, 0, "Fidelity Electronics", "Elite A/S Challenger (Budapest program, German)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 929cbb4a8b0..4453dd13d70 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -12695,6 +12695,7 @@ fexcelp //
fexcelpb //
fexcelv //
fphantom //
+fpres //
fscc9 //
fscc9b //
fscc9c //