Minimal improvements on the disk handling (#3395)

* Keeping the 35 tracks drive as an option

* Reducing the crashes a bit more.

This helps matching the form_factor and the parameters found in the TeleDisk images, thus exiting before a serious crash.
It is NOT enough to improve the 8" disk image handling, nor it solves all the stability problems, but it is a tiny step forwards.
This commit is contained in:
Stefano 2018-03-27 01:20:08 +02:00 committed by Vas Crabb
parent 9a154947d1
commit c959d88ec5
2 changed files with 8 additions and 3 deletions

View File

@ -909,6 +909,10 @@ bool td0_format::load(io_generic *io, uint32_t form_factor, floppy_image *image)
return false; // single side 3.5?
}
break;
case 5:
if (form_factor != floppy_image::FF_8)
return false; // 8" drive form factor is expected
break;
}
static const int rates[3] = { 250000, 300000, 500000 };

View File

@ -439,7 +439,8 @@ QUICKLOAD_LOAD_MEMBER( xerox820_state, xerox820 )
/* WD1771 Interface */
static SLOT_INTERFACE_START( xerox820_floppies )
SLOT_INTERFACE( "sa400", FLOPPY_525_SSSD ) // Shugart SA-400
SLOT_INTERFACE( "sa400", FLOPPY_525_SSSD_35T ) // Shugart SA-400, 35 trk drive
SLOT_INTERFACE( "sa400l", FLOPPY_525_SSSD ) // Shugart SA-400, 40 trk drive
SLOT_INTERFACE( "sa450", FLOPPY_525_DD ) // Shugart SA-450
SLOT_INTERFACE( "sa800", FLOPPY_8_SSDD ) // Shugart SA-800
SLOT_INTERFACE( "sa850", FLOPPY_8_DSDD ) // Shugart SA-850
@ -635,8 +636,8 @@ MACHINE_CONFIG_START(xerox820_state::xerox820)
MCFG_FD1771_ADD(FD1771_TAG, XTAL(20'000'000)/20)
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(xerox820_state, fdc_intrq_w))
MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(xerox820_state, fdc_drq_w))
MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":0", xerox820_floppies, "sa400", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":1", xerox820_floppies, "sa400", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":0", xerox820_floppies, "sa400l", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":1", xerox820_floppies, "sa400l", floppy_image_device::default_floppy_formats)
MCFG_DEVICE_ADD(Z80SIO_TAG, Z80SIO0, XTAL(20'000'000)/8)
MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd))