Previous 199869 Revisions Next

r25421 Wednesday 25th September, 2013 at 02:21:56 UTC by Carl
(mess) pc: mc1502 fdc reset fix [shattered]
[src/mess/drivers]pc.c
[src/mess/machine]pc.c

trunk/src/mess/drivers/pc.c
r25420r25421
157157
158158static ADDRESS_MAP_START(mc1502_io, AS_IO, 8, pc_state )
159159   AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE("pic8259", pic8259_device, read, write)
160   AM_RANGE(0x0028, 0x0028) AM_DEVREADWRITE("upd8251", i8251_device, data_r, data_w)   // not working yet
160  AM_RANGE(0x0028, 0x0028) AM_DEVREADWRITE("upd8251", i8251_device, data_r, data_w)   // not working yet
161161   AM_RANGE(0x0029, 0x0029) AM_DEVREADWRITE("upd8251", i8251_device, status_r, control_w)
162162   AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE("pit8253", pit8253_device, read, write)
163   // BIOS 5.31, 5.33
164   AM_RANGE(0x004c, 0x004c) AM_READWRITE(mc1502_wd17xx_aux_r, mc1502_wd17xx_aux_w)
165   AM_RANGE(0x004d, 0x004d) AM_READ(mc1502_wd17xx_motor_r)
166   AM_RANGE(0x004e, 0x004e) AM_READ(mc1502_wd17xx_drq_r)           // blocking read!
167   AM_RANGE(0x0048, 0x004b) AM_DEVREADWRITE("vg93", fd1793_t, read, write)
163168   AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
164169   AM_RANGE(0x0068, 0x006B) AM_DEVREADWRITE("ppi8255n2", i8255_device, read, write)    // keyboard poll
170   // BIOS 5.0, 5.2
165171   AM_RANGE(0x0100, 0x0100) AM_READWRITE(mc1502_wd17xx_aux_r, mc1502_wd17xx_aux_w)
166172   AM_RANGE(0x0108, 0x0108) AM_READ(mc1502_wd17xx_drq_r)           // blocking read!
167173   AM_RANGE(0x010a, 0x010a) AM_READ(mc1502_wd17xx_motor_r)
trunk/src/mess/machine/pc.c
r25420r25421
977977
978978   data |= m_centronics->fault_r() << 4;
979979   data |= m_centronics->pe_r() << 5;
980   data |= m_centronics->busy_r() << 6;
981   data |= m_centronics->ack_r() << 7;
980   data |= m_centronics->ack_r() << 6;
981   data |= m_centronics->busy_r() << 7;
982982
983983   return data;
984984}
r25420r25421
11411141   DEVCB_NULL,
11421142   DEVCB_NULL,
11431143   DEVCB_DRIVER_MEMBER(pc_state,mc1502_kppi_portb_w),
1144   DEVCB_NULL,
1144   DEVCB_DRIVER_MEMBER(pc_state,mc1502_kppi_portc_r),
11451145   DEVCB_DRIVER_MEMBER(pc_state,mc1502_kppi_portc_w)
11461146};
11471147
r25420r25421
12891289   fdc->set_floppy(floppy);
12901290
12911291   // master reset
1292   if(data & 1)
1292   if((data & 1) == 0)
12931293      fdc->reset();
12941294
12951295   // SIDE ONE

Previous 199869 Revisions Next


© 1997-2024 The MAME Team