mirror of
https://github.com/holub/mame
synced 2025-07-01 16:19:38 +03:00
(MESS)New working game added
------------------ Tomy Pac Man [hap, Kevin Horton]
This commit is contained in:
parent
bcbe9136d4
commit
69893cd5d6
@ -87,6 +87,7 @@ public:
|
|||||||
DECLARE_INPUT_CHANGED_MEMBER(tmtennis_difficulty_switch);
|
DECLARE_INPUT_CHANGED_MEMBER(tmtennis_difficulty_switch);
|
||||||
DECLARE_MACHINE_RESET(tmtennis);
|
DECLARE_MACHINE_RESET(tmtennis);
|
||||||
|
|
||||||
|
void tmpacman_display();
|
||||||
DECLARE_WRITE8_MEMBER(tmpacman_grid_w);
|
DECLARE_WRITE8_MEMBER(tmpacman_grid_w);
|
||||||
DECLARE_WRITE8_MEMBER(tmpacman_plate_w);
|
DECLARE_WRITE8_MEMBER(tmpacman_plate_w);
|
||||||
DECLARE_WRITE8_MEMBER(tmpacman_port_e_w);
|
DECLARE_WRITE8_MEMBER(tmpacman_port_e_w);
|
||||||
@ -236,7 +237,7 @@ UINT8 hh_ucom4_state::read_inputs(int columns)
|
|||||||
|
|
||||||
WRITE8_MEMBER(hh_ucom4_state::edracula_grid_w)
|
WRITE8_MEMBER(hh_ucom4_state::edracula_grid_w)
|
||||||
{
|
{
|
||||||
// ports C,D: vfd matrix grid
|
// C,D: vfd matrix grid
|
||||||
int shift = (offset - NEC_UCOM4_PORTC) * 4;
|
int shift = (offset - NEC_UCOM4_PORTC) * 4;
|
||||||
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
|
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
|
||||||
|
|
||||||
@ -245,7 +246,7 @@ WRITE8_MEMBER(hh_ucom4_state::edracula_grid_w)
|
|||||||
|
|
||||||
WRITE8_MEMBER(hh_ucom4_state::edracula_plate_w)
|
WRITE8_MEMBER(hh_ucom4_state::edracula_plate_w)
|
||||||
{
|
{
|
||||||
// ports E-H,I01: vfd matrix plate
|
// E-H,I01: vfd matrix plate
|
||||||
int shift = (offset - NEC_UCOM4_PORTE) * 4;
|
int shift = (offset - NEC_UCOM4_PORTE) * 4;
|
||||||
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
|
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
|
||||||
|
|
||||||
@ -325,13 +326,13 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
READ8_MEMBER(hh_ucom4_state::tmtennis_input_r)
|
READ8_MEMBER(hh_ucom4_state::tmtennis_input_r)
|
||||||
{
|
{
|
||||||
// ports A,B: buttons
|
// A,B: buttons
|
||||||
return ~read_inputs(2) >> (offset*4);
|
return ~read_inputs(2) >> (offset*4);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(hh_ucom4_state::tmtennis_grid_w)
|
WRITE8_MEMBER(hh_ucom4_state::tmtennis_grid_w)
|
||||||
{
|
{
|
||||||
// ports G-I: vfd matrix grid
|
// G-I: vfd matrix grid
|
||||||
int shift = (offset - NEC_UCOM4_PORTG) * 4;
|
int shift = (offset - NEC_UCOM4_PORTG) * 4;
|
||||||
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
|
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
|
||||||
|
|
||||||
@ -340,7 +341,7 @@ WRITE8_MEMBER(hh_ucom4_state::tmtennis_grid_w)
|
|||||||
|
|
||||||
WRITE8_MEMBER(hh_ucom4_state::tmtennis_plate_w)
|
WRITE8_MEMBER(hh_ucom4_state::tmtennis_plate_w)
|
||||||
{
|
{
|
||||||
// ports C-F: vfd matrix plate
|
// C-F: vfd matrix plate
|
||||||
if (offset == NEC_UCOM4_PORTF) offset--;
|
if (offset == NEC_UCOM4_PORTF) offset--;
|
||||||
int shift = (offset - NEC_UCOM4_PORTC) * 4;
|
int shift = (offset - NEC_UCOM4_PORTC) * 4;
|
||||||
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
|
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
|
||||||
@ -452,29 +453,37 @@ MACHINE_CONFIG_END
|
|||||||
known releases:
|
known releases:
|
||||||
- Japan: Puck Man
|
- Japan: Puck Man
|
||||||
- USA: Pac Man
|
- USA: Pac Man
|
||||||
- UK: Puckman (Tomy), and also as Munchman, published by Grandstand
|
- UK: Puckman (Tomy), and also published by Grandstand as Munchman
|
||||||
- Australia: Pac Man-1, published by Futuretronics
|
- Australia: Pac Man-1, published by Futuretronics
|
||||||
|
|
||||||
NOTE!: MESS external artwork is recommended
|
NOTE!: MESS external artwork is recommended
|
||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
|
void hh_ucom4_state::tmpacman_display()
|
||||||
|
{
|
||||||
|
UINT8 grid = BITSWAP8((UINT8)m_grid,0,1,2,3,4,5,6,7);
|
||||||
|
UINT32 plate = BITSWAP24(m_plate,23,22,21,20,19,16,17,18,11,10,9,8,0,2,3,1,4,5,6,7,12,13,14,15);
|
||||||
|
|
||||||
|
display_matrix(19, 8, plate | 0x100, grid);
|
||||||
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(hh_ucom4_state::tmpacman_grid_w)
|
WRITE8_MEMBER(hh_ucom4_state::tmpacman_grid_w)
|
||||||
{
|
{
|
||||||
// ports C,D: vfd matrix grid
|
// C,D: vfd matrix grid
|
||||||
int shift = (offset - NEC_UCOM4_PORTC) * 4;
|
int shift = (offset - NEC_UCOM4_PORTC) * 4;
|
||||||
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
|
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
|
||||||
|
|
||||||
display_matrix(19, 8, m_plate, m_grid);
|
tmpacman_display();
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(hh_ucom4_state::tmpacman_plate_w)
|
WRITE8_MEMBER(hh_ucom4_state::tmpacman_plate_w)
|
||||||
{
|
{
|
||||||
// ports E-I: vfd matrix plate
|
// E023,F-I: vfd matrix plate
|
||||||
int shift = (offset - NEC_UCOM4_PORTE) * 4;
|
int shift = (offset - NEC_UCOM4_PORTE) * 4;
|
||||||
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
|
m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
|
||||||
|
|
||||||
display_matrix(19, 8, m_plate, m_grid);
|
tmpacman_display();
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(hh_ucom4_state::tmpacman_port_e_w)
|
WRITE8_MEMBER(hh_ucom4_state::tmpacman_port_e_w)
|
||||||
@ -494,7 +503,7 @@ static INPUT_PORTS_START( tmpacman )
|
|||||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY
|
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY
|
||||||
|
|
||||||
PORT_START("IN.1") // port B
|
PORT_START("IN.1") // port B
|
||||||
PORT_CONFNAME( 0x00, 0x00, DEF_STR( Difficulty ) )
|
PORT_CONFNAME( 0x01, 0x00, DEF_STR( Difficulty ) )
|
||||||
PORT_CONFSETTING( 0x00, "Amateur" )
|
PORT_CONFSETTING( 0x00, "Amateur" )
|
||||||
PORT_CONFSETTING( 0x01, "Professional" )
|
PORT_CONFSETTING( 0x01, "Professional" )
|
||||||
PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED )
|
PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||||
@ -548,7 +557,7 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
READ8_MEMBER(hh_ucom4_state::alnchase_input_r)
|
READ8_MEMBER(hh_ucom4_state::alnchase_input_r)
|
||||||
{
|
{
|
||||||
// port A: buttons
|
// A: buttons
|
||||||
return read_inputs(2);
|
return read_inputs(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -556,7 +565,7 @@ WRITE8_MEMBER(hh_ucom4_state::alnchase_display_w)
|
|||||||
{
|
{
|
||||||
if (offset <= NEC_UCOM4_PORTE)
|
if (offset <= NEC_UCOM4_PORTE)
|
||||||
{
|
{
|
||||||
// ports C,D,E0: vfd matrix grid
|
// C,D,E0: vfd matrix grid
|
||||||
int shift = (offset - NEC_UCOM4_PORTC) * 4;
|
int shift = (offset - NEC_UCOM4_PORTC) * 4;
|
||||||
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
|
m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
|
||||||
|
|
||||||
@ -567,7 +576,7 @@ WRITE8_MEMBER(hh_ucom4_state::alnchase_display_w)
|
|||||||
|
|
||||||
if (offset >= NEC_UCOM4_PORTE)
|
if (offset >= NEC_UCOM4_PORTE)
|
||||||
{
|
{
|
||||||
// ports F-I,E23: vfd matrix plate
|
// E23,F-I: vfd matrix plate
|
||||||
int shift = (offset - NEC_UCOM4_PORTE) * 4;
|
int shift = (offset - NEC_UCOM4_PORTE) * 4;
|
||||||
m_plate = ((m_plate << 2 & ~(0xf << shift)) | (data << shift)) >> 2;
|
m_plate = ((m_plate << 2 & ~(0xf << shift)) | (data << shift)) >> 2;
|
||||||
}
|
}
|
||||||
@ -684,5 +693,5 @@ ROM_END
|
|||||||
CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
|
CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
|
||||||
|
|
||||||
CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
|
CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
|
||||||
CONS( 1982, tmpacman, 0, 0, tmpacman, tmpacman, driver_device, 0, "Tomy", "Pac Man (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
|
CONS( 1982, tmpacman, 0, 0, tmpacman, tmpacman, driver_device, 0, "Tomy", "Pac Man (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
|
||||||
CONS( 1984, alnchase, 0, 0, alnchase, alnchase, driver_device, 0, "Tomy", "Alien Chase", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
|
CONS( 1984, alnchase, 0, 0, alnchase, alnchase, driver_device, 0, "Tomy", "Alien Chase", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
|
||||||
|
Loading…
Reference in New Issue
Block a user