mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
Added support for MPU4 layouts for games beginning with 'a', based on MFME2MAME conversion. CHR protection data is still not hooked up for many of these sets, so lamping behaviour is incorrect.
This commit is contained in:
parent
27aae4d028
commit
6746b9096d
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:James Wallace
|
||||
/* MPU4 hardware emulation
|
||||
for sets see mpu4.c
|
||||
for sets see the various includes prefixed 'mpu4'
|
||||
*/
|
||||
|
||||
/* Note 19/07/11 DH
|
||||
@ -252,6 +252,8 @@ TODO: - Distinguish door switches using manual
|
||||
start modelling the individual hysteresis curves of filament lamps.
|
||||
- Fix BwB characteriser, need to be able to calculate stabiliser bytes. Anyone fancy reading 6809 source?
|
||||
- Strange bug in Andy's Great Escape - Mystery nudge sound effect is not played, mpu4 latches in silence instead (?)
|
||||
|
||||
- Per game inputs not currently supported, may need to do something about DIPs, inverted lines etc.
|
||||
***********************************************************************************************************/
|
||||
#include "emu.h"
|
||||
|
||||
@ -843,15 +845,23 @@ READ8_MEMBER(mpu4_state::pia_ic5_porta_r)
|
||||
}
|
||||
LOG(("%s: IC5 PIA Read of Port A (AUX1)\n",machine().describe_context()));
|
||||
|
||||
return m_aux1_port->read()|m_aux1_input;
|
||||
UINT8 tempinput = m_aux1_port->read()|m_aux1_input;
|
||||
if (m_aux1_invert)
|
||||
{
|
||||
return ~tempinput;
|
||||
}
|
||||
else
|
||||
{
|
||||
return tempinput;
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(mpu4_state::pia_ic5_porta_w)
|
||||
{
|
||||
int i;
|
||||
pia6821_device *pia_ic4 = m_pia4;
|
||||
if (m_hopper == HOPPER_NONDUART_A)
|
||||
{
|
||||
//opto line
|
||||
//hopper1_drive_sensor(data&0x10);
|
||||
}
|
||||
switch (m_lamp_extender)
|
||||
@ -859,7 +869,7 @@ WRITE8_MEMBER(mpu4_state::pia_ic5_porta_w)
|
||||
case NO_EXTENDER:
|
||||
if (m_led_extender == CARD_B)
|
||||
{
|
||||
led_write_latch(data & 0x1f, pia_ic4->a_output(),m_input_strobe);
|
||||
led_write_latch(data & 0x1f, m_pia4->a_output(),m_input_strobe);
|
||||
}
|
||||
else if ((m_led_extender != CARD_A)&&(m_led_extender != NO_EXTENDER))
|
||||
{
|
||||
@ -1009,12 +1019,12 @@ WRITE8_MEMBER(mpu4_state::pia_ic5_portb_w)
|
||||
{
|
||||
if (m_hopper == HOPPER_NONDUART_B)
|
||||
{
|
||||
//hopper1_drive_motor(data &0x01)
|
||||
//hopper1_drive_sensor(data &0x08)
|
||||
//hopper1_drive_motor(data &0x01) motor
|
||||
//hopper1_drive_sensor(data &0x08) opto
|
||||
}
|
||||
if (m_led_extender == CARD_A)
|
||||
{
|
||||
// led_write_latch(data & 0x07, pia_get_output_a(pia_ic4),m_input_strobe)
|
||||
led_write_latch(data & 0x07, m_pia4->a_output(),m_input_strobe);
|
||||
}
|
||||
|
||||
}
|
||||
@ -1037,7 +1047,16 @@ READ8_MEMBER(mpu4_state::pia_ic5_portb_r)
|
||||
machine().bookkeeping().coin_lockout_w(1, (m_pia5->b_output() & 0x02) );
|
||||
machine().bookkeeping().coin_lockout_w(2, (m_pia5->b_output() & 0x04) );
|
||||
machine().bookkeeping().coin_lockout_w(3, (m_pia5->b_output() & 0x08) );
|
||||
return m_aux2_port->read() | m_aux2_input;
|
||||
|
||||
UINT8 tempinput = m_aux2_port->read()|m_aux2_input;
|
||||
if (m_aux2_invert)
|
||||
{
|
||||
return ~tempinput;
|
||||
}
|
||||
else
|
||||
{
|
||||
return tempinput;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1260,7 +1279,14 @@ READ8_MEMBER(mpu4_state::pia_ic8_porta_r)
|
||||
This is achieved via connecting every input line to an AND gate, thus allowing two strobes
|
||||
to represent each orange input bank (strobes are active low). */
|
||||
m_pia5->cb1_w(m_aux2_port->read() & 0x80);
|
||||
return (m_port_mux[m_input_strobe])->read();
|
||||
if ( (m_input_strobe == 2) && (m_door_invert ==1) )
|
||||
{
|
||||
return ((m_port_mux[m_input_strobe])->read() ^ 0x01);
|
||||
}
|
||||
else
|
||||
{
|
||||
return (m_port_mux[m_input_strobe])->read();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2270,6 +2296,21 @@ DRIVER_INIT_MEMBER(mpu4_state,m4_low_volt_alt)
|
||||
m_low_volt_detect_disable =1;
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4_aux1_invert)
|
||||
{
|
||||
m_aux1_invert =1;
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4_aux2_invert)
|
||||
{
|
||||
m_aux2_invert =1;
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4_door_invert)
|
||||
{
|
||||
m_aux2_invert =1;
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4_small_extender)
|
||||
{
|
||||
m_lamp_extender=SMALL_CARD;
|
||||
@ -2414,10 +2455,6 @@ DRIVER_INIT_MEMBER(mpu4_state,m4gambal)
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m_grtecp)
|
||||
{
|
||||
DRIVER_INIT_CALL(m4_five_reel_std);
|
||||
DRIVER_INIT_CALL(m4_small_extender);
|
||||
DRIVER_INIT_CALL(m4default_banks);
|
||||
|
||||
m_current_chr_table = grtecp_data;
|
||||
}
|
||||
|
||||
@ -2452,6 +2489,9 @@ DRIVER_INIT_MEMBER(mpu4_state,m4default)
|
||||
{
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
m_bwb_bank=0;
|
||||
m_aux1_invert=0;
|
||||
m_aux2_invert=0;
|
||||
m_door_invert=0;
|
||||
DRIVER_INIT_CALL(m4default_banks);
|
||||
}
|
||||
|
||||
@ -2459,6 +2499,9 @@ DRIVER_INIT_MEMBER(mpu4_state,m4default)
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4default_big)
|
||||
{
|
||||
address_space &space = m_maincpu->space(AS_PROGRAM);
|
||||
m_aux1_invert=0;
|
||||
m_aux2_invert=0;
|
||||
m_door_invert=0;
|
||||
|
||||
int size = memregion( "maincpu" )->bytes();
|
||||
if (size<=0x10000)
|
||||
|
@ -22,6 +22,8 @@ INPUT_PORTS_EXTERN( mpu4jackpot8tkn );
|
||||
INPUT_PORTS_EXTERN( mpu4jackpot8per );
|
||||
INPUT_PORTS_EXTERN( grtecp );
|
||||
|
||||
#include "m4aao.lh"
|
||||
|
||||
ROM_START( m4tst2 )
|
||||
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "ut2.p1", 0xE000, 0x2000, CRC(f7fb6575) SHA1(f7961cbd0801b9561d8cd2d23081043d733e1902))
|
||||
@ -1515,6 +1517,38 @@ ROM_END
|
||||
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4aao)
|
||||
{
|
||||
//Derived from Against_All_Odds_(Eurotek)_[C01_800_15jp].gam
|
||||
DRIVER_INIT_CALL(m4default);
|
||||
DRIVER_INIT_CALL(m4_hopper_duart_a);
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
//PCKEY =9
|
||||
//STKEY =0
|
||||
//JPKEY =0
|
||||
//JPSET =0
|
||||
//DIP1_0=true
|
||||
//DIP1_1=true
|
||||
//DIP1_2=true
|
||||
//DIP1_3=true
|
||||
//DIP1_4=true
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=false
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound barcrest1
|
||||
//Standard
|
||||
//Volume 0 Stereo= 0
|
||||
//Sample rate 16000
|
||||
//Front door code 255 Cash door code 255
|
||||
}
|
||||
|
||||
ROM_START( m4aao )
|
||||
ROM_REGION( 0x010000, "maincpu", 0 )
|
||||
@ -2603,7 +2637,7 @@ GAME(199?, m4sctagt ,0 ,mod4oki ,mpu4 , mpu4_state,m4d
|
||||
/* Others */
|
||||
|
||||
|
||||
GAME(199?, m4aao, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Eurotek","Against All Odds (Eurotek) (MPU4)",GAME_FLAGS )
|
||||
GAMEL(199?, m4aao, 0, mod4oki, mpu4, mpu4_state, m4aao , ROT0, "Eurotek","Against All Odds (Eurotek) (MPU4)",GAME_FLAGS, layout_m4aao )
|
||||
GAME(199?, m4bandgd, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Eurogames","Bands Of Gold (Eurogames) (MPU4)",GAME_FLAGS )
|
||||
|
||||
GAME(199?, m4bigben, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 1)",GAME_FLAGS )
|
||||
|
@ -5,6 +5,41 @@
|
||||
MACHINE_CONFIG_EXTERN( mod4oki );
|
||||
INPUT_PORTS_EXTERN( mpu4 );
|
||||
|
||||
#include "m4apachg.lh"
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4apachg)
|
||||
{
|
||||
DRIVER_INIT_CALL(m4default);
|
||||
//Derived from Apache_Gold_(Empire)_[C02_800_25jp].gam
|
||||
DRIVER_INIT_CALL(m4_hopper_duart_a);
|
||||
DRIVER_INIT_CALL(m4_large_extender_b);
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
//PCKEY =b
|
||||
//STKEY =4
|
||||
//JPKEY =a
|
||||
//JPSET =5
|
||||
//DIP1_0=false
|
||||
//DIP1_1=true
|
||||
//DIP1_2=false
|
||||
//DIP1_3=true
|
||||
//DIP1_4=false
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=true
|
||||
//DIP2_4=true
|
||||
//DIP2_5=false
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound empire
|
||||
//Standard
|
||||
//Volume 0 Stereo= 1
|
||||
//Sample rate 16000
|
||||
//Front door code 0 Cash door code 0
|
||||
}
|
||||
|
||||
ROM_START( m4apachg )
|
||||
ROM_REGION( 0x020000, "maincpu", 0 )
|
||||
@ -823,13 +858,14 @@ ROM_END
|
||||
most of these boot (after a single reset to initialize)
|
||||
but have broken text, need to check VFD emulation */
|
||||
|
||||
GAME(199?, m4apachg, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND )
|
||||
GAME(199?, m4apachga, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND )
|
||||
GAME(199?, m4apachgb, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND )
|
||||
GAME(199?, m4apachgc, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND )
|
||||
GAME(199?, m4apachgd, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND )
|
||||
GAME(199?, m4apachge, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND )
|
||||
GAME(199?, m4apachgf, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 7)", GAME_FLAGS|MACHINE_NO_SOUND )
|
||||
GAMEL(199?, m4apachg, 0, mod4oki, mpu4, mpu4_state, m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg )
|
||||
GAMEL(199?, m4apachga, m4apachg, mod4oki, mpu4, mpu4_state, m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg )
|
||||
GAMEL(199?, m4apachgb, m4apachg, mod4oki, mpu4, mpu4_state, m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg )
|
||||
GAMEL(199?, m4apachgc, m4apachg, mod4oki, mpu4, mpu4_state, m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg )
|
||||
GAMEL(199?, m4apachgd, m4apachg, mod4oki, mpu4, mpu4_state, m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg )
|
||||
GAMEL(199?, m4apachge, m4apachg, mod4oki, mpu4, mpu4_state, m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg )
|
||||
GAMEL(199?, m4apachgf, m4apachg, mod4oki, mpu4, mpu4_state, m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 7)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg )
|
||||
|
||||
GAME(199?, m4bangrs, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND )
|
||||
GAME(199?, m4bangrsa, m4bangrs, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND )
|
||||
GAME(199?, m4bangrsb, m4bangrs, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND )
|
||||
|
@ -13,7 +13,10 @@
|
||||
sounds for me to know they use the AY.
|
||||
|
||||
*/
|
||||
|
||||
#include "m4actclb.lh"
|
||||
#include "m4actpak.lh"
|
||||
#include "m4alladv.lh"
|
||||
#include "m4alpha.lh"
|
||||
#include "connect4.lh"
|
||||
|
||||
MACHINE_CONFIG_EXTERN( mod2 );
|
||||
@ -296,6 +299,37 @@ ROM_START( m4stakeua )
|
||||
ROM_LOAD( "m400.chr", 0x0000, 0x000048, CRC(8f00f720) SHA1(ea59fa2a3b016a7ae83be3caf863de87ce7aeffa) )
|
||||
ROM_END
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4actpak)
|
||||
{
|
||||
//Derived from Action_Pack_(Barcrest)_[C02_800_4jp].gam
|
||||
DRIVER_INIT_CALL(m4_hopper_tubes);
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
//PCKEY =0
|
||||
//STKEY =0
|
||||
//JPKEY =0
|
||||
//JPSET =0
|
||||
//DIP1_0=false
|
||||
//DIP1_1=false
|
||||
//DIP1_2=false
|
||||
//DIP1_3=false
|
||||
//DIP1_4=false
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=true
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound barcrest1
|
||||
//Standard
|
||||
//Volume 0 Stereo= 1
|
||||
//Sample rate 16000
|
||||
//Front door code 0 Cash door code 0
|
||||
}
|
||||
|
||||
ROM_START( m4actpak )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
@ -308,6 +342,39 @@ ROM_START( m4actpaka )
|
||||
ROM_LOAD( "action.hex", 0x0000, 0x010000, CRC(c5808b5d) SHA1(577950166c91e7f1ca390ebcf34be2da945c0a5f) )
|
||||
ROM_END
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4alladv)
|
||||
{
|
||||
//Derived from All_Cash_Advance_(Barcrest)_[C01_800_4jp].gam
|
||||
DRIVER_INIT_CALL(m4default);
|
||||
DRIVER_INIT_CALL(m4_hopper_tubes);
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
//PCKEY =0
|
||||
//STKEY =0
|
||||
//JPKEY =0
|
||||
//JPSET =0
|
||||
//DIP1_0=false
|
||||
//DIP1_1=false
|
||||
//DIP1_2=false
|
||||
//DIP1_3=false
|
||||
//DIP1_4=false
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=false
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound empire
|
||||
//Standard
|
||||
//Volume 0 Stereo= 1
|
||||
//Sample rate 16000
|
||||
//Front door code 0 Cash door code 0
|
||||
}
|
||||
|
||||
ROM_START( m4alladv )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "c2a60p1.bin", 0x8000, 0x008000, CRC(6630b4a4) SHA1(e4b35fde196d544b41e1dc9cee94442cc5c7223f) )
|
||||
@ -895,6 +962,39 @@ ROM_START( m421 )
|
||||
ROM_LOAD( "twentyone.bin", 0x0000, 0x010000, CRC(243f3bc1) SHA1(141df3dcdd8d70ad26a76ec071e0cd927357ee6e) )
|
||||
ROM_END
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4alpha)
|
||||
{
|
||||
//Derived from Alphabet_(Barcrest)_[C03_1024_4jp].gam
|
||||
DRIVER_INIT_CALL(m4default);
|
||||
DRIVER_INIT_CALL(m4_hopper_tubes);
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
//PCKEY =0
|
||||
//STKEY =0
|
||||
//JPKEY =0
|
||||
//JPSET =0
|
||||
//DIP1_0=false
|
||||
//DIP1_1=false
|
||||
//DIP1_2=false
|
||||
//DIP1_3=false
|
||||
//DIP1_4=false
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=false
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound empire
|
||||
//Standard
|
||||
//Volume 0 Stereo= 0
|
||||
//Sample rate 16000
|
||||
//Front door code 255 Cash door code 255
|
||||
}
|
||||
|
||||
ROM_START( m4alpha )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "alphabet.hex", 0x6000, 0x00a000, CRC(2bf0d7fd) SHA1(143543f45bfae379233a8c21959618e5ad8034e4) )
|
||||
@ -1139,6 +1239,38 @@ ROM_START( m4actbnkb )
|
||||
ROM_LOAD( "abank.hex", 0x6000, 0x00a000, CRC(2cd1a269) SHA1(5ce22b2736844a2de6cda04abdd0fe435391e033) ) // split me
|
||||
ROM_END
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4actclb)
|
||||
{
|
||||
//Derived from Action_Club_(Barcrest)_[C03_800_150jp]_[c].gam
|
||||
DRIVER_INIT_CALL(m4default);
|
||||
DRIVER_INIT_CALL(m4_hopper_tubes);
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
//PCKEY =0
|
||||
//STKEY =0
|
||||
//JPKEY =0
|
||||
//JPSET =0
|
||||
//DIP1_0=true
|
||||
//DIP1_1=true
|
||||
//DIP1_2=true
|
||||
//DIP1_3=true
|
||||
//DIP1_4=true
|
||||
//DIP1_5=true
|
||||
//DIP1_6=true
|
||||
//DIP1_7=true
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=true
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound barcrest1
|
||||
//Standard
|
||||
//Volume 2 Stereo= 1
|
||||
//Sample rate 16000
|
||||
//Front door code 0 Cash door code 0
|
||||
}
|
||||
|
||||
ROM_START( m4actclb )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
@ -1652,10 +1784,10 @@ GAME(199?, m4sgrabb ,m4sgrab ,mod2 ,mpu4 , mpu4_state
|
||||
GAME(199?, m4stakeu ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Stake Up Club (Barcrest) (MPU4) (SU 4.4)",GAME_FLAGS )
|
||||
GAME(199?, m4stakeua ,m4stakeu ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Stake Up Club (Barcrest) (MPU4) (SU 4.8)",GAME_FLAGS )
|
||||
|
||||
GAME(199?, m4actpak ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.4)",GAME_FLAGS )
|
||||
GAME(199?, m4actpaka ,m4actpak ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.5)",GAME_FLAGS )
|
||||
GAMEL(199?, m4actpak ,0 ,mod2 ,mpu4 , mpu4_state,m4actpak ,ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.4)",GAME_FLAGS, layout_m4actpak )
|
||||
GAMEL(199?, m4actpaka ,m4actpak ,mod2 ,mpu4 , mpu4_state,m4actpak ,ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.5)",GAME_FLAGS, layout_m4actpak )
|
||||
|
||||
GAME(199?, m4alladv ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","All Cash Advance (Barcrest) (MPU4) (C2B 6.0)",GAME_FLAGS )
|
||||
GAMEL(199?, m4alladv ,0 ,mod2 ,mpu4 , mpu4_state,m4alladv ,ROT0, "Barcrest","All Cash Advance (Barcrest) (MPU4) (C2B 6.0)",GAME_FLAGS, layout_m4alladv )
|
||||
|
||||
GAME(199?, m4clbdbl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Club Double (Barcrest) (MPU4) (CD 1.6)",GAME_FLAGS ) // reel issues
|
||||
|
||||
@ -1796,7 +1928,7 @@ GAME(199?, m4tupen ,0 ,mod2 ,mpu4 , mpu4_state
|
||||
|
||||
GAME(199?, m421 ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Twenty One (Barcrest) (MPU4)",GAME_FLAGS ) // reel issues
|
||||
|
||||
GAME(199?, m4alpha ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Alphabet (Barcrest) [A4B 1.0] (MPU4)",GAME_FLAGS )
|
||||
GAMEL(199?, m4alpha ,0 ,mod2 ,mpu4 , mpu4_state,m4alpha ,ROT0, "Barcrest","Alphabet (Barcrest) [A4B 1.0] (MPU4)",GAME_FLAGS, layout_m4alpha )
|
||||
|
||||
GAME(199?, m4bnknot ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Bank A Note (Barcrest) [BN 1.0] (MPU4)",GAME_FLAGS )
|
||||
|
||||
@ -1867,8 +1999,8 @@ GAME(199?, m4ttak , 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "<
|
||||
GAME(199?, m4actbnka,m4actbnk ,mod2 ,mpu4jackpot8tkn , mpu4_state,m4default ,ROT0, "Barcrest","Action Bank (Barcrest) (Mod 2 type, AC3.0) (MPU4)",GAME_FLAGS ) // set jackpot key to 8GBP TOKEN & stake key
|
||||
GAME(199?, m4actbnkb,m4actbnk ,mod2 ,mpu4jackpot8tkn , mpu4_state,m4default ,ROT0, "Barcrest","Action Bank (Barcrest) (Mod 2 type, ACT2.0) (MPU4)",GAME_FLAGS )
|
||||
|
||||
GAME(199?, m4actclb ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Action Club (Barcrest) (MPU4) (1.9)",GAME_FLAGS ) // set stake to boot
|
||||
GAME(199?, m4actclba ,m4actclb ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Action Club (Barcrest) (MPU4) (1.1)",GAME_FLAGS ) // ^^
|
||||
GAMEL(199?, m4actclb ,0 ,mod2 ,mpu4 , mpu4_state,m4actclb ,ROT0, "Barcrest","Action Club (Barcrest) (MPU4) (1.9)",GAME_FLAGS, layout_m4actclb ) // set stake to boot
|
||||
GAMEL(199?, m4actclba ,m4actclb ,mod2 ,mpu4 , mpu4_state,m4actclb ,ROT0, "Barcrest","Action Club (Barcrest) (MPU4) (1.1)",GAME_FLAGS, layout_m4actclb ) // ^^
|
||||
|
||||
GAME(199?, m4bluemn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Blue Moon (Barcrest) (MPU4) (BLU 2.3)",GAME_FLAGS )
|
||||
GAME(199?, m4bluemna ,m4bluemn ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Blue Moon (Barcrest) (MPU4) (BLU 2.1)",GAME_FLAGS )
|
||||
|
@ -24,6 +24,14 @@ INPUT_PORTS_EXTERN( grtecp );
|
||||
INPUT_PORTS_EXTERN( mpu4jackpot8tkn );
|
||||
INPUT_PORTS_EXTERN( mpu4jackpot8per );
|
||||
|
||||
#include "m4actbnk.lh"
|
||||
#include "m4andybt.lh"
|
||||
#include "m4andycp.lh"
|
||||
#include "m4andyfh.lh"
|
||||
#include "m4andyge.lh"
|
||||
#include "m4addr.lh"
|
||||
#include "m4tenten.lh"
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4debug)
|
||||
{
|
||||
// many original barcrest / bwb sets have identification info around here
|
||||
@ -91,12 +99,81 @@ DRIVER_INIT_MEMBER(mpu4_state,m4_showstring_big)
|
||||
DRIVER_INIT_CALL(m4default_big);
|
||||
DRIVER_INIT_CALL(m4debug);
|
||||
}
|
||||
/* Explanation of automatically generated descriptions
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m_grtecpss)
|
||||
DRIVER_INIT_MEMBER(mpu4_state,PARENT NAME)
|
||||
{
|
||||
DRIVER_INIT_CALL(m_grtecp);
|
||||
DRIVER_INIT_CALL(m4debug);
|
||||
//Derived from Andy_Capp_(Barcrest)_[C05_v1-0_1024_6jp].gam - MFME layout name used
|
||||
|
||||
//any needed data for hoppers, extenders, reels are here, alongside wiring changes such as low voltage detection, or the AUX settings
|
||||
|
||||
//PCKEY =9 default setting in hex
|
||||
//STKEY =0 default setting in hex
|
||||
//JPKEY =0 default setting in hex
|
||||
//JPSET =0 default setting in hex
|
||||
|
||||
Default DIP settings used in the layouts
|
||||
//DIP1_0=false
|
||||
//DIP1_1=false
|
||||
//DIP1_2=false
|
||||
//DIP1_3=false
|
||||
//DIP1_4=false
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=true
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
|
||||
//Sound empire - if set, this is the sound board type (although this is often ignored
|
||||
//Standard - or Datapak
|
||||
//Volume 0 Stereo= 1 - other sound settings
|
||||
//Sample rate 16000
|
||||
|
||||
//Front door code 39 Cash door code 38 - Button numbers for doors, just in case
|
||||
}
|
||||
*/
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4andycp)
|
||||
{
|
||||
//Derived from Andy_Capp_(Barcrest)_[C05_v1-0_1024_6jp].gam
|
||||
DRIVER_INIT_CALL(m4default);
|
||||
DRIVER_INIT_CALL(m4_hopper_tubes);
|
||||
DRIVER_INIT_CALL(m4_small_extender);
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
//PCKEY =9
|
||||
//STKEY =0
|
||||
//JPKEY =0
|
||||
//JPSET =0
|
||||
//DIP1_0=false
|
||||
//DIP1_1=false
|
||||
//DIP1_2=false
|
||||
//DIP1_3=false
|
||||
//DIP1_4=false
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=true
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound empire
|
||||
//Standard
|
||||
//Volume 0 Stereo= 1
|
||||
//Sample rate 16000
|
||||
//Front door code 39 Cash door code 38
|
||||
}
|
||||
|
||||
|
||||
#define M4ANDYCP_EXTRA_ROMS \
|
||||
ROM_REGION( 0x48, "fakechr", 0 ) \
|
||||
ROM_LOAD( "ac.chr", 0x0000, 0x000048, CRC(87808826) SHA1(df0915a6f89295efcd10e6a06bfa3d3fe8fef160) ) \
|
||||
@ -111,7 +188,7 @@ DRIVER_INIT_MEMBER(mpu4_state,m_grtecpss)
|
||||
ROM_LOAD( name, offset, length, hash ) \
|
||||
M4ANDYCP_EXTRA_ROMS \
|
||||
ROM_END \
|
||||
GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring,ROT0,company,title,GAME_FLAGS )
|
||||
GAMEL(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4andycp,ROT0,company,title,GAME_FLAGS, layout_m4andycp )
|
||||
|
||||
// "(C)1994 B.W.B." and "AC101.0"
|
||||
GAME_CUSTOM( 1994, m4andycp, 0, "ac10.hex", 0x0000, 0x010000, CRC(0e250923) SHA1(9557315cca7a47c307e811d437ff424fe77a2843), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10)" )
|
||||
@ -436,6 +513,42 @@ GAME_CUSTOM( 1991, m4rhog_h15, m4rhog, "rhog20_11", 0x0
|
||||
GAME_CUSTOM( 1995, m4rhog_roc, m4rhog, "roadhog5p4std.bin", 0x0000, 0x010000, BAD_DUMP CRC(0ff60341) SHA1(c12d5b160d9e47a6f1aa6f378c2a70186be6bdff), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (ROC 2.0, bad)" )
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4andyge)
|
||||
{
|
||||
//Derived from Andy's_Great_Escape_(Barcrest)_[C02_1024_10jp].gam
|
||||
DRIVER_INIT_CALL(m4default);
|
||||
DRIVER_INIT_CALL(m4_hopper_tubes);
|
||||
DRIVER_INIT_CALL(m4_small_extender);
|
||||
DRIVER_INIT_CALL(m4_five_reel_std);
|
||||
DRIVER_INIT_CALL(m_grtecp);
|
||||
|
||||
//PCKEY =1
|
||||
//STKEY =3
|
||||
//JPKEY =7
|
||||
//JPSET =3
|
||||
//DIP1_0=false
|
||||
//DIP1_1=false
|
||||
//DIP1_2=false
|
||||
//DIP1_3=false
|
||||
//DIP1_4=false
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=false
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound other
|
||||
//Standard
|
||||
//Volume 1 Stereo= 1
|
||||
//Sample rate 16000
|
||||
//Front door code 0 Cash door code 0
|
||||
}
|
||||
|
||||
#define M4ANDYGE_EXTRA_ROMS \
|
||||
ROM_REGION( 0x1200, "plds", 0 ) /* PAL16V8 PLD, like others - CHR? Guess it should be here... */ \
|
||||
ROM_LOAD( "age.bin", 0x0000, 0x000117, CRC(901359e5) SHA1(7dbcd6023e7ce68f4aa7f191f572d74f21f978aa) ) \
|
||||
@ -452,7 +565,7 @@ GAME_CUSTOM( 1995, m4rhog_roc, m4rhog, "roadhog5p4std.bin", 0x0
|
||||
ROM_LOAD( name, offset, length, hash ) \
|
||||
M4ANDYGE_EXTRA_ROMS \
|
||||
ROM_END \
|
||||
GAME(year, setname, parent ,mod4oki_5r ,grtecp , mpu4_state,m_grtecpss ,ROT0,company,title,GAME_FLAGS )
|
||||
GAMEL(year, setname, parent ,mod4oki_5r ,grtecp , mpu4_state,m4andyge ,ROT0,company,title,GAME_FLAGS, layout_m4andyge )
|
||||
// "(C)1991 BARCREST" and "AN2 0.3"
|
||||
GAME_CUSTOM( 1991, m4andyge, 0, "an2s.p1", 0x0000, 0x010000, CRC(65399fa0) SHA1(ecefdf63e7aa477001fa530ed340e90e85252c3c), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3, set 1)" ) // one of these is probably hacked
|
||||
GAME_CUSTOM( 1991, m4andygen2_a, m4andyge, "agesc20p", 0x0000, 0x010000, CRC(94fec0f3) SHA1(7678e01a4e0fcc4136f6d4a668c4d1dd9a8f1246), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3, set 2)" ) // or has the wrong id strings
|
||||
@ -522,13 +635,47 @@ GAME_CUSTOM( 199?, m4andyge_h3, m4andyge, "age_20_.8", 0
|
||||
GAME_CUSTOM( 199?, m4andyge_h4, m4andyge, "age20_101", 0x0000, 0x010000, CRC(7e3674f0) SHA1(351e353da24b63d2ef7cb09690b770b26505569a), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (8V1 0.3, hack?, set 2)" )
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4addr)
|
||||
{
|
||||
//Derived from Adders_&_Ladders_(Barcrest)_[C03_800_6jp].gam
|
||||
DRIVER_INIT_CALL(m4default);
|
||||
DRIVER_INIT_CALL(m4_hopper_tubes);
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
//PCKEY =0
|
||||
//STKEY =0
|
||||
//JPKEY =0
|
||||
//JPSET =0
|
||||
//DIP1_0=false
|
||||
//DIP1_1=false
|
||||
//DIP1_2=false
|
||||
//DIP1_3=false
|
||||
//DIP1_4=false
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=false
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound barcrest1
|
||||
//Standard
|
||||
//Volume 0 Stereo= 1
|
||||
//Sample rate 16000
|
||||
//Front door code 0 Cash door code 0
|
||||
}
|
||||
|
||||
|
||||
#undef GAME_CUSTOM
|
||||
#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \
|
||||
ROM_START( setname ) \
|
||||
ROM_REGION( 0x10000, "maincpu", 0 ) \
|
||||
ROM_LOAD( name, offset, length, hash ) \
|
||||
ROM_END \
|
||||
GAME(year, setname, parent ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS )
|
||||
GAMEL(year, setname, parent ,mod2 ,mpu4 , mpu4_state,m4addr ,ROT0,company,title,GAME_FLAGS, layout_m4addr )
|
||||
// all the adders and ladders sets kill the cpu, end up jumping to the ram area after an RTI/RTS combo? are we saturating the CPU with too many interrupts or is there a bug?
|
||||
// also the BWB versioning is.. illogical
|
||||
// I think this is a mod2, but because it doesn't boot I haven't moved it to mpu4mod2sw.c yet
|
||||
@ -3443,6 +3590,39 @@ GAME_CUSTOM( 199?, m4luckst__au, m4luckst, "lstrikegame10-8t.bin", 0x0000, 0
|
||||
GAME_CUSTOM( 199?, m4luckst__b, m4luckst, "ls15t", 0x0000, 0x020000, CRC(20447a20) SHA1(ca2ba566317ca87afcc2501e551c1326b9712526), "hack","Lucky Strike (Barcrest) (MPU4) (LSS 0.6, hack, set 2)" )
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4tenten)
|
||||
{
|
||||
DRIVER_INIT_CALL(m4default);
|
||||
//Derived from 10_x_10_(Barcrest)_[C01_v1-0_1024_10jp].gam
|
||||
DRIVER_INIT_CALL(m4_hopper_duart_a);
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
//PCKEY =9
|
||||
//STKEY =3
|
||||
//JPKEY =7
|
||||
//JPSET =3
|
||||
//DIP1_0=false
|
||||
//DIP1_1=false
|
||||
//DIP1_2=false
|
||||
//DIP1_3=false
|
||||
//DIP1_4=false
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=true
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound barcrest1
|
||||
//Standard
|
||||
//Volume 0 Stereo= 1
|
||||
//Sample rate 16000 LVD= 0
|
||||
//Front door code 39 Cash door code 38
|
||||
}
|
||||
|
||||
#define M4TENTEN_EXTRA_ROMS \
|
||||
ROM_REGION( 0x080000, "msm6376", 0 ) \
|
||||
ROM_LOAD( "tttsnd01.p1", 0x0000, 0x080000, CRC(5518474c) SHA1(0b7e98e33f62d80882f2b0b4af0c9056f1ffb78d) )
|
||||
@ -3453,7 +3633,7 @@ GAME_CUSTOM( 199?, m4luckst__b, m4luckst, "ls15t", 0x0000, 0
|
||||
ROM_LOAD( name, offset, length, hash ) \
|
||||
M4TENTEN_EXTRA_ROMS \
|
||||
ROM_END \
|
||||
GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS )
|
||||
GAMEL(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4tenten ,ROT0,company,title,GAME_FLAGS, layout_m4tenten )
|
||||
|
||||
// "(C)1991 BARCREST" and "T20 0.2"
|
||||
GAME_CUSTOM( 199?, m4tenten, 0, "t2002s.p1", 0x0000, 0x010000, CRC(6cd9fa10) SHA1(8efe36e3fc5b709fa4363194634686d62b5d6609), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2)" )
|
||||
@ -3529,6 +3709,39 @@ GAME_CUSTOM( 199?, m4tenten__a0, m4tenten, "tst01r.p1", 0x0000, 0x010000,
|
||||
GAME_CUSTOM( 199?, m4tenten__a2, m4tenten, "tst01y.p1", 0x0000, 0x010000, CRC(e3ba4b94) SHA1(a7b13c172e5177711ddb81ef1ea77e27e14bf470), "Barcrest","10 X 10 (Barcrest) (MPU4) (set 66)" )
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4andyfh)
|
||||
{
|
||||
//Derived from Andy's_Full_House_(Barcrest)_[C01_800_10jp].gam
|
||||
DRIVER_INIT_CALL(m4default);
|
||||
DRIVER_INIT_CALL(m4_hopper_tubes);
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
//PCKEY =b
|
||||
//STKEY =2
|
||||
//JPKEY =7
|
||||
//JPSET =3
|
||||
//DIP1_0=false
|
||||
//DIP1_1=false
|
||||
//DIP1_2=false
|
||||
//DIP1_3=false
|
||||
//DIP1_4=false
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=true
|
||||
//DIP2_1=true
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=true
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound barcrest1
|
||||
//Standard
|
||||
//Volume 0 Stereo= 1
|
||||
//Sample rate 16000
|
||||
//Front door code 0 Cash door code 0
|
||||
}
|
||||
|
||||
#define M4ANDYFH_EXTRA_ROMS \
|
||||
ROM_REGION( 0x100000, "msm6376", 0 ) \
|
||||
ROM_LOAD( "afhsnd1.bin", 0x000000, 0x080000, CRC(ce0b1890) SHA1(224d05f936a1b6f84ad682c282c557e87ad8931f) ) \
|
||||
@ -3540,7 +3753,7 @@ GAME_CUSTOM( 199?, m4tenten__a2, m4tenten, "tst01y.p1", 0x0000, 0x010000,
|
||||
ROM_LOAD( name, offset, length, hash ) \
|
||||
M4ANDYFH_EXTRA_ROMS \
|
||||
ROM_END \
|
||||
GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS )
|
||||
GAMEL(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4andyfh ,ROT0,company,title,GAME_FLAGS, layout_m4andyfh )
|
||||
|
||||
|
||||
// "(C)1991 BARCREST" and "AFH 0.1"
|
||||
@ -4450,6 +4663,38 @@ GAME_CUSTOM( 199?, m4shocm__h, m4shocm, "scmj.p1", 0x0000, 0x020000, CRC(ed
|
||||
GAME_CUSTOM( 199?, m4shocm__i, m4shocm, "scmy.p1", 0x0000, 0x020000, CRC(044a0065) SHA1(e5deb75e7d05787f1e820352aec99abebd3530b6), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (set 10)" )
|
||||
GAME_CUSTOM( 199?, m4shocm__j, m4shocm, "scmk.p1", 0x0000, 0x020000, CRC(83a9209b) SHA1(011ecd85c435c02b4868ed74012e16c73beb6e99), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (set 11)" )
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4actbnk)
|
||||
{
|
||||
//Derived from Action_Bank_(Barcrest)_[C04_1024_8jp].gam
|
||||
DRIVER_INIT_CALL(m4default);
|
||||
DRIVER_INIT_CALL(m4_hopper_tubes);
|
||||
DRIVER_INIT_CALL(m4default_reels);
|
||||
//PCKEY =a
|
||||
//STKEY =2
|
||||
//JPKEY =6
|
||||
//JPSET =1
|
||||
//DIP1_0=false
|
||||
//DIP1_1=false
|
||||
//DIP1_2=false
|
||||
//DIP1_3=false
|
||||
//DIP1_4=false
|
||||
//DIP1_5=false
|
||||
//DIP1_6=false
|
||||
//DIP1_7=false
|
||||
//DIP2_0=false
|
||||
//DIP2_1=false
|
||||
//DIP2_2=false
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=false
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound barcrest1
|
||||
//Standard
|
||||
//Volume 0 Stereo= 1
|
||||
//Sample rate 16000
|
||||
//Front door code 39 Cash door code 38
|
||||
}
|
||||
|
||||
#define M4ACTBNK_EXTRA_ROMS \
|
||||
ROM_REGION( 0x100000, "msm6376", 0 ) \
|
||||
@ -4462,7 +4707,7 @@ GAME_CUSTOM( 199?, m4shocm__j, m4shocm, "scmk.p1", 0x0000, 0x020000, CRC(83
|
||||
ROM_LOAD( name, offset, length, hash ) \
|
||||
M4ACTBNK_EXTRA_ROMS \
|
||||
ROM_END \
|
||||
GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS )
|
||||
GAMEL(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4actbnk ,ROT0,company,title,GAME_FLAGS, layout_m4actbnk )
|
||||
|
||||
// these require a jackpot key to be inserted
|
||||
// "(C)1993 BARCREST" and "ACT 0.7"
|
||||
@ -5082,6 +5327,40 @@ GAME_CUSTOM( 199?, m4typcl__b, m4typcl, "ctp13f.p1", 0x0000, 0x020000, CR
|
||||
GAME_CUSTOM( 199?, m4typcl__d, m4typcl, "ntp02.p1", 0x0000, 0x020000, CRC(6063e27d) SHA1(c99599fbc7146d8fcf62432994098dd51250b17b), "Barcrest","Take Your Pick Club (Barcrest) (MPU4) (NTP 0.2)" )
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(mpu4_state,m4andybt)
|
||||
{
|
||||
DRIVER_INIT_CALL(m4default_big);
|
||||
//Derived from Andy's_Big_Time_(Barcrest)_[C03_800_250jp]_[c].gam
|
||||
DRIVER_INIT_CALL(m4_hopper_tubes);
|
||||
DRIVER_INIT_CALL(m4_large_extender_b);
|
||||
DRIVER_INIT_CALL(m4_five_reel_rev);
|
||||
//PCKEY =0
|
||||
//STKEY =0
|
||||
//JPKEY =0
|
||||
//JPSET =0
|
||||
//DIP1_0=true
|
||||
//DIP1_1=true
|
||||
//DIP1_2=true
|
||||
//DIP1_3=true
|
||||
//DIP1_4=true
|
||||
//DIP1_5=true
|
||||
//DIP1_6=true
|
||||
//DIP1_7=true
|
||||
//DIP2_0=false
|
||||
//DIP2_1=true
|
||||
//DIP2_2=true
|
||||
//DIP2_3=false
|
||||
//DIP2_4=false
|
||||
//DIP2_5=false
|
||||
//DIP2_6=false
|
||||
//DIP2_7=false
|
||||
//Sound barcrest1
|
||||
//Standard
|
||||
//Volume 0 Stereo= 1
|
||||
//Sample rate 16000
|
||||
//Front door code 0 Cash door code 0
|
||||
}
|
||||
|
||||
#define M4ANDYBT_EXTRA_ROMS \
|
||||
ROM_REGION( 0x48, "fakechr", 0 ) \
|
||||
ROM_LOAD( "abt18s.chr", 0x0000, 0x000048, CRC(68007536) SHA1(72f7a76a1ba1c8ac94de425892780ffe78269513) ) \
|
||||
@ -5095,7 +5374,7 @@ GAME_CUSTOM( 199?, m4typcl__d, m4typcl, "ntp02.p1", 0x0000, 0x020000, CR
|
||||
ROM_LOAD( name, offset, length, hash ) \
|
||||
M4ANDYBT_EXTRA_ROMS \
|
||||
ROM_END \
|
||||
GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS )
|
||||
GAMEL(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4andybt ,ROT0,company,title,GAME_FLAGS, layout_m4andybt )
|
||||
|
||||
// "(C)1991 BARCREST" and "ABT 1.8"
|
||||
GAME_CUSTOM( 199?, m4andybt, 0, "abt18s.p1", 0x0000, 0x020000, CRC(625263e4) SHA1(23fa0547164cc1f9b7c6cd26e06b0d779bf0329d), "Barcrest","Andy's Big Time Club (Barcrest) (MPU4) (ABT 1.8)" )
|
||||
|
@ -190,6 +190,9 @@ public:
|
||||
DECLARE_DRIVER_INIT(m4default_banks);
|
||||
DECLARE_DRIVER_INIT(m4default_reels);
|
||||
DECLARE_DRIVER_INIT(m4_low_volt_alt);
|
||||
DECLARE_DRIVER_INIT(m4_aux1_invert);
|
||||
DECLARE_DRIVER_INIT(m4_aux2_invert);
|
||||
DECLARE_DRIVER_INIT(m4_door_invert);
|
||||
DECLARE_DRIVER_INIT(m4_five_reel_std);
|
||||
DECLARE_DRIVER_INIT(m4_five_reel_rev);
|
||||
DECLARE_DRIVER_INIT(m4_five_reel_alt);
|
||||
@ -215,16 +218,28 @@ public:
|
||||
DECLARE_DRIVER_INIT(m4tst);
|
||||
DECLARE_DRIVER_INIT(m_ccelbr);
|
||||
DECLARE_DRIVER_INIT(m4gambal);
|
||||
DECLARE_DRIVER_INIT(m_grtecp);
|
||||
DECLARE_DRIVER_INIT(m4debug);
|
||||
DECLARE_DRIVER_INIT(m4_showstring);
|
||||
DECLARE_DRIVER_INIT(m4_showstring_mod4yam);
|
||||
DECLARE_DRIVER_INIT(m4_debug_mod4yam);
|
||||
DECLARE_DRIVER_INIT(m4_showstring_mod2);
|
||||
DECLARE_DRIVER_INIT(m4_showstring_big);
|
||||
DECLARE_DRIVER_INIT(m_grtecpss);
|
||||
DECLARE_DRIVER_INIT(connect4);
|
||||
DECLARE_DRIVER_INIT(m4altreels);//legacy, will be removed once things are sorted out
|
||||
DECLARE_DRIVER_INIT(m_grtecp);//legacy, will be removed once things are sorted out RE: CHR
|
||||
DECLARE_DRIVER_INIT(m4tenten);
|
||||
DECLARE_DRIVER_INIT(m4actbnk);
|
||||
DECLARE_DRIVER_INIT(m4actclb);
|
||||
DECLARE_DRIVER_INIT(m4actpak);
|
||||
DECLARE_DRIVER_INIT(m4addr);
|
||||
DECLARE_DRIVER_INIT(m4aao);
|
||||
DECLARE_DRIVER_INIT(m4alladv);
|
||||
DECLARE_DRIVER_INIT(m4alpha);
|
||||
DECLARE_DRIVER_INIT(m4andycp);
|
||||
DECLARE_DRIVER_INIT(m4andybt);
|
||||
DECLARE_DRIVER_INIT(m4andyfh);
|
||||
DECLARE_DRIVER_INIT(m4andyge);
|
||||
DECLARE_DRIVER_INIT(m4apachg);
|
||||
DECLARE_MACHINE_START(mod2);
|
||||
DECLARE_MACHINE_RESET(mpu4);
|
||||
DECLARE_MACHINE_START(mpu4yam);
|
||||
@ -311,6 +326,9 @@ protected:
|
||||
int m_led_lamp;
|
||||
int m_link7a_connected;
|
||||
int m_low_volt_detect_disable;
|
||||
int m_aux1_invert;
|
||||
int m_aux2_invert;
|
||||
int m_door_invert;
|
||||
emu_timer *m_ic24_timer;
|
||||
int m_expansion_latch;
|
||||
int m_global_volume;
|
||||
|
1272
src/mame/layout/m4aao.lay
Normal file
1272
src/mame/layout/m4aao.lay
Normal file
File diff suppressed because it is too large
Load Diff
3122
src/mame/layout/m4actbnk.lay
Normal file
3122
src/mame/layout/m4actbnk.lay
Normal file
File diff suppressed because it is too large
Load Diff
4032
src/mame/layout/m4actclb.lay
Normal file
4032
src/mame/layout/m4actclb.lay
Normal file
File diff suppressed because it is too large
Load Diff
3792
src/mame/layout/m4actpak.lay
Normal file
3792
src/mame/layout/m4actpak.lay
Normal file
File diff suppressed because it is too large
Load Diff
4412
src/mame/layout/m4addr.lay
Normal file
4412
src/mame/layout/m4addr.lay
Normal file
File diff suppressed because it is too large
Load Diff
1992
src/mame/layout/m4alladv.lay
Normal file
1992
src/mame/layout/m4alladv.lay
Normal file
File diff suppressed because it is too large
Load Diff
4476
src/mame/layout/m4alpha.lay
Normal file
4476
src/mame/layout/m4alpha.lay
Normal file
File diff suppressed because it is too large
Load Diff
6590
src/mame/layout/m4andybt.lay
Normal file
6590
src/mame/layout/m4andybt.lay
Normal file
File diff suppressed because it is too large
Load Diff
3446
src/mame/layout/m4andycp.lay
Normal file
3446
src/mame/layout/m4andycp.lay
Normal file
File diff suppressed because it is too large
Load Diff
1324
src/mame/layout/m4andyfh.lay
Normal file
1324
src/mame/layout/m4andyfh.lay
Normal file
File diff suppressed because it is too large
Load Diff
2694
src/mame/layout/m4andyge.lay
Normal file
2694
src/mame/layout/m4andyge.lay
Normal file
File diff suppressed because it is too large
Load Diff
4108
src/mame/layout/m4apachg.lay
Normal file
4108
src/mame/layout/m4apachg.lay
Normal file
File diff suppressed because it is too large
Load Diff
2772
src/mame/layout/m4tenten.lay
Normal file
2772
src/mame/layout/m4tenten.lay
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user