summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2022-01-16 03:12:44 +1100
committer Robbbert <Robbbert@users.noreply.github.com>2022-01-16 03:12:44 +1100
commitc30a5a3e8fc537d4ae5873d7414bd8ec0f9223de (patch)
treecf8960054f1ff926af01f9108d28426de70829e3 /src
parent0069668f5ae20b51c540e1bcddf48e88aea31406 (diff)
gts80/a/b: added multiball keycodes
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/barni.cpp5
-rw-r--r--src/mame/drivers/gts3.cpp26
-rw-r--r--src/mame/drivers/gts80.cpp24
-rw-r--r--src/mame/drivers/gts80a.cpp31
-rw-r--r--src/mame/drivers/gts80b.cpp33
-rw-r--r--src/mame/drivers/idsa.cpp14
-rw-r--r--src/mame/drivers/m3.cpp2
-rw-r--r--src/mame/drivers/spinb.cpp15
-rw-r--r--src/mame/drivers/taito.cpp2
-rw-r--r--src/mame/drivers/tavernie.cpp10
-rw-r--r--src/mame/drivers/wico.cpp4
-rw-r--r--src/mame/layout/wico.lay4
12 files changed, 136 insertions, 34 deletions
diff --git a/src/mame/drivers/barni.cpp b/src/mame/drivers/barni.cpp
index c68e9e95c06..181086c192c 100644
--- a/src/mame/drivers/barni.cpp
+++ b/src/mame/drivers/barni.cpp
@@ -26,7 +26,7 @@ TODO:
- Inputs (switches, dips)
- Display needs to be done properly, SDA2131 to be a device.
- How to trigger sounds?
-- Does speech work? DAC works by poking $5D in audio cpu.
+- Does speech work? DAC works if you poke data into $5D in audio cpu.
- Manuals are difficult to read, and don't show everything we need.
**************************************************************************************************************/
@@ -42,6 +42,8 @@ TODO:
#include "speaker.h"
#include "barni.lh"
+namespace {
+
class barni_state : public genpin_class
{
public:
@@ -301,6 +303,7 @@ ROM_START(redbarnp)
ROM_LOAD("rbsnd4.732", 0x0000, 0x1000, CRC(fd8db899) SHA1(0978213f14f73ccc4a24eb42a39db00d9299c5d0))
ROM_END
+} // Anonymous namespace
GAME( 1985, champion, 0, barni, barni, barni_state, empty_init, ROT0, "Barni", "Champion 85", MACHINE_IS_SKELETON_MECHANICAL )
GAME( 1985, redbarnp, 0, barni, barni, barni_state, empty_init, ROT0, "Barni", "Red Baron (Pinball)", MACHINE_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/gts3.cpp b/src/mame/drivers/gts3.cpp
index a4adc236d1d..acbca8462d0 100644
--- a/src/mame/drivers/gts3.cpp
+++ b/src/mame/drivers/gts3.cpp
@@ -21,12 +21,24 @@ Setting up for surfnsaf,opthund,tt_game,ccruise:
- Use A and B to cycle up and down (instead of num-1/num-2)
- After that, still cannot insert a coin.
-Known outhole per game:
-- lca,lca2: V
-- vegas: A
-- deadweap: I (but can't score)
-- cactjack allows you to score, but outhole unknown
-- other games won't score.
+Game NUM Start game End ball
+--------------------------------------------------------------------------------------------------
+Lights Camera Action 720 1 then W V
+Silver Slugger 722 unknown unknown
+Vegas 723 1 then B A
+Deadly Weapon 724 1 then Q I then Q
+Car Hop 725 1 then P and ] P then ]
+Title Fight 726 unknown unknown
+Hoops 727 1 then Q and Z unknown
+Cactus Jack 729 unknown unknown
+Class of 1812 730 1 then ; and ' up
+Surf'n Safari 731 unknown unknown
+Operation: Thunder 732 unknown unknown
+tt_game --- unknown unknown
+Caribbean Cruise C102 unknown unknown
+Nudge-it N102 1 then B and M unknown
+Bell Ringer N103 1 then A unknown
+
Status:
- Display works
@@ -603,7 +615,7 @@ ROM_END
/************************************/
-/* NOT OFFICIALLY LISTED */
+/* NOT OFFICIALLY LISTED */
/************************************/
/*-------------------------------------------------------------------
diff --git a/src/mame/drivers/gts80.cpp b/src/mame/drivers/gts80.cpp
index 6ac44930067..7b43bc698d0 100644
--- a/src/mame/drivers/gts80.cpp
+++ b/src/mame/drivers/gts80.cpp
@@ -11,6 +11,25 @@ still there. Like most pinball machines, the leaky battery could destroy everyth
stuck-on solenoid. If the machine was left on was a while, it could lock up, so a reset board (watchdog) was
added.
+Here are the key codes to enable play:
+
+Game NUM Start game End ball
+--------------------------------------------------------------------------------------------------
+Panthera 652 1 X
+Le Grand 8 --- 1 X
+The Amazing Spider-man 653 1 X
+Circus 654 1 X
+Counterforce 656 1 X
+Star Race 657 1 X
+James Bond 658 1 X
+Timeline 659 1 X
+Force II 661 unknown unknown (PGDN and Down, but not working)
+Pink Panther 664 unknown unknown (PGDN and Down, but not working)
+Mars God of War 666 1 them Home and \ Home then \ (wait for flash or match)
+Volcano 667 1 then M= M then = (wait for flash or match)
+Black Hole 668 1 then R (wait for score to flash) L then R (wait for flash or match)
+Haunted House 669 1 X
+Eclipse 671 1 then RW X
Status:
- Machines boot up, coins can be inserted, and a game begun.
@@ -19,8 +38,6 @@ Status:
Notes:
- Jamesb is a timed game and appears to be never-ending.
-- Black Hole: Start game, Hold R until digits flash, then works. After the last ball, hit R to finish the game.
-- Multiball machines: Black Hole, Eclipse, Force II, Mars, Pink Panther, Volcano.
- Haunted House uses the R1 sound card which doesn't have anything for save-states. If the game has save-state
support, it will fatal-error at start.
@@ -29,6 +46,7 @@ ToDO:
- Sounds are not correct. The games only seem to use 2 or 3 sounds each.
- The Sound & Speech board has extra control lines (Sound16 and Sound32). Sound16 comes from a lamp output,
while Sound32 hasn't been tracked down yet.
+- Mars: Sound board crashes at first sound request
- None of the "talking" machines talk.
@@ -365,7 +383,7 @@ void gts80_state::port3a_w(u8 data)
data ^= 0x1f; // Z27 inverter
// Sound
u8 sndcmd = data & 15;
- if (BIT(data, 4)) // Z31
+ if (!BIT(data, 4)) // Z31
sndcmd = 0;
sndcmd ^= 15; // inverted again by Z13 on the A3 board
diff --git a/src/mame/drivers/gts80a.cpp b/src/mame/drivers/gts80a.cpp
index ab5c8d04bbc..c925e0f2000 100644
--- a/src/mame/drivers/gts80a.cpp
+++ b/src/mame/drivers/gts80a.cpp
@@ -7,9 +7,7 @@ Gottlieb System 80A
Same as system 80, except that the displays have 7 digits.
-Most games start up and will accept credits, and the test mode works.
-
-Many games are multiball, and therefore may not respond further to inputs.
+Most games start up and will accept credits, and the test mode works. See key codes below.
Caveman is missing its joystick. Need the manual. The video-pinball interface has not been written.
If you turn on DIPS6,7,8, you can enter test mode, insert coins and start a game.
@@ -21,6 +19,31 @@ Sound is wrong in all games.
Note: If DIP28 is set to Novelty, then Match doesn't work.
+Here are the key codes to enable play:
+
+Game NUM Start game End ball
+--------------------------------------------------------------------------------------------------
+Devil's Dare 670 1, then hold .enter hit pad- .enter hit pad-
+Rocky 672 1 X
+Spirit 673 unknown unknown
+Punk! 674 unknown unknown
+Striker 675 unknown unknown
+Krull 676 1, then jiggle X and Y until you hear a sound X
+Qbert's Quest 677 1 X
+Super Orbit 680 1 X
+Royal Flush Deluxe 681 1 X
+Going Nuts 682 unknown unknown
+Amazon Hunt 684 1 X
+Rack 'Em Up 685 unknown unknown (should be like Rocky, but doesn't work)
+Ready Aim Fire 686 1 X
+Jacks to Open 687 1 X
+Touchdown 688 1 X
+Alien Star 689 unknown unknown
+The Games 691 1 X
+El Dorado 692 1 X
+Ice Fever 695 unknown unknown
+Caveman 810 unknown unknown
+
*****************************************************************************************************************/
#include "emu.h"
@@ -356,7 +379,7 @@ void gts80a_state::port3a_w(u8 data)
data ^= 0x1f; // Z27 inverter
// Sound
u8 sndcmd = data & 15;
- if (BIT(data, 4)) // Z31
+ if (!BIT(data, 4)) // Z31
sndcmd = 0;
sndcmd ^= 15; // inverted again by Z13 on the A3 board
diff --git a/src/mame/drivers/gts80b.cpp b/src/mame/drivers/gts80b.cpp
index b562a162832..87f6f9fda85 100644
--- a/src/mame/drivers/gts80b.cpp
+++ b/src/mame/drivers/gts80b.cpp
@@ -22,6 +22,37 @@ PinMAME used for the display character generator.
When asked to enter your initials, use the Advance buttons to select a letter, and the Start button to enter it.
+Here are the key codes to enable play:
+
+Game NUM Start game End ball
+--------------------------------------------------------------------------------------------------
+Amazon Hunt II 684C 1 X
+Amazon Hunt III 684D 1 X
+Bounty Hunter 694 1 X
+Chicago Cubs 696 1 X
+Rock 697 1 X
+Tag Team Wrestling 698 unknown unknown
+Raven 702 1 X
+Hollywood Heat 703 unknown unknown (should be Del F4, but not working)
+Rock Encore 704 1 X
+Genesis 705 unknown unknown
+Spring Break 706 unknown unknown
+Gold Wings 707 1 then ' del pad+ del quote pad+
+Monte Carlo 708 unknown unknown
+Arena 709 unknown unknown
+Victory 710 1 then del (wait for sound) then pad+ del (wait for sound) then pad+
+Diamond Lady 711 unknown unknown
+TX-Sector 712 1 then del and pad+ del and pad+
+Big House 713 unknown unknown
+Robo-War 714 unknown unknown
+Excalibur 715 unknown unknown
+Bad Girls 717 unknown unknown (should be End F2, but not working)
+Hot Shots 718 unknown unknown
+Bone Busters Inc 719 unknown unknown
+Night Moves C103 unknown unknown
+Master --- mnw
+Top Sound --- no inputs
+
*****************************************************************************************************************/
#include "emu.h"
@@ -401,7 +432,7 @@ void gts80b_state::port3a_w(u8 data)
data ^= 0x1f; // Z27 inverter
// Sound
u8 sndcmd = data & 15;
- if (BIT(data, 4)) // Z31
+ if (!BIT(data, 4)) // Z31
sndcmd = 0;
sndcmd ^= 15; // inverted again by Z13 on the A3 board
diff --git a/src/mame/drivers/idsa.cpp b/src/mame/drivers/idsa.cpp
index 756bfc26aa4..b629db05543 100644
--- a/src/mame/drivers/idsa.cpp
+++ b/src/mame/drivers/idsa.cpp
@@ -1,9 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:Ivan Vangelista, Robbbert
/***********************************************************************************************************************
-// Skeleton driver for IDSA pinballs.
-// Known pinballs to be dumped: Fantastic Car (1986)
-// Hardware listing and ROM definitions from PinMAME.
+PINBALL
+IDSA pinballs
+
+Games:
+- Basketball
+- Fantastic Car (1984, to be dumped)
+- V1
+
+Hardware listing and ROM definitions from PinMAME.
Hardware:
---------
@@ -36,6 +42,7 @@ ToDO:
#include "machine/i8255.h"
#include "speaker.h"
+namespace {
class idsa_state : public genpin_class
{
@@ -400,6 +407,7 @@ ROM_START(bsktbllp)
ROM_LOAD( "sp0256a-al2.1b", 0x1000, 0x0800, CRC(b504ac15) SHA1(e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc) )
ROM_END
+} // Anonymous namespace
GAME( 1985, v1, 0, idsa, idsa, idsa_state, empty_init, ROT0, "IDSA", "V.1", MACHINE_IS_SKELETON_MECHANICAL )
GAME( 1987, bsktbllp, 0, bsktbllp, idsa, idsa_state, empty_init, ROT0, "IDSA", "Basket Ball", MACHINE_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/m3.cpp b/src/mame/drivers/m3.cpp
index 4535e4a1778..33f094e80b5 100644
--- a/src/mame/drivers/m3.cpp
+++ b/src/mame/drivers/m3.cpp
@@ -126,7 +126,7 @@ private:
void fdc_drq_w(int state);
uint8_t fdc_data_r(offs_t offset);
void fdc_data_w(offs_t offset, uint8_t data);
- bool m_nmi_taken;
+ bool m_nmi_taken = 0;
};
diff --git a/src/mame/drivers/spinb.cpp b/src/mame/drivers/spinb.cpp
index ecf6150ca40..8ba86049631 100644
--- a/src/mame/drivers/spinb.cpp
+++ b/src/mame/drivers/spinb.cpp
@@ -20,13 +20,18 @@ There are mistakes in the sound board schematic: IC14 pin12 goes to IC5 pin13 on
Also, very unobvious is the fact that PIA ports A and B are swapped around compared to the Inder
soundcard.
+Game Start machine Start game End ball
+--------------------------------------------------------------------------------------------------
+Metalman 1 X
+Bushido unknown unknown unknown
+Mach 2 ASX 1 unknown
+Jolly Park ASDX 1 unknown
+Verne's World ASDX 1 unknown
+
Status:
- Metal Man is the only playable machine.
-- The other machines firstly need balls in the machine to get attract mode. After the ball begins,
- then the playfield needs enabling. Each of these situations requires a key combination.
-- mach2/a can start by pressing ASX together.
-- vrnwrld can start by pressing ASDX together.
-- jolypark can start by pressing ASDX together.
+- The other machines firstly need balls in the machine to get attract mode. See above table. After
+ the ball begins, then the playfield needs enabling. These codes are unknown.
ToDo:
- Multiball games - find out the key combinations
diff --git a/src/mame/drivers/taito.cpp b/src/mame/drivers/taito.cpp
index d087764063d..3e376a39e7a 100644
--- a/src/mame/drivers/taito.cpp
+++ b/src/mame/drivers/taito.cpp
@@ -9,7 +9,7 @@ Unable to locate any meaningful schematics.
You need to have a ball in the outhole (hold down X) when starting a game.
-To activate setup mode, tuen on both the Adjust and Service dipswitches. Service needs to
+To activate setup mode, turn on both the Adjust and Service dipswitches. Service needs to
be on to access any of the dipswitch functions.
Status of each game:
diff --git a/src/mame/drivers/tavernie.cpp b/src/mame/drivers/tavernie.cpp
index d2ebd1ab0fc..6bb31fd2a3b 100644
--- a/src/mame/drivers/tavernie.cpp
+++ b/src/mame/drivers/tavernie.cpp
@@ -70,6 +70,8 @@ Z - more scan lines per row (cursor is bigger)
#include "screen.h"
#include "speaker.h"
+namespace {
+
class cpu09_state : public driver_device
{
public:
@@ -132,9 +134,9 @@ private:
void kbd_put(u8 data);
void ds_w(u8 data);
MC6845_UPDATE_ROW(crtc_update_row);
- u8 m_term_data;
- u8 m_ivg_pa;
- u8 m_flashcnt;
+ u8 m_term_data = 0U;
+ u8 m_ivg_pa = 0U;
+ u8 m_flashcnt = 0U;
std::unique_ptr<u16[]> m_vram; // 12x 4044
required_device<pia6821_device> m_pia1;
required_device<mc6845_device> m_crtc;
@@ -492,7 +494,7 @@ ROM_START( ivg09 )
ROM_LOAD( "small.bin", 0x1000, 0x1000, CRC(16e25eed) SHA1(5d31f127fe635be4bca06840b15a1bd77f971492)) // small
ROM_END
-/* Driver */
+} // Anonymous namespace
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
COMP( 1982, cpu09, 0, 0, cpu09, cpu09, cpu09_state, empty_init, "C. Tavernier", "CPU09", MACHINE_NOT_WORKING )
diff --git a/src/mame/drivers/wico.cpp b/src/mame/drivers/wico.cpp
index ecaa908f30a..b3f615a5bb4 100644
--- a/src/mame/drivers/wico.cpp
+++ b/src/mame/drivers/wico.cpp
@@ -401,14 +401,14 @@ u8 wico_state::switch_r(offs_t offset)
// write digits in main display
u8 wico_state::lampst_r()
{
- int i, j;
+ u8 i, j;
for (i = 0; i < 5; i++)
{
if (m_disp_on)
j = m_shared_ram[0x7f9 + i];
else
j = 0;
- m_digits[i * 10 + (m_shared_ram[0x96] & 7)] = bitswap<16>(j, 8, 8, 8, 8, 8, 8, 7, 7, 6, 6, 5, 4, 3, 2, 1, 0);
+ m_digits[i * 10 + (m_shared_ram[0x96] & 7)] = j;
}
// Lamps
for (i = 0; i < 16; i++)
diff --git a/src/mame/layout/wico.lay b/src/mame/layout/wico.lay
index 475b01dea78..37c0e82a435 100644
--- a/src/mame/layout/wico.lay
+++ b/src/mame/layout/wico.lay
@@ -12,9 +12,9 @@ copyright-holders:Robbbert
</led7seg>
</element>
<element name="digit" defstate="0">
- <led14seg>
+ <led8seg_gts1>
<color red="0.0" green="0.75" blue="1.0" />
- </led14seg>
+ </led8seg_gts1>
</element>
<element name="P0"><text string="Ball / Match"><color red="1.0" green="1.0" blue="1.0" /></text></element>