Previous 199869 Revisions Next

r19359 Thursday 6th December, 2012 at 17:02:06 UTC by Angelo Salese
Preliminary fix for the ready line, pending OG's judgement over it
[src/mess/drivers]pc9801.c

trunk/src/mess/drivers/pc9801.c
r19358r19359
3030   floppy issues TODO (certain fail, even with a stock F version)
3131   - AdventureLand: "disk offline" error
3232   - 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)
3434
3535   - Dokkin Minako Sensei!
3636
r19358r19359
12601260
12611261void pc9801_state::pc9801_fdc_2hd_update_ready(floppy_image_device *, int)
12621262{
1263   bool ready = m_fdc_2hd_ctrl & 0x40;
1263   bool ready = m_fdc_2hd_ctrl & 0x40 ? true : false;
12641264   floppy_image_device *floppy;
12651265   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)
12671268      ready = floppy->ready_r();
12681269   floppy = machine().device<floppy_connector>("upd765_2hd:1")->get_device();
1269   if(floppy && ready)
1270   if(floppy || ready)
12701271      ready = floppy->ready_r();
12711272
12721273   m_fdc_2hd->ready_w(ready);
r19358r19359
31363137   state_save_register_global_pointer(machine(), m_work_ram, 0xa0000);
31373138   state_save_register_global_pointer(machine(), m_ext_work_ram, 0x700000);
31383139
3140   m_ram_size = machine().device<ram_device>(RAM_TAG)->size() - 0xa0000;
3141
31393142   upd765a_device *fdc;
31403143   fdc = machine().device<upd765a_device>(":upd765_2hd");
31413144   fdc->setup_intrq_cb(upd765a_device::line_cb(FUNC(pc9801_state::pc9801rs_fdc_irq), this));
r19358r19359
32233226   m_fdc_ctrl = 3;
32243227   m_access_ctrl = 0;
32253228   m_keyb_press = 0xff; // temp kludge, for PC-9821 booting
3226
3227   m_ram_size = machine().device<ram_device>(RAM_TAG)->size() - 0xa0000;
32283229}
32293230
32303231MACHINE_RESET_MEMBER(pc9801_state,pc9821)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team