Previous 199869 Revisions Next

r44549 Thursday 28th January, 2016 at 21:05:35 UTC by hap
fidelz80: added VSC foreign language sets
[src/mame]mess.lst
[src/mame/drivers]fidelz80.cpp
[src/mame/includes]fidelz80.h

trunk/src/mame/drivers/fidelz80.cpp
r253060r253061
598598PB.4 - white wire (and TSI BUSY line)
599599PB.5 - selection jumper input (see below)
600600PB.6 - TSI start line
601PB.7 - TSI ROM D0 line
601PB.7 - TSI ROM A12 line
602602
603603
604604selection jumpers:
r253060r253061
10701070{
10711071   // d0-d3: select digits
10721072   // d0-d7: select leds, input mux low bits
1073   m_inp_mux = (m_inp_mux & 0x300) | data;
1073   m_inp_mux = (m_inp_mux & ~0xff) | data;
10741074   m_led_select = data;
10751075   vsc_prepare_display();
10761076}
r253060r253061
10811081READ8_MEMBER(fidelz80_state::vsc_pio_porta_r)
10821082{
10831083   // d0-d7: multiplexed inputs
1084   return read_inputs(10);
1084   return read_inputs(11);
1085   
10851086}
10861087
10871088READ8_MEMBER(fidelz80_state::vsc_pio_portb_r)
r253060r253061
10901091
10911092   // d4: TSI BUSY line
10921093   ret |= (m_speech->busy_r()) ? 0 : 0x10;
1093
1094   
10941095   return ret;
10951096}
10961097
10971098WRITE8_MEMBER(fidelz80_state::vsc_pio_portb_w)
10981099{
10991100   // d0,d1: input mux highest bits
1100   m_inp_mux = (m_inp_mux & 0xff) | (data << 8 & 0x300);
1101
1101   // d5: enable language switch
1102   m_inp_mux = (m_inp_mux & ~0x700) | (data << 8 & 0x300) | (data << 5 & 0x400);
1103   
1104   //if (m_inp_mux & 0x400) debugger_break(machine());
1105   
1106   // d7: TSI ROM A12
1107   
1108   m_speech->force_update(); // update stream to now
1109   m_speech_bank = data >> 7 & 1;
1110   
11021111   // d6: TSI START line
11031112   m_speech->start_w(data >> 6 & 1);
1104
1113   
11051114   // d2: lower TSI volume
11061115   m_speech->set_output_gain(0, (data & 4) ? 0.5 : 1.0);
11071116}
r253060r253061
12981307   PORT_START("IN.4")
12991308   PORT_BIT(0x0f, IP_ACTIVE_HIGH, IPT_UNUSED)
13001309
1301   PORT_START("LEVEL") // factory setting
1302   PORT_CONFNAME( 0x80, 0x00, "PPI.B.7: Maximum Levels" )
1303   PORT_CONFSETTING( 0x00, "10" )
1310   PORT_START("LEVEL") // hardwired (VCC/GND?)
1311   PORT_CONFNAME( 0x80, 0x00, "Maximum Levels" )
1312   PORT_CONFSETTING( 0x00, "10" ) // factory setting
13041313   PORT_CONFSETTING( 0x80, "3" )
13051314INPUT_PORTS_END
13061315
13071316static INPUT_PORTS_START( vcc )
13081317   PORT_INCLUDE( vcc_base )
13091318
1310   PORT_START("IN.4") // not consumer accessible
1311   PORT_CONFNAME( 0x01, 0x00, "PCB Jumper: French" )
1319   PORT_START("IN.4") // PCB jumpers, not consumer accessible
1320   PORT_CONFNAME( 0x01, 0x00, "Language: French" )
13121321   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13131322   PORT_CONFSETTING(    0x01, DEF_STR( On ) )
1314   PORT_CONFNAME( 0x02, 0x00, "PCB Jumper: Spanish" )
1323   PORT_CONFNAME( 0x02, 0x00, "Language: Spanish" )
13151324   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13161325   PORT_CONFSETTING(    0x02, DEF_STR( On ) )
1317   PORT_CONFNAME( 0x04, 0x00, "PCB Jumper: German" )
1326   PORT_CONFNAME( 0x04, 0x00, "Language: German" )
13181327   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13191328   PORT_CONFSETTING(    0x04, DEF_STR( On ) )
1320   PORT_CONFNAME( 0x08, 0x00, "PCB Jumper: Special" )
1329   PORT_CONFNAME( 0x08, 0x00, "Language: Special" )
13211330   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13221331   PORT_CONFSETTING(    0x08, DEF_STR( On ) )
13231332INPUT_PORTS_END
r253060r253061
13261335   PORT_INCLUDE( vcc )
13271336
13281337   PORT_MODIFY("IN.4")
1329   PORT_CONFNAME( 0x01, 0x01, "PCB Jumper: French" )
1338   PORT_CONFNAME( 0x01, 0x01, "Language: French" )
13301339   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13311340   PORT_CONFSETTING(    0x01, DEF_STR( On ) )
13321341INPUT_PORTS_END
r253060r253061
13351344   PORT_INCLUDE( vcc )
13361345
13371346   PORT_MODIFY("IN.4")
1338   PORT_CONFNAME( 0x02, 0x02, "PCB Jumper: Spanish" )
1347   PORT_CONFNAME( 0x02, 0x02, "Language: Spanish" )
13391348   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13401349   PORT_CONFSETTING(    0x02, DEF_STR( On ) )
13411350INPUT_PORTS_END
r253060r253061
13441353   PORT_INCLUDE( vcc )
13451354
13461355   PORT_MODIFY("IN.4")
1347   PORT_CONFNAME( 0x04, 0x04, "PCB Jumper: German" )
1356   PORT_CONFNAME( 0x04, 0x04, "Language: German" )
13481357   PORT_CONFSETTING(    0x00, DEF_STR( Off ) )
13491358   PORT_CONFSETTING(    0x04, DEF_STR( On ) )
13501359INPUT_PORTS_END
r253060r253061
14491458   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("DM") PORT_CODE(KEYCODE_M)
14501459   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ST") PORT_CODE(KEYCODE_S)
14511460   PORT_BIT(0xc0, IP_ACTIVE_HIGH, IPT_UNUSED)
1461
1462   PORT_START("IN.10") // hardwired (2 diodes)
1463   PORT_CONFNAME( 0x03, 0x00, "Language" )
1464   PORT_CONFSETTING( 0x00, "English" )
1465   PORT_CONFSETTING( 0x01, "1" ) // todo: game dasm says it checks against 0/not0, 2, 3.. which language is which?
1466   PORT_CONFSETTING( 0x02, "2" )
1467   PORT_CONFSETTING( 0x03, "3" )
14521468INPUT_PORTS_END
14531469
14541470static INPUT_PORTS_START( vbrc )
r253060r253061
15821598   /* sound hardware */
15831599   MCFG_SPEAKER_STANDARD_MONO("mono")
15841600   MCFG_SOUND_ADD("speech", S14001A, 25000) // R/C circuit, around 25khz
1601   MCFG_S14001A_EXT_READ_HANDLER(READ8(fidelz80_state, vcc_speech_r))
15851602   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
15861603MACHINE_CONFIG_END
15871604
r253060r253061
17051722   ROM_LOAD("101-64109.bin", 0x2000, 0x2000, CRC(08a3577c) SHA1(69fe379d21a9d4b57c84c3832d7b3e7431eec341) )
17061723   ROM_LOAD("101-32024.bin", 0x4000, 0x1000, CRC(2a078676) SHA1(db2f0aba7e8ac0f84a17bae7155210cdf0813afb) )
17071724
1708   ROM_REGION( 0x1000, "speech", 0 )
1725   ROM_REGION( 0x2000, "speech", 0 )
17091726   ROM_LOAD("101-32107.bin", 0x0000, 0x1000, CRC(f35784f9) SHA1(348e54a7fa1e8091f89ac656b4da22f28ca2e44d) )
1727   ROM_RELOAD(               0x1000, 0x1000)
17101728ROM_END
17111729
1730ROM_START( vscsp )
1731   ROM_REGION( 0x10000, "maincpu", 0 )
1732   ROM_LOAD("101-64108.bin", 0x0000, 0x2000, CRC(c9c98490) SHA1(e6db883df088d60463e75db51433a4b01a3e7626) )
1733   ROM_LOAD("101-64109.bin", 0x2000, 0x2000, CRC(08a3577c) SHA1(69fe379d21a9d4b57c84c3832d7b3e7431eec341) )
1734   ROM_LOAD("101-32024.bin", 0x4000, 0x1000, CRC(2a078676) SHA1(db2f0aba7e8ac0f84a17bae7155210cdf0813afb) )
17121735
1736   ROM_REGION( 0x2000, "speech", 0 )
1737   ROM_LOAD("vcc-spanish.bin", 0x0000, 0x2000, BAD_DUMP CRC(8766e128) SHA1(78c7413bf240159720b131ab70bfbdf4e86eb1e9) ) // taken from vcc/fexcelv, assume correct
1738ROM_END
1739
1740ROM_START( vscg )
1741   ROM_REGION( 0x10000, "maincpu", 0 )
1742   ROM_LOAD("101-64108.bin", 0x0000, 0x2000, CRC(c9c98490) SHA1(e6db883df088d60463e75db51433a4b01a3e7626) )
1743   ROM_LOAD("101-64109.bin", 0x2000, 0x2000, CRC(08a3577c) SHA1(69fe379d21a9d4b57c84c3832d7b3e7431eec341) )
1744   ROM_LOAD("101-32024.bin", 0x4000, 0x1000, CRC(2a078676) SHA1(db2f0aba7e8ac0f84a17bae7155210cdf0813afb) )
1745
1746   ROM_REGION( 0x2000, "speech", 0 )
1747   ROM_LOAD("vcc-german.bin", 0x0000, 0x2000, BAD_DUMP CRC(6c85e310) SHA1(20d1d6543c1e6a1f04184a2df2a468f33faec3ff) ) // taken from fexcelv, assume correct
1748ROM_END
1749
1750ROM_START( vscfr )
1751   ROM_REGION( 0x10000, "maincpu", 0 )
1752   ROM_LOAD("101-64108.bin", 0x0000, 0x2000, CRC(c9c98490) SHA1(e6db883df088d60463e75db51433a4b01a3e7626) )
1753   ROM_LOAD("101-64109.bin", 0x2000, 0x2000, CRC(08a3577c) SHA1(69fe379d21a9d4b57c84c3832d7b3e7431eec341) )
1754   ROM_LOAD("101-32024.bin", 0x4000, 0x1000, CRC(2a078676) SHA1(db2f0aba7e8ac0f84a17bae7155210cdf0813afb) )
1755
1756   ROM_REGION( 0x2000, "speech", 0 )
1757   ROM_LOAD("vcc-french.bin", 0x0000, 0x2000, BAD_DUMP CRC(fe8c5c18) SHA1(2b64279ab3747ee81c86963c13e78321c6cfa3a3) ) // taken from fexcelv, assume correct
1758ROM_END
1759
1760
17131761ROM_START( vbrc ) // AKA model 7002
17141762   ROM_REGION( 0x10000, "maincpu", 0 )
17151763   // nec 2364 mask roms; pin 27 (PGM, probably NC here due to mask roms) goes to the pcb
r253060r253061
17571805COMP( 1980, uvcg,     vcc,    0,      vcc,     vccg,   driver_device, 0, "Fidelity Electronics", "Advanced Voice Chess Challenger (German)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
17581806COMP( 1980, uvcfr,    vcc,    0,      vcc,     vccfr,  driver_device, 0, "Fidelity Electronics", "Advanced Voice Chess Challenger (French)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
17591807
1760COMP( 1980, vsc,      0,      0,      vsc,     vsc,    driver_device, 0, "Fidelity Electronics", "Voice Sensory Chess Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK )
1808COMP( 1980, vsc,      0,      0,      vsc,     vsc,    driver_device, 0, "Fidelity Electronics", "Voice Sensory Chess Challenger (English)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK )
1809COMP( 1980, vscsp,    vsc,    0,      vsc,     vsc,    driver_device, 0, "Fidelity Electronics", "Voice Sensory Chess Challenger (Spanish)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK )
1810COMP( 1980, vscg,     vsc,    0,      vsc,     vsc,    driver_device, 0, "Fidelity Electronics", "Voice Sensory Chess Challenger (German)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK )
1811COMP( 1980, vscfr,    vsc,    0,      vsc,     vsc,    driver_device, 0, "Fidelity Electronics", "Voice Sensory Chess Challenger (French)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK )
17611812
17621813COMP( 1979, vbrc,     0,      0,      vbrc,    vbrc,   driver_device, 0, "Fidelity Electronics", "Voice Bridge Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
17631814COMP( 1980, bridgec3, vbrc,   0,      vbrc,    vbrc,   driver_device, 0, "Fidelity Electronics", "Voice Bridge Challenger III", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
trunk/src/mame/includes/fidelz80.h
r253060r253061
2525
2626   // devices/pointers
2727   required_device<cpu_device> m_maincpu;
28   optional_ioport_array<10> m_inp_matrix; // max 10
28   optional_ioport_array<11> m_inp_matrix; // max 11
2929   optional_device<s14001a_device> m_speech;
3030   optional_region_ptr<UINT8> m_speech_rom;
3131
trunk/src/mame/mess.lst
r253060r253061
21532153bridgec3
21542154vbrc
21552155vsc
2156vscg
2157vscfr
2158vscsp
21562159csc
21572160fscc12
21582161fexcelv


Previous 199869 Revisions Next


© 1997-2024 The MAME Team