trunk/src/mess/drivers/pc9801.c
| r19358 | r19359 | |
| 30 | 30 | floppy issues TODO (certain fail, even with a stock F version) |
| 31 | 31 | - AdventureLand: "disk offline" error |
| 32 | 32 | - Microsoft Windows 1.0 MSDOS.SYS error (can be bypassed by loading MS-DOS first) |
| 33 | | \- these two happens due of a fail in sense drive status ready line (bit 5) |
| 33 | \- these two happens due of a fail in sense drive status command, ready line (bit 5) |
| 34 | 34 | |
| 35 | 35 | - Dokkin Minako Sensei! |
| 36 | 36 | |
| r19358 | r19359 | |
| 1260 | 1260 | |
| 1261 | 1261 | void pc9801_state::pc9801_fdc_2hd_update_ready(floppy_image_device *, int) |
| 1262 | 1262 | { |
| 1263 | | bool ready = m_fdc_2hd_ctrl & 0x40; |
| 1263 | bool ready = m_fdc_2hd_ctrl & 0x40 ? true : false; |
| 1264 | 1264 | floppy_image_device *floppy; |
| 1265 | 1265 | floppy = machine().device<floppy_connector>("upd765_2hd:0")->get_device(); |
| 1266 | | if(floppy && ready) |
| 1266 | /* TODO: correct? Was ANDed before, with an OR several programs boots ... */ |
| 1267 | if(floppy || ready) |
| 1267 | 1268 | ready = floppy->ready_r(); |
| 1268 | 1269 | floppy = machine().device<floppy_connector>("upd765_2hd:1")->get_device(); |
| 1269 | | if(floppy && ready) |
| 1270 | if(floppy || ready) |
| 1270 | 1271 | ready = floppy->ready_r(); |
| 1271 | 1272 | |
| 1272 | 1273 | m_fdc_2hd->ready_w(ready); |
| r19358 | r19359 | |
| 3136 | 3137 | state_save_register_global_pointer(machine(), m_work_ram, 0xa0000); |
| 3137 | 3138 | state_save_register_global_pointer(machine(), m_ext_work_ram, 0x700000); |
| 3138 | 3139 | |
| 3140 | m_ram_size = machine().device<ram_device>(RAM_TAG)->size() - 0xa0000; |
| 3141 | |
| 3139 | 3142 | upd765a_device *fdc; |
| 3140 | 3143 | fdc = machine().device<upd765a_device>(":upd765_2hd"); |
| 3141 | 3144 | fdc->setup_intrq_cb(upd765a_device::line_cb(FUNC(pc9801_state::pc9801rs_fdc_irq), this)); |
| r19358 | r19359 | |
| 3223 | 3226 | m_fdc_ctrl = 3; |
| 3224 | 3227 | m_access_ctrl = 0; |
| 3225 | 3228 | m_keyb_press = 0xff; // temp kludge, for PC-9821 booting |
| 3226 | | |
| 3227 | | m_ram_size = machine().device<ram_device>(RAM_TAG)->size() - 0xa0000; |
| 3228 | 3229 | } |
| 3229 | 3230 | |
| 3230 | 3231 | MACHINE_RESET_MEMBER(pc9801_state,pc9821) |