keirf / flashfloppy

Floppy drive emulator for Gotek hardware
Other
1.33k stars 193 forks source link

FDD-UDD U144K #232

Closed nretro closed 5 years ago

nretro commented 5 years ago

By accident (resp. stupidity) I bought a FDD-UDD U144K.

Looks quit similar, but it's not obvious how the jumpers have to be connected to flash a new firmware. It has got a 7x2 pin header labeled J0, J1, ... J6 and a 5x1 pin header labeled 07,46,47,48,49. Did anybody already figure out how these relate to the headers of the standard gotek?

nretro commented 5 years ago

Here it is. Looks similar enough... tough it is probably better to check first.... Thanks for looking into it.

FDD-UDD_U144K_small

nretro commented 5 years ago

Is there a schematic for the usual gotek? I also have two of those, but it would be easier to check if I would not have to reverse engineer those first. I mean the zero hypothesis would be that they did not change the headers.

nretro commented 5 years ago

Just for the fun of it, I checked and found out, that the lower pin of the 1x5 connects to the same pin of the processor. So there is hope...

nretro commented 5 years ago

46 (2nd from below) connects to the third pin on the upper side of the CPU (from left). Usual gotek connects this to the 6th pin on the upper side. 47 connects to the 2nd pin on the upper side of the CPU. 48 connects to the 3 digit display where it says 3v3. 49 connects to the upper most pin on the left side of the cpu.

nretro commented 5 years ago

On the 1x5 header there is NRST, and then CPU pins 46-49: PA13, VSS2. VDD2, PA14. PA9 and PA10 (USART1) are not connected at all. Both methods to flash the firmware use USART1. Is there an alternative or do i have to solder a connection to the CPU?

nretro commented 5 years ago

It does seem to support some kind of flashing via USB. When both buttons are pressed at startup, the display shows U00 -> 126 -> F01. But I could not find any suitable files on the internet or on the supplied CD. EDIT: No, seems to be a formatting utility. Writes an "IBM 6.0" MBR and a partition table with one partition spanning the whole USB stick.

drdpj commented 5 years ago

PA13 & PA14, vdd and gnd will let you program it with an stlink v2 adapter.

On Wed, 29 May 2019, 22:09 nretro, notifications@github.com wrote:

It does seem to support some kind of flashing via USB. When both buttons are pressed at startup, the display shows U00 -> 126 -> F01. But I could not find any suitable files on the internet or on the supplied CD.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/keirf/FlashFloppy/issues/232?email_source=notifications&email_token=AATU2PCF4V4H4DLSPT44JKDPX3WJNA5CNFSM4HQGI2A2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWQUZAA#issuecomment-497110144, or mute the thread https://github.com/notifications/unsubscribe-auth/AATU2PCLRCHCNJJX44NRQJLPX3WJNANCNFSM4HQGI2AQ .

keirf commented 5 years ago

Yes the 1x5 is a programming header. I've never used the jtag interface but I think I have the adapter in my box of bits and it's supposed to be fairly straightforward.

Can you work out the other header?

nretro commented 5 years ago

The 2x6 is almost the same as in the usual gotek, only left and right got switched: J0-J2 right PA0 J3-J6 right VSS J6 left PIN4 (of floppy connector) J5 left 37 PC6 (Jumper JA) J4 left 27 PB1 (Jumper JC) J3 Left 16 PA2 (Jumper JB) J2 left PIN10 J1 left PIN12 J0 left PIN16

I ordered a PL2303HX a while back. Is that likely to work or do I need another adapter?

keirf commented 5 years ago

The PL2303HX is a serial adapter and would program via USART1, which is not connected to a header on this Gotek. Similarly, you need access to PA9 to strap it high to program via the USB-DFU method.

So, the only method available here is via the SWD-JTAG interface on the 1x5 header. For this you need an ST-LINK v2 adapter. You can get clones on Ebay for a pound or so from China, or for a little more if you want quicker delivery.

I have one or two stashed somewhere although I've never used them, but I am happy to work out a method on Linux at least, following one of the online guides such as: https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Programming-an-STM32F103XXX-with-a-generic-%22ST-Link-V2%22-programmer-from-Linux

