summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author DavidHaywood <28625134+DavidHaywood@users.noreply.github.com>2018-12-02 16:24:18 +0000
committer DavidHaywood <28625134+DavidHaywood@users.noreply.github.com>2018-12-02 16:24:18 +0000
commitf286c77c12dc96bbdd6bb0973dd64705643af440 (patch)
treefa9c3bffee3fddaa3562180f9896afdddb9f421f
parent6d1d3a9f8c1c4cafbd385687319d7aabca9097c5 (diff)
new NOT WORKING -- Pro Tele Cardioline (Salter Fitness Bike V.1.0, Checksum 02AB) [ClawGrip, Roberto Fresca, Arcade Vintage, Recreativas.org]
(this is a starting point, it shows the boot screen, probably want s a signal / input from something to continue)
-rw-r--r--src/mame/drivers/gaelco2.cpp98
-rw-r--r--src/mame/includes/gaelco2.h2
-rw-r--r--src/mame/mame.lst1
3 files changed, 100 insertions, 1 deletions
diff --git a/src/mame/drivers/gaelco2.cpp b/src/mame/drivers/gaelco2.cpp
index 97df3103c2f..b85d3078b3b 100644
--- a/src/mame/drivers/gaelco2.cpp
+++ b/src/mame/drivers/gaelco2.cpp
@@ -18,7 +18,8 @@
Maniac Square | 1996 | GAE1 501 | 940411 | DS5002FP (unprotected version available)
Maniac Square | 1996 | CG-1V 427 | 960419/1 | Lattice IspLSI 1016-80LJ (not used, unprotected)
Snow Board | 1996 | CG-1V 366 | 960419/1 | Lattice IspLSI 1016-80LJ
- Bang! | 1998 | CG-1V 388 | 980921/1 | No
+ Cardioline | 1997 | GAE1 501 | 970410 | IO board MCU (not really protection)
+ Bang! | 1998 | CG-1V 388 | 980921/1 | No
Play 2000 | 1999 | CG-1V-149 | 990315 | DS5002FP (by Nova Desitec)
Notes:
@@ -407,6 +408,98 @@ ROM_START( maniacsqs ) // REF 960419/1
ROM_END
/*============================================================================
+ Salter Cardioline
+ ============================================================================*/
+
+static INPUT_PORTS_START( saltcrdi ) // dipswitches are on the REVERSE side of the PCB (!)
+ PORT_START("IN0")
+ PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("IN1")
+ PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("COIN")
+ PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
+INPUT_PORTS_END
+
+// just a copy of maniac square for now
+void gaelco2_state::saltcrdi_map(address_map &map)
+{
+ map(0x000000, 0x03ffff).rom();
+ map(0x200000, 0x20ffff).ram().w(FUNC(gaelco2_state::gaelco2_vram_w)).share("spriteram");
+ map(0x202890, 0x2028ff).rw("gaelco", FUNC(gaelco_gae1_device::gaelcosnd_r), FUNC(gaelco_gae1_device::gaelcosnd_w));
+ map(0x210000, 0x211fff).ram().w(FUNC(gaelco2_state::gaelco2_palette_w)).share("paletteram");
+ map(0x218004, 0x218009).ram().share("vregs");
+ map(0x300000, 0x300001).portr("IN0");
+ map(0x300002, 0x300003).portr("IN1");
+ map(0x30004a, 0x30004b).nopw();
+ map(0x320000, 0x320001).portr("COIN");
+ map(0x500000, 0x500001).w(FUNC(gaelco2_state::alighunt_coin_w));
+ map(0xfe0000, 0xfe7fff).ram();
+ map(0xfe8000, 0xfeffff).ram().share("shareram");
+}
+
+// 34'000'000 XTAL for the video?
+MACHINE_CONFIG_START(gaelco2_state::saltcrdi)
+ /* basic machine hardware */
+ MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2) /* 12 MHz */
+ MCFG_DEVICE_PROGRAM_MAP(saltcrdi_map)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco2_state, irq6_line_hold)
+
+ /* video hardware */
+ MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM16)
+
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(59.1)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
+ MCFG_SCREEN_SIZE(64*16, 32*16)
+ MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 16, 256-1)
+ MCFG_SCREEN_UPDATE_DRIVER(gaelco2_state, screen_update_gaelco2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
+ MCFG_SCREEN_PALETTE("palette")
+
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_0x0080000) /* gfx_0x0040000 */
+ MCFG_PALETTE_ADD("palette", 4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
+
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
+
+ /* sound hardware */
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ MCFG_DEVICE_ADD("gaelco", GAELCO_GAE1, 0) /* unused? ROMs contain no sound data */
+ MCFG_GAELCO_SND_DATA("gfx1")
+ MCFG_GAELCO_BANKS(0 * 0x0080000, 1 * 0x0080000, 0, 0)
+ MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
+ MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
+MACHINE_CONFIG_END
+
+ROM_START( saltcrdi ) // REF 970410
+ ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_BYTE( "bi-n-21-27c512.u21", 0x000000, 0x010000, CRC(1d2e9a68) SHA1(b9bb4eeefe90850b648dc45689a08f3c28147856) )
+ ROM_LOAD16_BYTE( "bi-n-23-27c512.u23", 0x000001, 0x010000, CRC(5865351d) SHA1(a62b8ec88ef41d96b65a03ccaeadbec21803df34) )
+
+ ROM_REGION( 0x0280000, "gfx1", ROMREGION_ERASEFF ) /* GFX, no sound, machine has none? */
+ ROM_LOAD( "bi-40-bank0-27c1001.u40", 0x0000000, 0x0020000, CRC(56822524) SHA1(aae133e9fb85ba8995c095cc540aa35b65c27777) )
+ ROM_LOAD( "bi-39-bank0-27c1001.u39", 0x0080000, 0x0020000, CRC(30dfcde1) SHA1(caf4429d0e1185c157eca436e9bb3a8513781a97) )
+ ROM_LOAD( "bi-38-bank0-27c1001.u38", 0x0100000, 0x0020000, CRC(84ec4b34) SHA1(01376f2534c4bc51d0a357d80db28b24c3fd71f6) )
+ ROM_LOAD( "bi-37-bank0-27c1001.u37", 0x0180000, 0x0020000, CRC(779fca47) SHA1(fce95893a5bcf0c6f26c223491c95154f072c92b) )
+ ROM_FILL( 0x0200000, 0x0020000, 0x00 ) /* to decode GFX as 5bpp */
+ ROM_LOAD( "bi-44-bank1-27c1001.u44", 0x0020000, 0x0020000, CRC(171d2f88) SHA1(e2b406dad78e3ab5bebb673ed03db5d27879283e) )
+ ROM_LOAD( "bi-43-bank1-27c1001.u43", 0x00a0000, 0x0020000, CRC(69b35d81) SHA1(d9657e3d592079071df019cd75d676fa4b1bcba9) )
+ ROM_LOAD( "bi-42-bank1-27c1001.u42", 0x0120000, 0x0020000, CRC(eaef0565) SHA1(4214b05f1df3062eaeea91505b61816725556ed5) )
+ ROM_LOAD( "bi-41-bank1-27c1001.u41", 0x01a0000, 0x0020000, CRC(c4d24254) SHA1(e6ff7624e628dc6ace11a50b6ff89812844b52c5) )
+ ROM_FILL( 0x0220000, 0x0020000, 0x00 ) /* to decode GFX as 5bpp */
+
+ ROM_REGION( 0x1000, "iomcu", 0 ) // on IO board
+ ROM_LOAD( "st62t15c6", 0x0000, 0x1000, NO_DUMP ) // size?
+
+ ROM_REGION( 0x100, "pals", 0 )
+ ROM_LOAD( "6.pal16l8.u12", 0x0000, 0x100, NO_DUMP ) // size?
+ROM_END
+
+
+/*============================================================================
PLAY 2000
============================================================================*/
@@ -2212,3 +2305,6 @@ GAME( 1998, bangj, bang, bang, bang, bang_state, i
// 2-in-1 gambling game, appears to be cloned Gaelco hardware complete with DS5002FP, or possibly manufactured by Gaelco for Nova Desitec but without any Gaelco branding.
GAME( 1999, play2000, 0, play2000, play2000, gaelco2_state, empty_init, ROT0, "Nova Desitec", "Play 2000 (Super Slot & Gran Tesoro) (v4.0) (Italy)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
GAME( 1999, play2000a, play2000, play2000, play2000, gaelco2_state, empty_init, ROT0, "Nova Desitec", "Play 2000 (Super Slot & Gran Tesoro) (v5.01) (Italy)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // bad dump
+
+// Gym exercise bike
+GAME( 1997, saltcrdi, 0, saltcrdi, saltcrdi, gaelco2_state, empty_init, ROT0, "Salter Fitness / Gaelco", "Pro Tele Cardioline (Salter Fitness Bike V.1.0, Checksum 02AB)", 0 ) // there are other machines in the Cardioline series, without TV displays
diff --git a/src/mame/includes/gaelco2.h b/src/mame/includes/gaelco2.h
index 1e78703faf9..38dfa743fb0 100644
--- a/src/mame/includes/gaelco2.h
+++ b/src/mame/includes/gaelco2.h
@@ -33,6 +33,7 @@ public:
void maniacsq(machine_config &config);
void maniacsqs(machine_config &config);
void touchgo_d5002fp(machine_config &config);
+ void saltcrdi(machine_config &config);
void init_touchgo();
void init_snowboar();
@@ -83,6 +84,7 @@ private:
void play2000_map(address_map &map);
void snowboar_map(address_map &map);
void touchgo_map(address_map &map);
+ void saltcrdi_map(address_map &map);
uint32_t snowboard_latch;
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index ed0007fad08..96a0dc248da 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -13220,6 +13220,7 @@ maniacsq // (c) 1996 - Ref 940411
maniacsqa // (c) 1996 - Ref 940411
maniacsqu // (c) 1996 - Ref 940411 - (unprotected)
maniacsqs // (c) 1996 - Ref 960419/1
+saltcrdi // (c) 1997 - Ref 970410
snowboar // (c) 1996 - Ref 960419/1
snowboara // (c) 1996 - Ref 960419/1
touchgo // (c) 1995 - Ref 950906