X68KFDUINO - new adapter for external Floppy Drive for HxC & Gotek

Started by aotta, June 03, 2023, 04:43:21 AM

Previous topic - Next topic

aotta

I decided to start a new thread for my new open source project, that i just uploaded to github:
https://github.com/aotta/X68KFDUINO
I didn't make yet a lot of tests, but till now most games work fine!

It doesn't work T&T (no blink neither eject signal seems sent by the PC!!), and for Dracula you need to eject/insert the floppy via the push button in the board when blinking.

I wrote the code in a few days e without a real background about how /insert, /eject, /blink etc. signals works, so anyone could improve and correct my source.

Here's some of the floppy i played with my adapter and my HxC:







aotta

I added the model for a 3d printed case:



so far, i still can't Tunnels&Trolls, could someone with FDX68 confirm TnT works with it? 

X-Col

Hi,

although I haven't a clue what I'm doing in the game, it boots just fine with the FDX68

aotta

Quote from: X-Col on June 05, 2023, 08:50:17 PMHi,

although I haven't a clue what I'm doing in the game, it boots just fine with the FDX68
Thank you, so i must review or speed in some way my code, since i lost quite always the eject signal with this game!

aotta

I made new version of the adapter based on the faster (and even cheaper!) Raspberry PICO:

https://github.com/aotta/X68KFDPi

It works fine with every games i tested so far, with "blinking" leds and "lock red leds" working too!
And finally i can play to Tunnel & Trolls! ;)



amazin

I have a few questions:

1) What's the state of your internal drives on your X68000? Are they working, are they 0 and 1?

2) In case the answer to #1 is yes, the drives are working, what's the number/letter of the Gotek drives on your card? Or they can "overpower" somehow the internal interface and become 0 and 1?

Thanks

aotta

Right, i forget mentioning i changed internal drives to 2 and 3 and set hxc to 0 and 1, since some games look for disk in these slot to work.

rezb1t

Very cool project! If someone started making and selling these, I would buy one.

ark125

Can you please, add to the github project a list with the manufacturer part number or LibRef for each product?

I don't know which exact connector or components to use.

If it is possible to have a Digikey or mouser part list it would be a great help.

Thank you so much.

aotta

I added the BOM list generated by Kicad here:
https://github.com/aotta/X68KFDPi/blob/main/KiCAD/X68KFDPI.csv

If i found time, i'll fill more info for each product, but i bought most from ebay or aliexpress, since they are all "generic" components that you could find everywhere


atssada

Wow, great..

I am building one according to Github, but can you share more info about Gotek side configuration?
I am using FlashFloppy 3.41.

What is the best value for interface?

# jc: Specified by jumper JC (open: shugart, closed: ibmpc)
# shugart: P2=DSKCHG, P34=RDY (Amiga, Atari ST, many others)
# ibmpc: P2=unused, P34=DSKCHG (IBM PC interface)
# ibmpc-hdout: P2=HD_OUT, P34=DSKCHG (not generally needed: prefer 'ibmpc')
# jppc: P2=unused, P34=RDY (Japanese PC standard)
# jppc-hdout: P2=HD_OUT, P34=RDY (Japanese PC alternate: prefer 'jppc')
# akai-s950: Legacy alias of 'jppc-hdout', previously used for Akai S950
# amiga: P2=DSKCHG, P34=DRIVE_ID (not generally needed: prefer 'shugart')
interface =

aotta

i used no particular configuration for gotek.. flashed with Flashfloppy firmware and used both shugart and jppc interface successfully. The X68k use more his signals than ready and other standard ones, i think!

atssada

Quote from: aotta on August 10, 2023, 02:25:07 AMi used no particular configuration for gotek.. flashed with Flashfloppy firmware and used both shugart and jppc interface successfully. The X68k use more his signals than ready and other standard ones, i think!


Thank you so much!
Let me continue its build up!

mez


HIggy

I got the parts and built up some of @aotta X68KFDPi boards. - thanks for designing and releasing these to the community.

I run two Gotek drives stacked-up, so I wanted to integrate the X68KFDPi board and have a nice neat setup with minimal cables coming off at different directions. After about 10 revisions of the Lower case and 3 on the Upper case I came up with my solution. I had to utilise some intricate folding of the cables inside the case to enable them to all come out the back (there might have been a simplier way, but I could not see it :) )