nretro commented 5 years ago

Success.

  1. Connect GND and +5V to power connector of gotek
  2. Connect SWDIO to header pin 46 (PA13)
  3. Connect SWCLK to header pin 49 (PA14)
  4. Connect header pin 07 (NRST) to GND
  5. Execute (I used OpenOCD 0.10.0 on Debian unstable) openocd -f /usr/share/openocd/scripts/interface/stlink-v2.cfg -f /usr/share/openocd/scripts/target/stm32f1x_stlink.cfg
  6. In a different shell execute "telnet localhost 4444". From now on we use the telnet session
  7. type "reset halt" and immediately disconnect header pin 07. The reply should be something like

target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x080061d4 msp: 0x200006c0

  1. "stm32f1x unlock 0" was needed on this board to enable writing to the flash bank. ("flash banks" displays all available banks)
  2. type " flash write_image erase /FF_Gotek-v2.12.hex"
  3. type "reset run"
  4. disconnect st-link.

I still have to test if it actually works. Up to now I only checked that it says "F-F" on the display.

nretro commented 5 years ago

OK... and does work as expected loading an adf on an Amiga. I'll be busy with other things over the next couple of weeks, but at some point I'll also try to add display and rotary mods. I'll post the results.

keirf commented 5 years ago

Will be interesting. Especially the rotary pins may not have a header. Will have to see if there's anything to solder to other than mcu pins directly.

penfold42 commented 5 years ago

Worst case, use the JTAG pins or the SPI flash pins

keirf commented 5 years ago

I have linked to this ticket from the wiki: https://github.com/keirf/FlashFloppy/wiki/Gotek-Compatibility#models-to-avoid

I will close this ticket now, but we can add to it with further info in future (eg. if we work on support for rotary encoder).

LukaszDziwosz commented 4 years ago

Thanks for the pinout and instructions. I flashed on Windows. Here is some photos. To fit Oled I had to trim inside case as hole is too close to edge. A3DDBE36-C5D0-4BB5-9B93-813171C80858 3AC42CEA-B7FD-4D59-B866-5A1057B7CB91 242FB9CD-7B2B-4427-B668-A19BDD2E79B1 F4E7E27B-820C-417D-8002-2BDE3CE75C67

sirkaa commented 4 years ago

hello

reviving this thread, made the error too and got this board by mistake. Now trying to program it but it seems that RDP is on and i have found no way to disable it with option bytes thus no letting me program it. Using windows 7 + st link utility. Any help would be appreciated. cheers

ramparts commented 4 years ago

I have this gotek too and from st link v2 chinese programmer can´t be programmable with st-link utility. On automatic programming gives the read programming protection error and won´t go further more...

LukaszDziwosz commented 4 years ago

While in automatic programming mode you must do a reset on pin 7. I thought you guys will read nretro comment fully before reading mine.

ramparts commented 4 years ago

Gotek drive reset line 07 constantly grounded before gotek 5v power up.. Programmer say can,t remove read protection and loop to device 2... Maybe some issue on the programmer or the gotek U144k it self. Never had issues on other gotek through serial programming..

LukaszDziwosz commented 4 years ago

you need to un-ground pin 7 when in automatic mode to unlock this Gotek

ramparts commented 4 years ago

Thanks I will try it. Regards

JOSÉ

ramparts commented 4 years ago

I have try and had success flashing the drive but it´s sillyest thing i ever encounter. It did really had to make a temporary reset while in programming mode,everytime the programmer started to read i had to make a reset. sometimes game error while recording the bytes option with the disabeled read out protection. But after o erased all the banks and flash memory,i could save the table without any issues..

Still i prefer ther serial programming... :)

Thank you for all the help.

sirkaa commented 4 years ago

While in automatic programming mode you must do a reset on pin 7. I thought you guys will read nretro comment fully before reading mine.

Thank you very much for your reply. I have no experience in programming, i am a musician and i really appreciate you guys help. I did read all posts before commenting but as nretro used Debian i did think it was different on windows.Your pictures did not show this action nor it was mentioned so i got confused. Thank you anyway. have a good day.

