trunk/src/mess/drivers/pc9801.c
| r19527 | r19528 | |
| 37 | 37 | - Presumably one ROM is undumped? |
| 38 | 38 | |
| 39 | 39 | floppy issues TODO (certain fail) |
| 40 | - Unsupported disk types: *.dsk, *.nfd, *.fdd |
| 40 | 41 | - 46 Okunen Monogatari - The Shinkaron |
| 41 | 42 | - AD&D Champions of Krynn |
| 42 | 43 | - AI Shougi (asserts upon loading) |
| r19527 | r19528 | |
| 66 | 67 | - Arcus 3: moans with a JP message "not enough memory (needs 640kb to start)"; |
| 67 | 68 | - Armored Flagship Atragon: needs HDD install |
| 68 | 69 | - Arquephos: needs extra sound board(s)? |
| 70 | - Asoko no Koufuku: black screen with BGM, waits at 0x225f6; |
| 69 | 71 | |
| 70 | 72 | - Dragon Buster: slight issue with window masking; |
| 71 | 73 | - Far Side Moon: doesn't detect sound board (tied to 0x00ec ports) |
| r19527 | r19528 | |
| 342 | 344 | UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
| 343 | 345 | |
| 344 | 346 | UINT8 *m_ipl_rom; |
| 347 | UINT8 *m_sound_bios; |
| 345 | 348 | UINT8 *m_work_ram; |
| 346 | 349 | UINT8 *m_ext_work_ram; |
| 347 | 350 | UINT8 *m_char_rom; |
| r19527 | r19528 | |
| 454 | 457 | DECLARE_READ8_MEMBER(pc9801rs_30_r); |
| 455 | 458 | DECLARE_READ8_MEMBER(pc9801rs_memory_r); |
| 456 | 459 | DECLARE_WRITE8_MEMBER(pc9801rs_memory_w); |
| 460 | DECLARE_READ8_MEMBER(m_pc9801rs_soundrom_r); |
| 457 | 461 | DECLARE_READ8_MEMBER(pc9810rs_fdc_ctrl_r); |
| 458 | 462 | DECLARE_WRITE8_MEMBER(pc9810rs_fdc_ctrl_w); |
| 459 | 463 | DECLARE_READ8_MEMBER(pc9801rs_2hd_r); |
| r19527 | r19528 | |
| 1803 | 1807 | pc9801_70_w(space,offset,data); |
| 1804 | 1808 | } |
| 1805 | 1809 | |
| 1810 | READ8_MEMBER(pc9801_state::m_pc9801rs_soundrom_r) |
| 1811 | { |
| 1812 | return m_sound_bios[offset]; |
| 1813 | } |
| 1814 | |
| 1806 | 1815 | READ8_MEMBER(pc9801_state::pc9801rs_memory_r) |
| 1807 | 1816 | { |
| 1808 | 1817 | if(m_gate_a20 == 0) |
| r19527 | r19528 | |
| 1814 | 1823 | else if(offset >= 0x000a8000 && offset <= 0x000affff) { return m_pc9801rs_grcg_r(offset & 0x7fff,1); } |
| 1815 | 1824 | else if(offset >= 0x000b0000 && offset <= 0x000b7fff) { return m_pc9801rs_grcg_r(offset & 0x7fff,2); } |
| 1816 | 1825 | else if(offset >= 0x000b8000 && offset <= 0x000bffff) { return m_pc9801rs_grcg_r(offset & 0x7fff,3); } |
| 1826 | else if(offset >= 0x000cc000 && offset <= 0x000cffff) { return m_pc9801rs_soundrom_r(space,offset & 0x3fff);} |
| 1817 | 1827 | else if(offset >= 0x000e0000 && offset <= 0x000e7fff) { return m_pc9801rs_grcg_r(offset & 0x7fff,0); } |
| 1818 | 1828 | else if(offset >= 0x000e0000 && offset <= 0x000fffff) { return pc9801rs_ipl_r(space,offset & 0x1ffff); } |
| 1819 | 1829 | else if(offset >= 0x00100000 && offset <= 0x00100000+m_ram_size-1) { return pc9801rs_ex_wram_r(space,offset-0x00100000); } |
| r19527 | r19528 | |
| 3399 | 3409 | m_rtc->oe_w(0); // TODO: unknown connection, MS-DOS 6.2x wants this low somehow with the test mode |
| 3400 | 3410 | |
| 3401 | 3411 | m_ipl_rom = memregion("ipl")->base(); |
| 3412 | m_sound_bios = memregion("sound_bios")->base(); |
| 3402 | 3413 | } |
| 3403 | 3414 | |
| 3404 | 3415 | MACHINE_START_MEMBER(pc9801_state,pc9801f) |
| r19527 | r19528 | |
| 3907 | 3918 | ROM_LOAD( "itf_ux.rom", 0x18000, 0x08000, CRC(c7942563) SHA1(61bb210d64c7264be939b11df1e9cd14ffeee3c9) ) |
| 3908 | 3919 | ROM_LOAD( "bios_ux.rom", 0x28000, 0x18000, BAD_DUMP CRC(97375ca2) SHA1(bfe458f671d90692104d0640730972ca8dc0a100) ) |
| 3909 | 3920 | |
| 3910 | | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3921 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 3911 | 3922 | ROM_LOAD( "sound_ux.rom", 0x0000, 0x4000, CRC(80eabfde) SHA1(e09c54152c8093e1724842c711aed6417169db23) ) |
| 3912 | 3923 | |
| 3913 | 3924 | ROM_REGION( 0x80000, "chargen", 0 ) |
| r19527 | r19528 | |
| 3926 | 3937 | ROM_LOAD( "itf_rs.rom", 0x18000, 0x08000, BAD_DUMP CRC(c1815325) SHA1(a2fb11c000ed7c976520622cfb7940ed6ddc904e) ) |
| 3927 | 3938 | ROM_LOAD( "bios_rx.rom", 0x28000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) |
| 3928 | 3939 | |
| 3929 | | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3940 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 3930 | 3941 | ROM_LOAD( "sound_rx.rom", 0x000000, 0x004000, CRC(fe9f57f2) SHA1(d5dbc4fea3b8367024d363f5351baecd6adcd8ef) ) |
| 3931 | 3942 | |
| 3932 | 3943 | ROM_REGION( 0x80000, "chargen", 0 ) |
| r19527 | r19528 | |
| 3958 | 3969 | ROM_LOAD( "f0000.rom", 0xf0000, 0x8000, CRC(4da85a6c) SHA1(18dccfaf6329387c0c64cc4c91b32c25cde8bd5a) ) |
| 3959 | 3970 | ROM_LOAD( "f8000.rom", 0xf8000, 0x8000, CRC(2b1e45b1) SHA1(1fec35f17d96b2e2359e3c71670575ad9ff5007e) ) |
| 3960 | 3971 | |
| 3961 | | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3972 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 3962 | 3973 | ROM_LOAD( "sound.rom", 0x0000, 0x4000, CRC(80eabfde) SHA1(e09c54152c8093e1724842c711aed6417169db23) ) |
| 3963 | 3974 | |
| 3964 | 3975 | ROM_REGION( 0x80000, "chargen", 0 ) |
| r19527 | r19528 | |
| 3979 | 3990 | ROM_LOAD( "itf_rs.rom", 0x18000, 0x08000, CRC(c1815325) SHA1(a2fb11c000ed7c976520622cfb7940ed6ddc904e) ) |
| 3980 | 3991 | ROM_LOAD( "bios_vm.rom", 0x28000, 0x018000, CRC(2e2d7cee) SHA1(159549f845dc70bf61955f9469d2281a0131b47f) ) |
| 3981 | 3992 | |
| 3982 | | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3993 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 3983 | 3994 | ROM_LOAD( "sound_vm.rom", 0x000000, 0x004000, CRC(fe9f57f2) SHA1(d5dbc4fea3b8367024d363f5351baecd6adcd8ef) ) |
| 3984 | 3995 | |
| 3985 | 3996 | ROM_REGION( 0x80000, "chargen", 0 ) |
| r19527 | r19528 | |
| 4003 | 4014 | LOAD_IDE_ROM |
| 4004 | 4015 | LOAD_UNK_ROM |
| 4005 | 4016 | |
| 4006 | | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 4017 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4007 | 4018 | ROM_LOAD( "sound.rom", 0x0000, 0x4000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 4008 | 4019 | |
| 4009 | 4020 | ROM_REGION( 0x80000, "chargen", 0 ) |
| r19527 | r19528 | |
| 4025 | 4036 | LOAD_IDE_ROM |
| 4026 | 4037 | LOAD_UNK_ROM |
| 4027 | 4038 | |
| 4028 | | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 4039 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4029 | 4040 | ROM_LOAD( "sound_as.rom", 0x000000, 0x004000, CRC(fe9f57f2) SHA1(d5dbc4fea3b8367024d363f5351baecd6adcd8ef) ) |
| 4030 | 4041 | |
| 4031 | 4042 | ROM_REGION( 0x80000, "chargen", 0 ) |
| r19527 | r19528 | |
| 4048 | 4059 | LOAD_IDE_ROM |
| 4049 | 4060 | LOAD_UNK_ROM |
| 4050 | 4061 | |
| 4051 | | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 4062 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4052 | 4063 | ROM_LOAD( "sound_ne.rom", 0x0000, 0x4000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 4053 | 4064 | |
| 4054 | 4065 | ROM_REGION( 0x80000, "chargen", 0 ) |
| r19527 | r19528 | |
| 4070 | 4081 | LOAD_IDE_ROM |
| 4071 | 4082 | LOAD_UNK_ROM |
| 4072 | 4083 | |
| 4073 | | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 4084 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4074 | 4085 | ROM_LOAD( "sound_486mu.rom", 0x0000, 0x4000, CRC(6cdfa793) SHA1(4b8250f9b9db66548b79f961d61010558d6d6e1c)) |
| 4075 | 4086 | |
| 4076 | 4087 | ROM_REGION( 0x80000, "chargen", 0 ) |
| r19527 | r19528 | |
| 4092 | 4103 | LOAD_IDE_ROM |
| 4093 | 4104 | LOAD_UNK_ROM |
| 4094 | 4105 | |
| 4095 | | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 4106 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4096 | 4107 | ROM_LOAD( "sound_ce2.rom", 0x000000, 0x004000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 4097 | 4108 | |
| 4098 | 4109 | ROM_REGION( 0x80000, "chargen", 0 ) |
| r19527 | r19528 | |
| 4137 | 4148 | LOAD_IDE_ROM |
| 4138 | 4149 | LOAD_UNK_ROM |
| 4139 | 4150 | |
| 4140 | | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 4151 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4141 | 4152 | ROM_LOAD( "sound_v13.rom", 0x0000, 0x4000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 4142 | 4153 | |
| 4143 | 4154 | ROM_REGION( 0x80000, "chargen", 0 ) |
| r19527 | r19528 | |
| 4159 | 4170 | LOAD_IDE_ROM |
| 4160 | 4171 | LOAD_UNK_ROM |
| 4161 | 4172 | |
| 4162 | | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 4173 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4163 | 4174 | ROM_LOAD( "sound_v20.rom", 0x000000, 0x004000, CRC(80eabfde) SHA1(e09c54152c8093e1724842c711aed6417169db23) ) |
| 4164 | 4175 | |
| 4165 | 4176 | ROM_REGION( 0x80000, "chargen", 0 ) |