I made a little mod to the PCB. Because I have 2 Gotek drives I needed 2 'Power Out' so on the Floppy Power header I linked the 5V to the normally 12V (but on the PCB it is not connected), and because there is already a spare Ground now I had 5V-GND-GND-5V so I made up a cable and I can now power my 2 Goteks (I will revise the cable lengths and make them shorter).

X68000_Floppy1.jpg
X68000_Floppy2.jpg

aotta

Very nice setup, i only suggest you a light grey PLA for printing the lighter case, i found one matching very closely the x68000 case! 😜
And, i massively use gotek for my retro collection, but for x68k i bought an HxC, it's better IMHO

tskaf

Quote from: HIggy on February 02, 2024, 07:01:06 AMAfter about 10 revisions of the Lower case and 3 on the Upper case I came up with my solution.

I'm building one of these PCBs myself, I don't suppose you'd be willing to publish the stl files for your case? Thanks.

kanjiology

If anyone builds more of these let me know, I would like one.

tskaf

Quote from: kanjiology on March 26, 2024, 02:13:20 AMIf anyone builds more of these let me know, I would like one.

I ordered 3 PCBs so if everything goes well with my build I might be willing to sell the other two for what it costs to build them + shipping.

kanjiology

Quote from: tskaf on March 26, 2024, 02:46:31 AM
Quote from: kanjiology on March 26, 2024, 02:13:20 AMIf anyone builds more of these let me know, I would like one.

I ordered 3 PCBs so if everything goes well with my build I might be willing to sell the other two for what it costs to build them + shipping.

Sounds great, I'd be down for one. Thank you.

rezb1t

Quote from: tskaf on March 26, 2024, 02:46:31 AM
Quote from: kanjiology on March 26, 2024, 02:13:20 AMIf anyone builds more of these let me know, I would like one.

I ordered 3 PCBs so if everything goes well with my build I might be willing to sell the other two for what it costs to build them + shipping.
I would be interested in one too please!

incrediblehark

Same here, would be interested in one if you have any left!

EDIT: Realized the 2 were already claimed.

HIggy

Here you are:

https://www.thingiverse.com/thing:6552134


Quote from: tskaf on March 25, 2024, 04:38:11 PM
Quote from: HIggy on February 02, 2024, 07:01:06 AMAfter about 10 revisions of the Lower case and 3 on the Upper case I came up with my solution.

I'm building one of these PCBs myself, I don't suppose you'd be willing to publish the stl files for your case? Thanks.

tskaf

Quote from: HIggy on March 28, 2024, 02:36:36 AMHere you are:

https://www.thingiverse.com/thing:6552134

Thanks, appreciated.

I'm still waiting for the PCBs to be delivered but I'm not going to have more than max two to spare, I'll contact people in the order of posting if I do end up having any left over. Either way, I'll make a post again when I have mine built.

amazin

Guys, I had taken Higgy's offer and I got a X68FDPico. I have assembled it, all good, checked for bridges, shorts, all good.

The X68000 won't get to the boot screen (asking for a floppy) when it's connected to the FDpico.

I have done the following steps in an attempt to understand where and what is the issue:

1) Disconnected both internal drives, both power cables, both ID selection cables, removed the drives from the computer (yes I did that). Still the same issue.

2) Bothered Higgy and he told me to try using 2 drives, as I was using a single Gotek. Since I don't have a second Gotek, I connected a regular 3.5" floppy, Gotek set to drive 0, 3.5" Drive to 1. Still the same problem.

3) Tried inverting the flat cable between the computer and the interface. Same.

4) Tried inverting the flat cable between the drive(s) and the interface. Same (but worst, the interface won't even turn on the LEDs).

5) Tried to connect the interface directly to the FDD connector on my Ace's motherboard (to bypass the external FDD connector). Same result.

6) Tried another X68000 altogether (a Pro this time). Same result.

So that's it. 

I tried uploading the firmware (X68kfdPico.ino) via USB by two different methods:

1) holding the 'bootset' switch down, and connecting to the computer, which opens the Pi as a flash drive. So I put the file there, then the Pi restarted and the file was gone, so I assume it was properly flashed.

2) Then thinking about the .ino extension, I assumed that @aotta used the Arduino IDE to write the code, so I followed a guide on how to set it up for using the Raspberry Pi Pico as a target, and it worked fine, compiled and uploaded to the Pico just fine.

