From: Szász G. <sz...@hu...> - 2020-06-29 22:10:01
|
Hello Javier, First of all, the FDD/FDC emulation is not perfect in fuse at now. e.g. the timings of FORMAT is awful, or the timings of READ/WRITE sectors is far from perfect (there is no real emulation of disk rotation). The WD1770/WD1772 differ only in disk drive stepping rates. The FDC wait for this time after send a STEP pulse to the FDD. So it only can cause trouble, if your FDD cannot move its head so short time across cylinders... So if you use change the WD1772 to WD1770 IMHO you not need to change the firmware, because with the same code the WD1770 uses longer stepping times than the WD1772. In the (implemented) emulation there is no important rule of the stepping rates (how much time needed by the drive to move the head to the next cylinder), so there is no practical difference the stepping rates, or the two stepping rates presets. Hmmm... the wrong stepping rates came from the ATARI ST sources https://github.com/ggnkua/Atari_ST_Sources/blob/master/Docs/WD1772.TXT and later I didnt take care about it. Best regards, Gergely Szász On Fri, Jun 26, 2020 at 10:16:25AM +0100, Philip Kendall wrote: > [ Forwarding to the list with Javier's permission ] > > ---------- Forwarded message --------- > From: Javier Herrera <[1]jav...@ya...> > Date: Thu, Jun 25, 2020 at 12:37 PM > Subject: About WD1772/WD1770 emulation in Fuse > To: [2]phi...@sh... <[3]phi...@sh...> > > Hello Phillip. > I'm a Spanish enthusiastic of the ZX Spectrum and I have been looking for > some information about the PlusD interface, in order to modify the > firmware in order to replace the original WD1772 FDC with the WD1770 FDC > successfully, because the different step timmings. Finally I remembered > that your Spectrum emulator Fuse implements such as disk interface and I > thought maybe your fuse sources (wd_fdc.h, wd_fdc.c, plusd.h and plusd.c) > could be useful. > Two things have stood me out in your sources: > - The WD1770 in wd_type_t is always used instead WD1772, when called > wd_fdc_alloc_fdc. Why? > - Inside this function, rates for the WD1770 are initialized to 6, 12, 20 > and 20 ms, whereas rates are 2, 3, 5 and 6 ms for the WD1772. Is this OK? > Because looking for the WD1772 FDC specs, I've found that the rates are 6, > 12, 2 and 3 ms (I mean, they are in a different order). > Could you explain something about these two questions? Thank you in > advance. > Best regards, > Javier Herrera > > Links: > 1. mailto:jav...@ya.../ > 2. mailto:phi...@sh.../ > 3. mailto:phi...@sh.../ > _______________________________________________ > fuse-emulator-devel mailing list > fus...@li... > https://lists.sourceforge.net/lists/listinfo/fuse-emulator-devel |