trunk/src/mame/drivers/gladiatr.c
| r243476 | r243477 | |
| 9 | 9 | input port patches, panning fix, sprite banking, |
| 10 | 10 | Golden Castle Rom Set Support |
| 11 | 11 | - Phil Stroffolino: palette, sprites, misc video driver fixes |
| 12 | | - Tatsuyuki Satoh: YM2203 sound improvements, NEC 8741 simulation,ADPCM with MC6809 |
| 12 | - Tatsuyuki Satoh: YM2203 sound improvements, NEC 8741 simulation, ADPCM with MC6809 |
| 13 | 13 | - Tomasz Slanina preliminary Ping Pong King driver |
| 14 | 14 | - Nicola Salmoria clean up |
| 15 | 15 | |
| r243476 | r243477 | |
| 17 | 17 | - Camilty for precious hardware information and screenshots |
| 18 | 18 | - Jason Richmond for hardware information and misc. notes |
| 19 | 19 | - Joe Rounceville for schematics |
| 20 | | - and everyone else who'se offered support along the way! |
| 20 | - and everyone else who's offered support along the way! |
| 21 | 21 | |
| 22 | 22 | |
| 23 | 23 | *************************************************************************** |
| r243476 | r243477 | |
| 268 | 268 | } |
| 269 | 269 | |
| 270 | 270 | /*Sound Functions*/ |
| 271 | | WRITE8_MEMBER(gladiatr_state::glad_adpcm_w) |
| 271 | WRITE8_MEMBER(gladiatr_state::gladiator_adpcm_w) |
| 272 | 272 | { |
| 273 | 273 | UINT8 *rom = memregion("audiocpu")->base() + 0x10000; |
| 274 | 274 | |
| r243476 | r243477 | |
| 280 | 280 | m_msm->vclk_w (BIT(data, 4)); /* bit4 */ |
| 281 | 281 | } |
| 282 | 282 | |
| 283 | | WRITE8_MEMBER(gladiatr_state::glad_cpu_sound_command_w) |
| 283 | WRITE8_MEMBER(gladiatr_state::gladiator_cpu_sound_command_w) |
| 284 | 284 | { |
| 285 | 285 | soundlatch_byte_w(space,0,data); |
| 286 | 286 | m_audiocpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE); |
| 287 | 287 | } |
| 288 | 288 | |
| 289 | | READ8_MEMBER(gladiatr_state::glad_cpu_sound_command_r) |
| 289 | READ8_MEMBER(gladiatr_state::gladiator_cpu_sound_command_r) |
| 290 | 290 | { |
| 291 | 291 | m_audiocpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); |
| 292 | 292 | return soundlatch_byte_r(space,0); |
| r243476 | r243477 | |
| 299 | 299 | |
| 300 | 300 | |
| 301 | 301 | #if 1 |
| 302 | | /* !!!!! patch to IRQ timming for 2nd CPU !!!!! */ |
| 302 | /* !!!!! patch to IRQ timing for 2nd CPU !!!!! */ |
| 303 | 303 | WRITE8_MEMBER(gladiatr_state::gladiatr_irq_patch_w) |
| 304 | 304 | { |
| 305 | 305 | m_subcpu->set_input_line(0, HOLD_LINE); |
| r243476 | r243477 | |
| 312 | 312 | |
| 313 | 313 | |
| 314 | 314 | |
| 315 | | WRITE8_MEMBER(gladiatr_state::qx0_w) |
| 315 | WRITE8_MEMBER(gladiatr_state::ppking_qx0_w) |
| 316 | 316 | { |
| 317 | 317 | if(!offset) |
| 318 | 318 | { |
| r243476 | r243477 | |
| 321 | 321 | } |
| 322 | 322 | } |
| 323 | 323 | |
| 324 | | WRITE8_MEMBER(gladiatr_state::qx1_w) |
| 324 | WRITE8_MEMBER(gladiatr_state::ppking_qx1_w) |
| 325 | 325 | { |
| 326 | 326 | if(!offset) |
| 327 | 327 | { |
| r243476 | r243477 | |
| 330 | 330 | } |
| 331 | 331 | } |
| 332 | 332 | |
| 333 | | WRITE8_MEMBER(gladiatr_state::qx2_w){ } |
| 333 | WRITE8_MEMBER(gladiatr_state::ppking_qx2_w){ } |
| 334 | 334 | |
| 335 | | WRITE8_MEMBER(gladiatr_state::qx3_w){ } |
| 335 | WRITE8_MEMBER(gladiatr_state::ppking_qx3_w){ } |
| 336 | 336 | |
| 337 | | READ8_MEMBER(gladiatr_state::qx2_r){ return machine().rand(); } |
| 337 | READ8_MEMBER(gladiatr_state::ppking_qx2_r){ return machine().rand(); } |
| 338 | 338 | |
| 339 | | READ8_MEMBER(gladiatr_state::qx3_r){ return machine().rand()&0xf; } |
| 339 | READ8_MEMBER(gladiatr_state::ppking_qx3_r){ return machine().rand()&0xf; } |
| 340 | 340 | |
| 341 | | READ8_MEMBER(gladiatr_state::qx0_r) |
| 341 | READ8_MEMBER(gladiatr_state::ppking_qx0_r) |
| 342 | 342 | { |
| 343 | 343 | if(!offset) |
| 344 | 344 | return m_data1; |
| r243476 | r243477 | |
| 346 | 346 | return m_flag2; |
| 347 | 347 | } |
| 348 | 348 | |
| 349 | | READ8_MEMBER(gladiatr_state::qx1_r) |
| 349 | READ8_MEMBER(gladiatr_state::ppking_qx1_r) |
| 350 | 350 | { |
| 351 | 351 | if(!offset) |
| 352 | 352 | return m_data2; |
| r243476 | r243477 | |
| 364 | 364 | AM_RANGE(0x0000, 0xbfff) AM_ROM |
| 365 | 365 | AM_RANGE(0xc000, 0xcbff) AM_RAM AM_SHARE("spriteram") |
| 366 | 366 | AM_RANGE(0xcc00, 0xcfff) AM_WRITE(ppking_video_registers_w) |
| 367 | | AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(gladiatr_paletteram_w) AM_SHARE("paletteram") |
| 368 | | AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(gladiatr_videoram_w) AM_SHARE("videoram") |
| 369 | | AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(gladiatr_colorram_w) AM_SHARE("colorram") |
| 370 | | AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(gladiatr_textram_w) AM_SHARE("textram") |
| 367 | AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram") |
| 368 | AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") |
| 369 | AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram") |
| 370 | AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(textram_w) AM_SHARE("textram") |
| 371 | 371 | AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */ |
| 372 | 372 | ADDRESS_MAP_END |
| 373 | 373 | |
| r243476 | r243477 | |
| 379 | 379 | |
| 380 | 380 | static ADDRESS_MAP_START( ppking_cpu1_io, AS_IO, 8, gladiatr_state ) |
| 381 | 381 | // ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 382 | | AM_RANGE(0xc000, 0xc000) AM_WRITE(gladiatr_spritebuffer_w) |
| 382 | AM_RANGE(0xc000, 0xc000) AM_WRITE(spritebuffer_w) |
| 383 | 383 | AM_RANGE(0xc004, 0xc004) AM_NOP // WRITE(ppking_irq_patch_w) |
| 384 | | AM_RANGE(0xc09e, 0xc09f) AM_READ(qx0_r) AM_WRITE(qx0_w) |
| 384 | AM_RANGE(0xc09e, 0xc09f) AM_READ(ppking_qx0_r) AM_WRITE(ppking_qx0_w) |
| 385 | 385 | AM_RANGE(0xc0bf, 0xc0bf) AM_NOP |
| 386 | 386 | ADDRESS_MAP_END |
| 387 | 387 | |
| 388 | 388 | static ADDRESS_MAP_START( ppking_cpu2_io, AS_IO, 8, gladiatr_state ) |
| 389 | 389 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 390 | 390 | AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write) |
| 391 | | AM_RANGE(0x20, 0x21) AM_READ(qx1_r) AM_WRITE(qx1_w) |
| 391 | AM_RANGE(0x20, 0x21) AM_READ(ppking_qx1_r) AM_WRITE(ppking_qx1_w) |
| 392 | 392 | AM_RANGE(0x40, 0x40) AM_READNOP |
| 393 | | AM_RANGE(0x60, 0x61) AM_READWRITE(qx2_r,qx2_w) |
| 394 | | AM_RANGE(0x80, 0x81) AM_READWRITE(qx3_r,qx3_w) |
| 393 | AM_RANGE(0x60, 0x61) AM_READWRITE(ppking_qx2_r,ppking_qx2_w) |
| 394 | AM_RANGE(0x80, 0x81) AM_READWRITE(ppking_qx3_r,ppking_qx3_w) |
| 395 | 395 | ADDRESS_MAP_END |
| 396 | 396 | |
| 397 | 397 | |
| r243476 | r243477 | |
| 402 | 402 | AM_RANGE(0x6000, 0xbfff) AM_ROMBANK("bank1") |
| 403 | 403 | AM_RANGE(0xc000, 0xcbff) AM_RAM AM_SHARE("spriteram") |
| 404 | 404 | AM_RANGE(0xcc00, 0xcfff) AM_WRITE(gladiatr_video_registers_w) |
| 405 | | AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(gladiatr_paletteram_w) AM_SHARE("paletteram") |
| 406 | | AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(gladiatr_videoram_w) AM_SHARE("videoram") |
| 407 | | AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(gladiatr_colorram_w) AM_SHARE("colorram") |
| 408 | | AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(gladiatr_textram_w) AM_SHARE("textram") |
| 405 | AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram") |
| 406 | AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") |
| 407 | AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram") |
| 408 | AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(textram_w) AM_SHARE("textram") |
| 409 | 409 | AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */ |
| 410 | 410 | ADDRESS_MAP_END |
| 411 | 411 | |
| r243476 | r243477 | |
| 415 | 415 | ADDRESS_MAP_END |
| 416 | 416 | |
| 417 | 417 | static ADDRESS_MAP_START( gladiatr_cpu3_map, AS_PROGRAM, 8, gladiatr_state ) |
| 418 | | AM_RANGE(0x1000, 0x1fff) AM_WRITE(glad_adpcm_w) |
| 419 | | AM_RANGE(0x2000, 0x2fff) AM_READ(glad_cpu_sound_command_r) |
| 418 | AM_RANGE(0x1000, 0x1fff) AM_WRITE(gladiator_adpcm_w) |
| 419 | AM_RANGE(0x2000, 0x2fff) AM_READ(gladiator_cpu_sound_command_r) |
| 420 | 420 | AM_RANGE(0x4000, 0xffff) AM_ROMBANK("bank2") |
| 421 | 421 | ADDRESS_MAP_END |
| 422 | 422 | |
| 423 | 423 | |
| 424 | 424 | static ADDRESS_MAP_START( gladiatr_cpu1_io, AS_IO, 8, gladiatr_state ) |
| 425 | 425 | // ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 426 | | AM_RANGE(0xc000, 0xc000) AM_WRITE(gladiatr_spritebuffer_w) |
| 426 | AM_RANGE(0xc000, 0xc000) AM_WRITE(spritebuffer_w) |
| 427 | 427 | AM_RANGE(0xc001, 0xc001) AM_WRITE(gladiatr_spritebank_w) |
| 428 | 428 | AM_RANGE(0xc002, 0xc002) AM_WRITE(gladiatr_bankswitch_w) |
| 429 | 429 | AM_RANGE(0xc004, 0xc004) AM_WRITE(gladiatr_irq_patch_w) /* !!! patch to 2nd CPU IRQ !!! */ |
| r243476 | r243477 | |
| 440 | 440 | AM_RANGE(0x60, 0x61) AM_DEVREADWRITE("taito8741", taito8741_4pack_device, read_2, write_2) |
| 441 | 441 | AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("taito8741", taito8741_4pack_device, read_3, write_3) |
| 442 | 442 | AM_RANGE(0xa0, 0xa7) AM_NOP // filters on sound output |
| 443 | | AM_RANGE(0xe0, 0xe0) AM_WRITE(glad_cpu_sound_command_w) |
| 443 | AM_RANGE(0xe0, 0xe0) AM_WRITE(gladiator_cpu_sound_command_w) |
| 444 | 444 | ADDRESS_MAP_END |
| 445 | 445 | |
| 446 | 446 | |
| r243476 | r243477 | |
| 611 | 611 | |
| 612 | 612 | |
| 613 | 613 | |
| 614 | | READ8_MEMBER(gladiatr_state::f1_r) |
| 614 | READ8_MEMBER(gladiatr_state::ppking_f1_r) |
| 615 | 615 | { |
| 616 | 616 | return machine().rand(); |
| 617 | 617 | } |
| r243476 | r243477 | |
| 655 | 655 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 656 | 656 | |
| 657 | 657 | MCFG_SOUND_ADD("ymsnd", YM2203, XTAL_12MHz/8) /* verified on pcb */ |
| 658 | | MCFG_AY8910_PORT_A_READ_CB(READ8(gladiatr_state, f1_r)) |
| 659 | | MCFG_AY8910_PORT_B_READ_CB(READ8(gladiatr_state, f1_r)) |
| 658 | MCFG_AY8910_PORT_A_READ_CB(READ8(gladiatr_state, ppking_f1_r)) |
| 659 | MCFG_AY8910_PORT_B_READ_CB(READ8(gladiatr_state, ppking_f1_r)) |
| 660 | 660 | MCFG_SOUND_ROUTE(0, "mono", 0.60) |
| 661 | 661 | MCFG_SOUND_ROUTE(1, "mono", 0.60) |
| 662 | 662 | MCFG_SOUND_ROUTE(2, "mono", 0.60) |
| r243476 | r243477 | |
| 1001 | 1001 | } |
| 1002 | 1002 | |
| 1003 | 1003 | |
| 1004 | | READ8_MEMBER(gladiatr_state::f6a3_r) |
| 1004 | READ8_MEMBER(gladiatr_state::ppking_f6a3_r) |
| 1005 | 1005 | { |
| 1006 | 1006 | if(space.device().safe_pcbase()==0x8e) |
| 1007 | 1007 | m_nvram[0x6a3]=1; |
| r243476 | r243477 | |
| 1031 | 1031 | rom[i+2*j*0x2000] = rom[i+j*0x2000]; |
| 1032 | 1032 | } |
| 1033 | 1033 | } |
| 1034 | | m_maincpu->space(AS_PROGRAM).install_read_handler(0xf6a3,0xf6a3,read8_delegate(FUNC(gladiatr_state::f6a3_r),this)); |
| 1034 | m_maincpu->space(AS_PROGRAM).install_read_handler(0xf6a3,0xf6a3,read8_delegate(FUNC(gladiatr_state::ppking_f6a3_r),this)); |
| 1035 | |
| 1036 | save_item(NAME(m_data1)); |
| 1037 | save_item(NAME(m_data2)); |
| 1035 | 1038 | } |
| 1036 | 1039 | |
| 1037 | 1040 | |
| 1038 | 1041 | |
| 1039 | | GAME( 1985, ppking, 0, ppking, 0, gladiatr_state, ppking, ROT90, "Taito America Corporation", "Ping-Pong King", GAME_NOT_WORKING) |
| 1040 | | GAME( 1986, gladiatr, 0, gladiatr, gladiatr, gladiatr_state, gladiatr, ROT0, "Allumer / Taito America Corporation", "Gladiator (US)", 0 ) |
| 1041 | | GAME( 1986, ogonsiro, gladiatr, gladiatr, gladiatr, gladiatr_state, gladiatr, ROT0, "Allumer / Taito Corporation", "Ougon no Shiro (Japan)", 0 ) |
| 1042 | | GAME( 1986, greatgur, gladiatr, gladiatr, gladiatr, gladiatr_state, gladiatr, ROT0, "Allumer / Taito Corporation", "Great Gurianos (Japan?)", 0 ) |
| 1043 | | GAME( 1986, gcastle, gladiatr, gladiatr, gladiatr, gladiatr_state, gladiatr, ROT0, "Allumer / Taito Corporation", "Golden Castle (prototype?)", 0 ) // incomplete dump |
| 1042 | GAME( 1985, ppking, 0, ppking, 0, gladiatr_state, ppking, ROT90, "Taito America Corporation", "Ping-Pong King", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 1043 | GAME( 1986, gladiatr, 0, gladiatr, gladiatr, gladiatr_state, gladiatr, ROT0, "Allumer / Taito America Corporation", "Gladiator (US)", GAME_SUPPORTS_SAVE ) |
| 1044 | GAME( 1986, ogonsiro, gladiatr, gladiatr, gladiatr, gladiatr_state, gladiatr, ROT0, "Allumer / Taito Corporation", "Ougon no Shiro (Japan)", GAME_SUPPORTS_SAVE ) |
| 1045 | GAME( 1986, greatgur, gladiatr, gladiatr, gladiatr, gladiatr_state, gladiatr, ROT0, "Allumer / Taito Corporation", "Great Gurianos (Japan?)", GAME_SUPPORTS_SAVE ) |
| 1046 | GAME( 1986, gcastle, gladiatr, gladiatr, gladiatr, gladiatr_state, gladiatr, ROT0, "Allumer / Taito Corporation", "Golden Castle (prototype?)", GAME_SUPPORTS_SAVE ) // incomplete dump |
trunk/src/mame/includes/gladiatr.h
| r243476 | r243477 | |
| 5 | 5 | public: |
| 6 | 6 | gladiatr_state(const machine_config &mconfig, device_type type, const char *tag) |
| 7 | 7 | : driver_device(mconfig, type, tag), |
| 8 | | m_nvram(*this, "nvram") , |
| 9 | | m_spriteram(*this, "spriteram"), |
| 10 | | m_videoram(*this, "videoram"), |
| 11 | | m_colorram(*this, "colorram"), |
| 12 | | m_textram(*this, "textram"), |
| 13 | 8 | m_maincpu(*this, "maincpu"), |
| 14 | 9 | m_audiocpu(*this, "audiocpu"), |
| 15 | 10 | m_subcpu(*this, "sub"), |
| 16 | 11 | m_msm(*this, "msm"), |
| 17 | 12 | m_gfxdecode(*this, "gfxdecode"), |
| 18 | 13 | m_palette(*this, "palette"), |
| 19 | | m_generic_paletteram_8(*this, "paletteram") { } |
| 14 | m_nvram(*this, "nvram") , |
| 15 | m_spriteram(*this, "spriteram"), |
| 16 | m_videoram(*this, "videoram"), |
| 17 | m_colorram(*this, "colorram"), |
| 18 | m_textram(*this, "textram"), |
| 19 | m_generic_paletteram_8(*this, "paletteram") { } |
| 20 | |
| 21 | required_device<cpu_device> m_maincpu; |
| 22 | required_device<cpu_device> m_audiocpu; |
| 23 | required_device<cpu_device> m_subcpu; |
| 24 | required_device<msm5205_device> m_msm; |
| 25 | required_device<gfxdecode_device> m_gfxdecode; |
| 26 | required_device<palette_device> m_palette; |
| 20 | 27 | |
| 21 | | required_shared_ptr<UINT8> m_nvram; |
| 28 | required_shared_ptr<UINT8> m_nvram; |
| 22 | 29 | required_shared_ptr<UINT8> m_spriteram; |
| 23 | 30 | required_shared_ptr<UINT8> m_videoram; |
| 24 | 31 | required_shared_ptr<UINT8> m_colorram; |
| 25 | 32 | required_shared_ptr<UINT8> m_textram; |
| 33 | required_shared_ptr<UINT8> m_generic_paletteram_8; |
| 26 | 34 | |
| 27 | 35 | int m_data1; |
| 28 | 36 | int m_data2; |
| r243476 | r243477 | |
| 40 | 48 | int m_fg_tile_bank; |
| 41 | 49 | int m_bg_tile_bank; |
| 42 | 50 | |
| 51 | // common |
| 52 | DECLARE_WRITE8_MEMBER(videoram_w); |
| 53 | DECLARE_WRITE8_MEMBER(colorram_w); |
| 54 | DECLARE_WRITE8_MEMBER(textram_w); |
| 55 | DECLARE_WRITE8_MEMBER(paletteram_w); |
| 56 | DECLARE_WRITE8_MEMBER(spritebuffer_w); |
| 43 | 57 | |
| 44 | | DECLARE_READ8_MEMBER( gladiator_dsw1_r ); |
| 45 | | DECLARE_READ8_MEMBER( gladiator_dsw2_r ); |
| 46 | | DECLARE_READ8_MEMBER( gladiator_controls_r ); |
| 47 | | DECLARE_READ8_MEMBER( gladiator_button3_r ); |
| 48 | | DECLARE_WRITE8_MEMBER(gladiatr_videoram_w); |
| 49 | | DECLARE_WRITE8_MEMBER(gladiatr_colorram_w); |
| 50 | | DECLARE_WRITE8_MEMBER(gladiatr_textram_w); |
| 51 | | DECLARE_WRITE8_MEMBER(gladiatr_paletteram_w); |
| 52 | | DECLARE_WRITE8_MEMBER(gladiatr_spritebuffer_w); |
| 58 | // gladiator specific |
| 59 | DECLARE_READ8_MEMBER(gladiator_dsw1_r); |
| 60 | DECLARE_READ8_MEMBER(gladiator_dsw2_r); |
| 61 | DECLARE_READ8_MEMBER(gladiator_controls_r); |
| 62 | DECLARE_READ8_MEMBER(gladiator_button3_r); |
| 53 | 63 | DECLARE_WRITE8_MEMBER(gladiatr_spritebank_w); |
| 54 | | DECLARE_WRITE8_MEMBER(ppking_video_registers_w); |
| 55 | 64 | DECLARE_WRITE8_MEMBER(gladiatr_video_registers_w); |
| 56 | 65 | DECLARE_WRITE8_MEMBER(gladiatr_bankswitch_w); |
| 57 | | DECLARE_WRITE8_MEMBER(glad_cpu_sound_command_w); |
| 58 | | DECLARE_READ8_MEMBER(glad_cpu_sound_command_r); |
| 66 | DECLARE_WRITE8_MEMBER(gladiator_cpu_sound_command_w); |
| 67 | DECLARE_READ8_MEMBER(gladiator_cpu_sound_command_r); |
| 59 | 68 | DECLARE_WRITE8_MEMBER(gladiatr_flipscreen_w); |
| 60 | 69 | DECLARE_WRITE8_MEMBER(gladiatr_irq_patch_w); |
| 61 | | DECLARE_WRITE8_MEMBER(qx0_w); |
| 62 | | DECLARE_WRITE8_MEMBER(qx1_w); |
| 63 | | DECLARE_WRITE8_MEMBER(qx2_w); |
| 64 | | DECLARE_WRITE8_MEMBER(qx3_w); |
| 65 | | DECLARE_READ8_MEMBER(qx2_r); |
| 66 | | DECLARE_READ8_MEMBER(qx3_r); |
| 67 | | DECLARE_READ8_MEMBER(qx0_r); |
| 68 | | DECLARE_READ8_MEMBER(qx1_r); |
| 69 | | DECLARE_READ8_MEMBER(f6a3_r); |
| 70 | 70 | DECLARE_WRITE8_MEMBER(gladiator_int_control_w); |
| 71 | | DECLARE_WRITE8_MEMBER(glad_adpcm_w); |
| 72 | | DECLARE_READ8_MEMBER(f1_r); |
| 71 | DECLARE_WRITE8_MEMBER(gladiator_adpcm_w); |
| 72 | DECLARE_WRITE_LINE_MEMBER(gladiator_ym_irq); |
| 73 | |
| 74 | // ppking specific |
| 75 | DECLARE_READ8_MEMBER(ppking_f1_r); |
| 76 | DECLARE_READ8_MEMBER(ppking_f6a3_r); |
| 77 | DECLARE_WRITE8_MEMBER(ppking_qx0_w); |
| 78 | DECLARE_WRITE8_MEMBER(ppking_qx1_w); |
| 79 | DECLARE_WRITE8_MEMBER(ppking_qx2_w); |
| 80 | DECLARE_WRITE8_MEMBER(ppking_qx3_w); |
| 81 | DECLARE_READ8_MEMBER(ppking_qx2_r); |
| 82 | DECLARE_READ8_MEMBER(ppking_qx3_r); |
| 83 | DECLARE_READ8_MEMBER(ppking_qx0_r); |
| 84 | DECLARE_READ8_MEMBER(ppking_qx1_r); |
| 85 | DECLARE_WRITE8_MEMBER(ppking_video_registers_w); |
| 86 | |
| 73 | 87 | DECLARE_DRIVER_INIT(gladiatr); |
| 74 | 88 | DECLARE_DRIVER_INIT(ppking); |
| 89 | |
| 75 | 90 | TILE_GET_INFO_MEMBER(bg_get_tile_info); |
| 76 | 91 | TILE_GET_INFO_MEMBER(fg_get_tile_info); |
| 92 | |
| 77 | 93 | DECLARE_MACHINE_RESET(ppking); |
| 78 | 94 | DECLARE_VIDEO_START(ppking); |
| 79 | 95 | DECLARE_MACHINE_RESET(gladiator); |
| 80 | 96 | DECLARE_VIDEO_START(gladiatr); |
| 97 | |
| 81 | 98 | UINT32 screen_update_ppking(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 82 | 99 | UINT32 screen_update_gladiatr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 83 | 100 | void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 84 | 101 | void swap_block(UINT8 *src1,UINT8 *src2,int len); |
| 85 | | DECLARE_WRITE_LINE_MEMBER(gladiator_ym_irq); |
| 86 | | required_device<cpu_device> m_maincpu; |
| 87 | | required_device<cpu_device> m_audiocpu; |
| 88 | | required_device<cpu_device> m_subcpu; |
| 89 | | required_device<msm5205_device> m_msm; |
| 90 | | required_device<gfxdecode_device> m_gfxdecode; |
| 91 | | required_device<palette_device> m_palette; |
| 92 | | required_shared_ptr<UINT8> m_generic_paletteram_8; |
| 93 | 102 | }; |