Log:
Sketch uses 53108 bytes (2%) of program storage space. Maximum is 2093056 bytes.
Global variables use 10240 bytes (3%) of dynamic memory, leaving 251904 bytes for local variables. Maximum is 262144 bytes.
Resetting COM10
Converting to uf2, output size: 141824, start address: 0x2000
Scanning for RP2040 devices
Flashing I: (RPI-RP2)
Wrote 141824 bytes to I:/NEW.UF2

So at this point I'm completely puzzled. I've reflowed all the solder joints under the microscope, measured the voltages on all ICs, apparently it's all fine.

Adding a few photos below of how the assembly turned out:
photo_2024-08-17_22-31-48.jpg

photo_2024-08-17_22-31-48 (2).jpg

And here a quick video of just the interface plugged on to +5V power, nothing connected to it.

Any ideas are welcome.

Thanks in advance






aotta

Did you check if pico has correct voltage on power pins (5v / 3v3)?
And why did you shorted 5v and 12v lines on floppy connector??
And, where did you buy the lvc245 level shifters? i had many feedback from users about bad or fake 74lvc245, specially if bought on alixpress....

amazin

Quote from: aotta on August 18, 2024, 06:43:29 PMDid you check if pico has correct voltage on power pins (5v / 3v3)?

I have the following:

pin 36 (3v3 Out) = 3.2V
pin 37 (3v3_EN)  = 4.7V
pin 39 (VSYS)    = 4.8V
pin 40 (VBUS)    = 0.7V

Quote from: aotta on August 18, 2024, 06:43:29 PMAnd why did you shorted 5v and 12v lines on floppy connector??

That's Higgy's mod for powering two goteks at once, there is no 12V there, on your design, it's nc.

Quote from: aotta on August 18, 2024, 06:43:29 PMAnd, where did you buy the lvc245 level shifters? i had many feedback from users about bad or fake 74lvc245, specially if bought on alixpress....

Erm, I got them from Higgy... I'll try to replace them with ones bought at Digi-Key.

But could this be enough to prevent the X68000 from displaying the Diskette screen just by having the board connected to the computer, with no power?

Cheers!

aotta

Quote from: amazin on August 18, 2024, 07:14:06 PM
Quote from: aotta on August 18, 2024, 06:43:29 PMDid you check if pico has correct voltage on power pins (5v / 3v3)?

I have the following:

pin 36 (3v3 Out) = 3.2V
pin 37 (3v3_EN)  = 4.7V
pin 39 (VSYS)    = 4.8V
pin 40 (VBUS)    = 0.7V

Quote from: aotta on August 18, 2024, 06:43:29 PMAnd why did you shorted 5v and 12v lines on floppy connector??

That's Higgy's mod for powering two goteks at once, there is no 12V there, on your design, it's nc.

Quote from: aotta on August 18, 2024, 06:43:29 PMAnd, where did you buy the lvc245 level shifters? i had many feedback from users about bad or fake 74lvc245, specially if bought on alixpress....

Erm, I got them from Higgy... I'll try to replace them with ones bought at Digi-Key.

But could this be enough to prevent the X68000 from displaying the Diskette screen just by having the board connected to the computer, with no power?

Cheers!
So, pico seems getting right voltage, and from your previous screenshot, firmware seems correctly loaded too.
The x68k diskette screen is showed until the pc doesn't read a valid and good floppy, so there are many steps to check (and many things possibly not correct in your setup).
What's on your gotek side? which firmware/ config are you using? does the gotek try to read the .img file? maybe a video of your gotek display could help in troubleshooting.

And, for starting reading floppy image, led drive has to turn on green, push buttons in trying to set the drive as ready

HIggy

lvc245 level shifters - these were difficult to find, I bought nearly all stock from a UK Raspberry Pi parts seller.
I have built 2 floppy devices myself, so I really doubt they are the issue.

aotta

Quote from: HIggy on August 19, 2024, 07:18:59 PMlvc245 level shifters - these were difficult to find, I bought nearly all stock from a UK Raspberry Pi parts seller.
I have built 2 floppy devices myself, so I really doubt they are the issue.
I agree, but I confirm that some sellers on AliExpress used to "remark" 74ls245 as 74lvc245 that, as you said, are becoming quite rare

amazin

