trunk/src/mame/drivers/crshrace.c
| r29479 | r29480 | |
| 406 | 406 | m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE); |
| 407 | 407 | } |
| 408 | 408 | |
| 409 | | static const k053936_interface crshrace_k053936_intf = |
| 410 | | { |
| 411 | | 1, -48, -21 /* wrap, xoff, yoff */ |
| 412 | | }; |
| 413 | | |
| 414 | | |
| 415 | 409 | void crshrace_state::machine_start() |
| 416 | 410 | { |
| 417 | 411 | m_z80bank->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x8000); |
| r29479 | r29480 | |
| 464 | 458 | MCFG_BUFFERED_SPRITERAM16_ADD("spriteram") |
| 465 | 459 | MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2") |
| 466 | 460 | |
| 467 | | MCFG_K053936_ADD("k053936", crshrace_k053936_intf) |
| 461 | MCFG_DEVICE_ADD("k053936", K053936, 0) |
| 462 | MCFG_K053936_WRAP(1) |
| 463 | MCFG_K053936_OFFSETS(-48, -21) |
| 468 | 464 | |
| 469 | | |
| 470 | 465 | /* sound hardware */ |
| 471 | 466 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 472 | 467 | |
trunk/src/mame/drivers/tmnt.c
| r29479 | r29480 | |
| 2085 | 2085 | thndrx2_sprite_callback |
| 2086 | 2086 | }; |
| 2087 | 2087 | |
| 2088 | | |
| 2089 | | /* 053936 interfaces */ |
| 2090 | | static const k053936_interface glfgreat_k053936_interface = |
| 2091 | | { |
| 2092 | | 1, 85, 0 /* wrap, xoff, yoff */ |
| 2093 | | }; |
| 2094 | | |
| 2095 | | static const k053936_interface prmrsocr_k053936_interface = |
| 2096 | | { |
| 2097 | | 0, 85, 1 /* wrap, xoff, yoff */ |
| 2098 | | }; |
| 2099 | | |
| 2100 | | |
| 2101 | 2088 | MACHINE_START_MEMBER(tmnt_state,common) |
| 2102 | 2089 | { |
| 2103 | 2090 | save_item(NAME(m_toggle)); |
| r29479 | r29480 | |
| 2496 | 2483 | MCFG_K053245_ADD("k053245", glfgreat_k05324x_intf) |
| 2497 | 2484 | MCFG_K053245_GFXDECODE("gfxdecode") |
| 2498 | 2485 | MCFG_K053245_PALETTE("palette") |
| 2499 | | MCFG_K053936_ADD("k053936", glfgreat_k053936_interface) |
| 2486 | |
| 2487 | MCFG_DEVICE_ADD("k053936", K053936, 0) |
| 2488 | MCFG_K053936_WRAP(1) |
| 2489 | MCFG_K053936_OFFSETS(85, 0) |
| 2490 | |
| 2500 | 2491 | MCFG_K053251_ADD("k053251") |
| 2501 | 2492 | |
| 2502 | 2493 | /* sound hardware */ |
| r29479 | r29480 | |
| 2562 | 2553 | MCFG_K053245_ADD("k053245", prmrsocr_k05324x_intf) |
| 2563 | 2554 | MCFG_K053245_GFXDECODE("gfxdecode") |
| 2564 | 2555 | MCFG_K053245_PALETTE("palette") |
| 2565 | | MCFG_K053936_ADD("k053936", prmrsocr_k053936_interface) |
| 2556 | |
| 2557 | MCFG_DEVICE_ADD("k053936", K053936, 0) |
| 2558 | MCFG_K053936_OFFSETS(85, 1) |
| 2559 | |
| 2566 | 2560 | MCFG_K053251_ADD("k053251") |
| 2567 | 2561 | |
| 2568 | 2562 | /* sound hardware */ |
trunk/src/mame/drivers/f1gp.c
| r29479 | r29480 | |
| 367 | 367 | m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE); |
| 368 | 368 | } |
| 369 | 369 | |
| 370 | | static const k053936_interface f1gp_k053936_intf = |
| 371 | | { |
| 372 | | 1, -58, -2 /* wrap, xoff, yoff */ |
| 373 | | }; |
| 374 | | |
| 375 | | static const k053936_interface f1gp2_k053936_intf = |
| 376 | | { |
| 377 | | 1, -48, -21 /* wrap, xoff, yoff */ |
| 378 | | }; |
| 379 | | |
| 380 | | |
| 381 | 370 | MACHINE_START_MEMBER(f1gp_state,f1gpb) |
| 382 | 371 | { |
| 383 | 372 | save_item(NAME(m_pending_command)); |
| r29479 | r29480 | |
| 452 | 441 | |
| 453 | 442 | MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gp) |
| 454 | 443 | |
| 455 | | MCFG_K053936_ADD("k053936", f1gp_k053936_intf) |
| 444 | MCFG_DEVICE_ADD("k053936", K053936, 0) |
| 445 | MCFG_K053936_WRAP(1) |
| 446 | MCFG_K053936_OFFSETS(-58, -2) |
| 456 | 447 | |
| 457 | 448 | /* sound hardware */ |
| 458 | 449 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| r29479 | r29480 | |
| 525 | 516 | MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode") |
| 526 | 517 | MCFG_VSYSTEM_SPR_PALETTE("palette") |
| 527 | 518 | |
| 528 | | MCFG_DEVICE_REMOVE("k053936") |
| 529 | | MCFG_K053936_ADD("k053936", f1gp2_k053936_intf) |
| 519 | MCFG_DEVICE_MODIFY("k053936") |
| 520 | MCFG_K053936_OFFSETS(-48, -21) |
| 530 | 521 | |
| 531 | 522 | MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gp2) |
| 532 | 523 | MACHINE_CONFIG_END |
trunk/src/mame/drivers/rungun.c
| r29479 | r29480 | |
| 330 | 330 | }; |
| 331 | 331 | |
| 332 | 332 | |
| 333 | | static const k053936_interface rng_k053936_intf = |
| 334 | | { |
| 335 | | 0, 34, 9 |
| 336 | | }; |
| 337 | | |
| 338 | 333 | static const k053247_interface rng_k055673_intf = |
| 339 | 334 | { |
| 340 | 335 | "gfx2", 1, |
| r29479 | r29480 | |
| 398 | 393 | MCFG_PALETTE_ENABLE_SHADOWS() |
| 399 | 394 | MCFG_PALETTE_ENABLE_HILIGHTS() |
| 400 | 395 | |
| 401 | | MCFG_K053936_ADD("k053936", rng_k053936_intf) |
| 396 | MCFG_DEVICE_ADD("k053936", K053936, 0) |
| 397 | MCFG_K053936_OFFSETS(34, 9) |
| 398 | |
| 402 | 399 | MCFG_K055673_ADD("k055673", rng_k055673_intf) |
| 403 | 400 | MCFG_K055673_GFXDECODE("gfxdecode") |
| 404 | 401 | MCFG_K055673_PALETTE("palette") |
trunk/src/mame/drivers/metro.c
| r29479 | r29480 | |
| 4501 | 4501 | MACHINE_CONFIG_END |
| 4502 | 4502 | |
| 4503 | 4503 | |
| 4504 | | static const k053936_interface blzntrnd_k053936_intf = |
| 4505 | | { |
| 4506 | | 0, -69, -21 |
| 4507 | | }; |
| 4508 | | |
| 4509 | 4504 | static MACHINE_CONFIG_START( blzntrnd, metro_state ) |
| 4510 | 4505 | |
| 4511 | 4506 | /* basic machine hardware */ |
| r29479 | r29480 | |
| 4535 | 4530 | MCFG_PALETTE_ADD("palette", 0x1000) |
| 4536 | 4531 | MCFG_PALETTE_FORMAT(GGGGGRRRRRBBBBBx) |
| 4537 | 4532 | |
| 4538 | | MCFG_K053936_ADD("k053936", blzntrnd_k053936_intf) |
| 4533 | MCFG_DEVICE_ADD("k053936", K053936, 0) |
| 4534 | MCFG_K053936_OFFSETS(-69, -21) |
| 4539 | 4535 | |
| 4540 | 4536 | /* sound hardware */ |
| 4541 | 4537 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| r29479 | r29480 | |
| 4550 | 4546 | |
| 4551 | 4547 | /* like blzntrnd but new vidstart / gfxdecode for the different bg tilemap */ |
| 4552 | 4548 | |
| 4553 | | static const k053936_interface gstrik2_k053936_intf = |
| 4554 | | { |
| 4555 | | 0, -69, -19 |
| 4556 | | }; |
| 4557 | | |
| 4558 | 4549 | static MACHINE_CONFIG_START( gstrik2, metro_state ) |
| 4559 | 4550 | |
| 4560 | 4551 | /* basic machine hardware */ |
| r29479 | r29480 | |
| 4584 | 4575 | MCFG_PALETTE_ADD("palette", 0x1000) |
| 4585 | 4576 | MCFG_PALETTE_FORMAT(GGGGGRRRRRBBBBBx) |
| 4586 | 4577 | |
| 4587 | | MCFG_K053936_ADD("k053936", gstrik2_k053936_intf) |
| 4578 | MCFG_DEVICE_ADD("k053936", K053936, 0) |
| 4579 | MCFG_K053936_OFFSETS(-69, -19) |
| 4588 | 4580 | |
| 4589 | 4581 | /* sound hardware */ |
| 4590 | 4582 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
trunk/src/mame/drivers/dbz.c
| r29479 | r29480 | |
| 307 | 307 | dbz_sprite_callback |
| 308 | 308 | }; |
| 309 | 309 | |
| 310 | | /* both k053936 use the same wrap/offs */ |
| 311 | | static const k053936_interface dbz_k053936_intf = |
| 312 | | { |
| 313 | | 1, -46, -16 |
| 314 | | }; |
| 315 | | |
| 316 | 310 | WRITE_LINE_MEMBER(dbz_state::dbz_irq2_ack_w) |
| 317 | 311 | { |
| 318 | 312 | m_maincpu->set_input_line(M68K_IRQ_2, CLEAR_LINE); |
| r29479 | r29480 | |
| 370 | 364 | MCFG_K056832_ADD("k056832", dbz_k056832_intf) |
| 371 | 365 | MCFG_K056832_GFXDECODE("gfxdecode") |
| 372 | 366 | MCFG_K056832_PALETTE("palette") |
| 367 | |
| 373 | 368 | MCFG_K053246_ADD("k053246", dbz_k053246_intf) |
| 374 | 369 | MCFG_K053246_GFXDECODE("gfxdecode") |
| 375 | 370 | MCFG_K053246_PALETTE("palette") |
| 371 | |
| 376 | 372 | MCFG_K053251_ADD("k053251") |
| 377 | | MCFG_K053936_ADD("k053936_1", dbz_k053936_intf) |
| 378 | | MCFG_K053936_ADD("k053936_2", dbz_k053936_intf) |
| 373 | |
| 374 | MCFG_DEVICE_ADD("k053936_1", K053936, 0) |
| 375 | MCFG_K053936_WRAP(1) |
| 376 | MCFG_K053936_OFFSETS(-46, -16) |
| 377 | |
| 378 | MCFG_DEVICE_ADD("k053936_2", K053936, 0) |
| 379 | MCFG_K053936_WRAP(1) |
| 380 | MCFG_K053936_OFFSETS(-46, -16) |
| 381 | |
| 379 | 382 | MCFG_DEVICE_ADD("k053252", K053252, 16000000/2) |
| 380 | 383 | MCFG_K053252_INT1_ACK_CB(WRITELINE(dbz_state, dbz_irq2_ack_w)) |
| 381 | 384 | |
trunk/src/mame/drivers/suprslam.c
| r29479 | r29480 | |
| 283 | 283 | |
| 284 | 284 | /*** MACHINE DRIVER **********************************************************/ |
| 285 | 285 | |
| 286 | | static const k053936_interface suprslam_k053936_intf = |
| 287 | | { |
| 288 | | 1, -45, -21 /* wrap, xoff, yoff */ |
| 289 | | }; |
| 290 | | |
| 291 | 286 | void suprslam_state::machine_start() |
| 292 | 287 | { |
| 293 | 288 | save_item(NAME(m_screen_bank)); |
| r29479 | r29480 | |
| 333 | 328 | MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode") |
| 334 | 329 | MCFG_VSYSTEM_SPR_PALETTE("palette") |
| 335 | 330 | |
| 336 | | MCFG_K053936_ADD("k053936", suprslam_k053936_intf) |
| 331 | MCFG_DEVICE_ADD("k053936", K053936, 0) |
| 332 | MCFG_K053936_WRAP(1) |
| 333 | MCFG_K053936_OFFSETS(-45, -21) |
| 337 | 334 | |
| 338 | 335 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 339 | 336 | |
trunk/src/mame/drivers/plygonet.c
| r29479 | r29480 | |
| 643 | 643 | m_sound_intck = state; |
| 644 | 644 | } |
| 645 | 645 | |
| 646 | | |
| 647 | | static const k053936_interface polygonet_k053936_intf = |
| 648 | | { |
| 649 | | 0, 0, 0 /* wrap, xoff, yoff */ |
| 650 | | }; |
| 651 | | |
| 652 | 646 | static MACHINE_CONFIG_START( plygonet, polygonet_state ) |
| 653 | 647 | |
| 654 | 648 | MCFG_CPU_ADD("maincpu", M68EC020, XTAL_32MHz/2) |
| r29479 | r29480 | |
| 679 | 673 | |
| 680 | 674 | MCFG_PALETTE_ADD("palette", 32768) |
| 681 | 675 | |
| 682 | | MCFG_K053936_ADD("k053936", polygonet_k053936_intf) |
| 676 | MCFG_DEVICE_ADD("k053936", K053936, 0) |
| 683 | 677 | |
| 684 | 678 | /* sound hardware */ |
| 685 | 679 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
trunk/src/mame/video/k053936.c
| r29479 | r29480 | |
| 220 | 220 | |
| 221 | 221 | |
| 222 | 222 | |
| 223 | | |
| 224 | | |
| 225 | | |
| 226 | 223 | /***************************************************************************/ |
| 227 | 224 | /* */ |
| 228 | 225 | /* 053936 */ |
| r29479 | r29480 | |
| 234 | 231 | k053936_device::k053936_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 235 | 232 | : device_t(mconfig, K053936, "Konami 053936", tag, owner, clock, "k053936", __FILE__), |
| 236 | 233 | m_ctrl(NULL), |
| 237 | | m_linectrl(NULL) |
| 234 | m_linectrl(NULL), |
| 235 | m_wrap(0), |
| 236 | m_xoff(0), |
| 237 | m_yoff(0) |
| 238 | 238 | { |
| 239 | 239 | } |
| 240 | 240 | |
| 241 | 241 | //------------------------------------------------- |
| 242 | | // device_config_complete - perform any |
| 243 | | // operations now that the configuration is |
| 244 | | // complete |
| 245 | | //------------------------------------------------- |
| 246 | | |
| 247 | | void k053936_device::device_config_complete() |
| 248 | | { |
| 249 | | // inherit a copy of the static data |
| 250 | | const k053936_interface *intf = reinterpret_cast<const k053936_interface *>(static_config()); |
| 251 | | if (intf != NULL) |
| 252 | | *static_cast<k053936_interface *>(this) = *intf; |
| 253 | | |
| 254 | | // or initialize to defaults if none provided |
| 255 | | else |
| 256 | | { |
| 257 | | m_wrap = 0; |
| 258 | | m_xoff = 0; |
| 259 | | m_yoff = 0; |
| 260 | | } |
| 261 | | } |
| 262 | | |
| 263 | | //------------------------------------------------- |
| 264 | 242 | // device_start - device-specific startup |
| 265 | 243 | //------------------------------------------------- |
| 266 | 244 | |
trunk/src/mame/video/k053936.h
| r29479 | r29480 | |
| 3 | 3 | #define __K053936_H__ |
| 4 | 4 | |
| 5 | 5 | |
| 6 | | /* */ |
| 7 | | |
| 8 | | |
| 9 | | #define MCFG_K053936_ADD(_tag, _interface) \ |
| 10 | | MCFG_DEVICE_ADD(_tag, K053936, 0) \ |
| 11 | | MCFG_DEVICE_CONFIG(_interface) |
| 12 | | |
| 13 | | |
| 14 | | |
| 15 | 6 | void K053936_0_zoom_draw(screen_device &screen, bitmap_ind16 &bitmap,const rectangle &cliprect,tilemap_t *tmap,int flags,UINT32 priority, int glfgreat_hack); |
| 16 | 7 | void K053936_wraparound_enable(int chip, int status); |
| 17 | 8 | void K053936_set_offset(int chip, int xoffs, int yoffs); |
| r29479 | r29480 | |
| 23 | 14 | void K053936GP_0_zoom_draw(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, tilemap_t *tmap, int tilebpp, int blend, int alpha, int pixeldouble_output, UINT16* temp_m_k053936_0_ctrl_16, UINT16* temp_m_k053936_0_linectrl_16, UINT16* temp_m_k053936_0_ctrl, UINT16* temp_m_k053936_0_linectrl, palette_device *palette); |
| 24 | 15 | |
| 25 | 16 | |
| 26 | | |
| 27 | | |
| 28 | | struct k053936_interface |
| 17 | class k053936_device : public device_t |
| 29 | 18 | { |
| 30 | | int m_wrap, m_xoff, m_yoff; |
| 31 | | }; |
| 32 | | |
| 33 | | |
| 34 | | |
| 35 | | class k053936_device : public device_t, |
| 36 | | public k053936_interface |
| 37 | | { |
| 38 | 19 | public: |
| 39 | 20 | k053936_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 40 | 21 | ~k053936_device() {} |
| 41 | 22 | |
| 23 | // static configuration |
| 24 | static void set_wrap(device_t &device, int wrap) { downcast<k053936_device &>(device).m_wrap = wrap; } |
| 25 | static void set_offsets(device_t &device, int x_offset, int y_offset) |
| 26 | { |
| 27 | k053936_device &dev = downcast<k053936_device &>(device); |
| 28 | dev.m_xoff = x_offset; |
| 29 | dev.m_yoff = y_offset; |
| 30 | } |
| 31 | |
| 42 | 32 | DECLARE_WRITE16_MEMBER( ctrl_w ); |
| 43 | 33 | DECLARE_READ16_MEMBER( ctrl_r ); |
| 44 | 34 | DECLARE_WRITE16_MEMBER( linectrl_w ); |
| r29479 | r29480 | |
| 49 | 39 | |
| 50 | 40 | protected: |
| 51 | 41 | // device-level overrides |
| 52 | | virtual void device_config_complete(); |
| 53 | 42 | virtual void device_start(); |
| 54 | 43 | virtual void device_reset(); |
| 55 | 44 | |
| r29479 | r29480 | |
| 57 | 46 | // internal state |
| 58 | 47 | UINT16 *m_ctrl; |
| 59 | 48 | UINT16 *m_linectrl; |
| 49 | int m_wrap, m_xoff, m_yoff; |
| 60 | 50 | }; |
| 61 | 51 | |
| 62 | 52 | extern const device_type K053936; |
| 63 | 53 | |
| 54 | #define MCFG_K053936_WRAP(_wrap) \ |
| 55 | k053936_device::set_wrap(*device, _wrap); |
| 64 | 56 | |
| 57 | #define MCFG_K053936_OFFSETS(_xoffs, _yoffs) \ |
| 58 | k053936_device::set_offsets(*device, _xoffs, _yoffs); |
| 65 | 59 | |
| 66 | | |
| 67 | 60 | #endif |