Moved MPU4 Test Program 4 to the MOD4 driver, still needs some work on the timing though.

Fixed Gamball reel positioning, this will need more work to standardise. [J.Wallace]
This commit is contained in:
James Wallace 2014-03-29 20:06:22 +00:00
parent 0d6555b9c5
commit ae7003eb91
7 changed files with 29 additions and 16 deletions

View File

@ -90,7 +90,7 @@
IMPACT Games
IMPACT apparently stands for Interactive Moving Picture Amusment Control
IMPACT apparently stands for Interactive Moving Picture Amusement Control
Technology, and is intended as a replacement for the JPM System 5 board.
Large sections of the processing were moved to two identical custom ASICs
(U1 and U2), only half of each is used.

View File

@ -19,7 +19,7 @@
Notes:
MPS1- The hardware still uses TMS CPUs, but now with matrix driven lamps amongst other things. Later games used AY8910 as a sound chip instead of the SN76489.
MPS2- Basically MPS1 manufactured on a more compact board, replacing discrete logic with 'custom cells' - which are rebaged 8255 PPIs. This is the better
MPS2- Basically MPS1 manufactured on a more compact board, replacing discrete logic with 'custom cells' - which are rebadged 8255 PPIs. This is the better
target to emulate, but some BwBs may struggle with the timing.
this should be pretty easy to get going, my only concern is patches other drivers have to work around

View File

@ -69,7 +69,6 @@ TODO:
- CPU speed/ YM2149 frequencies
- Input ports need to be cleaned up
- NVRAM does not work for lvcards?
- AGEMAME marks lvpoker/ponttekh as GAME_SUPPORTS_SAVE, needs checking.
***************************************************************************/

View File

@ -805,7 +805,7 @@ static ADDRESS_MAP_START( m1_memmap, AS_PROGRAM, 8, maygay1b_state )
AM_RANGE(0x2070, 0x207f) AM_DEVREADWRITE("duart68681", mc68681_device, read, write )
AM_RANGE(0x2090, 0x2091) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x2090, 0x2091) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
AM_RANGE(0x20B0, 0x20B0) AM_READ(m1_meter_r)
AM_RANGE(0x20A0, 0x20A3) AM_DEVWRITE("pia", pia6821_device, write)
@ -857,7 +857,7 @@ MACHINE_CONFIG_START( maygay_m1, maygay1b_state )
MCFG_SOUND_CONFIG(ay8910_config)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_SOUND_ADD("ymsnd", YM2413, M1_MASTER_CLOCK/4) // should be a 2149F?
MCFG_SOUND_ADD("ymsnd", YM2413, M1_MASTER_CLOCK/4)
MCFG_SOUND_ADD("msm6376", OKIM6376, M1_MASTER_CLOCK/4) //?
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)

View File

@ -23,11 +23,6 @@ INPUT_PORTS_EXTERN( mpu4jackpot8tkn );
INPUT_PORTS_EXTERN( mpu4jackpot8per );
INPUT_PORTS_EXTERN( grtecp );
ROM_START( m4tst )
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD( "ut4.p1", 0xC000, 0x4000, CRC(086dc325) SHA1(923caeb61347ac9d3e6bcec45998ddf04b2c8ffd))
ROM_END
ROM_START( m4tst2 )
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD( "ut2.p1", 0xE000, 0x2000, CRC(f7fb6575) SHA1(f7961cbd0801b9561d8cd2d23081043d733e1902))
@ -2374,7 +2369,6 @@ ROM_END
/* Barcrest */
GAME( 198?, m4tst, 0, mod2 , mpu4, mpu4_state, m4default, ROT0, "Barcrest","MPU4 Unit Test (Program 4)",GAME_MECHANICAL )
GAME( 198?, m4tst2, 0, mod2 , mpu4, mpu4_state, m4default, ROT0, "Barcrest","MPU4 Unit Test (Program 2)",GAME_MECHANICAL )
GAME( 198?, m4clr, 0, mod2 , mpu4, mpu4_state, m4default, ROT0, "Barcrest","MPU4 Meter Clear ROM",GAME_MECHANICAL )
GAME( 198?, m4rltst, 0, mod2 , mpu4, mpu4_state, m4default, ROT0, "Barcrest","MPU4 Reel Test (3.0)",GAME_MECHANICAL )

View File

@ -185,7 +185,12 @@ INPUT_PORTS_START( m4gambal )
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME("100p")PORT_IMPULSE(5)
INPUT_PORTS_END
ROM_START( m4tst )
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD( "ut4.p1", 0xC000, 0x4000, CRC(086dc325) SHA1(923caeb61347ac9d3e6bcec45998ddf04b2c8ffd))
ROM_END
GAME(198?, m4tst, 0, mod4yam ,mpu4 , mpu4_state,m4default, ROT0,"Barcrest","MPU4 Unit Test (Program 4)",GAME_MECHANICAL )
ROM_START( m4stc )
ROM_REGION( 0x10000, "maincpu", 0 )

View File

@ -5,6 +5,12 @@
<color red="1.0" green="0.0" blue="0.0" />
</led7seg>
</element>
<element name ="bezelblock">
<rect state ="0">
<bounds x="0" y="0" width="1" height="1" />
<color red="0" green="0" blue="0" />
</rect>
</element>
<element name="reellamp">
<rect state ="0">
<bounds x="0" y="0" width="7" height="3" />
@ -254,29 +260,34 @@
</text>
</element>
<!-- Barcrest reels have the opto flag set central to their first symbol, which we say is around step 1 (halfsteps = 2)
We base our reel generation from the top, so we need an offset to drag the right symbol down.
Each half step is 65536/96 = 682.6 recurring, with a symbol taking 8 half steps when on 12 per reel (5461 per symbol), or 6 when on 16 (4096 per symbol).
We also need to allow for that 2 half step deflection (1365).
-->
<element name="SteppersReel1" defstate="0">
<reel stateoffset="-1364" symbollist="3.00 RPT:300p.png,2.40:240.png,2.20:220.png,2.00:200.png,1.60:160.png,1.20:120.png,1.00:100p.png,80p:80p.png,60p:60p.png,LOSE:lose.png,JACK:jack.png,POT:pot.png" numsymbolsvisible="2">
<reel stateoffset="-6826" symbollist="3.00 RPT:300p.png,2.40:240.png,2.20:220.png,2.00:200.png,1.60:160.png,1.20:120.png,1.00:100p.png,80p:80p.png,60p:60p.png,LOSE:lose.png,JACK:jack.png,POT:pot.png" numsymbolsvisible="3">
<color red="1.0" green="1.0" blue="1.0" />
<bounds x="0" y="0" width="1" height="1" />
</reel>
</element>
<element name="SteppersReel2" defstate="0">
<reel stateoffset="2732" symbollist="7:7.png,Cherry:cherry.png,Bar:bar.png,Melon:melon.png,7:7.png,Bar:bar.png,Bell:bell.png,Cherry:cherry.png,Melon:melon.png,Bell:bell.png,7:7.png,Bar:bar.png,Cherry:cherry.png,Bell:bell.png,Bar:bar.png,Melon:melon.png" numsymbolsvisible="3">
<reel stateoffset="-5461" symbollist="7:7.png,Cherry:cherry.png,Bar:bar.png,Melon:melon.png,7:7.png,Bar:bar.png,Bell:bell.png,Cherry:cherry.png,Melon:melon.png,Bell:bell.png,7:7.png,Bar:bar.png,Cherry:cherry.png,Bell:bell.png,Bar:bar.png,Melon:melon.png" numsymbolsvisible="3">
<color red="1.0" green="1.0" blue="1.0" />
<bounds x="0" y="0" width="1" height="1" />
</reel>
</element>
<element name="SteppersReel3" defstate="0">
<reel stateoffset="2732" symbollist="7:7.png,Melon:melon.png,Bell:bell.png,Cherry:cherry.png,Bar:bar.png,Bell:bell.png,Melon:melon.png,Bar:bar.png,Cherry:cherry.png,7:7.png,Melon:melon.png,Bar:bar.png,Cherry:cherry.png,Melon:melon.png,Cherry:cherry.png,Bell:bell.png" numsymbolsvisible="3">
<reel stateoffset="-5461" symbollist="7:7.png,Melon:melon.png,Bell:bell.png,Cherry:cherry.png,Bar:bar.png,Bell:bell.png,Melon:melon.png,Bar:bar.png,Cherry:cherry.png,7:7.png,Melon:melon.png,Bar:bar.png,Cherry:cherry.png,Melon:melon.png,Cherry:cherry.png,Bell:bell.png" numsymbolsvisible="3">
<color red="1.0" green="1.0" blue="1.0" />
<bounds x="0" y="0" width="1" height="1" />
</reel>
</element>
<element name="SteppersReel4" defstate="0">
<reel stateoffset="2732" symbollist="Bell:bell.png,7:7.png,Bell:bell.png,Bar:bar.png,7:7.png,Cherry:cherry.png,Melon:melon.png,Bell:bell.png,Cherry:cherry.png,Bar:bar.png,7:7.png,Melon:melon.png,Cherry:cherry.png,Bell:bell.png,Bar:bar.png,Melon:melon.png" numsymbolsvisible="3">
<reel stateoffset="-5461" symbollist="Bell:bell.png,7:7.png,Bell:bell.png,Bar:bar.png,7:7.png,Cherry:cherry.png,Melon:melon.png,Bell:bell.png,Cherry:cherry.png,Bar:bar.png,7:7.png,Melon:melon.png,Cherry:cherry.png,Bell:bell.png,Bar:bar.png,Melon:melon.png" numsymbolsvisible="3">
<color red="1.0" green="1.0" blue="1.0" />
<bounds x="0" y="0" width="1" height="1" />
</reel>
@ -296,7 +307,11 @@
</backdrop>
<backdrop name="sreel1" element="SteppersReel1" state="0">
<bounds x="85" y="491.3333" width="50" height="58.6666"/>
<bounds x="85" y="463" width="49" height="87.9999"/>
</backdrop>
<backdrop name="blk" element="bezelblock" state="0">
<bounds x="85" y="463" width="49" height="29.3333"/>
</backdrop>
<backdrop name="lamp26" element="cancol" state="0" inputtag="BLACK2" inputmask="0x04">