diff --git a/src/mame/drivers/rfslotsmcs48.cpp b/src/mame/drivers/rfslotsmcs48.cpp index 235ac52ccc4..803c22f4aca 100644 --- a/src/mame/drivers/rfslotsmcs48.cpp +++ b/src/mame/drivers/rfslotsmcs48.cpp @@ -11,7 +11,7 @@ | |4xDSW| ·| | ·| | ___________ ___________ ___________ ___________ ___________ ___________ ·| -| | SN74154N | | D8245C | | D8245C | | D8245C | | D8245C | | D8245C | ·| +| | SN74154N | | D8243C | | D8243C | | D8243C | | D8243C | | D8243C | ·| | |__________| |__________| |__________| |__________| |__________| |__________| ·| | ·| | XTAL | @@ -19,11 +19,11 @@ | |LM380N| CD4051BCN |6xDSW| 74LS00PC |7402PC| | Intel P8035L | __| | |_______________| |·|| | ___________ ___________ |·|| -| ________________ |55101L-1PC| |55101L-1PC| ___________ ___________ |·|| +| ________________ |S5101L-1PC| |S5101L-1PC| ___________ ___________ |·|| | | Intel D8748 | | EPROM | | AMD P8212 | |_|| | |_______________| ___________ ___________ |___________| |___________| | -| XTAL |55101L-1PC| |55101L-1PC| ·| -| 4.0000 MHz ·| +| XTAL |S5101L-1PC| |S5101L-1PC| ·| +| 4.0000 MHz LED-> O ·| | ·| | RF-3115 ·| | BATTERY ·| @@ -33,6 +33,8 @@ #include "emu.h" #include "cpu/mcs48/mcs48.h" +#include "machine/i8212.h" +#include "sound/ay8910.h" #include "speaker.h" namespace @@ -45,14 +47,21 @@ public: : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") , m_audiocpu(*this, "audiocpu") + , m_audiosubcpu(*this, "audiosubcpu") + , m_aysnd1(*this, "aysnd1") + , m_aysnd2(*this, "aysnd2") { } void ajofrin(machine_config &config); + void babyfrts(machine_config &config); protected: required_device m_maincpu; - required_device m_audiocpu; + optional_device m_audiocpu; + optional_device m_audiosubcpu; + optional_device m_aysnd1; + optional_device m_aysnd2; }; INPUT_PORTS_START(ajofrin) @@ -64,19 +73,89 @@ void rfslotsmcs48_state::ajofrin(machine_config &config) I8748(config, m_audiocpu, 4_MHz_XTAL); + I8212(config, "i8212"); + SPEAKER(config, "mono").front_center(); } -// Found just one PCB, probably missing some more boards (sound, I/O, etc.) +void rfslotsmcs48_state::babyfrts(machine_config &config) +{ + // Main PCB + + I8035(config, m_maincpu, 6_MHz_XTAL); + + I8212(config, "i8212"); + + // Audio PCB + + I8035(config, m_audiosubcpu, 6_MHz_XTAL); + + I8212(config, "i8212_2"); + + SPEAKER(config, "mono").front_center(); + + AY8910(config, m_aysnd1, 6_MHz_XTAL / 4).add_route(ALL_OUTPUTS, "mono", 0.50); // Divider unknown + AY8910(config, m_aysnd2, 6_MHz_XTAL / 4).add_route(ALL_OUTPUTS, "mono", 0.50); // Divider unknown +} + +// Found just one PCB, may be missing some more boards (extra sound, I/O, etc.) ROM_START(ajofrin) ROM_REGION(0x1000, "maincpu", 0) ROM_LOAD("ajofr_90percent_4k.bin", 0x0000, 0x1000, CRC(9e1fd7fe) SHA1(e7a5a2a10d17537edb039ac0f53358ee35465c90)) - ROM_REGION(0x400, "audiocpu", 0) - ROM_LOAD( "ajo_d8748.bin", 0x000, 0x400, CRC(414dc0e3) SHA1(016ed2aa36b36a637163ac7cba0a944a258c02a4)) + ROM_REGION(0x0400, "audiocpu", 0) + ROM_LOAD( "ajo_d8748.bin", 0x0000, 0x0400, CRC(414dc0e3) SHA1(016ed2aa36b36a637163ac7cba0a944a258c02a4)) +ROM_END + +/* It's an upgrade from "babyfrts25" for accepting 100 pts coins instead of just 25 pts ones. + Standard RF-3115 PCB but: + -Two S5101 static RAM chips (instead of 4, one empty socket in the middle) + -Four NEC D8243C (instead of 5, two empty sockets). + -No D8748 (the socket is empty), uses an external PCB (RF 53/3131) for sound with this layout: + ___________________________________ + | __________________________ | + | |·························| | + | Xtal | + | 6.000 MHz | + | _____________________ | + | _______ | AM8035PC | | + | DM7486N |____________________| | + | | + | ____________ ____________ | + | |Intel D8212| |2532 EPROM | | + | |___________| |___________| | + | | + | _____________________ | + | | GI AY-3-8910 | | + | |____________________| | + | _____________________ | + | | GI AY-3-8910 | | + | |____________________| | + | _______ | + | |· · · ·| | + |__________________________________| + +*/ +ROM_START(babyfrts) + ROM_REGION(0x1000, "maincpu", 0) + ROM_LOAD("bbr_cpu_100pts.bin", 0x0000, 0x1000, CRC(22c47a4d) SHA1(051c82b20a823047119a6d5460c07df601e44a2e)) + + ROM_REGION(0x1000, "audiocpu", 0) + ROM_LOAD( "bbs_100pts_sonido.bin", 0x0000, 0x1000, CRC(c84e20d3) SHA1(ab9457d3877a10bc54485a4954ef5b4d006ed3be)) +ROM_END + +// Same PCBs configuration as "babyfrts" +ROM_START(babyfrts25) + ROM_REGION(0x1000, "maincpu", 0) + ROM_LOAD("baby_8.3_av_25pts.bin", 0x0000, 0x1000, CRC(af45e046) SHA1(d4896f428a2061ad6bc12eed7d56eca4182d237d)) + + ROM_REGION(0x1000, "audiocpu", 0) + ROM_LOAD( "bbs_25pts_sonido.bin", 0x0000, 0x1000, CRC(384dc9b4) SHA1(0a3ab8a7dfba958858b06d23850d1a8a2b9a348f)) ROM_END } // anonymous namespace -// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS -GAME( 1981, ajofrin, 0, ajofrin, ajofrin, rfslotsmcs48_state, empty_init, ROT0, "Recreativos Franco", "Ajofrin City", MACHINE_IS_SKELETON_MECHANICAL ) +// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS +GAME( 1981, ajofrin, 0, ajofrin, ajofrin, rfslotsmcs48_state, empty_init, ROT0, "Recreativos Franco", "Ajofrin City", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 198?, babyfrts, 0, babyfrts, ajofrin, rfslotsmcs48_state, empty_init, ROT0, "Recreativos Franco", "Baby Fruits (100 pts version)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 198?, babyfrts25, babyfrts, babyfrts, ajofrin, rfslotsmcs48_state, empty_init, ROT0, "Recreativos Franco", "Baby Fruits (25 pts version)", MACHINE_IS_SKELETON_MECHANICAL ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index ad12eb74e54..2d9d9bbe75c 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -36060,7 +36060,9 @@ rf51w14cg // (c) 2003 Recreativos Franco unkrfslt // @source:rfslotsmcs48.cpp -ajofrin // (c) 198? Recreativos Franco +ajofrin // (c) 1981 Recreativos Franco +babyfrts // (c) 198? Recreativos Franco +babyfrts25 // (c) 198? recreativos Franco @source:rfslotspcpent.cpp rfsantafeg // (c) 2014 Recreativos Franco