trunk/src/mame/drivers/gunpey.c
| r21488 | r21489 | |
| 333 | 333 | |
| 334 | 334 | blit_ram[offset] = data; |
| 335 | 335 | |
| 336 | | #if 0 |
| 337 | | if(offset == 0 && data == 2) // blitter trigger |
| 336 | if(offset == 0 && data == 2) // blitter trigger, 0->1 transition |
| 338 | 337 | { |
| 339 | 338 | int srcx = blit_ram[0x04]+(blit_ram[0x05]<<8); |
| 340 | 339 | int srcy = blit_ram[0x06]+(blit_ram[0x07]<<8); |
| 341 | | int dstx = blit_ram[0x08]+((blit_ram[0x09] & 0x01) <<8); |
| 342 | | int dsty = blit_ram[0x0a]+((blit_ram[0x0b] & 0x01) <<8); |
| 340 | int dstx = blit_ram[0x08]+(blit_ram[0x09]<<8); |
| 341 | int dsty = blit_ram[0x0a]+(blit_ram[0x0b]<<8); |
| 343 | 342 | int xsize = blit_ram[0x0c]+1; |
| 344 | 343 | int ysize = blit_ram[0x0e]+1; |
| 345 | | int color,color_offs; |
| 344 | // int color,color_offs; |
| 346 | 345 | |
| 347 | | printf("%d %d %d %d\n",blit_ram[0x08]+(blit_ram[0x09]<<8),blit_ram[0x0a]+(blit_ram[0x0b]<<8),xsize,ysize); |
| 346 | printf("%04x %04x %04x %04x %02x %02x\n",srcx,srcy,dstx,dsty,xsize,ysize); |
| 348 | 347 | |
| 348 | gunpey_irq_check(4); |
| 349 | |
| 350 | #if 0 |
| 349 | 351 | if(blit_ram[0x01] == 8) //1bpp? |
| 350 | 352 | { |
| 351 | 353 | // ... |
| r21488 | r21489 | |
| 369 | 371 | } |
| 370 | 372 | } |
| 371 | 373 | } |
| 372 | | |
| 374 | #endif |
| 373 | 375 | /* |
| 374 | 376 | printf("%02x %02x %02x %02x|%02x %02x %02x %02x|%02x %02x %02x %02x|%02x %02x %02x %02x\n" |
| 375 | 377 | ,blit_ram[0],blit_ram[1],blit_ram[2],blit_ram[3] |
| r21488 | r21489 | |
| 378 | 380 | ,blit_ram[0xc],blit_ram[0xd],blit_ram[0xe],blit_ram[0xf]); |
| 379 | 381 | */ |
| 380 | 382 | } |
| 381 | | #endif |
| 382 | 383 | } |
| 383 | 384 | |
| 384 | 385 | WRITE8_MEMBER(gunpey_state::gunpey_output_w) |
| r21488 | r21489 | |
| 535 | 536 | } |
| 536 | 537 | |
| 537 | 538 | |
| 538 | | /* Four irqs: |
| 539 | | 0x01 really an irq? |
| 540 | | 0x04 |
| 539 | /*: |
| 540 | 0x01 |
| 541 | 0x04 blitter ready |
| 541 | 542 | 0x10 |
| 542 | 543 | 0x40 almost certainly vblank (reads inputs) |
| 543 | 544 | 0x80 |
| r21488 | r21489 | |
| 546 | 547 | { |
| 547 | 548 | int scanline = param; |
| 548 | 549 | |
| 549 | | /* TODO */ |
| 550 | if(scanline == 0) |
| 551 | gunpey_irq_check(0x10); |
| 552 | |
| 550 | 553 | if(scanline == 480) |
| 551 | | gunpey_irq_check(0x54); |
| 554 | gunpey_irq_check(0x40); |
| 552 | 555 | } |
| 553 | 556 | |
| 554 | 557 | |
| r21488 | r21489 | |
| 614 | 617 | |
| 615 | 618 | DRIVER_INIT_MEMBER(gunpey_state,gunpey) |
| 616 | 619 | { |
| 617 | | UINT8 *rom = memregion("maincpu")->base(); |
| 620 | // UINT8 *rom = memregion("maincpu")->base(); |
| 618 | 621 | |
| 619 | 622 | /* patch SLOOOOW cycle checks ... */ |
| 620 | | rom[0x848b5] = 0x7e; |
| 623 | // rom[0x848b5] = 0x7e; |
| 621 | 624 | // rom[0x848b6] = 0x03; |
| 622 | | rom[0x89657] = 0x75; |
| 623 | | rom[0x8e628] = 0x75; |
| 625 | // rom[0x89657] = 0x75; |
| 626 | // rom[0x8e628] = 0x75; |
| 624 | 627 | |
| 625 | 628 | } |
| 626 | 629 | |