hexbus commented 4 years ago

Did what @nretro mentioned above -

Installed the ST-Link V2 and had the three pins above connected to the U144K. Powered up the Eilasung FDD-UDD U144K on the rear floppy power connector. Ran this command and keep getting this:

/d/dev/openocd/bin/openocd.exe -f /d/dev/openocd/share/openocd/scripts/interface/stlink.cfg -f /d/dev/openocd/share/openocd/scripts/target/stm32f1x.cfg


Open On-Chip Debugger 0.10.0 (2020-03-10) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
libusb1 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 1000 kHz
Info : STLINK v2 JTAG v31 API v2 SWIM v7 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 3.116464
Error: init mode failed (unable to connect to the target
```)

Tried putting it in a loop, turning on and off the unit, etc.  Thoughts on what I should try?
keirf commented 4 years ago

Try connecting pin 07 (NRST) to NRST/RESET on the ST-Link. Currently you are holding the Gotek in permanent reset. That could be a problem.

hexbus commented 4 years ago

Tried that as well. I even dropped the external +5V connector and hooked up the following (on the ST Link V2):

The unit powers up just fine hooking up that entire 5-pin header directly to the ST Link, but alas, still getting the same errors. I bought three of these, so will try the other two.

I brought up the ST-LInk software and did a Target->Connect to target. Same error. Went into Settings-> Mode and changed from Normal to "Connect Under Reset". No change, still can't connect to the target.

Very strange. Either I got a bum drive or a bum ST-Link. (or they've changed the firmware on the chip maybe?)

hexbus commented 4 years ago

Just an update. Here's what worked for me:

Hooked up the four pins to the ST-Link. Did not hook up floppy power.

Shorted Ground on the floppy power connector to 07 (NRST). Ran the STM steps from 5 onward that @nretro mentioned above. Success!

keirf commented 4 years ago

Ah ST Link clones provide 3.3v power. You don't separately power the gotek in that case (potentially bad times if you do).

zezba9000 commented 3 years ago

I feel the need to share some better images of this process etc and what works for me every time.

<< To to flash Gotek (FDD-UDD U144K) >>

<< How to configure Gotek USB drive >>

<< How to mount .st files >>

<< How to update Gotek firmware >>

image

For more images and files... Here is a download link of all the files needed for this: https://1drv.ms/u/s!Alt5wRhQYKD7gfxDsTW_32XvasHkVQ?e=o390HO

JacekHelka commented 3 years ago

F4E7E27B-820C-417D-8002-2BDE3CE75C67

Can you please tell me the type of display that is mounted in this kind of GOTEK? Normally it is a LCD1602 HD44780 2x16 with I2C Converter for LCD 1602 Display.

Maybe some wiring diagram?

Thank you in advance for your reply.

zezba9000 commented 3 years ago

https://www.ebay.ca/itm/New-Amiga-Gotek-OLED-IIC-I2C-0-91-128x32-LCD-Display-Module-3-3V-5V-White-679/114641152709

That item also shows wiring.

On Fri, Jan 22, 2021 at 11:53 AM JacekHelka notifications@github.com wrote:

While in automatic programming mode you must do a reset on pin 7. I thought you guys will read nretro comment fully before reading mine.

Thanks for the pinout and instructions. I flashed on Windows. Here is some photos. To fit Oled I had to trim inside case as hole is too close to edge. [image: A3DDBE36-C5D0-4BB5-9B93-813171C80858] https://user-images.githubusercontent.com/35117633/71126733-7b681b80-21e1-11ea-9ba4-818fcf62d1b8.jpeg [image: 3AC42CEA-B7FD-4D59-B866-5A1057B7CB91] https://user-images.githubusercontent.com/35117633/71134075-d3f4e400-21f4-11ea-8c65-a00745502db1.jpeg [image: 242FB9CD-7B2B-4427-B668-A19BDD2E79B1] https://user-images.githubusercontent.com/35117633/71134076-d3f4e400-21f4-11ea-8eb9-7a6f0d842744.jpeg [image: F4E7E27B-820C-417D-8002-2BDE3CE75C67] https://user-images.githubusercontent.com/35117633/71134077-d3f4e400-21f4-11ea-9715-73b7175d3606.jpeg

Thanks for the pinout and instructions. I flashed on Windows. Here is some photos. To fit Oled I had to trim inside case as hole is too close to edge. [image: A3DDBE36-C5D0-4BB5-9B93-813171C80858] https://user-images.githubusercontent.com/35117633/71126733-7b681b80-21e1-11ea-9ba4-818fcf62d1b8.jpeg [image: 3AC42CEA-B7FD-4D59-B866-5A1057B7CB91] https://user-images.githubusercontent.com/35117633/71134075-d3f4e400-21f4-11ea-8c65-a00745502db1.jpeg [image: 242FB9CD-7B2B-4427-B668-A19BDD2E79B1] https://user-images.githubusercontent.com/35117633/71134076-d3f4e400-21f4-11ea-8eb9-7a6f0d842744.jpeg [image: F4E7E27B-820C-417D-8002-2BDE3CE75C67] https://user-images.githubusercontent.com/35117633/71134077-d3f4e400-21f4-11ea-9715-73b7175d3606.jpeg

Can you please tell me the type of display that is mounted in this kind of GOTEK? Normally it is a LCD1602 HD44780 2x16 with I2C Converter for LCD 1602 Display.

Maybe some wiring diagram?

Thank you in advance for your reply.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/keirf/FlashFloppy/issues/232#issuecomment-765648366, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOFS3VKNQDGVUKLWJVJBYTS3HJVNANCNFSM4HQGI2AQ .

LukaszDziwosz commented 3 years ago

It's the same cheap 0.91" I2C OLED that is used for normal Gotek o Arduino, any 4 pin display will work. I used to buy on Ali for super cheap like £2, wiring is the same as normal Gotek but you have to desolder numeric display first. I have this one installed in my Akai sampler so there is no way I'm taking it apart. Good luck and have fun.

JacekHelka commented 3 years ago

Thank you all for your replies. I hope I can count on help when Gotek arrives.

claaaaaay commented 3 years ago

You can flash it the classic TTL way in Windows, you just need to solder 2 wires to the STM32 IC.

Provide 5v and GND to the power connector. Solder wires between STM32 pins and TXD/RXD on TTL adapter. The 6th pin from the end goes to TXD and the 7th pin from the end goes to RDX. Connect 3.3v (48 on JTAG) to the side of R6 closest to the front of the board (away from floppy/power connector) before powering up board. If 000 is displayed try again. When successful nothing will be shown on display and it's ready to connect and you can disconnect wire from R6. Connect and flash as normal with STM32 Flash Loader Demonstrator. "remove protection" wasn't required.

20210210_234822 20210210_234840 20210211_001751 20210211_001802 20210211_001630 20210211_001705

JacekHelka commented 3 years ago

Hello everyone, Thank you for the description and photos. Gotek is now working with Amiga! Now I'm waiting for delivery of the display.

disc0very commented 3 years ago

Hi, thanks for the infos shared about this gotek clone. Did anyone modded this gotek clone to add the encoder? Can anyone provide any instruction on how to accomplish this mod on this gotek clone? Thanks

keirf commented 3 years ago

Hi, thanks for the infos shared about this gotek clone. Did anyone modded this gotek clone to add the encoder? Can anyone provide any instruction on how to accomplish this mod on this gotek clone? Thanks

See #456 but it's not easy (no header).

JacekHelka commented 3 years ago

Is it possible to add sound module to this version of Gotek? It is about emulating the sounds of a real floppy drive.

tenuke commented 3 years ago

Did you check that thread #456 linked above? One post there has 2 pictures and written explanation

to 29. huhtik. 2021 klo 21.59 disc0very @.***> kirjoitti:

[image: F4E7E27B-820C-417D-8002-2BDE3CE75C67] https://user-images.githubusercontent.com/35117633/71134077-d3f4e400-21f4-11ea-9715-73b7175d3606.jpeg

can you please provide more clear picture of the oled connections to the circuit board? or can anyone give me instruction on how to make this connections? thanks!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/keirf/FlashFloppy/issues/232#issuecomment-829509143, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHXQGQ65IB7AY2HNWIUSY63TLGUANANCNFSM4HQGI2AQ .

quantum8 commented 3 years ago

thanks @zezba9000 your guide worked perfectly to flash my accidentally bought U144Ks!

d-elm commented 2 years ago

I modify my FDD-UDD U144K with a OLED Display and a Rotary encoder. I flash it with FF 3.25 20211027_163831 see here. I can select all images. It works as the GOTEK's. But I have'n a Access from my PC. The actvity LED is on. The other GOTEK's work on this PC correct. Have you an answer.

djkoelkast commented 2 years ago

I have a board that looks a bit like this, but is slightly different, any tips on this? I've had it for years but never used it.

IMG20220507155029

keirf commented 2 years ago

Totally different main chip. Not supported.

drewdty commented 2 years ago

Sorry to revive the topic but I have two questions 1º when following the steps to flash this type of gotek of the mate LukaszDziwosz and I'm F-F blinking It is right? 2nd to prepare the usb for amstrad? What file do I have to put? for atari or amiga is the HXCSDFE.CFG is it the same for amstrad? thanks and sorry for my ignorance

markgm30 commented 2 years ago

I modify my FDD-UDD U144K with a OLED Display and a Rotary encoder. I flash it with FF 3.25 I can select all images. It works as the GOTEK's. But I have'n a Access from my PC. The actvity LED is on. The other GOTEK's work on this PC correct. Have you an answer.

I have the same issue. Once I removed the 7 segment display and added an OLED screen the red LED is always illuminated.

keirf commented 2 years ago

The red LED is merely a display activity LED. Since FlashFloppy is continuously updating LCD and OLED displays, the red LED is permanently illuminated. It's a pretty pointless LED.

wmoindrot commented 1 year ago

Also ended up with one of these by accident/not enough research. Followed instructions, mainly by @zezba9000. To get it to work for me (as a casual newbie):

chm-dev commented 1 year ago

Success.

  1. Connect GND and +5V to power connector of gotek
  2. Connect SWDIO to header pin 46 (PA13)
  3. Connect SWCLK to header pin 49 (PA14)
  4. Connect header pin 07 (NRST) to GND
  5. Execute (I used OpenOCD 0.10.0 on Debian unstable) openocd -f /usr/share/openocd/scripts/interface/stlink-v2.cfg -f /usr/share/openocd/scripts/target/stm32f1x_stlink.cfg
  6. In a different shell execute "telnet localhost 4444". From now on we use the telnet session
  7. type "reset halt" and immediately disconnect header pin 07. The reply should be something like

target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x080061d4 msp: 0x200006c0

  1. "stm32f1x unlock 0" was needed on this board to enable writing to the flash bank. ("flash banks" displays all available banks)
  2. type " flash write_image erase /FF_Gotek-v2.12.hex"
  3. type "reset run"
  4. disconnect st-link.

I still have to test if it actually works. Up to now I only checked that it says "F-F" on the display.

Didn't have st-link on hand and used raspberry pi 400 with openocd. Can confirm - worked as a charm.

More details in case someone would like to save few hours ;)

GPIO pins connect to header pins according to @nretro post image

Create Interface config (ie ocd_rpi.cfg) for native raspberry pi 4 / 400:

#Use RPi GPIO pins
interface bcm2835gpio

#Base address of I/O port - this is changes with different rpi models - use xxd -c 4 -g 4 /proc/device-tree/soc/ranges to check
bcm2835gpio_peripheral_base 0x00000000

#Clock scaling
bcm2835gpio_speed_coeffs 146203 36

#SWD                swclk swdio
# Header pin numbers 22    18
bcm2835gpio_swd_nums 25    24

#JTAG                tck tms tdi tdo
#Header pin numbers  22  18  16  15
bcm2835gpio_jtag_nums 25  24  23  22

And run openocd -f ./ocd_rpi.cfg -c "transport select swd" -f /usr/share/openocd/scripts/target/stm32f1x.cfg

Telnet connection is available and you can follow @nretro instructions.

mjnman commented 1 year ago

Can I connect the buzzer in this version? The older version I connected with the pin JB