@aotta: I'm using an old Gotek (2, 3 years old I think) with the latest stable FlashFloppy firmware (version 3.42). Here's a video of it detecting a valid disk image (001) and being ready to be read.


As I had mentioned before, I got this as a kit from @HIggy and all the parts came from the same batch he bought to build his adapters. I would be the unluckiest person in the world if, out of 3 batches of parts, 1 was defective, and it would be the parts he sent to me.

But improbable is different from impossible! That's why I'm ordering some SN74LVC245AN from Digi-Key, to put this to rest :-) I double, triple-checked EVERYTHING for shorts, I couldn't find anything.

Using a simple logic, I'm assuming the Pico is okay because I can get it recognized via USB just fine. LEDs, resistors, capacitors, they all measure fine, and the LEDs are working, so it cannot be the passives. I've tested for power yesterday and everything measures ok.

And also, from a connection flow point of view, the first thing the X68000 interacts with are the 74LVC245s. So MAYBE they are indeed defective to a point where the X68000 "hangs".

I should have socketed them, argh... now it's twice the work to desolder them, LOL :-)

Alright guys, I'll keep you posted.

Cheers

aotta

Quote from: amazin on August 20, 2024, 01:36:54 AMUsing a simple logic, I'm assuming the Pico is okay because I can get it recognized via USB just fine.
This is not so logic, since if any of the gpio used for emulation is not working, you don't know.
Your FF.cfg is checked? i presume you use the same used by @HIggy , but is another usual suspect (i didn't found anymore mine, but i remember i had to made several try before having one config working).
And, as i said, the best indicator is the green flash for floppy 0 in the X68KFDPi, if you can't get it green by pressing push buttons, the X68K don't see the floppy as ready.

amazin

Remember that I said that with the board powered, the X68000 wouldn't get to the floppy screen?

That meant only the board, connected to power and to the X68000, no Gotek/FlashFloppy.

So what I did was to socket both 74LVC245.

And here's what happens:

1) if I swap them around, same issue happens.
2) if I **remove** U3, the computer starts fine

So whenever I have the two 74LVCs, the computer won't get to the insert floppy screen. If I remove U3, it starts fine.


aotta

U3 send to X68K, with others, the "Floppy Inserted" signals, so without it the PC reads that there's no disk and ask for it. Simple.
But that signals depends from interrupt read strobe and from pushing the buttons on the card. If nothing happens when you press buttons (change in leds / X68K / Gotek) then probably Pico is not working.

BlackVega

Can anyone explain what that Pico even does? As far as I can tell HXC can just be connected directly to X68000 but there are some additional lines to handle like LEDs and insert/eject signals. Is this necessary to use something as complicated as Raspberry Pico/Arduino for this? Also what is that "circuit.gif" in the github repo??

HIggy

@BlackVega the thing is Pico's are cheap and easy to program/reprogram with a home PC and USB cable.
5v logic chips are getting rarer and the prices are going up, so if using modern chips to do the logic then you need level shifters to work with the X68k signals, and these extra chips increases the price.

@amazin is it worth reflowing the Pico's solder joints? They all arrived sealed and I've not heard reports of Pico's being fragile. Maybe upload one of the LED blink test programs and see how the Pico behaves? Also do you have the diode the correct way around, I see you fitted it on the other side of the PCB but could not see the coloured band on the diode.

amazin

Hey @HIggy !

Yep, I've removed both SN74LVCs and the Pico and socketed them all. Even bought a new PiPico, nothing changed.

Only thing remaining to replace are the SN74LVC245A chips, which I'm placing an order later today at Digi-Key.

Let's see if anything changes...

Cheerio!

BlackVega

Hey, how is this thing even supposed to be powered?? Is this supposed to be powered from USB or those 2 floppy connectors on the side or what?? This is completely undocumented anywhere...

Quote from: aotta on August 19, 2024, 09:04:04 PM
Quote from: HIggy on August 19, 2024, 07:18:59 PMlvc245 level shifters - these were difficult to find, I bought nearly all stock from a UK Raspberry Pi parts seller.
I have built 2 floppy devices myself, so I really doubt they are the issue.
I agree, but I confirm that some sellers on AliExpress used to "remark" 74ls245 as 74lvc245 that, as you said, are becoming quite rare

These things are not "rare" by any means. You can buy them new on mouser or digikey in any form of package, technology or configuration you ever want...