tslabs/zx-evo

TS-Conf: emulate FM/MFM bit in Beta Disk Interface implementation

Opened this issue · 0 comments

By default, all TR-DOS disks are 40 or 80 tracks double density, with MFM data modulation. ZX-Evolution BDI implementation ignores FM/MFM bit in Control register (port 0xFF, bit 6, 0 - MFM, 1 - FM) and wires VG93 pin 37 (DDEN) to 0, but most BDI controllers (i.e. built-in Pentagon 128) actually implement it in hardware.
Since certain TR-DOS-related documents are plagued with errors and most emulators ignore FM/MFM bit, there is a chance that modern low-level disk software (multiloaders, etc.) may set this bit to 1, enabling FM mode, and causing disk read/write errors on actual retro hardware but working perfect on ZX-Evo and other machines.

FD1793 (an original FDC IC 1818VG93 was cloned from) datasheet explicilty mentions DDEN to be set to 0 for MFM operation:

As a suggestion for emulation, read/write data signals could be inhibited if FM mode is enabled, emulating disk error.