Page 16 of 25
Re: Another C1P build
Posted: Sat Sep 28, 2024 7:46 am
by HOWARDHB
Thanks again Danny.
On the
Gotek, your single track, tzonly.hfe image boots perfectly.

- ONE-TRACK.jpg (347.76 KiB) Viewed 3944 times
However, neither the 5¼" or 3.5" disk boots with this .hfe image, or ANY image for that matter
I used the Greaseweasle to "check" spindle rpms.
The Shugart A400 5¼" drive average rpm is 299.750 rpm, and the 3½" stiffy is 299.630 rpm.
I ran the speed test function 9 times in succession, and there is a minor variation. Intially, the rpm is slightly above 300, I saw 300.295, but settles after the first rotation.
I don't think rpm is the issue.
I realise that I haven't doccumented another test that I did...
I wrote C1-Monstermaze.hfe (tracks 0 to 34) with the Greaseweasle, to a brand new 5¼"
floppy disk in the Shugart A400. (same settings as before)
I then read the same disk back with the Greaseweasle, averaging 9 disk rotations per track read, calling the new file "mydisk57.hfe".
I then converted that image to .65D format and loaded it into WinOSI emulator.
It BOOTS, every time!
Edit: I read the same disk with 1 revolution per track, and the resulting .hfe file ALSO boots in WinOSI!
This proves that my old A400, 35 track, disk drive is "capable"?
Not sure what to try next...
Why does the Gotek boot perfectly on the OSI, every time?
I think I should get hold of a slightly "younger" 5¼" disk, from the early PC era
...never give up!!!
Re: Another C1P build
Posted: Sat Sep 28, 2024 2:30 pm
by HOWARDHB
Most interestingly, I read the "spindle rpm" of the Gotek (using the Greaseweasle), although it doesn't have a physical spindle, the
INDEX signal (edit: not Track 0) continuously outputs a 4.81 Hz signal, which is..... 288.1 rpm
(edit)
This signal connects, directly from pin8 of the floppy cable, to pin 17of J3 of the 610 Data separator interface, which is
directly to Port A, bit 7, of the 6821 PIA on the 610.
The OSI "disk driver" firmware must be tollerant of this 4% spindle speed difference, because tbe Gotek boots every time.
What gives???
Re: Another C1P build
Posted: Sat Sep 28, 2024 4:35 pm
by bxdanny
The TRACK 0 signal (PA1) should be a steady low when the head is on track 0, and a steady high when it is not (I'm pretty sure). The INDEX signal (PA7) is the one that should be pulsing once for each revolution of the disk. Is it? And what is the pulse width when connected to the SA400? (I've been unable to find what it should be, so I'm curious to see what it actually is, at 300 rpm.)
Re: Another C1P build
Posted: Sat Sep 28, 2024 4:58 pm
by Thomas
Like Danny said, TRK00 (PA1) should be a steady signal depending if the head is to track zero or not. If PA1 gets a pulsing signal when to motor is running and the drive is selected, something is wrong, probaly a solder bridge between INDEX and TRK00 somewhere . INDEX is on PA7.
INDEX by the way is about 1 to 5 ms low, when passing the index hole. Actual length depends on the drive manufacturer.
The read/write test to GE/SA400/3.5 drives with GW shows, that your drives seems to work fine connected to the GW.
How is the situation concerning Pull-Up resistors on the 3.5/SA400 and the dataseperator ?
If the Gotek puts our an index signal of 288 rpm, that is really strange. Not sure if this is intentionally, I never measured that.
Re: Another C1P build
Posted: Sat Sep 28, 2024 6:37 pm
by HOWARDHB
My apologies, it is indeed the
INDEX signal that is pulsing,
not Track 0 signal.
I've edited my previous post. (to alleviate future confusion)
I have tried adjusting R19 and R10 potentiometers on the one-shot timers. These pots set the timing that must correctly "frame" clock and data, as received from the Data separator.
I tried many different settings...
No disks boot.
Intrestingly, with the Gotek connected to the data separator, the OSI disk reading fimware is, to a large degree,
tollerant of inaccurate settings of the pots, as it boots regardless of whether R10 or R19 are adjusted fully clockwise or ant-clockwise.
The 610 has 470R pull-ups... will check the disk drives...
...
Re: Another C1P build
Posted: Sun Sep 29, 2024 7:13 pm
by bxdanny
I found a video on YouTube all about termination resistors on floppy drives:
https://www.youtube.com/watch?v=RMM16oeTB8A&t=421s. It specifically mentions the SA-400.
If that's the problem, it occurs to me that, since only one set of termination resistors is needed for the drives on a cable, and since the Gotek doesn't have a problem with them, then if you have a cable with connectors for two drives, you could connect both drives (SA-400 and Gotek) at the same time, and that could solve the problem. The drive with the termination is supposed to be at the end of the cable, so I think that means making the Gotek A and the SA-400 B if the cable has no twist, or making the SA-400 A and the Gotek B if the cable has a twist.
Re: Another C1P build
Posted: Sun Sep 29, 2024 8:58 pm
by Thomas
The Gotek comes with internal 1.5k pull-up resistors, if I remember correctly.
Re: Another C1P build
Posted: Mon Sep 30, 2024 10:00 am
by HOWARDHB
Another interesting observation...
With C1-VictorySoftware.hfe image on the Gotek, the INDEX signal that is output has a frequency of 4.81 Hz which is..... 288.1 rpm
However, with C1-Monstermaze.hfe on the Gotek, the INDEX signal has a frequency of 5.00 Hz which is..... exactly 300 rpm.
It seems that each .hfe file "specifies" the INDEX frequency that the Gotek should output. Neat!
The OSI 610 is definately capable of "framing" the data and clock resulting from 288 "rpm", because the Gotek boots reliably, regardless.
H.
Re: Another C1P build
Posted: Mon Sep 30, 2024 1:43 pm
by bxdanny
According to
the .hfe format specification (link courtesy of davisgw), the disk rpm is specified in the 15th and 16th bytes of the file (offsets $E and $F) as a 16-bit value. It says the value is "not used by the emulator" but the Gotek unit apparently does use it. If you have a hex editor, you might want to try changing the value to 2C 01 (= 300 decimal) and seeing if it makes any difference.
Anyway, 300 rpm is 5 revolutions per second, so it should produce a 5 Hz signal on the INDEX line. 6 Hz corresponds to 360 rpm. 4.81 corresponds to 288.6 rpm. Only integer values of rpm can be specified by that field, but 288 rpm would produce 4.8 Hz, so that is probably what the file specifies.
Have you tried writing from the OSI to any disk images on the Gotek? With a *copy* of that C1-VictorySoftware.hfe file, you could hit <return> when it boots, then enter SAVE 1 followed by LOAD 1, and see if you can read back what was written. Or enter LOAD 0 to get to the A* prompt, and then you can enter SA 39,1=0300/2, followed by DI 39 and CA 0300+39,1. [Track 39 is normally empty on that disk.] If there are problems, try modifying the bytes at offsets $E and $F as described above, and seeing if that makes any difference. You could even try writing a new actual floppy from the modified copy. BTW, what is the INDEX frequency from the SA400?
Re: Another C1P build
Posted: Mon Sep 30, 2024 2:02 pm
by Thomas
An additional side note to the Gotek drive.
There is a parameter in the FF.CFG file for "Index pulses suppressed when RDATA and WDATA inactive" called index-suppression.
If this is set to yes, the Gotek might show an index pulse, when the track data ends in the HFE file. This speeds up the R/W process but can result in strange rpm figures, when mesured by the index pulse.
Here the FF.CFG setting, I'm using.
pin02 = nc
pin34 = rdy
track-change = realtime
write-drain = instant
index-suppression = yes
Your FF.CFG
pin02 = auto
pin34 = auto
track-change = instant
write-drain = instant
index-suppression = no #yes
Your index-suppression parameter setting seems odd with no #yes.
To my understanding, pin34 should be "ready". It goes to PA0. This ready signal should also be visible from the drive and indicate, that the drive is selected and reached the needed rpm (typical after 1..2 disk turns)
My track-change patameter is set to realtime, so it behaves like a real disk drive.
Check the ready signal on PA0, on using the Gotek compared to the SA400/3.5 drive.