Fix archimedes disk format [O. Galibert]

This commit is contained in:
Olivier Galibert 2016-07-15 12:43:19 +02:00
parent 88eb373cf9
commit 9eb57470c9
2 changed files with 9 additions and 4 deletions

View File

@ -148,7 +148,8 @@ int bbc_adfs_format::find_size(io_generic *io, UINT32 form_factor)
continue;
// valid images will have sector counts adfs-s = 0x280; adfs-m = 0x500; adfs-l = 0xa00; though many adfs-s images are incorrect
if ((size == (UINT64)compute_track_size(f) * f.track_count * f.head_count) && (sectors == 0x280 || sectors == 0x500 || sectors == 0xa00)) {
// format d/e (size 819200) we accept on the size only
if ((size == (UINT64)compute_track_size(f) * f.track_count * f.head_count) && (sectors == 0x280 || sectors == 0x500 || sectors == 0xa00 || size == 819200)) {
return i;
}
}
@ -198,6 +199,10 @@ const bbc_adfs_format::format bbc_adfs_format::formats[] =
floppy_image::FF_35, floppy_image::DSQD, floppy_image::MFM,
2000, 16, 80, 2, 256, {}, -1, { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 }, 60, 22, 43
},
{ // 800K 3 1/2 inch 80 track double sided double density
floppy_image::FF_35, floppy_image::DSQD, floppy_image::MFM,
2000, 5, 80, 2, 1024, {}, -1, { 0,1,2,3,4 }, 60, 22, 43
},
{}
};

View File

@ -76,7 +76,7 @@
//#include "machine/aakart.h"
#include "machine/ram.h"
#include "machine/wd_fdc.h"
#include "formats/ami_dsk.h"
#include "formats/bbc_dsk.h"
#include "softlist.h"
class a310_state : public archimedes_state
@ -336,8 +336,8 @@ static INPUT_PORTS_START( a310 )
INPUT_PORTS_END
FLOPPY_FORMATS_MEMBER( a310_state::floppy_formats )
// TODO: same as amiga or not?
FLOPPY_ADF_FORMAT
FLOPPY_BBC_DFS_FORMAT,
FLOPPY_BBC_ADFS_FORMAT
FLOPPY_FORMATS_END
static SLOT_INTERFACE_START( a310_floppies )