mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
- kikikai.cpp: added PCB infos, corrected dips [Guru]
- opercoin.cpp: added basic mappings - skylncr.cpp: redumped u29 for speedway [Ioannis Bampoulas]
This commit is contained in:
parent
a961165ca2
commit
54323ef3cb
@ -39,6 +39,8 @@ Notes:
|
||||
figure it all out. Indeed, the 68705 code reads all the memory locations
|
||||
related to the missing collision detection, but does nothing with them.
|
||||
|
||||
- KiKi KaiKai coinage mode Type 2 doesn't work.
|
||||
|
||||
- Kick and Run is a rom swap for Kiki KaiKai as the pal chips are all A85-0x
|
||||
A85 is the Taito rom code for Kiki KaiKai. Even the MCU is socketed!
|
||||
|
||||
@ -51,6 +53,90 @@ JPH1011P JPH1020P JPH1021P
|
||||
185 185 185
|
||||
PS4 J8635 PS4 J8541 PS4 J8648
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Kiki KaiKai, Taito, 1986
|
||||
Hardware info by Guru
|
||||
Last Update: 22nd August 2021
|
||||
|
||||
|
||||
PCB Layout
|
||||
----------
|
||||
|
||||
MAIN BOARD K1100195A J1100079A
|
||||
Sticker: K1100195A KIKI KAIKAI
|
||||
|-------------------------------------------------------------------|
|
||||
| SWA SWB TMM2064 A85_15.A1|
|
||||
| MB3731 YM3014 YM2203C A85-04.A2 A85_14.A3|
|
||||
| 4556 TMM2064 A85_13.A5|
|
||||
| VOL Z0840006PSC A85_12.A6|
|
||||
| CN1 A85_11.F6 |
|
||||
| PC050CM CXK5816 A85-03.B7 |
|
||||
|A85_01.H8 |--|
|
||||
| | |
|
||||
| | |
|
||||
|J | |
|
||||
|A A85_05.D10 | |
|
||||
|M | |E
|
||||
|M A85_07.G11 CXK5816 | |
|
||||
|A | |
|
||||
| A85-10.G12 MCM2016 | |
|
||||
| * * * | |
|
||||
| A85-09.G14 |--|
|
||||
| A85-08.G15 MCM2016 |
|
||||
| A85-02.A13|
|
||||
| A85-06.G16 |
|
||||
| |
|
||||
| A85_17.H16 |
|
||||
| A85_16.H18 Z0840006PSC MB3771 24MHz |
|
||||
|-------------------------------------------------------------------|
|
||||
Notes:
|
||||
E - 50 pin flat cable connector labelled 'E' (unused)
|
||||
A85-01.H8 - Motorola MC6801U4 8-bit microcontroller with 192 Bytes internal RAM and 4kB internal mask ROM marked 'TAITO A85-01 JPH1020P 185 PS4 J8641'
|
||||
Clock input 3.000MHz on pin 3 [24/8]
|
||||
CN1 - 4-pin header labelled 'JAMMA' with a 4-pin plug marked 'H' connected on top.
|
||||
Pin 1 is tied to ground.
|
||||
Pin 2 is tied to the PC050CM on pin 10 (schematics show pin 10 is tied to ground).
|
||||
Each of the pins 3 and 4 connect to the JAMMA 12V pins separately (JAMMA 12V is not tied together on the PCB).
|
||||
On the 'H' plug, pins 1-2 are tied with a wire and pin 3-4 are tied with a wire.
|
||||
MB3731 - Fujitsu MB3731 18W BTL mono power amplifier
|
||||
MB3771 - Fujitsu MB3771 power supply monitotr IC. This is used to provide the power-on reset.
|
||||
SWA/SWB - 8-position DIP switch
|
||||
TMM2064 - Toshiba TMM2064 8kx8-bit static RAM
|
||||
MCM2016 - Motorola MCM2016 2kx8-bit static RAM
|
||||
CXK5816 - Sony CXK5816 2kx8-bit static RAM
|
||||
4556 - 4556 dual operational amplifier
|
||||
VOL - 5k volume pot
|
||||
PC050CM - Taito PC050CM custom SIL28 ceramic module for coins, coin lockout and coin counters
|
||||
YM3014 - Yamaha YM3014 serial input floating D/A converter. Clock input 1.000MHz on pin 5 [24/24]. Other clocks: pin 3= 41.6666kHz, pin 4= 83.3332kHz
|
||||
YM2203C - Yamaha YM2203C OPN (FM Operator Type-N) 3-channel sound chip. Clock input 3.000MHz [24/8]
|
||||
Z0840006PSC - Zilog Z0840006PSC Z80 CPU. Clock input 6.000MHz [24/4] (for both Z80's)
|
||||
HSync - 15.1436kHz
|
||||
VSync - 59.1858Hz
|
||||
A85-02.A13 - MMI PAL16L8A marked 'A85-02'
|
||||
A85-03.B7 - MMI PAL16L8A marked 'A85-03'
|
||||
A85-04.A2 - MMI PAL16L8A marked 'A85-04'
|
||||
A85-05.D10 - MMI PAL16L8A marked 'A85-05'
|
||||
A85-06.G16 - MMI PAL16L8A marked 'A85-06'
|
||||
A85-07.G11 - MMI PAL16R4A marked 'A85-07'
|
||||
A85_11 - 27C256 EPROM
|
||||
A85_12 to 17 - 27C512 EPROM
|
||||
A85-08.G15 - 63S141 bipolar PROM (Red)
|
||||
A85-09.G14 - 63S141 bipolar PROM (Blue)
|
||||
A85-10.G12 - 63S141 bipolar PROM (Green)
|
||||
* - 4 resistors connected to the color PROM outputs.
|
||||
They are connected as follows (duplicated 3 times for each color PROM).....
|
||||
|
||||
O4-----R220-----|
|
||||
|
|
||||
O3-----R470--+--|
|
||||
Final Output----------| |
|
||||
02-----R1k------|
|
||||
|
|
||||
01-----R2.2k----|
|
||||
|
||||
The final output of each PROM connects to the JAMMA connector pins for the red, green or blue video output.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
@ -174,49 +260,49 @@ static INPUT_PORTS_START( kicknrun )
|
||||
/* When Bit 1 is On, the machine waits a signal from another one */
|
||||
/* Seems like if you can join two cabinets, one as master */
|
||||
/* and the other as slave, probably to play four players. */
|
||||
PORT_DIPNAME( 0x01, 0x01, "Master/Slave Mode" ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Master/Slave Mode" ) PORT_DIPLOCATION("SWA:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2") // Screen ?
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWA:2") // Screen ?
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4") // Demo Sounds only play every 8th Demo
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:4") // Demo Sounds only play every 8th Demo
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5,6")
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:5,6")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:7,8")
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:7,8")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME( 0x0c, 0x08, "Playing Time" ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPNAME( 0x0c, 0x08, "Playing Time" ) PORT_DIPLOCATION("SWB:3,4")
|
||||
PORT_DIPSETTING( 0x00, "40 Seconds" )
|
||||
PORT_DIPSETTING( 0x0c, "One Minute" )
|
||||
PORT_DIPSETTING( 0x08, "One Minute and 20 Sec." )
|
||||
PORT_DIPSETTING( 0x04, "One Minute and 40 Sec." )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:5")
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:5")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
/* The following dip seems to be related with the first one */
|
||||
PORT_DIPNAME( 0x20, 0x20, "Board ID" ) PORT_DIPLOCATION("SW2:6")
|
||||
PORT_DIPNAME( 0x20, 0x20, "Board ID" ) PORT_DIPLOCATION("SWB:6")
|
||||
PORT_DIPSETTING( 0x20, "Master" )
|
||||
PORT_DIPSETTING( 0x00, "Slave" )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Number of Matches" ) PORT_DIPLOCATION("SW2:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, "Number of Matches" ) PORT_DIPLOCATION("SWB:7")
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x40, "6" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Single board 4 Players Mode" ) PORT_DIPLOCATION("SW2:8")
|
||||
PORT_DIPNAME( 0x80, 0x80, "Single board 4 Players Mode" ) PORT_DIPLOCATION("SWB:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
@ -298,49 +384,49 @@ static INPUT_PORTS_START( mexico86 )
|
||||
/* When Bit 1 is On, the machine waits a signal from another one */
|
||||
/* Seems like if you can join two cabinets, one as master */
|
||||
/* and the other as slave, probably to play four players. */
|
||||
PORT_DIPNAME( 0x01, 0x01, "Master/Slave Mode" ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Master/Slave Mode" ) PORT_DIPLOCATION("SWA:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2") // Screen ?
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWA:2") // Screen ?
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")// this should be Demo Sounds, but doesn't work?
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWA:4")// this should be Demo Sounds, but doesn't work?
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5,6")
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:5,6")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:7,8")
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:7,8")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME( 0x0c, 0x08, "Playing Time" ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPNAME( 0x0c, 0x08, "Playing Time" ) PORT_DIPLOCATION("SWB:3,4")
|
||||
PORT_DIPSETTING( 0x00, "40 Seconds" )
|
||||
PORT_DIPSETTING( 0x0c, "One Minute" )
|
||||
PORT_DIPSETTING( 0x08, "One Minute and 20 Sec." )
|
||||
PORT_DIPSETTING( 0x04, "One Minute and 40 Sec." )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:5")
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SWB:5")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
/* The following dip seems to be related with the first one */
|
||||
PORT_DIPNAME( 0x20, 0x20, "Board ID" ) PORT_DIPLOCATION("SW2:6")
|
||||
PORT_DIPNAME( 0x20, 0x20, "Board ID" ) PORT_DIPLOCATION("SWB:6")
|
||||
PORT_DIPSETTING( 0x20, "Master" )
|
||||
PORT_DIPSETTING( 0x00, "Slave" )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Number of Matches" ) PORT_DIPLOCATION("SW2:7")
|
||||
PORT_DIPNAME( 0x40, 0x40, "Number of Matches" ) PORT_DIPLOCATION("SWB:7")
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x40, "6" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Single board 4 Players Mode" ) PORT_DIPLOCATION("SW2:8")
|
||||
PORT_DIPNAME( 0x80, 0x80, "Single board 4 Players Mode" ) PORT_DIPLOCATION("SWB:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
@ -419,14 +505,14 @@ static INPUT_PORTS_START( kikikai )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("DSW0")
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWA:1")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2")
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWA:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:4")
|
||||
PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SWA:3")
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SWA:4")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
@ -443,38 +529,46 @@ static INPUT_PORTS_START( kikikai )
|
||||
PORT_DIPSETTING( 0x00, "A:2C/3C B:1C/6C" )
|
||||
#endif
|
||||
|
||||
// coinage copied from Japanese manual but type B doesn't work
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5,6")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:7,8")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
|
||||
// coinage copied from Japanese manual but Type 2 doesn't work so when Type 2 is selected, the Type 1 coinage is still active.
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SWA:5,6")
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x40)
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x40)
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x40)
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x40)
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x00)
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SWA:7,8")
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x40)
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x40)
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x40)
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x40)
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) ) PORT_CONDITION("DSW1", 0x40, EQUALS, 0x00)
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:1,2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:3,4")
|
||||
PORT_DIPSETTING( 0x00, "50000 100000" )
|
||||
PORT_DIPSETTING( 0x0c, "70000 150000" )
|
||||
PORT_DIPSETTING( 0x08, "70000 200000" )
|
||||
PORT_DIPSETTING( 0x04, "100000 300000" )
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6")
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:5,6")
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x30, "3" )
|
||||
PORT_DIPSETTING( 0x20, "4" )
|
||||
PORT_DIPSETTING( 0x10, "5" )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:7")
|
||||
PORT_DIPSETTING( 0x40, "A" )
|
||||
PORT_DIPSETTING( 0x00, "B" )
|
||||
PORT_DIPNAME( 0x80, 0x00, "Number Match" ) PORT_DIPLOCATION("SW2:8")
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SWB:7")
|
||||
PORT_DIPSETTING( 0x40, "Type 1" )
|
||||
PORT_DIPSETTING( 0x00, "Type 2" )
|
||||
PORT_DIPNAME( 0x80, 0x00, "Number Match" ) PORT_DIPLOCATION("SWB:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
|
@ -54,9 +54,19 @@ public:
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
||||
virtual void machine_start() override;
|
||||
void prg_map(address_map &map);
|
||||
};
|
||||
|
||||
void multibaby_state::prg_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x3fff).rom();
|
||||
map(0x4000, 0x47ff).ram();
|
||||
//map(0x8000, 0x8000).w("psg", FUNC(ay8910_device::address_w));
|
||||
//map(0x8001, 0x8001).r("psg", FUNC(ay8910_device::data_r));
|
||||
//map(0x8002, 0x8002).w("psg", FUNC(ay8910_device::data_w));
|
||||
//map(0xe000, 0xe000).nopw();
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( multibaby )
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW1:1")
|
||||
@ -65,13 +75,11 @@ static INPUT_PORTS_START( multibaby )
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW1:4")
|
||||
INPUT_PORTS_END
|
||||
|
||||
void multibaby_state::machine_start()
|
||||
{
|
||||
}
|
||||
|
||||
void multibaby_state::multibaby(machine_config &config)
|
||||
{
|
||||
Z80(config, m_maincpu, 8.000_MHz_XTAL / 2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &multibaby_state::prg_map);
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
ay8910_device &psg(AY8910(config, "psg", 8.000_MHz_XTAL / 4)); // Divisor unknown
|
||||
|
@ -2174,7 +2174,7 @@ ROM_START( speedway ) // runs on a Rolla PCB with small sub board with main CPU,
|
||||
ROM_LOAD( "v3.bin", 0x00000, 0x10000, CRC(ef777180) SHA1(f1a554677543082eb7df2e204d0d4c987b7c6bbb) ) //TMS 27C512
|
||||
|
||||
ROM_REGION( 0x80000, "gfx1", 0 ) // all HN27C301AG
|
||||
ROM_LOAD16_BYTE( "1.u29", 0x00000, 0x20000, CRC(3b360aac) SHA1(a6f31deea53deb8a7da2804c979390ed91ee9f50) ) // 1xxxxxxxxxxxxxxxx = 0xFF
|
||||
ROM_LOAD16_BYTE( "1.u29", 0x00000, 0x20000, CRC(72e001fe) SHA1(dbb02f8425c175d5ee401754e6c11ce4d429e621) )
|
||||
ROM_LOAD16_BYTE( "2.u31", 0x00001, 0x20000, CRC(a491bdcf) SHA1(793faa829de50f67a44541136b66407ee9744971) )
|
||||
ROM_LOAD16_BYTE( "3.u33", 0x40000, 0x20000, CRC(935fc941) SHA1(12e5f7fea932a86298928b70b342e0825a3caca1) )
|
||||
ROM_LOAD16_BYTE( "4.u35", 0x40001, 0x20000, CRC(aa8164ce) SHA1(027fa9743ad9d80bd86e59d684180f75dc6d60a0) )
|
||||
|
Loading…
Reference in New Issue
Block a user