Previous 199869 Revisions Next

r36649 Thursday 26th March, 2015 at 00:12:42 UTC by hap
(MESS)New working game added
-----------------
Bambino Basketball - Dribble Away [hap, Kevin Horton, Olivier Galibert]
[src/mess/drivers]hh_hmcs40.c hh_tms1k.c hh_ucom4.c

trunk/src/mess/drivers/hh_hmcs40.c
r245160r245161
9292   void display_matrix(int maxx, int maxy, UINT64 setx, UINT32 sety);
9393
9494   // game-specific handlers
95   DECLARE_WRITE8_MEMBER(bambball_plate_w);
96   DECLARE_WRITE16_MEMBER(bambball_grid_w);
97   DECLARE_READ8_MEMBER(bambball_input_r);
98
9599   DECLARE_WRITE8_MEMBER(alnattck_plate_w);
96   DECLARE_WRITE16_MEMBER(alnattck_d_w);
97   DECLARE_READ16_MEMBER(alnattck_d_r);
100   DECLARE_WRITE16_MEMBER(alnattck_grid_w);
101   DECLARE_READ16_MEMBER(alnattck_input_r);
98102
99103   void egalaxn2_display();
100104   DECLARE_WRITE8_MEMBER(egalaxn2_plate_w);
r245160r245161
231235
232236/***************************************************************************
233237
234  Bambino Basketball (manufactured in Japan)
238  Bambino Basketball - Dribble Away (manufactured in Japan)
235239  * boards are labeled Emix Corp. ET-05
236240  * Hitachi HD38750A08 MCU
237  * green VFD display Emix-106
241  * green VFD display Emix-106, with bezel overlay
238242
239243  NOTE!: MESS external artwork is recommended
240244
241245***************************************************************************/
242246
247WRITE8_MEMBER(hh_hmcs40_state::bambball_plate_w)
248{
249   // R1x-R3x, D0-D3: vfd matrix plate
250   int shift = (offset - HMCS40_PORT_R1X) * 4;
251   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
252
253   // update display
254   UINT32 plate = BITSWAP16(m_plate,13,8,4,12,9,10,14,1,7,0,15,11,6,3,5,2);
255
256   display_matrix(16, 9, plate, m_grid);
257}
258
259WRITE16_MEMBER(hh_hmcs40_state::bambball_grid_w)
260{
261   // D4: speaker out
262   m_speaker->level_w(data >> 4 & 1);
263
264   // D7-D10: input mux
265   m_inp_mux = data >> 7 & 0xf;
266
267   // D7-D15: vfd matrix grid
268   m_grid = data >> 7 & 0x1ff;
269
270   // D0-D3: plates (update display there)
271   bambball_plate_w(space, 3 + HMCS40_PORT_R1X, data & 0xf);
272}
273
274READ8_MEMBER(hh_hmcs40_state::bambball_input_r)
275{
276   // R0x: inputs
277   return read_inputs(4);
278}
279
280
243281static INPUT_PORTS_START( bambball )
282   PORT_START("IN.0") // D7 port R0x
283   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Dribble Low")
284   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Dribble Medium")
285   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Dribble High")
286   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_NAME("Shoot")
287
288   PORT_START("IN.1") // D8 port R0x
289   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY // separate directional buttons, hence 16way
290   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  ) PORT_16WAY // "
291   PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED )
292
293   PORT_START("IN.2") // D9 port R0x
294   PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED )
295   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START )
296   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_NAME("Display")
297
298   PORT_START("IN.3") // D10 port R0x
299   PORT_CONFNAME( 0x07, 0x01, "Skill Level")
300   PORT_CONFSETTING(    0x01, "1" )
301   PORT_CONFSETTING(    0x02, "2" )
302   PORT_CONFSETTING(    0x04, "3" )
303   PORT_CONFNAME( 0x08, 0x08, "Players" )
304   PORT_CONFSETTING(    0x08, "1" )
305   PORT_CONFSETTING(    0x00, "2" )
244306INPUT_PORTS_END
245307
246308
r245160r245161
248310
249311   /* basic machine hardware */
250312   MCFG_CPU_ADD("maincpu", HD38750, 400000) // approximation - RC osc.
313   MCFG_HMCS40_READ_R_CB(0, READ8(hh_hmcs40_state, bambball_input_r))
314   MCFG_HMCS40_WRITE_R_CB(1, WRITE8(hh_hmcs40_state, bambball_plate_w))
315   MCFG_HMCS40_WRITE_R_CB(2, WRITE8(hh_hmcs40_state, bambball_plate_w))
316   MCFG_HMCS40_WRITE_R_CB(3, WRITE8(hh_hmcs40_state, bambball_plate_w))
317   MCFG_HMCS40_WRITE_D_CB(WRITE16(hh_hmcs40_state, bambball_grid_w))
251318
252//  MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
319   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
253320   MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
254321
255322   /* no video! */
r245160r245161
269336  Bandai Packri Monster (manufactured in Japan)
270337  * board label DM-21ZA2
271338  * Hitachi HD38800A27 MCU
272  * cyan/red/green VFD display Futaba DM-21ZK 2B
339  * cyan/red/green VFD display Futaba DM-21ZK 2B, with bezel overlay
273340
274341  NOTE!: MESS external artwork is recommended
275342
r245160r245161
355422   display_matrix(20, 10, plate, m_grid);
356423}
357424
358WRITE16_MEMBER(hh_hmcs40_state::alnattck_d_w)
425WRITE16_MEMBER(hh_hmcs40_state::alnattck_grid_w)
359426{
360427   // D4: speaker out
361428   m_speaker->level_w(data >> 4 & 1);
r245160r245161
370437   alnattck_plate_w(space, 4, data & 0xf);
371438}
372439
373READ16_MEMBER(hh_hmcs40_state::alnattck_d_r)
440READ16_MEMBER(hh_hmcs40_state::alnattck_input_r)
374441{
375442   // D5: inputs
376443   return (read_inputs(7) & 1) << 5;
r245160r245161
411478   MCFG_HMCS40_WRITE_R_CB(1, WRITE8(hh_hmcs40_state, alnattck_plate_w))
412479   MCFG_HMCS40_WRITE_R_CB(2, WRITE8(hh_hmcs40_state, alnattck_plate_w))
413480   MCFG_HMCS40_WRITE_R_CB(3, WRITE8(hh_hmcs40_state, alnattck_plate_w))
414   MCFG_HMCS40_READ_D_CB(READ16(hh_hmcs40_state, alnattck_d_r))
415   MCFG_HMCS40_WRITE_D_CB(WRITE16(hh_hmcs40_state, alnattck_d_w))
481   MCFG_HMCS40_WRITE_D_CB(WRITE16(hh_hmcs40_state, alnattck_grid_w))
482   MCFG_HMCS40_READ_D_CB(READ16(hh_hmcs40_state, alnattck_input_r))
416483
417484   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
418485   MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
r245160r245161
9561023
9571024
9581025/*    YEAR  NAME       PARENT COMPAT MACHINE  INPUT     INIT              COMPANY, FULLNAME, FLAGS */
959CONS( 1979, bambball,  0,        0, bambball, bambball, driver_device, 0, "Bambino", "Basketball (Bambino)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
1026CONS( 1979, bambball,  0,        0, bambball, bambball, driver_device, 0, "Bambino", "Basketball - Dribble Away", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
9601027
9611028CONS( 1981, packmon,   0,        0, packmon,  packmon,  driver_device, 0, "Bandai", "Packri Monster", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
9621029CONS( 1983, zackman,   0,        0, zackman,  zackman,  driver_device, 0, "Bandai", "Zackman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
trunk/src/mess/drivers/hh_tms1k.c
r245160r245161
14561456   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Blue Button")
14571457
14581458   PORT_START("IN.2") // R2
1459   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_NAME("Start")
1459   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START )
14601460   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Last")
14611461   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Longest")
14621462   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
r245160r245161
15441544   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Red Button")
15451545
15461546   PORT_START("IN.2") // R2
1547   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_NAME("Start")
1547   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START )
15481548   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Last")
15491549   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Longest")
15501550   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Decision")
trunk/src/mess/drivers/hh_ucom4.c
r245160r245161
304304
305305   PORT_START("IN.1") // G3 port B3
306306   PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )
307   PORT_CONFNAME( 0x08, 0x00, DEF_STR( Difficulty ) )
307   PORT_CONFNAME( 0x08, 0x00, "Skill Level" )
308308   PORT_CONFSETTING(    0x00, "1" )
309309   PORT_CONFSETTING(    0x08, "2" )
310310
r245160r245161
447447   PORT_CONFNAME( 0x01, 0x00, "Players" )
448448   PORT_CONFSETTING(    0x00, "1" )
449449   PORT_CONFSETTING(    0x01, "2" )
450   PORT_CONFNAME( 0x02, 0x00, DEF_STR( Difficulty ) )
450   PORT_CONFNAME( 0x02, 0x00, "Skill Level" )
451451   PORT_CONFSETTING(    0x00, "1" )
452452   PORT_CONFSETTING(    0x02, "2" )
453453   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START )


Previous 199869 Revisions Next


© 1997-2024 The MAME Team