trunk/src/mame/video/8080bw.c
| r19443 | r19444 | |
| 430 | 430 | |
| 431 | 431 | for (i = 0; i < 8; i++) |
| 432 | 432 | { |
| 433 | | pen_t pen = (data & 0x80) ? RGB_WHITE : RGB_BLACK; |
| 434 | | bitmap.pix32(y, x) = pen; |
| 435 | | |
| 436 | | x = x + 1; |
| 437 | | data = data << 1; |
| 433 | bitmap.pix32(y, x|i) = pens[BIT(data, 7)]; |
| 434 | data <<= 1; |
| 438 | 435 | } |
| 439 | 436 | } |
| 440 | 437 | |
| r19443 | r19444 | |
| 466 | 463 | |
| 467 | 464 | return 0; |
| 468 | 465 | } |
| 466 | |
| 467 | UINT32 _8080bw_state::screen_update_spacecom(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) |
| 468 | { |
| 469 | pen_t pens[2] = { RGB_BLACK, RGB_WHITE }; |
| 470 | offs_t offs; |
| 471 | UINT8 x,y,data; |
| 472 | |
| 473 | for (offs = 0; offs < 0x1c00; offs++) |
| 474 | { |
| 475 | y = offs >> 5; |
| 476 | x = (offs << 3)+4; //((m_invaders_flip_screen) ? 8 : 4); |
| 477 | |
| 478 | data = m_main_ram[offs+0x400]; |
| 479 | |
| 480 | if (m_invaders_flip_screen) |
| 481 | { |
| 482 | bitmap.pix32(y, x++) = pens[BIT(data, 7)]; |
| 483 | bitmap.pix32(y, x++) = pens[BIT(data, 6)]; |
| 484 | bitmap.pix32(y, x++) = pens[BIT(data, 5)]; |
| 485 | bitmap.pix32(y, x++) = pens[BIT(data, 4)]; |
| 486 | bitmap.pix32(y, x++) = pens[BIT(data, 3)]; |
| 487 | bitmap.pix32(y, x++) = pens[BIT(data, 2)]; |
| 488 | bitmap.pix32(y, x++) = pens[BIT(data, 1)]; |
| 489 | bitmap.pix32(y, x++) = pens[BIT(data, 0)]; |
| 490 | } |
| 491 | else |
| 492 | { |
| 493 | bitmap.pix32(y, x++) = pens[BIT(data, 0)]; |
| 494 | bitmap.pix32(y, x++) = pens[BIT(data, 1)]; |
| 495 | bitmap.pix32(y, x++) = pens[BIT(data, 2)]; |
| 496 | bitmap.pix32(y, x++) = pens[BIT(data, 3)]; |
| 497 | bitmap.pix32(y, x++) = pens[BIT(data, 4)]; |
| 498 | bitmap.pix32(y, x++) = pens[BIT(data, 5)]; |
| 499 | bitmap.pix32(y, x++) = pens[BIT(data, 6)]; |
| 500 | bitmap.pix32(y, x++) = pens[BIT(data, 7)]; |
| 501 | } |
| 502 | } |
| 503 | return 0; |
| 504 | } |
| 505 | |
trunk/src/mame/includes/8080bw.h
| r19443 | r19444 | |
| 113 | 113 | UINT32 screen_update_polaris(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
| 114 | 114 | UINT32 screen_update_ballbomb(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
| 115 | 115 | UINT32 screen_update_shuttlei(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
| 116 | UINT32 screen_update_spacecom(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
| 116 | 117 | |
| 117 | 118 | INTERRUPT_GEN_MEMBER(polaris_interrupt); |
| 118 | 119 | TIMER_DEVICE_CALLBACK_MEMBER(claybust_gun_callback); |
trunk/src/mame/drivers/8080bw.c
| r19443 | r19444 | |
| 688 | 688 | PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // unused? |
| 689 | 689 | |
| 690 | 690 | PORT_START(CABINET_PORT_TAG) /* Dummy port for cocktail mode */ |
| 691 | | PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 691 | PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 692 | 692 | INPUT_PORTS_END |
| 693 | 693 | |
| 694 | 694 | |
| r19443 | r19444 | |
| 707 | 707 | // assume there is no watchdog |
| 708 | 708 | MCFG_WATCHDOG_VBLANK_INIT(0) |
| 709 | 709 | MCFG_WATCHDOG_TIME_INIT(attotime::from_usec(0)) |
| 710 | |
| 711 | // video |
| 712 | MCFG_SCREEN_MODIFY("screen") |
| 713 | MCFG_SCREEN_UPDATE_DRIVER(_8080bw_state, screen_update_spacecom) |
| 710 | 714 | MACHINE_CONFIG_END |
| 711 | 715 | |
| 712 | 716 | DRIVER_INIT_MEMBER(_8080bw_state, spacecom) |
| r19443 | r19444 | |
| 2271 | 2275 | |
| 2272 | 2276 | /* sound hardware */ |
| 2273 | 2277 | MCFG_FRAGMENT_ADD(invaders_samples_audio) |
| 2278 | |
| 2279 | /* video hardware */ |
| 2280 | MCFG_SCREEN_MODIFY("screen") |
| 2281 | MCFG_SCREEN_UPDATE_DRIVER(_8080bw_state, screen_update_invaders) |
| 2274 | 2282 | MACHINE_CONFIG_END |
| 2275 | 2283 | |
| 2276 | 2284 | |