mirror of
https://github.com/holub/mame
synced 2025-10-06 09:00:04 +03:00
New working machine added
--------- A-One Arrange Ball/Tandy Zingo/LJN Computer Impulse [hap, Sean Riddle]
This commit is contained in:
parent
7c46c30c80
commit
5461e46882
@ -154,6 +154,7 @@
|
||||
#include "7in1ss.lh"
|
||||
#include "amaztron.lh" // clickable
|
||||
#include "arcmania.lh"
|
||||
#include "arrball.lh"
|
||||
#include "astro.lh"
|
||||
#include "bankshot.lh"
|
||||
#include "bcheetah.lh"
|
||||
@ -558,13 +559,15 @@ MACHINE_CONFIG_END
|
||||
/***************************************************************************
|
||||
|
||||
A-One LSI Arrange Ball
|
||||
* PCB label Kaken, PT-249
|
||||
* TMS1000NLL MP0166 (die label 1000B, MP0166)
|
||||
* 2-digit 7seg LED display + 22 LEDs, 1-bit sound
|
||||
|
||||
known releases:
|
||||
- Japan/World: Arrange Ball (black case)
|
||||
- USA(1): Computer Impulse, published by LJN (white case)
|
||||
- USA(2): Zingo (model 60-2123), published by Tandy (red case)
|
||||
- USA(1): Zingo (model 60-2123), published by Tandy (red case)
|
||||
- USA(2): Computer Impulse, published by LJN (white case)
|
||||
- Germany: Fixball, unknown publisher, same as LJN version
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -575,6 +578,7 @@ public:
|
||||
: hh_tms1k_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void prepare_display();
|
||||
DECLARE_WRITE16_MEMBER(write_r);
|
||||
DECLARE_WRITE16_MEMBER(write_o);
|
||||
DECLARE_READ8_MEMBER(read_k);
|
||||
@ -582,24 +586,50 @@ public:
|
||||
|
||||
// handlers
|
||||
|
||||
void arrball_state::prepare_display()
|
||||
{
|
||||
set_display_segmask(0x10, 0x7f);
|
||||
set_display_segmask(0x20, 0x06); // left digit only segments B and C
|
||||
display_matrix(7, 7, m_o, m_r);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(arrball_state::write_r)
|
||||
{
|
||||
// R8: input mux (always set)
|
||||
m_inp_mux = data >> 8 & 1;
|
||||
|
||||
// R9,R10: speaker out
|
||||
m_speaker->level_w(data >> 9 & 3);
|
||||
|
||||
// R0-R6: digit/led select
|
||||
m_r = data;
|
||||
prepare_display();
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(arrball_state::write_o)
|
||||
{
|
||||
// O0-O6: digit segments/led data
|
||||
m_o = data;
|
||||
prepare_display();
|
||||
}
|
||||
|
||||
READ8_MEMBER(arrball_state::read_k)
|
||||
{
|
||||
return 0;
|
||||
// K: multiplexed inputs (actually just 1)
|
||||
return read_inputs(1);
|
||||
}
|
||||
|
||||
|
||||
// config
|
||||
|
||||
static INPUT_PORTS_START( arrball )
|
||||
|
||||
PORT_START("IN.0") // R8
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Shot")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Stop")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_CONFNAME( 0x08, 0x00, "Speed" )
|
||||
PORT_CONFSETTING( 0x00, "Slow" )
|
||||
PORT_CONFSETTING( 0x08, "Fast" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const s16 arrball_speaker_levels[4] = { 0, 0x7fff, -0x8000, 0 };
|
||||
@ -613,7 +643,7 @@ static MACHINE_CONFIG_START( arrball )
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(arrball_state, write_o))
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
|
||||
//MCFG_DEFAULT_LAYOUT(layout_arrball)
|
||||
MCFG_DEFAULT_LAYOUT(layout_arrball)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
49
src/mame/layout/arrball.lay
Normal file
49
src/mame/layout/arrball.lay
Normal file
@ -0,0 +1,49 @@
|
||||
<?xml version="1.0"?>
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
|
||||
<disk state="0"><color red="0.1" green="0.01" blue="0.015" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="0" right="18" top="0" bottom="36" />
|
||||
|
||||
<bezel name="0.0" element="led"><bounds x="0" y="10" width="1" height="1" /></bezel>
|
||||
<bezel name="0.1" element="led"><bounds x="2" y="10" width="1" height="1" /></bezel>
|
||||
<bezel name="0.2" element="led"><bounds x="4" y="10" width="1" height="1" /></bezel>
|
||||
<bezel name="0.3" element="led"><bounds x="6" y="10" width="1" height="1" /></bezel>
|
||||
<bezel name="1.0" element="led"><bounds x="0" y="12" width="1" height="1" /></bezel>
|
||||
<bezel name="1.1" element="led"><bounds x="2" y="12" width="1" height="1" /></bezel>
|
||||
<bezel name="1.2" element="led"><bounds x="4" y="12" width="1" height="1" /></bezel>
|
||||
<bezel name="1.3" element="led"><bounds x="6" y="12" width="1" height="1" /></bezel>
|
||||
<bezel name="2.0" element="led"><bounds x="0" y="14" width="1" height="1" /></bezel>
|
||||
<bezel name="2.1" element="led"><bounds x="2" y="14" width="1" height="1" /></bezel>
|
||||
<bezel name="2.2" element="led"><bounds x="4" y="14" width="1" height="1" /></bezel>
|
||||
<bezel name="2.3" element="led"><bounds x="6" y="14" width="1" height="1" /></bezel>
|
||||
<bezel name="3.0" element="led"><bounds x="0" y="16" width="1" height="1" /></bezel>
|
||||
<bezel name="3.1" element="led"><bounds x="2" y="16" width="1" height="1" /></bezel>
|
||||
<bezel name="3.2" element="led"><bounds x="4" y="16" width="1" height="1" /></bezel>
|
||||
<bezel name="3.3" element="led"><bounds x="6" y="16" width="1" height="1" /></bezel>
|
||||
|
||||
<bezel name="6.0" element="led"><bounds x="8" y="16" width="1" height="1" /></bezel>
|
||||
<bezel name="6.1" element="led"><bounds x="8" y="14" width="1" height="1" /></bezel>
|
||||
<bezel name="6.2" element="led"><bounds x="8" y="12" width="1" height="1" /></bezel>
|
||||
<bezel name="6.3" element="led"><bounds x="8" y="10" width="1" height="1" /></bezel>
|
||||
<bezel name="6.4" element="led"><bounds x="8" y="8" width="1" height="1" /></bezel>
|
||||
<bezel name="6.5" element="led"><bounds x="6" y="8" width="1" height="1" /></bezel>
|
||||
|
||||
<bezel name="digit5" element="digit"><bounds x="0" y="0" width="4" height="6" /></bezel>
|
||||
<bezel name="digit4" element="digit"><bounds x="4" y="0" width="4" height="6" /></bezel>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
Loading…
Reference in New Issue
Block a user