diff options
author | 2017-09-18 23:47:01 +0200 | |
---|---|---|
committer | 2017-09-22 03:48:35 +0200 | |
commit | 5e8a590c68701aa667c982924ea994e7c9dcec1f (patch) | |
tree | 13d443c781689034f3dfcc483c74d7a237aec340 | |
parent | 691a078f0421a32071fee9f0586bbe159593b38c (diff) |
pktgaldx: Add vblank ack
-rw-r--r-- | src/mame/drivers/pktgaldx.cpp | 21 | ||||
-rw-r--r-- | src/mame/includes/pktgaldx.h | 2 |
2 files changed, 16 insertions, 7 deletions
diff --git a/src/mame/drivers/pktgaldx.cpp b/src/mame/drivers/pktgaldx.cpp index fee476e519b..5671e27eb28 100644 --- a/src/mame/drivers/pktgaldx.cpp +++ b/src/mame/drivers/pktgaldx.cpp @@ -89,6 +89,16 @@ WRITE16_MEMBER( pktgaldx_state::pktgaldx_protection_region_f_104_w ) m_deco104->write_data( space, real_address&0x7fff, data, mem_mask, cs ); } +WRITE_LINE_MEMBER( pktgaldx_state::vblank_w ) +{ + if (state) + m_maincpu->set_input_line(6, ASSERT_LINE); +} + +WRITE16_MEMBER( pktgaldx_state::vblank_ack_w ) +{ + m_maincpu->set_input_line(6, CLEAR_LINE); +} static ADDRESS_MAP_START( pktgaldx_map, AS_PROGRAM, 16, pktgaldx_state ) AM_RANGE(0x000000, 0x07ffff) AM_ROM @@ -108,7 +118,7 @@ static ADDRESS_MAP_START( pktgaldx_map, AS_PROGRAM, 16, pktgaldx_state ) AM_RANGE(0x161800, 0x16180f) AM_DEVWRITE("tilegen1", deco16ic_device, pf_control_w) AM_RANGE(0x164800, 0x164801) AM_WRITE(pktgaldx_oki_bank_w) - + AM_RANGE(0x166800, 0x166801) AM_WRITE(vblank_ack_w) AM_RANGE(0x167800, 0x167fff) AM_READWRITE(pktgaldx_protection_region_f_104_r,pktgaldx_protection_region_f_104_w) AM_SHARE("prot16ram") /* Protection device */ AM_RANGE(0x170000, 0x17ffff) AM_RAM @@ -160,9 +170,8 @@ static ADDRESS_MAP_START( pktgaldb_map, AS_PROGRAM, 16, pktgaldx_state ) // AM_RANGE(0x160000, 0x167fff) AM_RAM AM_RANGE(0x164800, 0x164801) AM_WRITE(pktgaldx_oki_bank_w) - AM_RANGE(0x160000, 0x167fff) AM_WRITENOP AM_RANGE(0x16500a, 0x16500b) AM_READ(pckgaldx_unknown_r) - + AM_RANGE(0x166800, 0x166801) AM_WRITE(vblank_ack_w) /* should we really be using these to read the i/o in the BOOTLEG? these look like i/o through protection ... */ AM_RANGE(0x167842, 0x167843) AM_READ_PORT("INPUTS") @@ -330,8 +339,6 @@ static MACHINE_CONFIG_START( pktgaldx ) MCFG_CPU_ADD("maincpu", M68000, 14000000) MCFG_CPU_PROGRAM_MAP(pktgaldx_map) MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", pktgaldx_state, irq6_line_hold) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -340,6 +347,7 @@ static MACHINE_CONFIG_START( pktgaldx ) MCFG_SCREEN_SIZE(40*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1) MCFG_SCREEN_UPDATE_DRIVER(pktgaldx_state, screen_update_pktgaldx) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(pktgaldx_state, vblank_w)) MCFG_SCREEN_PALETTE("palette") MCFG_PALETTE_ADD("palette", 4096) @@ -393,8 +401,6 @@ static MACHINE_CONFIG_START( pktgaldb ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, 16000000) MCFG_CPU_PROGRAM_MAP(pktgaldb_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", pktgaldx_state, irq6_line_hold) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -403,6 +409,7 @@ static MACHINE_CONFIG_START( pktgaldb ) MCFG_SCREEN_SIZE(40*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1) MCFG_SCREEN_UPDATE_DRIVER(pktgaldx_state, screen_update_pktgaldb) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(pktgaldx_state, vblank_w)) MCFG_SCREEN_PALETTE("palette") MCFG_PALETTE_ADD("palette", 4096) diff --git a/src/mame/includes/pktgaldx.h b/src/mame/includes/pktgaldx.h index 1f4344d0458..86da38a35f1 100644 --- a/src/mame/includes/pktgaldx.h +++ b/src/mame/includes/pktgaldx.h @@ -60,6 +60,8 @@ public: READ16_MEMBER( pktgaldx_protection_region_f_104_r ); WRITE16_MEMBER( pktgaldx_protection_region_f_104_w ); + DECLARE_WRITE_LINE_MEMBER( vblank_w ); + DECLARE_WRITE16_MEMBER( vblank_ack_w ); DECO16IC_BANK_CB_MEMBER(bank_callback); }; |