summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/skeleton/flashvga2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/skeleton/flashvga2.cpp')
-rw-r--r--src/mame/skeleton/flashvga2.cpp127
1 files changed, 127 insertions, 0 deletions
diff --git a/src/mame/skeleton/flashvga2.cpp b/src/mame/skeleton/flashvga2.cpp
new file mode 100644
index 00000000000..7cad3d5e3b7
--- /dev/null
+++ b/src/mame/skeleton/flashvga2.cpp
@@ -0,0 +1,127 @@
+// license:BSD-3-Clause
+// copyright-holders:
+
+/*****************************************************************************
+
+Skeleton driver for "Flash VGA 2" hardware (from TourVisión?) for video-slots.
+ _________
+ _________________________| VGA |_________________________________
+ | ······ |________| _______________ |
+ | ____ _____ ______ ______ |K6R4016C10-JC10 |
+ | TDA2030A SN7407 74HC5740 74HC5740 |______________| |
+ ___| ·· |
+|___ _____ ______ _________ ·· |
+|___ TLC7524C |LM358| |LATTICE | ·· |
+|___ |ISPLSI | ·· |
+|___ _________ Xtal |1032EA | ·· |
+|___ SCC2692AC1A44 3.6864 MHz |C424AH03| |
+|___ |Philips | _____________ |
+|___ | | _____ _________ |Intel | Xtal |
+|___ |________| 74HC04D |LATTICE | |N80C186XL25 |50 MHz |
+|___ __________ |ISPLSI | | | |
+|___ |ULN2803A | ______ ______ |2032A | | | |
+|___ __________ 74HC273D 74HC273D |80LJ44__| |____________| |
+|___ |ULN2803A | ______ ______ ______ ______ ______ ______ |
+|___ 74HC273D |HC138| 74HC245D HC573A 74HC245D HC573A |
+|___ ______ ____ ::::::::::::::::::::::::::::: |
+|___ 74HC245D |NE555 ______ ______ |
+|___ ______ ______ |FLASH| |FLASH| |
+ | 74HC245D ADM691AARW M29F032D M29F032D |
+ | |_____| |_____| |
+ | __________ ________ ___ __________ __________ |
+ | OMRON G5V-2 |_ST232C| 24256B |CY62256LL| |CY62256LL| |
+ | ______________ |
+ | ········· CR2032 |M48T18-150PC1| Switch |
+ | _________ BATT |_____________| (o) |
+ |______________| DB9 |___________________________________________|
+ |________|
+
+*****************************************************************************/
+
+#include "emu.h"
+
+#include "cpu/i86/i186.h"
+#include "machine/mc68681.h"
+#include "machine/timekpr.h"
+
+#include "emupal.h"
+#include "screen.h"
+#include "speaker.h"
+
+
+namespace {
+
+class flashvga2_state : public driver_device
+{
+public:
+ flashvga2_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu")
+ { }
+
+ void flashvga2(machine_config &config);
+
+private:
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+ // devices
+ required_device<cpu_device> m_maincpu;
+};
+
+static INPUT_PORTS_START(ruletamag)
+INPUT_PORTS_END
+
+uint32_t flashvga2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+{
+ return 0;
+}
+
+static GFXDECODE_START( gfx_flashvga2 )
+GFXDECODE_END
+
+void flashvga2_state::flashvga2(machine_config &config)
+{
+ I80186(config, m_maincpu, 50_MHz_XTAL/2);
+
+ SCN2681(config, "uart", 3.6864_MHz_XTAL); // Philips SCC2692AC1A44
+
+ M48T02(config, "m48t18", 0); // ST M48T18-150PC1
+
+ // Video hardware (probably wrong values)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60);
+ screen.set_screen_update(FUNC(flashvga2_state::screen_update));
+ screen.set_size(640, 480);
+ screen.set_visarea(0, 640-1, 0, 480-1);
+ screen.set_palette("palette");
+
+ PALETTE(config, "palette").set_entries(512);
+
+ // Sound hardware
+ SPEAKER(config, "mono").front_center();
+}
+
+/* Ruleta Mágica from Codere. Same hardware as Ruleta Mágica Mini, the only difference is the cabinet.
+ VGA screen, plus a big 7 digits 7-segments (plus dot) display.
+ The manual can be downloaded from: https://www.recreativas.org/manuales/tragaperras
+ Video of the actual machine booting: https://youtu.be/xUARqw1_N_A */
+ROM_START( ruletamag )
+ ROM_REGION( 0x800000, "maincpu", 0 )
+ ROM_LOAD( "m29f032d.u100", 0x000000, 0x400000, CRC(04bf20c2) SHA1(fc4be2c22dc266d6a460aeca257b449be5ab630f) )
+ ROM_LOAD( "m29f032d.u101", 0x400000, 0x400000, CRC(2bd85284) SHA1(36f4b918d1d9b57bf382fa940180b3a1aac9780f) )
+
+ ROM_REGION( 0x8000, "seeprom", 0 )
+ ROM_LOAD( "m24256bf.u31", 0x000000, 0x008000, CRC(af9adcae) SHA1(ac6274edc4240d5cf397455868009263264ffc6e) )
+
+ /* With an unintialized NVRAM/timekeeper, the machine won't work and Will output just a "ERROR EN RELOJ" message.
+ With the included dump (corrupted), it will output the message "ERROR EN MODULO", but still won't boot.
+ Maybe there's a way to initialize the NVRAM, but there's nothing about it on the manual. */
+ ROM_REGION( 0x2000, "nvram", 0 )
+ ROM_LOAD( "m48t18.u38", 0x000000, 0x002000, BAD_DUMP CRC(025fb8c2) SHA1(61c90ecad8565cfd20674034a5917b0225edbfe5) ) // Corrupted
+ROM_END
+
+
+} // Anonymous namespace
+
+// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS
+GAME( 2005, ruletamag, 0, flashvga2, ruletamag, flashvga2_state, empty_init, ROT0, "Codere", u8"Ruleta Mágica", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )