trunk/src/mame/machine/xbox.c
| r249015 | r249016 | |
| 465 | 465 | |
| 466 | 466 | void xbox_base_state::vblank_callback(screen_device &screen, bool state) |
| 467 | 467 | { |
| 468 | | if (nvidia_nv2a->vblank_callback(screen, state)) |
| 469 | | xbox_base_devs.pic8259_1->ir3_w(1); // IRQ 3 |
| 470 | | else |
| 471 | | xbox_base_devs.pic8259_1->ir3_w(0); // IRQ 3 |
| 468 | nvidia_nv2a->vblank_callback(screen, state); |
| 472 | 469 | } |
| 473 | 470 | |
| 474 | 471 | UINT32 xbox_base_state::screen_update_callback(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) |
| r249015 | r249016 | |
| 1460 | 1457 | if (machine().debug_flags & DEBUG_FLAG_ENABLED) |
| 1461 | 1458 | debug_console_register_command(machine(), "xbox", CMDFLAG_NONE, 0, 1, 4, xbox_debug_commands); |
| 1462 | 1459 | memset(&ohcist, 0, sizeof(ohcist)); |
| 1460 | // PIC challenge handshake data |
| 1461 | pic16lc_buffer[0x1c] = 0x0c; |
| 1462 | pic16lc_buffer[0x1d] = 0x0d; |
| 1463 | pic16lc_buffer[0x1e] = 0x0e; |
| 1464 | pic16lc_buffer[0x1f] = 0x0f; |
| 1463 | 1465 | #ifdef USB_ENABLED |
| 1464 | 1466 | ohcist.hc_regs[HcRevision] = 0x10; |
| 1465 | 1467 | ohcist.hc_regs[HcFmInterval] = 0x2edf; |
| r249015 | r249016 | |
| 1483 | 1485 | save_item(NAME(smbusst.rw)); |
| 1484 | 1486 | save_item(NAME(smbusst.words)); |
| 1485 | 1487 | save_item(NAME(pic16lc_buffer)); |
| 1488 | nvidia_nv2a->set_interrupt_device(xbox_base_devs.pic8259_1); |
| 1486 | 1489 | nvidia_nv2a->start(&m_maincpu->space()); |
| 1487 | 1490 | nvidia_nv2a->savestate_items(); |
| 1488 | 1491 | } |