summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/minivideo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/minivideo.cpp')
-rw-r--r--src/mame/drivers/minivideo.cpp147
1 files changed, 147 insertions, 0 deletions
diff --git a/src/mame/drivers/minivideo.cpp b/src/mame/drivers/minivideo.cpp
new file mode 100644
index 00000000000..97e5444fb1c
--- /dev/null
+++ b/src/mame/drivers/minivideo.cpp
@@ -0,0 +1,147 @@
+// license:BSD-3-Clause
+// copyright-holders:
+/*
+ Skeleton driver for gambling (?) games running on hardware manufactured by 'Minivideo'.
+
+ Probably manufactured in Italy since PCBs' solder sides are marked LS, which stands for 'lato
+ saldature' (solder side in Italian).
+
+ All dumps are missing the HD6473258P10 internal ROM. This chip is also used in Tecmo's V Goal Soccer as a MCU.
+
+ Devices:
+ 1x HD6473258P10 at u14 - 16-bit Single-Chip Microcomputer with undumped internal ROM (H8/325)
+ 1x oscillator 20.000MHz at xt1
+ 1x oscillator 8.000MHz at xt2
+
+ ROMs
+ 3x TMS27C040
+
+ RAMs
+ 1x M48Z08-100PC1 at u37
+
+ Others
+ 1x 28x2 non-JAMMA edge connector + JAMMA adapter
+ 1x trimmer (volume)(R34)
+ 1x 2 legs jumpers (JP3)
+ 2x 3 legs jumpers (JP1,JP2)
+*/
+
+#include "emu.h"
+#include "emupal.h"
+#include "cpu/h8/h83002.h"
+#include "screen.h"
+
+class minivideo_state : public driver_device
+{
+public:
+ minivideo_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu")
+ { }
+
+ void minivideo(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
+private:
+ required_device<cpu_device> m_maincpu;
+
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+};
+
+void minivideo_state::video_start()
+{
+}
+
+uint32_t minivideo_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ return 0;
+}
+
+static INPUT_PORTS_START( minivideo )
+INPUT_PORTS_END
+
+static const gfx_layout tiles_layout = // wrong
+{
+ 8, 8,
+ RGN_FRAC(1,1),
+ 8,
+ { 0, 1, 2, 3, 4, 5, 6, 7 },
+ { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
+ { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64 },
+ 8*64
+};
+
+static GFXDECODE_START( gfx )
+ GFXDECODE_ENTRY( "gfx", 0, tiles_layout, 0, 1 ) // wrong
+GFXDECODE_END
+
+void minivideo_state::machine_start()
+{
+}
+
+void minivideo_state::machine_reset()
+{
+}
+
+void minivideo_state::minivideo(machine_config &config)
+{
+ H83002(config, m_maincpu, 20_MHz_XTAL); // TODO: correct CPU type, should be HD6473258P10 (H8/325); unknown divider
+
+ // all wrong
+ screen_device& screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_size(640, 480);
+ screen.set_visarea(0, 640-1, 0, 480-1);
+ screen.set_screen_update(FUNC(minivideo_state::screen_update));
+
+ GFXDECODE(config, "gfxdecode", "palette", gfx);
+
+ palette_device& palette(PALETTE(config, "palette", 8));
+ palette.set_init("palette", FUNC(palette_device::palette_init_3bit_rgb));
+
+ // sound hw?
+}
+
+/***************************************************************************
+
+ Game drivers
+
+***************************************************************************/
+
+/*
+PCB is marked: "MINIVIDEO 1.3" on component side
+PCB is marked: "MINIVIDEO 1.3" and "LS" on solder side ("LS" is the Italian for "Lato Saldature" which translates to "Solders Side")
+PCB is labelled: "LF1.3" on component side
+*/
+ROM_START( fiches )
+ ROM_REGION(0x8000, "maincpu", 0)
+ ROM_LOAD( "hd6473258p10-lf1.3.u14", 0x0000, 0x8000, NO_DUMP )
+
+ ROM_REGION( 0x180000, "gfx", 0 ) // all 27C040
+ ROM_LOAD( "lf0.u13", 0x000000, 0x80000, CRC(35b68444) SHA1(e8270cf7da224a98407c8951a40a31a100593876) )
+ ROM_LOAD( "lf1.u15", 0x080000, 0x80000, CRC(2fcca8af) SHA1(c2c10d20001897d9ae2f7e4822ec25770ad2ceba) )
+ ROM_LOAD( "lf2.u16", 0x100000, 0x80000, CRC(1ceefe34) SHA1(d6af04c8f6369ee634eb178bc9f117ef7419ac94) )
+ROM_END
+
+/*
+PCB is marked: "MINIVIDEO 1.2" on component side
+PCB is marked: "MINIVIDEO 1.2" and "LS" on solder side ("LS" is the Italian for "Lato Saldature" which translates to "Solders Side")
+*/
+ROM_START( fiches12 )
+ ROM_REGION(0x8000, "maincpu", 0)
+ ROM_LOAD( "hd6473258p10-lf1.2.u14", 0x0000, 0x8000, NO_DUMP )
+
+ ROM_REGION( 0x180000, "gfx", 0 ) // all 27C4001
+ ROM_LOAD( "lf1.u13", 0x000000, 0x80000, CRC(245d7351) SHA1(b32d6ff366d14b995330eae8aab383420dbde6bd) )
+ ROM_LOAD( "lf2.u15", 0x080000, 0x80000, CRC(4194751d) SHA1(a774000a39a87207212da3ef6acc96443d152315) )
+ ROM_LOAD( "lf3.u16", 0x100000, 0x80000, CRC(539e3ae3) SHA1(e23d7e2c914682688dae60f3485d13e822af6736) )
+ROM_END
+
+
+GAME( 1995?, fiches, 0, minivideo, minivideo, minivideo_state, empty_init, ROT0, "Minivideo", "Les Fiches (ver 1.3)", MACHINE_IS_SKELETON )
+GAME( 1995?, fiches12, fiches, minivideo, minivideo, minivideo_state, empty_init, ROT0, "Minivideo", "Les Fiches (ver 1.2)", MACHINE_IS_SKELETON )