mirror of
https://github.com/mamedev/mame.git
synced 2024-11-16 07:48:32 +01:00
New systems marked not working
------------------------------ Finger Bowl [hap, Sean Riddle]
This commit is contained in:
parent
e652bc413e
commit
7ae8aed8ab
4 changed files with 216 additions and 61 deletions
|
@ -3361,7 +3361,7 @@ protected:
|
|||
void plate_w(offs_t offset, u8 data);
|
||||
void grid_w(u16 data);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(speaker_w);
|
||||
void speaker_w(int state);
|
||||
void cop_irq_w(u8 data);
|
||||
u8 cop_latch_r();
|
||||
u8 cop_ack_r();
|
||||
|
@ -3433,7 +3433,7 @@ void eturtles_state::update_int()
|
|||
|
||||
// handlers: COP side
|
||||
|
||||
WRITE_LINE_MEMBER(eturtles_state::speaker_w)
|
||||
void eturtles_state::speaker_w(int state)
|
||||
{
|
||||
// SK: speaker out
|
||||
m_speaker->level_w(!state);
|
||||
|
|
|
@ -58,6 +58,7 @@ TODO:
|
|||
- tithermos temperature sensor comparator (right now just the digital clock works)
|
||||
- is alphie(patent) the same as the final version?
|
||||
- is starwbcp the same as MP3438? (starwbc is MP3438A)
|
||||
- fingbowl internal artwork
|
||||
|
||||
================================================================================
|
||||
|
||||
|
@ -111,6 +112,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
|
|||
@MP1228 TMS1100 1980, Entex Musical Marvin (6014)
|
||||
@MP1231 TMS1100 1984, Tandy 3 in 1 Sports Arena (model 60-2178)
|
||||
*MP1272 TMS1100 1981, Tandy Computerized Arcade (assumed same as CD7282, not confirmed)
|
||||
@MP1288 TMS1100 1981, Tiger Finger Bowl
|
||||
@MP1296 TMS1100 1982, Entex Black Knight Pinball (6081)
|
||||
@MP1311 TMS1100 1981, Bandai TC7: Air Traffic Control
|
||||
@MP1312 TMS1100 1981, Gakken FX-Micom R-165/Radio Shack Science Fair Microcomputer Trainer
|
||||
|
@ -288,6 +290,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
|
|||
#include "esoccer.lh"
|
||||
#include "f2pbball.lh"
|
||||
#include "f3in1.lh"
|
||||
#include "fingbowl.lh" // clickable
|
||||
#include "fxmcr165.lh" // clickable
|
||||
#include "gjackpot.lh"
|
||||
#include "gpoker.lh"
|
||||
|
@ -396,7 +399,7 @@ protected:
|
|||
|
||||
u8 read_inputs(int columns);
|
||||
u8 read_rotated_inputs(int columns, u8 rowmask = 0xf);
|
||||
virtual DECLARE_WRITE_LINE_MEMBER(auto_power_off);
|
||||
virtual void auto_power_off(int state);
|
||||
virtual void power_off();
|
||||
virtual void set_power(bool state);
|
||||
void switch_change(int sel, u32 mask, bool next);
|
||||
|
@ -481,7 +484,7 @@ INPUT_CHANGED_MEMBER(hh_tms1k_state::power_button)
|
|||
set_power((bool)param);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(hh_tms1k_state::auto_power_off)
|
||||
void hh_tms1k_state::auto_power_off(int state)
|
||||
{
|
||||
// devices with a TMS0980 can auto power-off
|
||||
if (state)
|
||||
|
@ -15222,6 +15225,134 @@ ROM_END
|
|||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
|
||||
Tiger Finger Bowl (model 7-545)
|
||||
* TMS1100 MP1288 (no decap)
|
||||
* 3 7seg LEDs, 1-bit sound
|
||||
|
||||
It's a track & field board game, played by sliding or tapping your finger.
|
||||
5 hurdles were included, though they're not essential.
|
||||
|
||||
*******************************************************************************/
|
||||
|
||||
class fingbowl_state : public hh_tms1k_state
|
||||
{
|
||||
public:
|
||||
fingbowl_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
hh_tms1k_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void fingbowl(machine_config &config);
|
||||
|
||||
private:
|
||||
void update_display();
|
||||
void write_r(u32 data);
|
||||
void write_o(u16 data);
|
||||
u8 read_k();
|
||||
};
|
||||
|
||||
// handlers
|
||||
|
||||
void fingbowl_state::update_display()
|
||||
{
|
||||
m_display->matrix(m_r, m_o);
|
||||
}
|
||||
|
||||
void fingbowl_state::write_r(u32 data)
|
||||
{
|
||||
// R8: speaker out
|
||||
m_speaker->level_w(BIT(data, 8));
|
||||
|
||||
// R4-R7: input mux
|
||||
m_inp_mux = data >> 4 & 0xf;
|
||||
|
||||
// R0-R2: digit select
|
||||
m_r = data;
|
||||
update_display();
|
||||
}
|
||||
|
||||
void fingbowl_state::write_o(u16 data)
|
||||
{
|
||||
// O0-O6: led data
|
||||
m_o = data;
|
||||
update_display();
|
||||
}
|
||||
|
||||
u8 fingbowl_state::read_k()
|
||||
{
|
||||
// K: multiplexed inputs
|
||||
return read_inputs(4);
|
||||
}
|
||||
|
||||
// inputs
|
||||
|
||||
static INPUT_PORTS_START( fingbowl )
|
||||
PORT_START("IN.0") // R4
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON4 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
|
||||
PORT_START("IN.1") // R5
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON8 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON7 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON6 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON5 )
|
||||
|
||||
PORT_START("IN.2") // R6
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON12 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON11 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON10 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON9 )
|
||||
|
||||
PORT_START("IN.3") // R7
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON16 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON15 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON14 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON13 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
// config
|
||||
|
||||
void fingbowl_state::fingbowl(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
TMS1100(config, m_maincpu, 250000); // approximation - RC osc. R=68K, C=47pF
|
||||
m_maincpu->read_k().set(FUNC(fingbowl_state::read_k));
|
||||
m_maincpu->write_r().set(FUNC(fingbowl_state::write_r));
|
||||
m_maincpu->write_o().set(FUNC(fingbowl_state::write_o));
|
||||
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_display).set_size(3, 7);
|
||||
m_display->set_segmask(7, 0x7f);
|
||||
config.set_default_layout(layout_fingbowl);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
SPEAKER_SOUND(config, m_speaker);
|
||||
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
}
|
||||
|
||||
// roms
|
||||
|
||||
ROM_START( fingbowl )
|
||||
ROM_REGION( 0x0800, "maincpu", 0 )
|
||||
ROM_LOAD( "mp1288", 0x0000, 0x0800, CRC(8eb489ad) SHA1(65efe9fb25f6a5e0a1319558388d84053e003e93) )
|
||||
|
||||
ROM_REGION( 867, "maincpu:mpla", 0 )
|
||||
ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, BAD_DUMP CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) ) // not verified
|
||||
ROM_REGION( 365, "maincpu:opla", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "tms1100_fingbowl_output.pla", 0, 365, NO_DUMP )
|
||||
|
||||
ROM_REGION16_LE( 0x40, "maincpu:opla_b", ROMREGION_ERASE00 ) // verified, electronic dump, 2nd half unused
|
||||
ROM_LOAD16_BYTE( "tms1100_fingbowl_output.bin", 0, 0x20, CRC(b84a8afb) SHA1(777c06c1ebb7884a268385b0f9d6d064400ff757) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
|
||||
Tiger 7 in 1 Sports Stadium (model 7-555)
|
||||
|
@ -16750,6 +16881,7 @@ SYST( 1980, dxfootb, 0, 0, dxfootb, dxfootb, dxfootb_state,
|
|||
SYST( 1979, copycat, 0, 0, copycat, copycat, copycat_state, empty_init, "Tiger Electronics", "Copy Cat (model 7-520)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1989, copycata, copycat, 0, copycata, copycata, copycata_state, empty_init, "Tiger Electronics", "Copy Cat (model 7-522)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1981, ditto, 0, 0, ditto, ditto, ditto_state, empty_init, "Tiger Electronics", "Ditto", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1981, fingbowl, 0, 0, fingbowl, fingbowl, fingbowl_state, empty_init, "Tiger Electronics", "Finger Bowl", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING ) // ***
|
||||
SYST( 1982, t7in1ss, 0, 0, t7in1ss, t7in1ss, t7in1ss_state, empty_init, "Tiger Electronics", "7 in 1 Sports Stadium", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK )
|
||||
|
||||
SYST( 1979, tmvolleyb, 0, 0, tmvolleyb, tmvolleyb, tmvolleyb_state, empty_init, "Tomy", "Volleyball (Tomy)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
|
22
src/mame/layout/fingbowl.lay
Normal file
22
src/mame/layout/fingbowl.lay
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0-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>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<element name="digit0" ref="digit"><bounds x="0" y="0" width="2" height="3" /></element>
|
||||
<element name="digit1" ref="digit"><bounds x="2" y="0" width="2" height="3" /></element>
|
||||
<element name="digit2" ref="digit"><bounds x="4" y="0" width="2" height="3" /></element>
|
||||
</view>
|
||||
|
||||
</mamelayout>
|
|
@ -18858,75 +18858,75 @@ nummunch // VTech
|
|||
nupogodi // Elektronika
|
||||
okhota // Elektronika
|
||||
rkosmosa // Elektronika
|
||||
taddams // Tiger
|
||||
taltbeast // Tiger
|
||||
tapollo13 // Tiger
|
||||
taddams // Tiger Electronics
|
||||
taltbeast // Tiger Electronics
|
||||
tapollo13 // Tiger Electronics
|
||||
taynyoke // Elektronika
|
||||
tbatfor // Tiger
|
||||
tbatman // Tiger
|
||||
tbatmana // Tiger
|
||||
tbtoads // Tiger
|
||||
tbttf // Tiger
|
||||
tddragon // Tiger
|
||||
tddragon3 // Tiger
|
||||
tdennis // Tiger
|
||||
tdummies // Tiger
|
||||
tflash // Tiger
|
||||
tgaiden // Tiger
|
||||
tgaiden3 // Tiger
|
||||
tgargnf // Tiger
|
||||
tgaunt // Tiger
|
||||
tgoldeye // Tiger
|
||||
tgoldnaxe // Tiger
|
||||
thalone // Tiger
|
||||
thalone2 // Tiger
|
||||
thook // Tiger
|
||||
tbatfor // Tiger Electronics
|
||||
tbatman // Tiger Electronics
|
||||
tbatmana // Tiger Electronics
|
||||
tbtoads // Tiger Electronics
|
||||
tbttf // Tiger Electronics
|
||||
tddragon // Tiger Electronics
|
||||
tddragon3 // Tiger Electronics
|
||||
tdennis // Tiger Electronics
|
||||
tdummies // Tiger Electronics
|
||||
tflash // Tiger Electronics
|
||||
tgaiden // Tiger Electronics
|
||||
tgaiden3 // Tiger Electronics
|
||||
tgargnf // Tiger Electronics
|
||||
tgaunt // Tiger Electronics
|
||||
tgoldeye // Tiger Electronics
|
||||
tgoldnaxe // Tiger Electronics
|
||||
thalone // Tiger Electronics
|
||||
thalone2 // Tiger Electronics
|
||||
thook // Tiger Electronics
|
||||
tigarden // Tronica
|
||||
tinday // Tiger
|
||||
tjdredd // Tiger
|
||||
tjpark // Tiger
|
||||
tkarnov // Tiger
|
||||
tkazaam // Tiger
|
||||
tmchammer // Tiger
|
||||
tmegaman3 // Tiger
|
||||
tmkombat // Tiger
|
||||
tnmarebc // Tiger
|
||||
topaliens // Tiger
|
||||
trobhood // Tiger
|
||||
trobocop2 // Tiger
|
||||
trobocop3 // Tiger
|
||||
trockteer // Tiger
|
||||
tinday // Tiger Electronics
|
||||
tjdredd // Tiger Electronics
|
||||
tjpark // Tiger Electronics
|
||||
tkarnov // Tiger Electronics
|
||||
tkazaam // Tiger Electronics
|
||||
tmchammer // Tiger Electronics
|
||||
tmegaman3 // Tiger Electronics
|
||||
tmkombat // Tiger Electronics
|
||||
tnmarebc // Tiger Electronics
|
||||
topaliens // Tiger Electronics
|
||||
trobhood // Tiger Electronics
|
||||
trobocop2 // Tiger Electronics
|
||||
trobocop3 // Tiger Electronics
|
||||
trockteer // Tiger Electronics
|
||||
trsgkeep // Tronica
|
||||
trshutvoy // Tronica
|
||||
trspacmis // Tronica
|
||||
trspider // Tronica
|
||||
trsrescue // Tronica
|
||||
trthuball // Tronica
|
||||
tsddragon // Tiger
|
||||
tsf2010 // Tiger
|
||||
tsfight2 // Tiger
|
||||
tshadow // Tiger
|
||||
tsharr2 // Tiger
|
||||
tsimquest // Tiger
|
||||
tsjam // Tiger
|
||||
tskelwarr // Tiger
|
||||
tsonic // Tiger
|
||||
tsonic2 // Tiger
|
||||
tspidman // Tiger
|
||||
tstrider // Tiger
|
||||
tsuperman // Tiger
|
||||
tswampt // Tiger
|
||||
ttransf2 // Tiger
|
||||
tvindictr // Tiger
|
||||
twworld // Tiger
|
||||
txmen // Tiger
|
||||
txmenpx // Tiger
|
||||
tsddragon // Tiger Electronics
|
||||
tsf2010 // Tiger Electronics
|
||||
tsfight2 // Tiger Electronics
|
||||
tshadow // Tiger Electronics
|
||||
tsharr2 // Tiger Electronics
|
||||
tsimquest // Tiger Electronics
|
||||
tsjam // Tiger Electronics
|
||||
tskelwarr // Tiger Electronics
|
||||
tsonic // Tiger Electronics
|
||||
tsonic2 // Tiger Electronics
|
||||
tspidman // Tiger Electronics
|
||||
tstrider // Tiger Electronics
|
||||
tsuperman // Tiger Electronics
|
||||
tswampt // Tiger Electronics
|
||||
ttransf2 // Tiger Electronics
|
||||
tvindictr // Tiger Electronics
|
||||
twworld // Tiger Electronics
|
||||
txmen // Tiger Electronics
|
||||
txmenpx // Tiger Electronics
|
||||
vespovar // Elektronika
|
||||
vfutbol // Elektronika
|
||||
|
||||
@source:handheld/hh_smc1k.cpp
|
||||
tkkongq // Tiger
|
||||
tlluke2 // Tiger
|
||||
tkkongq // Tiger Electronics
|
||||
tlluke2 // Tiger Electronics
|
||||
|
||||
@source:handheld/hh_tms1k.cpp
|
||||
alphie // Playskool
|
||||
|
@ -18968,6 +18968,7 @@ esbattle // Entex
|
|||
esoccer // Entex
|
||||
f2pbball // Fonas
|
||||
f3in1 // Fonas
|
||||
fingbowl // Tiger Electronics
|
||||
fxmcr165 // Gakken
|
||||
ginv // Gakken
|
||||
ginv1000 // Gakken
|
||||
|
|
Loading…
Reference in a new issue