diff options
author | 2018-03-27 01:20:08 +0200 | |
---|---|---|
committer | 2018-03-27 10:20:08 +1100 | |
commit | c959d88ec524125f73d61510d4843c769da50c02 (patch) | |
tree | 8de131acdcc5e70e43fbb44e031b349dea09fae9 | |
parent | 9a154947d1cb61180eb00bffa919e7921c2d5234 (diff) |
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.
-rw-r--r-- | src/lib/formats/td0_dsk.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/xerox820.cpp | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/lib/formats/td0_dsk.cpp b/src/lib/formats/td0_dsk.cpp index f31150eb45d..71d6395a70a 100644 --- a/src/lib/formats/td0_dsk.cpp +++ b/src/lib/formats/td0_dsk.cpp @@ -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 }; diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp index 776c60729af..3e91fe6e415 100644 --- a/src/mame/drivers/xerox820.cpp +++ b/src/mame/drivers/xerox820.cpp @@ -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)) |