mirror of
https://github.com/mamedev/mame.git
synced 2024-11-18 10:06:19 +01:00
New working machine added
----------- Tiger 7 in 1 Sports Stadium [hap, Sean Riddle]
This commit is contained in:
parent
4a3da442bc
commit
21edda29c8
5 changed files with 208 additions and 7 deletions
|
@ -576,7 +576,7 @@ static MACHINE_CONFIG_START( eag, fidel68k_state )
|
|||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz)
|
||||
MCFG_CPU_PROGRAM_MAP(eag_map)
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_on", fidel68k_state, irq_on, attotime::from_hz(XTAL_4_9152MHz/0x2000))
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_on", fidel68k_state, irq_on, attotime::from_hz(XTAL_4_9152MHz/0x2000)) // 600Hz
|
||||
MCFG_TIMER_START_DELAY(attotime::from_hz(XTAL_4_9152MHz/0x2000) - attotime::from_nsec(8250)) // active for 8.25us
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_off", fidel68k_state, irq_off, attotime::from_hz(XTAL_4_9152MHz/0x2000))
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
@MP6100A TMS0980 1979, Ideal Electronic Detective
|
||||
@MP6101B TMS0980 1979, Parker Brothers Stop Thief
|
||||
*MP6361 ? 1983, Defender Strikes (? note: VFD-capable)
|
||||
*MP7304 TMS1400 1982, Tiger 7-in-1 Sports Stadium (model 7-555)
|
||||
@MP7304 TMS1400 1982, Tiger 7 in 1 Sports Stadium (model 7-555)
|
||||
@MP7313 TMS1400 1980, Parker Brothers Bank Shot
|
||||
@MP7314 TMS1400 1980, Parker Brothers Split Second
|
||||
MP7324 TMS1400 1985, Tiger K28/Coleco Talking Teacher -> tispeak.cpp
|
||||
|
@ -136,6 +136,7 @@
|
|||
#include "rendlay.h"
|
||||
|
||||
// internal artwork
|
||||
#include "7in1ss.lh"
|
||||
#include "amaztron.lh" // clickable
|
||||
#include "astro.lh"
|
||||
#include "bankshot.lh"
|
||||
|
@ -3005,7 +3006,7 @@ MACHINE_CONFIG_END
|
|||
/***************************************************************************
|
||||
|
||||
Entex Color Football 4
|
||||
* TMS1670 6009 MP7551 (die also label MP7551)
|
||||
* TMS1670 6009 MP7551 (die label MP7551)
|
||||
* 9-digit cyan VFD display, 60 red and green LEDs behind bezel, 1-bit sound
|
||||
|
||||
***************************************************************************/
|
||||
|
@ -3120,7 +3121,7 @@ MACHINE_CONFIG_END
|
|||
/***************************************************************************
|
||||
|
||||
Entex (Electronic) Basketball 2
|
||||
* TMS1100 6010 MP1218 (die also label MP1218)
|
||||
* TMS1100 6010 MP1218 (die label MP1218)
|
||||
* 4 7seg LEDs, and other LEDs behind bezel, 1-bit sound
|
||||
|
||||
led translation table: led zz from game PCB = MAME y.x:
|
||||
|
@ -7239,6 +7240,119 @@ MACHINE_CONFIG_END
|
|||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Tiger 7 in 1 Sports Stadium
|
||||
* TMS1400 MP7304 (die label TMS1400 MP7304A)
|
||||
* 2x2-digit 7seg LED display + 39 other LEDs, 1-bit sound
|
||||
|
||||
This handheld includes 7 games: 1: Basketball, 2: Hockey, 3: Soccer,
|
||||
4: Maze, 5: Baseball, 6: Football, 7: Raquetball.
|
||||
MAME external artwork is needed for the switchable overlays.
|
||||
|
||||
known releases:
|
||||
- World: 7 in 1 Sports Stadium
|
||||
- USA: 7 in 1 Sports, distributed by Sears
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
class ss7in1_state : public hh_tms1k_state
|
||||
{
|
||||
public:
|
||||
ss7in1_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: hh_tms1k_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void prepare_display();
|
||||
DECLARE_WRITE16_MEMBER(write_r);
|
||||
DECLARE_WRITE16_MEMBER(write_o);
|
||||
DECLARE_READ8_MEMBER(read_k);
|
||||
};
|
||||
|
||||
// handlers
|
||||
|
||||
void ss7in1_state::prepare_display()
|
||||
{
|
||||
// R0-R3 are 7segs
|
||||
set_display_segmask(0xf, 0x7f);
|
||||
display_matrix(8, 9, m_o, m_r);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(ss7in1_state::write_r)
|
||||
{
|
||||
// R9: speaker out
|
||||
m_speaker->level_w(data >> 9 & 1);
|
||||
|
||||
// R0-R2,R10: input mux
|
||||
m_inp_mux = (data & 7) | (data >> 7 & 8);
|
||||
|
||||
// R0-R9: digit/led select
|
||||
m_r = data;
|
||||
prepare_display();
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(ss7in1_state::write_o)
|
||||
{
|
||||
// O0-O7: led data
|
||||
m_o = data;
|
||||
prepare_display();
|
||||
}
|
||||
|
||||
READ8_MEMBER(ss7in1_state::read_k)
|
||||
{
|
||||
return read_inputs(4);
|
||||
}
|
||||
|
||||
|
||||
// config
|
||||
|
||||
static INPUT_PORTS_START( ss7in1 )
|
||||
PORT_START("IN.0") // R0
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
|
||||
|
||||
PORT_START("IN.1") // R1
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 )
|
||||
|
||||
PORT_START("IN.2") // R2
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
|
||||
|
||||
PORT_START("IN.3") // R10
|
||||
PORT_CONFNAME( 0x01, 0x00, "Players" )
|
||||
PORT_CONFSETTING( 0x00, "1" )
|
||||
PORT_CONFSETTING( 0x01, "2" )
|
||||
PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNUSED ) // ?
|
||||
INPUT_PORTS_END
|
||||
|
||||
static MACHINE_CONFIG_START( ss7in1, ss7in1_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1400, 450000) // approximation - RC osc. R=47K, C=47pf
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(ss7in1_state, read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ss7in1_state, write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ss7in1_state, write_o))
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_7in1ss)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Tomy(tronics) Break Up (manufactured in Japan)
|
||||
|
@ -8343,6 +8457,17 @@ ROM_START( ditto )
|
|||
ROM_END
|
||||
|
||||
|
||||
ROM_START( 7in1ss )
|
||||
ROM_REGION( 0x1000, "maincpu", 0 )
|
||||
ROM_LOAD( "mp7304", 0x0000, 0x1000, CRC(2a1c8390) SHA1(fa10e60686af6828a61f05046abc3854ab49af95) )
|
||||
|
||||
ROM_REGION( 867, "maincpu:mpla", 0 )
|
||||
ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
|
||||
ROM_REGION( 557, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms1400_7in1ss_output.pla", 0, 557, CRC(6b7660f7) SHA1(bb7d58fa04e7606ccdf5b209e1b089948bdd1e7c) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( tbreakup )
|
||||
ROM_REGION( 0x0400, "maincpu", 0 )
|
||||
ROM_LOAD( "mp2726a", 0x0000, 0x0400, CRC(1f7c28e2) SHA1(164cda4eb3f0b1d20955212a197c9aadf8d18a06) )
|
||||
|
@ -8450,6 +8575,7 @@ COMP( 1976, speechp, 0, 0, speechp, speechp, driver_device, 0, "Tel
|
|||
CONS( 1979, copycat, 0, 0, copycat, copycat, driver_device, 0, "Tiger Electronics", "Copy Cat (model 7-520)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1989, copycatm2, copycat, 0, copycatm2, copycatm2, driver_device, 0, "Tiger Electronics", "Copy Cat (model 7-522)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1981, ditto, 0, 0, ditto, ditto, driver_device, 0, "Tiger Electronics", "Ditto", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1982, 7in1ss, 0, 0, ss7in1, ss7in1, driver_device, 0, "Tiger Electronics", "7 in 1 Sports Stadium", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
|
||||
CONS( 1979, tbreakup, 0, 0, tbreakup, tbreakup, driver_device, 0, "Tomy", "Break Up (Tomy)", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1980, phpball, 0, 0, phpball, phpball, driver_device, 0, "Tomy", "Power House Pinball", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK )
|
||||
|
|
|
@ -810,7 +810,7 @@ MACHINE_CONFIG_END
|
|||
static MACHINE_CONFIG_START( cforte, novag6502_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M6502, 5000000) // 5MHz
|
||||
MCFG_CPU_ADD("maincpu", M65C02, 5000000) // 5MHz
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(novag6502_state, irq0_line_hold, 250) // guessed
|
||||
MCFG_CPU_PROGRAM_MAP(cforte_map)
|
||||
|
||||
|
@ -830,7 +830,7 @@ static MACHINE_CONFIG_START( sexpert, novag6502_state )
|
|||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M65C02, XTAL_10MHz/2) // or XTAL_12MHz/2
|
||||
MCFG_CPU_PROGRAM_MAP(sexpert_map)
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_on", novag6502_state, irq_on, attotime::from_hz(XTAL_32_768kHz/128))
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_on", novag6502_state, irq_on, attotime::from_hz(XTAL_32_768kHz/128)) // 256Hz
|
||||
MCFG_TIMER_START_DELAY(attotime::from_hz(XTAL_32_768kHz/128) - attotime::from_nsec(21500)) // active for 21.5us
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_off", novag6502_state, irq_off, attotime::from_hz(XTAL_32_768kHz/128))
|
||||
|
||||
|
@ -858,7 +858,7 @@ static MACHINE_CONFIG_START( sexpert, novag6502_state )
|
|||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("beeper", BEEP, XTAL_32_768kHz/32)
|
||||
MCFG_SOUND_ADD("beeper", BEEP, XTAL_32_768kHz/32) // 1024Hz
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
|
74
src/mame/layout/7in1ss.lay
Normal file
74
src/mame/layout/7in1ss.lay
Normal file
|
@ -0,0 +1,74 @@
|
|||
<?xml version="1.0"?>
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.25" blue="0.28" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<disk state="0"><color red="0.1" green="0.025" blue="0.028" /></disk>
|
||||
<disk state="1"><color red="1.0" green="0.25" blue="0.28" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="-1" right="21" top="-1" bottom="20" />
|
||||
|
||||
<bezel name="digit3" element="digit"><bounds x="17" y="3" width="3" height="2" /><orientation rotate="90" /></bezel>
|
||||
<bezel name="digit2" element="digit"><bounds x="17" y="5" width="3" height="2" /><orientation rotate="90" /></bezel>
|
||||
<bezel name="digit1" element="digit"><bounds x="17" y="12" width="3" height="2" /><orientation rotate="90" /></bezel>
|
||||
<bezel name="digit0" element="digit"><bounds x="17" y="14" width="3" height="2" /><orientation rotate="90" /></bezel>
|
||||
|
||||
<bezel name="4.0" element="led"><bounds x="0" y="0" width="1" height="1" /></bezel>
|
||||
<bezel name="5.0" element="led"><bounds x="3" y="0" width="1" height="1" /></bezel>
|
||||
<bezel name="6.0" element="led"><bounds x="6" y="0" width="1" height="1" /></bezel>
|
||||
<bezel name="7.0" element="led"><bounds x="9" y="0" width="1" height="1" /></bezel>
|
||||
<bezel name="8.0" element="led"><bounds x="12" y="0" width="1" height="1" /></bezel>
|
||||
|
||||
<bezel name="4.1" element="led"><bounds x="0" y="3" width="1" height="1" /></bezel>
|
||||
<bezel name="5.1" element="led"><bounds x="3" y="3" width="1" height="1" /></bezel>
|
||||
<bezel name="6.1" element="led"><bounds x="6" y="3" width="1" height="1" /></bezel>
|
||||
<bezel name="7.1" element="led"><bounds x="9" y="3" width="1" height="1" /></bezel>
|
||||
<bezel name="8.1" element="led"><bounds x="12" y="3" width="1" height="1" /></bezel>
|
||||
|
||||
<bezel name="4.2" element="led"><bounds x="0" y="6" width="1" height="1" /></bezel>
|
||||
<bezel name="5.2" element="led"><bounds x="3" y="6" width="1" height="1" /></bezel>
|
||||
<bezel name="6.2" element="led"><bounds x="6" y="6" width="1" height="1" /></bezel>
|
||||
<bezel name="7.2" element="led"><bounds x="9" y="6" width="1" height="1" /></bezel>
|
||||
<bezel name="8.2" element="led"><bounds x="12" y="6" width="1" height="1" /></bezel>
|
||||
|
||||
<bezel name="4.3" element="led"><bounds x="0" y="9" width="1" height="1" /></bezel>
|
||||
<bezel name="5.3" element="led"><bounds x="3" y="9" width="1" height="1" /></bezel>
|
||||
<bezel name="6.3" element="led"><bounds x="6" y="9" width="1" height="1" /></bezel>
|
||||
<bezel name="7.3" element="led"><bounds x="9" y="9" width="1" height="1" /></bezel>
|
||||
<bezel name="8.3" element="led"><bounds x="12" y="9" width="1" height="1" /></bezel>
|
||||
|
||||
<bezel name="4.4" element="led"><bounds x="0" y="12" width="1" height="1" /></bezel>
|
||||
<bezel name="5.4" element="led"><bounds x="3" y="12" width="1" height="1" /></bezel>
|
||||
<bezel name="6.4" element="led"><bounds x="6" y="12" width="1" height="1" /></bezel>
|
||||
<bezel name="7.4" element="led"><bounds x="9" y="12" width="1" height="1" /></bezel>
|
||||
<bezel name="8.4" element="led"><bounds x="12" y="12" width="1" height="1" /></bezel>
|
||||
|
||||
<bezel name="4.5" element="led"><bounds x="0" y="15" width="1" height="1" /></bezel>
|
||||
<bezel name="5.5" element="led"><bounds x="3" y="15" width="1" height="1" /></bezel>
|
||||
<bezel name="6.5" element="led"><bounds x="6" y="15" width="1" height="1" /></bezel>
|
||||
<bezel name="7.5" element="led"><bounds x="9" y="15" width="1" height="1" /></bezel>
|
||||
<bezel name="8.5" element="led"><bounds x="12" y="15" width="1" height="1" /></bezel>
|
||||
|
||||
<bezel name="4.6" element="led"><bounds x="0" y="18" width="1" height="1" /></bezel>
|
||||
<bezel name="5.6" element="led"><bounds x="3" y="18" width="1" height="1" /></bezel>
|
||||
<bezel name="6.6" element="led"><bounds x="6" y="18" width="1" height="1" /></bezel>
|
||||
<bezel name="7.6" element="led"><bounds x="9" y="18" width="1" height="1" /></bezel>
|
||||
<bezel name="8.6" element="led"><bounds x="12" y="18" width="1" height="1" /></bezel>
|
||||
|
||||
<bezel name="7.7" element="led"><bounds x="6" y="13.5" width="1" height="1" /></bezel>
|
||||
<bezel name="6.7" element="led"><bounds x="6" y="16.5" width="1" height="1" /></bezel>
|
||||
<bezel name="5.7" element="led"><bounds x="4.5" y="17.25" width="1" height="1" /></bezel>
|
||||
<bezel name="4.7" element="led"><bounds x="7.5" y="17.25" width="1" height="1" /></bezel>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
|
@ -14257,6 +14257,7 @@ ktopgun // Konami
|
|||
nupogodi //
|
||||
|
||||
@source:hh_tms1k.cpp
|
||||
7in1ss // Tiger Electronics
|
||||
amaztron // Coleco
|
||||
astro // Kosmos
|
||||
bankshot // Parker Bros
|
||||
|
|
Loading…
Reference in a new issue