trunk/src/mess/drivers/pc9801.c
| r19816 | r19817 | |
| 41 | 41 | - Unsupported disk types: *.dsk, *.nfd, *.fdd, *.nhd |
| 42 | 42 | - 46 Okunen Monogatari - The Shinkaron |
| 43 | 43 | - AD&D Champions of Krynn |
| 44 | | - AI Shougi (asserts upon loading) |
| 44 | - AI Shougi (asserts upon loading, 3'5 image?) |
| 45 | - Aki no Tsukasa no Fushigi no Kabe (works in PC-9801RS only) |
| 45 | 46 | - Aoki Ookami no Shiroki Mejika - Gengis Khan |
| 46 | 47 | - Arcshu |
| 47 | 48 | - Arcus 2 |
| r19816 | r19817 | |
| 58 | 59 | - Birdy World |
| 59 | 60 | |
| 60 | 61 | - Bokosuka Wars |
| 61 | | - Dokkin Minako Sensei (2dd image) |
| 62 | 62 | - Jangou 2: floppy fails to load after the title screen; |
| 63 | 63 | - Okuman Chouja 2: fails loading in PC-9801RS only ("packed file is corrupt"). Maybe a 386 core bug? |
| 64 | 64 | - Quarth: fails loading in PC-9801RS only ("packed file is corrupt"). Maybe a 386 core bug? |
| r19816 | r19817 | |
| 68 | 68 | - A Ressha de Ikou 2: missing text (PC-9801RS only); |
| 69 | 69 | - Absolutely Mahjong: Transitions are too fast. |
| 70 | 70 | - Agumix Selects!: needs GDC = 5 MHz, interlace doesn't work properly; |
| 71 | | - Aki no Tsukasa no Fushigi no Kabe: moans with a kanji error |
| 72 | | "can't use (this) on a vanilla PC-9801, a PC-9801E nor a PC-9801U. Please turn off the computer and turn it on again." |
| 73 | 71 | - Alice no Yakata: doesn't set bitmap interlace properly, can't do disk swaps via the File Manager; |
| 74 | 72 | - Animahjong V3: accesses port 0x88; |
| 75 | 73 | - Anniversary - Memories of Summer: thinks that a button is pressed; |
| r19816 | r19817 | |
| 443 | 441 | UINT8 m_pc9821_window_bank; |
| 444 | 442 | UINT8 m_joy_sel; |
| 445 | 443 | UINT8 m_ext2_ff; |
| 444 | UINT8 m_sys_type; |
| 446 | 445 | |
| 447 | 446 | DECLARE_READ8_MEMBER(pc9801_xx_r); |
| 448 | 447 | DECLARE_WRITE8_MEMBER(pc9801_xx_w); |
| r19816 | r19817 | |
| 481 | 480 | DECLARE_WRITE8_MEMBER(pc9801rs_mouse_freq_w); |
| 482 | 481 | inline UINT8 m_pc9801rs_grcg_r(UINT32 offset,int vbank); |
| 483 | 482 | inline void m_pc9801rs_grcg_w(UINT32 offset,int vbank,UINT8 data); |
| 483 | DECLARE_CUSTOM_INPUT_MEMBER(system_type_r); |
| 484 | 484 | |
| 485 | 485 | DECLARE_WRITE8_MEMBER(sasi_data_w); |
| 486 | 486 | DECLARE_WRITE_LINE_MEMBER(sasi_io_w); |
| r19816 | r19817 | |
| 2697 | 2697 | } |
| 2698 | 2698 | } |
| 2699 | 2699 | |
| 2700 | CUSTOM_INPUT_MEMBER(pc9801_state::system_type_r) |
| 2701 | { |
| 2702 | // System Type (0x00 stock PC-9801, 0xc0 PC-9801U / PC-98LT, PC-98HA, 0x80 others) |
| 2703 | return m_sys_type; |
| 2704 | } |
| 2705 | |
| 2700 | 2706 | static INPUT_PORTS_START( pc9801 ) |
| 2701 | 2707 | PORT_START("KEY0") // 0x00 - 0x07 |
| 2702 | 2708 | PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("ESC") PORT_CODE(KEYCODE_ESC) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x00) PORT_IMPULSE(1) |
| r19816 | r19817 | |
| 2902 | 2908 | PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) //system clock = 5 MHz (0) / 8 MHz (1) |
| 2903 | 2909 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 2904 | 2910 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 2905 | | PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) // System Type (0x00 stock PC-9801, 0xc0 PC-9801U / PC-98LT, PC-98HA, 0x80 others) |
| 2906 | | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 2907 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 2908 | | PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) // |
| 2909 | | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 2910 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 2911 | PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, pc9801_state, system_type_r, NULL) |
| 2911 | 2912 | |
| 2912 | 2913 | PORT_START("DSW2") |
| 2913 | 2914 | PORT_DIPNAME( 0x01, 0x01, "System Specification" ) PORT_DIPLOCATION("SW1:1") //jumps to daa00 if off, presumably some card booting |
| r19816 | r19817 | |
| 3581 | 3582 | } |
| 3582 | 3583 | m_fdc_2hd->set_rate(500000); |
| 3583 | 3584 | m_fdc_2dd->set_rate(250000); |
| 3585 | m_sys_type = 0x00 >> 6; |
| 3584 | 3586 | } |
| 3585 | 3587 | |
| 3586 | 3588 | MACHINE_START_MEMBER(pc9801_state,pc9801rs) |
| r19816 | r19817 | |
| 3600 | 3602 | fdc->setup_drq_cb(upd765a_device::line_cb(FUNC(pc9801_state::pc9801rs_fdc_drq), this)); |
| 3601 | 3603 | |
| 3602 | 3604 | m_ide_rom = memregion("ide")->base(); |
| 3605 | m_sys_type = 0x80 >> 6; |
| 3603 | 3606 | } |
| 3604 | 3607 | |
| 3605 | 3608 | MACHINE_START_MEMBER(pc9801_state,pc9821) |