Previous 199869 Revisions Next

r36363 Tuesday 10th March, 2015 at 14:36:56 UTC by hap
(MESS)New working game added
-----------------
Entex Electronic Baseball 3 [hap, Sean Riddle]
[src/mess/drivers]hh_pic16.c hh_tms1k.c

trunk/src/mess/drivers/hh_pic16.c
r244874r244875
192192   else
193193      m_b = data;
194194   
195   // d7: speaker out/enable
196   m_speaker->level_w((m_b & m_c) >> 7 & 1);
195   // d7: speaker out
196   m_speaker->level_w((m_b >> 7 & 1) | (m_c >> 6 & 2));
197197
198198   // d0-d6: 7seg
199199   m_display_maxx = 7;
r244874r244875
214214INPUT_PORTS_END
215215
216216
217static const INT16 maniac_speaker_levels[] = { 0, 32767, -32768, 0 };
218
217219static MACHINE_CONFIG_START( maniac, hh_pic16_state )
218220
219221   /* basic machine hardware */
r244874r244875
231233   /* sound hardware */
232234   MCFG_SPEAKER_STANDARD_MONO("mono")
233235   MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
236   MCFG_SPEAKER_LEVELS(4, maniac_speaker_levels)
234237   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
235238MACHINE_CONFIG_END
236239
trunk/src/mess/drivers/hh_tms1k.c
r244874r244875
2020 *MP1221   TMS1100  1980, Entex Raise The Devil
2121 *MP2788   ?        1980, Bandai Flight Time
2222 @MP3226   TMS1000  1978, Milton Bradley Simon
23 *MP3320A  TMS1000  1979, Coleco Head to Head Basketball
2324  MP3403   TMS1100  1978, Marx Electronic Bowling
2425 @MP3404   TMS1100  1978, Parker Brothers Merlin
2526 @MP3405   TMS1100  1979, Coleco Amaze-A-Tron
r244874r244875
157158   DECLARE_READ8_MEMBER(ebball3_read_k);
158159   DECLARE_WRITE16_MEMBER(ebball3_write_r);
159160   DECLARE_WRITE16_MEMBER(ebball3_write_o);
161   void ebball3_set_clock();
162   DECLARE_INPUT_CHANGED_MEMBER(ebball3_difficulty_switch);
163   DECLARE_MACHINE_RESET(ebball3);
160164
161165   DECLARE_READ8_MEMBER(elecdet_read_k);
162166   DECLARE_WRITE16_MEMBER(elecdet_write_r);
r244874r244875
937941  * boards are labeled: Zeny
938942  * TMS1100NLL 6007 MP1204 (die labeled MP1204)
939943  * 2*SN75492N LED display driver
944 
945  This is another improvement over Entex Baseball, where gameplay is a bit more
946  varied, and it keeps up with score and innings. Like the others, the pitcher
947  controls are on a separate joypad.
940948
941949
942950  lamp translation table: led zz from game PCB = MESS lampyx:
r244874r244875
982990
983991READ8_MEMBER(hh_tms1k_state::ebball3_read_k)
984992{
985   //printf("%X ",m_r);
986
987993   return read_inputs(3);
988994}
989995
r244874r244875
10091015}
10101016
10111017
1018/* physical button layout and labels is like this:
1019   
1020    main device (batter side):            remote pitcher:                                 
1021                                                                                                 
1022                          MAN
1023    PRO                    |              [FAST BALL]  [CHANGE UP]    [CURVE]  [SLIDER]   
1024     |                  OFF|
1025     o                     o                   [STEAL DEFENSE]           [KNUCKLER]
1026    AM                    AUTO
1027   
1028    [BUNT]  [BATTER]  [STEAL]
1029*/
1030
10121031static INPUT_PORTS_START( ebball3 )
10131032   PORT_START("IN.0") // R0
1014   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1015   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
1016   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 )
1017   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 )
1033   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Fast Ball")
1034   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Change Up")
1035   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME("P2 Slider")
1036   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Curve")
10181037
10191038   PORT_START("IN.1") // R1
1020   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 )
1021   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON6 )
1022   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON7 )
1023   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON8 )
1039   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_PLAYER(2) PORT_NAME("P2 Knuckler")
1040   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Steal")
1041   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Batter")
1042   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(2) PORT_NAME("P2 Steal Defense")
10241043
10251044   PORT_START("IN.2") // R2
1026   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON10 )
1027//   PORT_CONFNAME( 0x01, 0x01, "Pitcher" )
1028//   PORT_CONFSETTING(    0x01, "Auto" )
1029//   PORT_CONFSETTING(    0x00, "Manual" )
1030   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON9 )
1031//   PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED )
1032   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)
1033   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
1045   PORT_CONFNAME( 0x01, 0x01, "Pitcher" )
1046   PORT_CONFSETTING(    0x01, "Auto" )
1047   PORT_CONFSETTING(    0x00, "Manual" )
1048   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Bunt")
1049   PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED )
1050
1051   PORT_START("IN.3") // fake
1052   PORT_CONFNAME( 0x01, 0x00, DEF_STR( Difficulty ) ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, ebball3_difficulty_switch, NULL)
1053   PORT_CONFSETTING(    0x00, "Amateur" )
1054   PORT_CONFSETTING(    0x01, "Professional" )
10341055INPUT_PORTS_END
10351056
10361057
1058void hh_tms1k_state::ebball3_set_clock()
1059{
1060   // MCU clock is from an RC circuit oscillating by default at ~375kHz,
1061   // but on PRO, the difficulty switch adds an extra capacitor to Vdd to speed
1062   // it up to unknown, let's assume ~425kHz.
1063   m_maincpu->set_unscaled_clock(m_inp_matrix[3]->read() & 1 ? 425000 : 375000);
1064}
1065
1066INPUT_CHANGED_MEMBER(hh_tms1k_state::ebball3_difficulty_switch)
1067{
1068   ebball3_set_clock();
1069}
1070
1071MACHINE_RESET_MEMBER(hh_tms1k_state, ebball3)
1072{
1073   machine_reset();
1074   ebball3_set_clock();
1075}
1076
10371077static MACHINE_CONFIG_START( ebball3, hh_tms1k_state )
10381078
10391079   /* basic machine hardware */
1040   MCFG_CPU_ADD("maincpu", TMS1100, 425000) // RC osc. R=47K, C=33pf -> ~425kHz
1080   MCFG_CPU_ADD("maincpu", TMS1100, 375000) // RC osc. R=47K, C=33pf -> ~375kHz
10411081   MCFG_TMS1XXX_READ_K_CB(READ8(hh_tms1k_state, ebball3_read_k))
10421082   MCFG_TMS1XXX_WRITE_R_CB(WRITE16(hh_tms1k_state, ebball3_write_r))
10431083   MCFG_TMS1XXX_WRITE_O_CB(WRITE16(hh_tms1k_state, ebball3_write_o))
r244874r244875
10451085   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
10461086   MCFG_DEFAULT_LAYOUT(layout_ebball3)
10471087
1088   MCFG_MACHINE_RESET_OVERRIDE(hh_tms1k_state, ebball3)
1089
10481090   /* no video! */
10491091
10501092   /* sound hardware */
r244874r244875
23112353CONS( 1979, amaztron,  0,        0, amaztron,  amaztron,  driver_device, 0, "Coleco", "Amaze-A-Tron", GAME_SUPPORTS_SAVE )
23122354CONS( 1981, tc4,       0,        0, tc4,       tc4,       driver_device, 0, "Coleco", "Total Control 4", GAME_SUPPORTS_SAVE )
23132355
2314CONS( 1979, ebball,    0,        0, ebball,    ebball,    driver_device, 0, "Entex", "Electronic Baseball", GAME_SUPPORTS_SAVE )
2315CONS( 1980, ebball3,   0,        0, ebball3,   ebball3,   driver_device, 0, "Entex", "Electronic Baseball 3", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
2356CONS( 1979, ebball,    0,        0, ebball,    ebball,    driver_device, 0, "Entex", "Electronic Baseball (Entex)", GAME_SUPPORTS_SAVE )
2357CONS( 1980, ebball3,   0,        0, ebball3,   ebball3,   driver_device, 0, "Entex", "Electronic Baseball 3 (Entex)", GAME_SUPPORTS_SAVE )
23162358
23172359CONS( 1979, elecdet,   0,        0, elecdet,   elecdet,   driver_device, 0, "Ideal", "Electronic Detective", GAME_SUPPORTS_SAVE ) // unplayable without game cards
23182360


Previous 199869 Revisions Next


© 1997-2024 The MAME Team