trunk/src/mess/drivers/pc9801.c
| r18943 | r18944 | |
| 587 | 587 | } |
| 588 | 588 | } |
| 589 | 589 | |
| 590 | | static const floppy_format_type pc9801_floppy_formats[] = { |
| 591 | | FLOPPY_D88_FORMAT, |
| 592 | | FLOPPY_MFI_FORMAT, |
| 593 | | NULL |
| 594 | | }; |
| 595 | | |
| 596 | | static SLOT_INTERFACE_START( pc9801_floppies ) |
| 597 | | SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) |
| 598 | | SLOT_INTERFACE_END |
| 599 | | |
| 600 | 590 | static UPD7220_INTERFACE( hgdc_1_intf ) |
| 601 | 591 | { |
| 602 | 592 | "screen", |
| r18943 | r18944 | |
| 1115 | 1105 | machine().device<upd765a_device>("upd765_2hd")->reset(); |
| 1116 | 1106 | |
| 1117 | 1107 | /* force ready */ |
| 1118 | | if(data & 0x40) |
| 1119 | | machine().device<upd765a_device>("upd765_2hd")->ready_w(1); |
| 1108 | machine().device<upd765a_device>("upd765_2hd")->ready_w(data & 0x40); |
| 1120 | 1109 | |
| 1121 | 1110 | m_fdc_2hd_ctrl = data; |
| 1122 | 1111 | //machine().device<floppy_connector>("upd765_2hd:0")->get_device()->mon_w(!(data & 0x40)); |
| r18943 | r18944 | |
| 2445 | 2434 | * |
| 2446 | 2435 | ****************************************/ |
| 2447 | 2436 | |
| 2437 | static const floppy_format_type pc9801_floppy_formats[] = { |
| 2438 | FLOPPY_D88_FORMAT, |
| 2439 | FLOPPY_MFI_FORMAT, |
| 2440 | NULL |
| 2441 | }; |
| 2442 | |
| 2443 | static SLOT_INTERFACE_START( pc9801_floppies ) |
| 2444 | SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) |
| 2445 | SLOT_INTERFACE_END |
| 2446 | |
| 2448 | 2447 | void pc9801_state::fdc_2hd_irq(bool state) |
| 2449 | 2448 | { |
| 2450 | 2449 | printf("IRQ 2HD %d\n",state); |
| r18943 | r18944 | |
| 2523 | 2522 | |
| 2524 | 2523 | MACHINE_START_MEMBER(pc9801_state,pc9801) |
| 2525 | 2524 | { |
| 2526 | | |
| 2527 | 2525 | machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback); |
| 2528 | 2526 | |
| 2529 | 2527 | m_rtc->cs_w(1); |
| r18943 | r18944 | |
| 2615 | 2613 | |
| 2616 | 2614 | MACHINE_START_MEMBER(pc9801_state,pc9821) |
| 2617 | 2615 | { |
| 2618 | | |
| 2619 | 2616 | MACHINE_START_CALL_MEMBER(pc9801); |
| 2620 | 2617 | state_save_register_global_pointer(machine(), m_sdip, 24); |
| 2621 | 2618 | } |
| r18943 | r18944 | |
| 2666 | 2663 | MCFG_UPD1990A_ADD(UPD1990A_TAG, XTAL_32_768kHz, pc9801_upd1990a_intf) |
| 2667 | 2664 | MCFG_I8251_ADD(UPD8251_TAG, pc9801_uart_interface) |
| 2668 | 2665 | |
| 2669 | | MCFG_UPD765A_ADD("upd765_2hd", true, true) |
| 2670 | | MCFG_UPD765A_ADD("upd765_2dd", true, true) |
| 2666 | MCFG_UPD765A_ADD("upd765_2hd", false, true) |
| 2667 | MCFG_UPD765A_ADD("upd765_2dd", false, true) |
| 2671 | 2668 | MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:0", pc9801_floppies, "525hd", 0, pc9801_floppy_formats) |
| 2672 | 2669 | MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:1", pc9801_floppies, "525hd", 0, pc9801_floppy_formats) |
| 2673 | 2670 | MCFG_FLOPPY_DRIVE_ADD("upd765_2dd:0", pc9801_floppies, "525hd", 0, pc9801_floppy_formats) |
| r18943 | r18944 | |
| 2733 | 2730 | MCFG_UPD1990A_ADD("upd1990a", XTAL_32_768kHz, pc9801_upd1990a_intf) |
| 2734 | 2731 | MCFG_I8251_ADD(UPD8251_TAG, pc9801_uart_interface) |
| 2735 | 2732 | |
| 2736 | | MCFG_UPD765A_ADD("upd765_2hd", true, true) |
| 2733 | MCFG_UPD765A_ADD("upd765_2hd", false, true) |
| 2737 | 2734 | //"upd765_2dd" |
| 2738 | 2735 | MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:0", pc9801_floppies, "525hd", 0, pc9801_floppy_formats) |
| 2739 | 2736 | MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:1", pc9801_floppies, "525hd", 0, pc9801_floppy_formats) |
| r18943 | r18944 | |
| 2794 | 2791 | MCFG_UPD1990A_ADD("upd1990a", XTAL_32_768kHz, pc9801_upd1990a_intf) |
| 2795 | 2792 | MCFG_I8251_ADD(UPD8251_TAG, pc9801_uart_interface) |
| 2796 | 2793 | |
| 2797 | | MCFG_UPD765A_ADD("upd765_2hd", true, true) |
| 2794 | MCFG_UPD765A_ADD("upd765_2hd", false, true) |
| 2798 | 2795 | //"upd765_2dd" |
| 2799 | 2796 | MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:0", pc9801_floppies, "525hd", 0, pc9801_floppy_formats) |
| 2800 | 2797 | MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:1", pc9801_floppies, "525hd", 0, pc9801_floppy_formats) |