schlae / amiga-hddlw

Adapts a regular PC floppy drive for high density operation on an Amiga computer
35 stars 3 forks source link

Unable to format 1.76MB disks successfully #6

Open ljmarent opened 2 months ago

ljmarent commented 2 months ago

I don't have a collection of Amiga software on floppy to test with. So the first thing I've tried to do is format DD and HD disks

Format of DD disk was successful Wrote 600KB .MOD files, read and played back correctly.

Format of HD disk, detects 1.76MB disk, not successful in completing format.

Detection: IMG_2625

Failure: IMG_2626

It fails on different cylinder numbers each time.. usually 0, 1, 2... but I've gotten as far as 31

Alternative Failure: IMG_2628

I've run the DriveSpeed program (like the other active read\write issue) with DD disks it shows 600RPM Average with HD disks it shows 300RPM Average

DriveSpeed utility location: https://aminet.net/package/docs/hard/PCFloppy2Amiga

DriveSpeed Usage: "DriveSpeed 0" where 0 is my track device number

I've also run AmigaTestKit v1.21 on the floppy drive: DD Floppy Index pulses at 196ms HD Floppy Index pulses at 399ms

AmigaTestKit utility location: https://github.com/keirf/Amiga-Stuff/releases

The AmigaTestKit results seem to be as expected. The DriveSpeed results are counter-intuitive (out by a factor of 2).

Makes me wonder about the validity of DriveSpeed as a test ?

Setup: I'm using ATF16V8b and pre-compiled .JED file. Programmed and verified on T56 (big brother of T48 & TL866, same software)

Drive hardware is second alternative TEAC model shown.

Computer, A2000 AOS 3.2.2, 68030, 128MB RAM

Further testing: I figured I should verify my Amiga hardware and OS was able to format \ write \ read 1.76MB disks. Set a v4.35 FF Gotek's FF.CFG for: interface = amiga pin34 = auto Copied a blank EMPTY-HD.ADF file onto the USB stick with the FF.CFG file. The Empty disk appeared on my desktop. I formatted it successfully, then copied a 1.3MB .MOD file into Empty Opened HippoPlayer, loaded and played the file direct from volume Empty. Works great. Suggesting that my Amiga, Paula, Gary, CIA, Floppy cable, etc. seem to be working fine in HD.

apolkosnik commented 2 months ago

I can replicate these issues with formatting on the 3 TEAC first alternative drive models that I've modified. I've also created floppies on a real HD drive. Modified drives can read the contents of the floppy, but later get read errors. You can hear repeated re-reads, and then sometime later, it throws an read error

ljmarent commented 2 months ago

I took the top lid off my TEAC drive and can see it struggling to format .. it stalls on a cylinder, tries it a couple times, then gives up.

Repeatable with old HD floppies and some newer, never been used Maxell HD floppies.

https://github.com/schlae/amiga-hddlw/assets/33465449/203a0a5d-3245-44b3-8c3a-c64c54e06363

Loaded up X-Copy to try some formatting without verification

X-Copy utility location: https://www.retro32.com/download/x-copy-professional-1992-92-amiga-adf

X-Copy usage: Booted in 68000 mode with .ADF in Gotek Pressed F1 to boot X-Copy Swapped floppy cable over to modified TEAC drive Formatted HD floppy several times

IMG_2645

Shutdown Switched back to 68030 mode and booted into Workbench 3.2.2.1

I can now see the formatted volume 'Empty'

IMG_2646

It reports an error on block 1760 and if I try to write to volume Empty, I get 'write' errors.

My guess at this point is that the difference has to do with the TEAC drives with 52pin controllers instead of 80pin controllers.

I think a compare of a scope trace captured reading a track will be my next step. I'll capture #INDEX[8] on channel 1 and RDATA[30] on channel 2 of my drive and see what is being sent back to Paula by this modified TEAC drive.

ljmarent commented 2 months ago

Scope testing signals:

(Using DiskSpeed utility to spin the drive motor and read the disk without moving the head)

FDINDEX[8] is giving me a 399.2ms pulse with a HD disk

RDATA[30] is giving 7.76us, 5.7us, 3.96us pulses

FDINDEX[8] is giving me a 199.5ms pulse with a DD disk

RDATA[30] is give 7.68us, 5.8us and 4.06us pulses

apolkosnik commented 2 months ago

"The INDEX signal is a short pulse which the drive delivers once per revolution of the diskette, between the start and end of a track." So that signal is ok, since the hd floppies spin at half the regular speed.

schlae commented 2 months ago

hmm i'm wondering if i missed a drive modification. maybe something to tweak the read channel to work better at the lower speed.