shortname: 'Roland D20'
comment: '3.5" electronic synthesiser disks'
read_support_status: UNICORN
write_support_status: DINOSAUR

documentation:
<<<
The Roland D20 is a classic electronic synthesiser with a built-in floppy
drive, used for saving MIDI sequences and samples.

Weirdly, it seems to use precisely the same format as the Brother word
processors: a thoroughly non-IBM-compatible custom GCR system.

FluxEngine supports both reading and writing D20 disks, as well as basic support
for the filesystem, allowing files to be read from and written to D20 disks.
Note that the D20 was never intended to support arbitrary files on its disks and
is very likely to crash if you put unexpected files on a disk. In addition,
while the file format itself is currently unknown, there is a header at the top
of the file containing what appears to be the name shown in the D20 file
browser, so the name by which you see it is not necessarily the filename.

A word of warning --- just like the Brother word processors, the D20 floppy
drive isn't very well aligned. The drive itself uses quarter-stepping to
automatically adapt to whatever alignment the disk was formatted with. This
means that trying to read such a disk on a PC drive, which does _not_ have
adjustable alignment, may not work very well. In these situations it is possible
to adjust the alignment of most modern drives, but this is a somewhat risky
process and may result in permanently wrecking the drive alignment.

Please [get in touch](https://github.com/davidgiven/fluxengine/issues/new) if
you know anything about it.

Many thanks to trondl [on the VCF
forums](https://forum.vcfed.org/index.php?threads/roland-d-20-decoding-the-mysterious-floppy-format.1243226/)
for assistance with this! 
>>>

image_reader {
	filename: "rolandd20.img"
	type: IMAGETYPE_IMG
}

image_writer {
	filename: "rolandd20.img"
	type: IMAGETYPE_IMG
}

layout {
	format_type: FORMATTYPE_80TRACK
	tracks: 78
	sides: 1
	layoutdata {
		sector_size: 256
		physical {
			start_sector: 0
			count: 12
			skew: 5
		}
	}
}

encoder {
	brother {}
}

decoder {
	brother {}
}

drive {
	head_bias: 1
}

filesystem {
	type: ROLAND
}
