diff options
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 |
commit | c30a5a3e8fc537d4ae5873d7414bd8ec0f9223de (patch) | |
tree | cf8960054f1ff926af01f9108d28426de70829e3 /src | |
parent | 0069668f5ae20b51c540e1bcddf48e88aea31406 (diff) |
gts80/a/b: added multiball keycodes
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/barni.cpp | 5 | ||||
-rw-r--r-- | src/mame/drivers/gts3.cpp | 26 | ||||
-rw-r--r-- | src/mame/drivers/gts80.cpp | 24 | ||||
-rw-r--r-- | src/mame/drivers/gts80a.cpp | 31 | ||||
-rw-r--r-- | src/mame/drivers/gts80b.cpp | 33 | ||||
-rw-r--r-- | src/mame/drivers/idsa.cpp | 14 | ||||
-rw-r--r-- | src/mame/drivers/m3.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/spinb.cpp | 15 | ||||
-rw-r--r-- | src/mame/drivers/taito.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/tavernie.cpp | 10 | ||||
-rw-r--r-- | src/mame/drivers/wico.cpp | 4 | ||||
-rw-r--r-- | src/mame/layout/wico.lay | 4 |
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> |