Transform the Gotek Floppy Emulator into an Amiga Floppy emulator

DISCLAIMER :
No software from Gotek System was used or reversed to make this new firmware.
Informations and softwares on this page are provided in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. The author will not be held liable for any loss, damage or failure or any incident related to the use of this software and informations. It’s not a commercial work and had been done at my free time so don’t expect instant support or warranty. The informations and softwares provided on this page can’t be sold directly or indirectly into a preflashed device.

Some time ago i bought one of these very low cost USB floppy emulator from ebay to play some ADF files on my Amiga. Unfortunately these drives was unable to support/emulate the Amiga sectors encoding scheme and couldn’t work on Amiga computers… But now all of this is past…

After some hours of coding the the Gotek firmware can now be replaced by an Amiga compatible firmware. This firmware allows to load any ADF file present on the USB key and play it on the Amiga !

A special boot ADF file allows to select the game or demo to start.

The Gotek Floppy emulator working on an Amiga 600 running the State Of The Art Demo :

Actual main features of this firmware :

– Read & Write 880KB ADF Files.
– USB Key support.
– FAT12,FAT16 & FAT32 support, Subfolder support.
– Amiga software to select the ADF files on the USB key.
– Tested on A500 & A600. Should work on all Amiga.

HOW TO USE IT  ?

This is quite simple : You have just to copy all your favourite ADF files on the USB Key.

On the Amiga you can select the ADF files thanks to a special ADF file (SELECTOR.ADF). Once done the Amiga restart on the first image selected. In the actual version you can select up to 30 999 images (position 001 up to 030 999 on the 7-segments display). By this way multi-disks games can be played without problem.

The 7-segments display on the emulator shows the actual disk number selected. You can change the disk with the two buttons present on the front of the emulator.

To start again the special ADF you have just to select the position “000” and restart your Amiga. The menu appears in less than 10 seconds. In the software you can use the joystick or the arrows + enter at the keyboard to choose the images and save the selection.

WHERE TO GET THIS EMULATOR ?

The Gotek floppy emulators can be found everywhere.  Since all Gotek drives are based on the same hardware, any version should be compatible.
For reference i got the drive for 24.5Euros/33$ (Shipping included) on Ebay (Link to the Ebay page here)

I also bought a different model, without the 7- segments display & buttons from another place to check if there is some differences. There is no difference and the firmware is working on both models without any modification.

OK I HAVE THE EMULATOR, HOW TO « TRANSFORM » IT ?

To do this you need :

  • Any serial RS232<>3.3V TTL adapter or USB to serial cable. I used an FTDI TTL-232R-3V3, but anything providing a 3,3V signal level is ok. TX & RX support is enough to reflash the MCU (no hardware handshake needed) . ( Some places to get this kind of cable :  https://www.adafruit.com/products/954 ,  ebay 1 , ebay 2 )
    (EDIT : Since the STM32 serial port pins are 5V tolerant, a 5V version of the cable/adapter should be fine too.)

The progamming port can be found at the rear of the emulator. Most of time you don’t even need to open it 🙂 :

Here is the list of connections to do :
– Connect BOOT0 to 3.3V : This will put the device in programming mode at power up.
– Connect TX to the RX wire of the 3.3V serial cable.
– Connect RX to the TX wire of the 3.3V serial cable.
– Connect VSS to the ground wire of the serial cable.
– Connect the 5V to a 5V source. I just used the 5V coming from the FTDI cable.

Note: The above picture shows you the actual pinout of the programming port, not where to plug the wires: Don’t forget to cross connect the TX and RX lines between the adapter and the usb drive (adapter TX on USB drive RX and adapter RX on USB drive TX).


Once done, connect the cable to the computer and start the “Flash Loader Demo” software.

Select the right COM port and press Next.

NOTE (26/02/14) : If you have some difficulties to make the connection between the device and the software, you can try to issue a reset to the emulator. To do this connect during 1 second the « RST » signal (present at the right of the RX signal)  to the ground. Don’t disconnect the RX/TX & Power wires during this operation. Once done start again the software.
Also to make sure that your serial adapter is working correctly, you can try a loopback test : use a terminal software and connect the rx & tx wires of the adapter together : if you get an echo of what you send to the terminal, the loopback test is working !

If the connection to the device is working you will get this screen :

Since the Gotek firmware is protected against the read, the software ask you to remove the protections. This will erase the flash and the firmware shipped with the device will be lost. Please note that this operation cannot be reverted !

Press “Remove Protection”

Press « OK »

Press “Next”.

Press “Next”.

Select the firmware HEX file and correct the settings according to this screenshot (if needed).

Then press “Next” -> The flash process begin (Take 1/2 minutes).

Once you got this last window, the device is ready : You can disconnect all wires and connect the emulator into your Amiga. 🙂
Don’t forget to move the jumper to the « S0 » position to replace DF0.

NOTE (21/12/17) : The drive can also be flashed with an usb cable. I will describe this method soon.

BUT HOW THIS IS POSSIBLE ? TELL ME MORE ! WHAT IS INSIDE THESE DRIVES ?

The Gotek drives use a powerful Cortex ARM based STM32 MCU working at 72Mhz with lots of timers with DMA support, which make the job somewhat easy. For instance, this MCU only need 0.5 ms (500us) to MFM-encode an Amiga sector, with all the parity checksums computation. DMA and timers are used to stream out the MFM flux so almost no MCU time is used for this task. The MCU is free to do others job in the same time (prepare the next sector).  Thanks to this, all is done in realtime and no extra buffer is needed to precompute/generate the track.

The write process also use DMA and a timer block to capture the incoming flux. Once captured some functions find the sectors into the flux, decode  and check the sectors (parity checking) and write back the data to the ADF on the USB stick (if the parity is good 😉 ).

As many ARM based MCU this one have a bootloader in ROM allowing the Flash programming through various interfaces, which make this project possible.
Regarding the firmware, less than the half of the Flash space is actually used.

Here is the Gotek drive’s schematic :

FULL RESOLUTION SCHEMATIC HERE.

PCB – TOP side

FULL RESOLUTION TOP PCB HERE.

PCB – BOTTOM side

FULL RESOLUTION BOTTOM PCB HERE.

Inside the BOX :

FULL RESOLUTION HERE.

As you can see there is a lot of possible further hardware and software development with these devices ! 🙂

I WANT TO SEE THE DRIVE WORKING !

Ok, here is some pictures :


A USB Stick is not enough ? Then go for a IDE/SATA Hard Disk  😉


SD Card ? , Compact Flash ?,  xD card ?, MS card ? -> Just use the right adapter ! 🙂


Work in progress 😉

DOWNLOAD

– The STMicroelectonics Flash loader software : stsw-mcu005.zip

– The new firmware HEX file :  cortexamigafloppyemulator_v105a.docx (Change the file extension .docx to .zip !)

1.0a – Initial release
1.01a 2K14/02/15 – Interrupts priorities changed, I/O latency reduced -> Better stability.
1.02a 2K14/02/15 – I/O latency reduced (again).
1.03a 2K14/03/02 – Up to 999 images pre-selection support, some graphicals glitches corrected, keyboard delay is now timer driven, Amiga MFM encoding corrected, Index timing corrected, track length corrected, disk change delay set to 4seconds, Firmware version printed at startup.
Note : Both selector.adf and firmware need to be updated !
1.04a 2K14/03/05 – 2 digits/74HC164 based 7 segments display support added. 4 seconds disk change delay disabled at power up and at the selector exit.
1.04b 2K14/03/08 Selector.adf update : Floppy Emulator auto-detection : Can now control the emulator on DF0/DF1/DF2/DF3…
1.05a 2K14/03/30 Selection problem with fast machines corrected, archive flag issue corrected, Spurious track step workaround added, Fast forward image selection : keep the button pressed to speed up the increment/decrement. Press both buttons to jump to the selector.adf / « 000 » image.

2K17/12/21 : New alternate file selector available : SELECTOR.ADF (From the HxC project)

H.M

Unless specified, all softwares, binaries and informations provided on this page was written by Hervé Messinger.

Copyright  (C) 2013-2021 Hervé Messinger.

940 réflexions sur “Transform the Gotek Floppy Emulator into an Amiga Floppy emulator

  1. Hello all,
    I just want to report that the cartige action replay mk3 does not fully work with the gotek on an a500. I have tested the save load state of a game. I lauch a game and use the freeze button. I swith to a formated floppy or i use the format command. The dump go to the end but on after the load of the image i have a black screen. Same test is working with real floppy. It would be awesome Hervé if you could fix this :-).

    Ps: et encore merci pour ton travail a+ amiga rules!!!! 🙂

  2. Great job and many thanks for this!
    But is it normal for the drive led to stay on (even when the drive should be idle) ?
    Or did I do something wrong here?
    Using firmware 1.05a and replaced the internal drive of my A500.
    Everything else seems to be working fine.

  3. Hi Hervé,
    I’ve been spending my time on my own (old) amiga project (from 2009), an SD Card interface, right here: http://www.retrowiki.es/fororw/viewtopic.php?f=675&t=31028#p55436
    Sorry, only in spanish, but you can watch the pics 😉
    The point is I’ve learned a lot about amiga device drivers, so I’m retaking the idea of creating an special driver for accessing the USB drive plugged to the Gotek.
    Does It provide a way of reading (and/or writing) directly to raw sectors (from the USB drive)?
    If It does, you (or I) can write a driver for using It as a native storage device.
    The best part of It is that you can make a native amiga partition on the usb drive and mount it as a hard drive (an slow one, of course).
    On the other hand, you can access the FAT part of the USB device just using the apropiate filesystem handler, like fat95.
    It would be a nice way of transfering files between amiga and PC world…

  4. Hi,
    I would like to know if while soldering the pin header, it is necessary to do a strap also for the pins associated to the reset function.
    Furthermore, I would also lik to know if I may solder a two way pin header plus a four way pin header.
    Thanks for your kind attention.

    • Programming with a cheap programmer will most likely result in having to reset the unit multiple times in the process (when software on PC isn’t responding or asks you to reset) so I’d recommend you solder a pair of pins there for a jumper block. If you put pins in all the holes you sure don’t have to re-do it. But it’s enough for programming mode (two), reset (two) and transmit/receive (two).

  5. May I ask for a port for Sinclair ZX Spectrum TR-DOS (Betadisk)-Format
    16 sectors per track and 256 bytes per sector.
    Track 0 is reserved for system use.
    Therefore, there are 2 * 79 * 16 = 2564 sectors
    and 2564 * 256 = bytes (640kB) on a 80 tracks, double sided drive.

    Regards,

    Luzie

    • Sorry about asking.
      I just thought « doing a Format Adaption / Format Port »
      is just a matter of changing sector number and sector size.

      But it seems it´s more than this.

      Most format seems to use 512 Bytes sized sectors instead of the
      256 Byte sector of the ZX Spectrums Betadisk-Format.

      Regards,

      Luzie

  6. Herve, awesome job!!

    I look forward to the CPC version.

    Right now I’m running a 720kb Gotek that allows raw image mode and I can launch unprotected programs on the CPC thanks to the original AMSDOS supporting IBM trackdisk.

    I appreciate your effort so that we can enjoy in addition to all protected formats, classic games and properly support the DSK format. THANKS!!

    Bonus: How I use now my 720kb Gotek : https://www.youtube.com/watch?feature=player_detailpage&v=XRTNlZ76nJg#t=725
    I passed the video to the interesting « using demo » part at the end.
    The rest is a boring chat in Spanish: D
    I’m using the 720kb with image mode and Ready signa capable Gotek with original firmware. Sure yours will be much much much BEST!
    My CPC is waiting 😀

  7. Does anyone have problems with Soccer Kid (ECS version) on A500? I tried few all versions from TOSEC and in 9 out of 10 times it doesn’t register disk change. Boot floppy loads fine, then it asks for disk 1, I click the button and change to that ADF but screen still stays with disk 1 message, it doesn’t detect disk change. I tried these ADFs in WinUAE and they work.

    • Yup, it seems it’s Gotek issue :/.

      I’ve tested Soccer Kid with real floppies and it’s definitely something to do with gotek. Game won’t recognize disk change, I’ve tried five versions of boot disks and it’s the same with every adf. At first I used external floppy and X-Copy to transfer from gotek to real floppy and it passed without errors, when I swapped gotek with real floppy those two acted the same as Gotek.

      Then I used tsgui to write same ADFs to the same floppies and this time it worked correctly, game recognized floppy change. Game worked fine even on Amiga 600, kick 3.1, 2MB chip and ACA620EC, and also on this A500(+) so it’s not « strange » configurations that are problematic.

      I used « Soccer Kid (1993)(Krisalis)(M5)(Disk 1 of 4)(Boot)[cr ATX][t +9 ATX].adf » (from TOSEC pack) as boot disk in both Gotek and real floppy drive.

      • I’ve the same problem. And with Arabian Nights also (btw both are from Krisalis). And with some versions of Sword of Sodan.

    • Sorry for spamming again. I’ve found something out. It seems emulator mounted wrong ADF. Today I tried making ADFs from ADFs mounted via Gotek. I wanted to make file contents compare between starting ADFs and what Gotek read. First one went OK (I used TSGUI on A600), TSGUI didn’t read the name of floppy, I guess because it’s NDOS, but on second one I noticed it read something like Disk 02, and on third one Super Skidmarks… It seems that it mounted wrong floppies and that’s why game doesn’t recognize disk change, because it’s not second floppy but something completely different.
      I tried shortening file names to SocKidxx.adf and put them on USB root in folder named « test » and this time game loaded fine. I’m not sure if problem is in long file names, or a lot of files (I have 120 ADFs in « S » folder), and it’s interesting that it always mounted first ADF correctly, problem happened only when changing floppies in game. Maybe Soccer Kid holds floppy drive in some way so gotek firmware can’t access the list correctly?

    • It works on the Amiga 1000. You can add the kickstart disk ADF to the usb and start the 1000 with that. The only thing is you have to add the kichstart ADF to the selector. You cannot start the selector without the kickstart. I did this on another Amiga. After that you can use it on the 1000.

  8. Hi, thanks for this great piece of work.
    I have a strange problem:
    When I power on the amiga with an USB stick in the Gotek it does not recognize it, the display shows – – -. When I change the USB stick with another one it displays 000. When I put the original USB stick back, it is recognised and I can use all the adf’s.
    Do you have a solution for this problem? Maybe the USB stick initialisation fails and the second USB stick resets the initialisation?

  9. Hi, I am experiencing a weird issue. I was able to flash the drive and install it. I am using it on an ESCOM A1200, I also performed the Escom fix at the same time.

    The drive initiates and I am able to load images but it appears they are having problems like graphical errors or music is stuttering.

    Has anyone else had this problem on A1200? The games work fine with same kickstart and adf in WinUAE.

  10. Amiga 500+ Rev 8a.1 – Gotek not working. At boot up, selector.adf runs and just hangs before Firmware version number is susposed to be displayed. List of .adf’s never appears. tried on 2 different Rev 8a.1 amigas! Works perfect on Rev 5

    • Hmm…. I have one A500 with Rev8a motherboard (one of A500+ motherboards configured as A500) that I converted to A500+ (reconfigured it and added memory and missing chips) and it works fine with Gotek, both the selector and games. Haven’t noticed any problems so far.

    • hmm.. maybe it’s just my boards. Never could get it to work. I had to downgrade my main Amiga 500 to a rev5 and add 3.1 rom to get everything working. I taped the Gotek on top of floppy drive, made long data cable and long power cable so everything can sit outside Amiga then I can switch between them when needed.
      -Scott

  11. How comes the ST development, no problems with the beta?
    Insurmountable buggs or lack of time, holidays maybe 😉
    I started to clean that good old 1040 STe and added 4 Mo.
    Lately there’s nice demos that use it!
    Atari suxx!

  12. I finally got the gotek emulator. I succesfully load the new firmware (although the process seem to work only under windows xp, at least using a usb to serial adapter).
    Unfortunately i have a very « Strange » problem: So far i’ve tried 3 differrent usb sticks, all fat32 & fat16 formated with the selector.adf at root dir, but when i power up my amiga 500 the display shows only 3 red dashes, the green light of the gotek blinks for a few seconds but there is no blinking from the usb stick and nothing seem to loaded from the stick!
    Reseting the gotek using a jumper has no effect either.
    I also found out that this behavior is exactly the same when i have the gotek connected without any usb stick!
    Is there anything i can try, or mayber i got a faulty item?

    • Finally i made it work! I use an sd card with a usb adapter and works great!
      I also tested it with the 68000/14.2Mhz hack, and work fine too, but unfortunately there were no speed increase from/to adf image.
      Is it possible to make a custom firmware which will have the gotek work with double the usual speed transfer through the 34pin floppy connector, to test it?

  13. hi, awesome project and great work you’ve done. Are there any known models of Gotek floppy emulator which don’t work? Should I buy a 720KB or a 1.44MB floppy emulator please? thank you.

  14. Hmm…
    Booted Return of Jedi, Quartex crack and played some from DF2:. When saving highscores, I saw a steady green light for 5 seconds and then the drive locked up. Wasn’t able to change disks.
    Booted into WB, tried to edit the startup-sequence, saved, same thing again – lock-up and a bunch of Read Write errors. Will try some more, can’t really keep the program from saving the highscore.

    • Checked the memory cards with chkdsk, no problems found. Restored the adf-file and then tried all combinations of drive DF1: and DF2: and the microSD-card (with USB-adapter), wasn’t able to repeat the problem. Also tried some editing from DirOpus and all was OK. Either a fluke like a poor connection or a warning that there might be a problem.

    • can you load the ADF into WinUAE, run it and try saving the same there? if it crashes there as well you’ll know it’s a bad crack.

  15. Any chance to have this reader with a backlit LCD matrix screen for reading the adf names, just as the good old synth keyboards from the 80s?
    Seems the next logical step to this neat device to me…

    • you can get basically any SPI compliant displays and add to it.. or (is it I2C the other interface is called?) a 16×2 or 16×4 are some good choices, there’s also the OLEDs

      • i2c is better here.

        But most (if not all) gotek users don’t care about these add-on : this finally make the whole device expensive and more harder to setup : you need to buy x parts to make from various place to make it works… And when i see the problems related to a simple serial connection for the reprogramming, i have some doubts about any lcd or others stuff connection.

        I think that the success here is that the gotek drive can be used « as is » (or almost 😉 ). Introduce a Soldering Iron into any solution and you lost 90% of the audience…

      • I agree the software should support only the gotek drive as it’s bought, otherwise it can cause problems for those people who don’t want the enhanced display.. since you’re open sourcing the software I don’t see any problems in people making their own adjustments for this kind of displays 🙂

  16. Having installed one of my goteks into my A4000 I’m running into a problem, or an inconvenience rather. Usually for big boks amigas they need to reboot a couple of times in order to be ready, this is usually after putting kickstart in fastmem, loading modules etc.
    So I need to do quite a few reboots before getting my system back up again after having moved new adfs to the USB stick.

    So my question is.. is it possible to make the selector disk as workbench friendly as well?

      • mostly because I don’t know which disks I’m going to use next.. i.e. I find a program I want to use.. it’s easier to copy them to the usb drive, than to download them on a slow connection, writing the adf file to RAD, when disk2 is needed, writing that to RAD etc etc.

        I also noticed an issue then adding disks to the list in the selector, after 4-5 disks, it showed the previous disk chosen, not the one I had marked, so I had to select the same disk twice, with one disk it’s not a problem, but when there are 10 disks left to add.. well you get my meaning 🙂

      • Starting after booting should work just fine. I have booted into WB 3.1 over harddrive on A2000 or A600 and then opened DF1: that has the Gotek selector program. Then changed the view to show all files – as it’s missing an icon… double click, then OK when the window comes up asking for additions to the command – and then it starts right up. On the A2000 it inits DF0: altough I start it from DF1: – same if I boot with early startup menu. It seems the /SEL*B signals are different on an Amiga 2000 compared to A500 etc…
        On the A600 I could init either DF1: or DF2: when using two external Gotek drives.

        It would be handy if I could swap and init other drives in the system than the one that’s autoselected.

        I was having troubles with the A600, it tried to init DF0: which is a plain drive, a couple of times but I think it’s because of a defective ON/OFF switch on one of the two external Gotek drives.

  17. Dear Herve
    is it possible to do a flash to another firmware, after flashing the drive once? (for example I’ve flashed my drive for using it with my Amiga and I want to use it in future with my CPC or Atari ST)
    Has anybody tried writing to diskimages now? I always end up with corrupted images.
    Reading images works like a charm…(Amiga 500 internal use)

    @Herve: I’ve wrote this once in the past…GREAT WORK

    …and I’m looking forward to do this gorgeous mod to my CPC6128…

    • flashing a different firmware is what you did in the first place 🙂 you went from GOTEK’s to Herve’s firmware.. so you can flash to Atari (when it’s available) or other ones when/if available

      • What OS are you running, what kind of USB->serial adapter are you using? Did you install the proper drivers? Did you try and restart your computer? With your USB->serial adapter (programmer) you should have a COM-port showing in your system settings.
        When using the Flash Loader Demo, a lot of problems are solved by resetting the Gotek drive, there has also been recommendations to lower the COM-port speed. I’d try restart and the reset I mentioned first. Windows XP seems to be easier to use if you have a Prolific based port adapter like the PL2303HX…

      • It’s not USB programmer but USB to Serial adapter, and you haven’t said what chipset is on your adapter. Prolific chipset (PL2303) is problematic because there are lots of clone chips which have problem with official drivers (original manufacturer did this on purpose to stop them), Silicon labs CP210x is less troublesome, but again, it’s rarely plug and play. It depends on OS you use, and even on USB controller in your computer. In my case I also got no response when if I used USB 2.0 ports on my computer. When I plugged adapter in USB 3.0 port it went smoothly from the first try.

      • And also FT232, I think the creator of this excellent firmware was using that (FTDI). These options are a bit more expensive but you’ll avoid a lot of frustration if it works on the first try.

      • Hi, Sorry for the lack of details, The USB>Serial adapter is a ‘silabs cp2102’ I can select various COM ports in the windows device settings once the drivers are installed, I am currently running on windows 8, I will try lower the COM port speed and try it on my laptop that is running XP, and report back tomorrow.

        Thanks

      • Fake FT232… that’s too bad, I guess if you stick to early drivers it’s not a problem?
        So… if you buy a cheap serial port from eBay $0-5, expect there to be problems.

  18. hi herve,
    thanks for your efforts… İt works great as my hxc floopy emulator for reading files, loading games etc…

    But i have some issues while formating floopy disc (ofcourse i mean; mounted images wtih adf selector program 🙂 ) . and also i couldn’t copy discs with x-copy. Although it finishes copying without reporting any error but at last copied disc can’t be read!

    and finally i have some requests for adf selector program;
    a) Please use smaller font or condensed one, adf images with very long names (think adf file names in TOSEC archives like this: Midnight Resistance (1990)(Ocean)[cr Angels][h Krayzi][t +13 Thyrone] Disk 1 ) cannot read completely.

    b) It will be very useful if there is a Find function. to find and select right adf images amongs thousnds

    Regards

    Burak

    • The problem is not the resolution, but the IPF which seems a little hard to be managed by a simple uC : the format is complex and not very documented and subject to future changes and i fair that this need more ram than the stm32 can offer, and more important : i don’t plan to rewrite an ipf interpreter from scratch, this will take too much time for something not sure to be successfull…
      Finally i think that the best thing to go is to use a stream-like format. a tool using the KF library may be used to convert all these various file image formats… But this look like to be too much similar to the hxc project ;). btw the hxc tool seems to be open enough to be used, i wonder if this can help here…

  19. Just to report, I have tested 8 USB key:
    – Four 4GB: « made in china » there are advertising USB key -> Works
    – Sandisk Cruzer 16GB -> Works
    – Flash Voyager GT 16GB -> Works
    – Flash Voyager 1GB (very old key) -> Doesn’t works, I try to format it in FAT16 and FAT32 and Low Level Format also, doesn’t solve
    – PQI 16GB -> Doesn’t works
    For me it’s not a problem, I can live with 2 USB does not work.
    But Hervé do you want me to do other test?

  20. Hi all,
    I just want to thanks you again Hervé for your work, i received all the stuffs and all is working good on my old A500 . After several game tests (15) i have one game who crash on KS 1.3 or
    KS 2.04:
    Midnight Resistance (1990)(Ocean)[cr Angels][h Krayzi][t +13 Thyrone]
    This release work great on a real floppy (only with ks 1.3)

    Ps: merci encore et vive l’amiga :: ) le 500 en particulier: quelle époque incroyable, c’est pour moi l’age d’or de l’amiga. Si j’ai d’autres jeux qui crash je les posterai. A bientôt

    • Things are not so easy here in France : Any income should be reported to the tax services. French tax services have access the Paypal accounts.
      And donation are taxed at 60% (!).

      Would be more interesting to mount a small company, but there is some fixed tax, insurance to pay and so on…

      All of this is far to be compatible with a free/hobby activity…

      • That kind of sucks… 😦
        If you sell – as a hobbyist – a small service, providing this software can you get away with less tax and perhaps up to a certain amount?

        What if I send Euro in a letter? It worked most of the time pre-PayPal…

      • >If you sell – as a hobbyist – a small service, providing this software can you get away with less tax and perhaps up to a certain amount?

        Lol no no, there is nothing like this here. A penny is a penny 😉

        >What if I send Euro in a letter? It worked most of the time pre-PayPal…

        Possible but quite risky : Someone else can report you to the authorities…

        But anyway thanks for the offer !

  21. I installed two of these in my A2000, 1.05a firmware. I’m wondering, how do I boot selector from df1? If I have df1 set to 000 and open the disk, double-click « selector » then it inits to df0 anyway. I have it set to S1 and connected where the df1 originally is.
    I’m pretty sure I saw a picture or video where someone was running selector with df1.

    • Booting from df1 using the KS3.1 « early startup » menu or whatever it’s called result in the same thing, selector.adf is loaded from df1 and then it inits df0. It’s not a functional problem, I’ll just move the card to df0 if changes are needed but it would be handy if I could make changes not having to move the card. Haven’t found that image again where I saw the init df1 text…

      • the DF1 should be set as DS0 still, the twist on the floppy cable takes care of the DS0/DS1 for you.
        Don’t forget to set the jumpers, I think there’s a jumper for internal DF1 on the A2000 board.

      • I actually tried setting DF1 to S0 as well – didn’t work, then they acted as if they were the same drive and nothing worked. When the DF1 in the Amiga – it’s originally equipped with two drives internally – is set to S1 it works in workbench and also when playing games. I have tried Pinball Fantasies and Cannon Fodder so far. But as described I can’t get selector to init df1, no matter if I run the program from early startup or from workbench.

      • I did try that and shutting off all other drives and enable and selecting just df1 to boot from – after selector is run it still inits df0 instead…
        No big deal, I just wondered if it was supposed to work and how, maybe with a /DF1 or similar addition to the command or an added key press in the selector program??

    • Is it important to have it init DF1? People who have it init as DF1 used it in external case and had real floppy as DF0, I guess it simply detects DF0 first and doesn’t look if there’s another gotek.

      I would simply work around the issue by putting USB stick in DF0, set all slots as I want and then use it plugged in DF1.

      • Yes, that’s what I could do, or keep two identical ones and just copy the first on the PC. I was merely wondering if it was supposed to work or not. If it works on an A500 with an external drive, shouldn’t it work on a A2000 two internal drives?
        I guess if I have only one cortex drive connected it will find it but let’s say I have four of the cortex drives – the selector should start on the drive that I run the software from or I should be able to manually select one of the other drives…

      • Tried the Amiga 2000 DF1 drive in an external case, a standard RF302C marked noname version with metal case, through port and on/off button. Hooked to the A600 it worked, no problem neither using early startup and boot directly or start it from Workbench (3.1). So, with only one Cortex drive in a system, it’s no problem to init it as df1. Don’t know if not being able to start selector and boot from df1 in an A2000 would count as a bug. 😉

      • I got a second external housing, this time a Datic branded version. I cleaned it up nice and and installed the modified Gotek.

        Didn’t work…
        As I got it without a drive and the seller was unsure if it worked I started checking all kinds of things, cables worked fine in the other one. The 74LS74 and 7438 both checked out fine as well, resoldered everything and experimented but I couldn’t find out what it was. After starting to draw the schematic (I thought that was the definite way to decide what the difference was between the 302C-E) and coming about 80% or so I saw what it was. The switch (first I desoldered the switch thinking it was shorted since it was hooked up in an odd way) connects /SEL0B of the internal floppy connector to /SEL1B of the cable coming from the Amiga. So drive needs to be set to DS0 (S0)… And I had it set to DS1 (S1) as that’s how you need it in the other one – it connects /SEL1B from the Amiga to pin12 instead of pin10 of the internal floppy connector which is means DS1 instead of DS0.

        So problem solved, and I got a nice schematic as well. Just want to tip other people that you should try the other setting if your drive doesn’t seem to react at all with the green LED and it says DF1:???? in Workbench. Not all external drives are created alike. 😉

      • This is still bugging me. I used one of my Amiga 500:s and had three drives hooked up, internal, two Goteks and one 1010 which worked fine when running games etc. However when trying to init the two Goteks as DF1 and DF2 from Workbench it starts the Selector program and then gets stuck with trying to init the internal drive DF0: Only fix I could figure out was if I used the early startup menu to select one drive there and disable the others – then init would work fine on either DF1 or DF2. When working in Workbench it would have been handy if this worked, also if I could save settings and return to Workbench.
        On a side note, « Return of The Jedi » crashed again while saving. 😦
        Don’t know what the problem was this time.

      • there are many types of displays.. the LED one that comes with the device.. the simple 16×2/1602 LCD, the oled one mentioned earlier, 16×4 etc.. even touchscreens. I had the same idea as jerome. But looking from HM’s point of view, he would then have to make several different releases as to the size of the display. This can be a hell to maintain, further more it’s a nice-to-have feature where the priority is to fix bugs and make the code perfect.

        But when it’s open sourced it’s free for ppl to make their changes.

        I wouldn’t mind getting the source now, so I can make a LCD library (still waiting for the display to arrive though). But any changes done to the core could break the library.

        So you might just need a little patience and someone will eventually make the feature for the bling bling 😉

      • I second.
        I just ordered my oled display and stick from china. It will take ~1 month to arrived and after I start to code the library. People must be patient.
        I have other idea for bling, bling 😉

      • Generally it takes two or three weeks for delivery in France from China. I can order it from local seller but it’s more expensive and I’m not hurry

      • well if you can make next release.. then open source it i.e. on github, sourceforge or something, then it’s possible for people to contribute fixes, you don’t need to be alone in this.

        btw which compiler are you using? I was looking for a dev suite for the st32 chips, but only found commercial ones. And as I’m only a noob coder I wouldn’t invest in something I might not be able to use.

  22. I have tested my Gotek drive and it works well (1.05a firmware). I use 5 usb key and only 1 doesn’t works (I try to find if I can solve the problem, maybe it can help other people).
    I externalize the LCD and switch so I can close my A1200 (the case of the Gotek must be cut).
    My A1200 configuration : DKB1240 (68030+68882 at 50MHz) + 16MB ram + internal 20GB HD + internal CDRW. Gotek is put internaly as DF0 because I have an HD floppy externaly as DF1.

    The remeaning trouble I have was with the selector, on my A1200 I use a double pal mode for workbench because my VGA monitor doesn’t support low refrech rate, but the selector return to a pal display. For pal display I use a GBS8220 scan doubler but currently I need to switch it manualy. It’s just not easy to use.

    When you open the source code (hope soon) I think I try to change the display for a graphic oled display like this : http://www.ebay.fr/itm/0-96-I2C-IIC-SPI-Serial-128X64-OLED-LCD-LED-Display-Module-for-Arduino-white-C8-/181382465372?pt=LH_DefaultDomain_0&hash=item2a3b3cc75c and display the real files names. And I use a stick like this http://www.aliexpress.com/item/3-Position-3-Pin-Horizontal-Miniature-SMD-SMT-Slide-Power-Switch/1798342154.html for the selection.

    Thank you for this great software.

      • When I need low resolution I connect my external GBS8220 scan doubler, but I need to remove it for high resolution. I’m looking to create a automatic switch.
        Having a floppy emulator on this machine is an easy way to transfer file between Amiga/PC.

      • on the pcmcia->cf adapter you can even have files working off it as a drive, and you can have larger files than 880kb (i.e. whdload packages).
        for that job, thats a much better solution than the gotek, and cheaper too.

      • Exactly! You just need to add cfs & fat95 into your system and you are ready !

        A floppy emulator is ok when you have no others choices.
        The A500 is the main target for such things. For A1200 this is less interesting, especially because lots of software doesn’t natively work properly on this machine :/. I think that’s why WHDLoad exist…

      • On the pcmcia port I have a network card and yes I can share file with the PC also.
        I try the Gotek drive because it’s not an expansive solution. I use my Amiga for the fun, and I try many thing on it that requires to have a flopy drive.

  23. Hi! I don’t want to pressure you, but I was wondering how the CPC port was going? You probably already know, the Saturday just gone (12th) was the 30 year anniversary of the CPC – might be a nice time for a release 🙂

  24. Thanks for your work Herve. I have it working fine on an A2000.

    However, I’m having trouble using it on my CDTV. It’s in an external enclosure. The CDTV reports it as being DF0, and it boots off it fine. When the selector program starts, it just states « emulator not found ». I am using firmware and selector 1.05a, and I’ve tried kickstart 1.3 (with extended ROM 1.0) and 3.1 (with extended ROM 2.7). I’ve tried setting the jumper for S0 or S1.

    • I am replying here because I also had encountered problems with my CDTV. Often the selector hangs after the firmware detection. But when it passes to the file selection, after saving the slot configuration, some data on the USB media seem to get corrupted: It won’t boot any image anymore. And even worse: Sometimes the directory structure on the USB media got totally scrambled (weird file names and missing files) as you can see it on the PC, so a reformatting is required.
      On my A500 and A1200 everything works fine. When I prepare the slots on the A1200 and put the drive back on the CDTV, it will boot from every slot just fine (tried a few games and demos). Only the selector just won’t do and corrupts the data after saving.
      I also tried different external floppy cases.

      However, I want to say a big THANK YOU for your great work!

  25. The emulator works great in my A1200. Thank you very much for your work on this project!
    It would be great to be able to export the list af disk image assignments to a text file, to browse, search or print it.
    No one can remember a list with up to 999 entries 😉

  26. Hi Herve,

    Thanks for the great firmware and software. This certainly makes the old Amigas useful once again if you have a bad floppy drive.

    Sincerely,
    TC

  27. I was wondering, can this floppy emulator work with an overclocked amiga 500 using a 68000/14.2 mhz?
    As you probably know, ‘E’ clock signal from 68000 cpu (which is 1/10 of cpu clock) drives the 2 I/O CIA chips and threfore the floppy conotroller too.
    I tried the overclock « Hack » in the past, but although amiga boot fine, i couldn’t read from floppy, obviously because the speed doubling of all signals were « too much » for the old DD floppy drive. So, i was thinking, if we put a gotek floppy emulator ,were there are no mechanical parts, and if a double speed data reat is supported (either « automatically » or by a rather easy modification of firmware) could we possibly have a floppy drive with double read/write speeds?

  28. How do i reset the drive? Mine has no light in the display. If i move the jumper from the programming pins to the reset pins the display shows 000. But when i move the jumper back the drive seems dead. Unable to connect it to the flash loader program. The program says « no response from the target. Reset the target. Please helt

    • When programming you need the jumper on the programming pins all the time. If you need to reset because the hardware or software isn’t working you have to use another jumper for the reset, leave the programming jumper connected until all programming is done. Display is supposed to be dead while doing this.

  29. Hi,
    I have a strange situation with my gotek. I flashed with the lastest firmware, and all went ok, but when i connect to my amiga with a 4gb usb pen the display instead of showing the track numbers, only shows 3 traces and 2 dots. Can any one help me ?

    Thanks
    MC

    • I’d first try some other USB-memory and then try and reprogram it. Don’t remember if the dots were showing when it didn’t like my USB-memory but it had the three middle bars lit.

      • I used a SanDisk Cruzer with no problems and two different microSD-card USB readers with no problems as well. Those small microSD-adapters are nice, no annoying led or so..
        One of these Deltaco readers for $2 works fine with a 2GB SanDisk microSD-card. It’s a very small investment for troublefree usage.

    • That’s weird. I tried lots of USB drives on the Gotek drive, from unbranded « pendrives » to lots of memory card readers, even multicard, and USB to IDE adapters with no problems at all.
      Even a SD Card into a SD Card to Compact Flash adapter into a CF to IDE adapter plugged to a USB to IDE cable seems to work fine. (funny, isn’t it?)
      I guess the problem is the way that the drive was formatted.
      Please, ensure you’re using the right format. Only FAT, FAT16 or FAT32 is supported.

      Just to be sure, are you placing the SELECTOR.ADF image on the root of the drive?

  30. Hi Herve,
    i tested another adapter.
    It works fine without a problem :-). driver and use ok.
    ebay 400611646199
    the bad point: the shipping thakes 1 month.

  31. I have the GoTek drive flashed and installed in my A500. It’s working great but I did notice something odd so I thought I’d report it. The USB thumb drive I’m using is 4GB formatted as FAT32. The thumb drive has a LED the blinks when there is I/O activity. Even if the Amiga is idle and not performing any floppy I/O the LED on my thumb drive continues to blink at all times. The operation of everything is working as expected but this seems odd…like the GoTek is constantly polling the thumb drive.

    Thanks!
    Tom

  32. Hi,

    First let me thank you for this wonderful idea.

    I have bought a Gotek drive from relec.ch with a 1.04b firmware pre-installed. It was not expensive and I have the cable to upgrade the firmware so I’ll try to update it to the last version.

    However I have a strange problem, the selector.adf file boots okay but then it says « no emulator found! ». It seems strange as the emulator actually just loaded the selector.adf file.

    Any idea why this could happen ?

    Thanks in advance,
    Patrice

    PS: I’m contacting relec.ch about the problem and not asking you to do their job. Just wondering if you had any idea.

    • No idea, since there is no enough information that may help to understand the problem.
      but :
      You paid relec for this so please ask to relec for the support.
      The disclaimer says :
      « – I will not do any support for the resellers account. If you have any problem with a preflashed drive, please contact your reseller. »
      Thanks for your understanding.

    • Hmm… I guess you’re using and old selector.adf image that doesn’t match the firmware inside the emulator, or the firmware version isn’t the one you think.
      So, as hervemessinger say, contact your reseller.

      PS: As you have the programming cable, just reprogram the emulator and try again.

      • Damm… I meant « an old selector.adf ».

        On the other hand, It would be nice to have an option in the selector.adf image to export or retrieve the list of assigned images.
        Everytime the selector.adf is updated you have to rebuild that list…

      • Thanks to both of you for your answers. I have tried the 1.04a, 1.04b and 1.05a selector.adf files with no success. I will try to upgrade the firmware with the cable. That seems to be the best solution indeed.

    • I’m replying to my own message just in case someone as the same problem.

      My problem was that the jumper wasn’t on S0. Yes I know it’s stupid and I feel stupid but now everything works okay.

      I have also updated my Gotek to the last version of the firmware.

      Anyway, H.M, thanks again for this nice system 🙂

  33. @hervemessinger
    Yes, I do, but It’s a pain to run that software every time you add a single file… 😛
    And you can do the sorting in the host side, and I guess you can sort the names as you retrieve them from the device…
    On my previous comment I was thinking on sorting the list at the emulator side, but It’s a silly idea because It won’t use the list itself. I think I need some sleep 😛

    P.D.: I can’t reply directly to your comments, why?

  34. What if you could simply press the right cursor key when on an entry and scroll the filename until it ends.

    So for one like this:
    Very-long-filename-with-a-bunch-of-information-that-can-be-read-on-a-pc-(disk1of2).adf

    This would display something like this in the menu
    Very-long-filename-with-a-bunch-of-inform

    Highlighting it and pressing right cursor would scroll filename one character at the time until you reach the last character or if you change to other entry.
    ery-long-filename-with-a-bunch-of-informa
    ry-long-filename-with-a-bunch-of-informat

    Another possibility is to jump an entire row, first press right would display this
    ation-that-can-be-read-on-a-pc-(disk1of
    and second this:
    2).adf

  35. Is it possible to add some sort of long file name support, currently long file names get cut off after a certain number of characters.

    Maybe you could use something like krizz does with the everdrives. All files names are shown in full at the bottom of the screen.

      • hard to explain but that grey area at the bottom is devoted to the full file name. If the name is to long it continues below it so are able top see the full file name.

      • But you can reserve 2 or 3 lines (of text) at the bottom and split the name into them if the name of the file doesn’t fit into only one…
        I like the idea.
        On the other hand, the actual problem for me is the fact that the list is not alphabetically sorted.
        I’ve created a simple file tree to aid the file searching, just a bunch of folders named from A to Z and # for numbers, and I throw my files there based on the first letter (or number) of the name.
        Ok, It works quite fine, until you delete a folder (by accident or whatever) and you want to create a new one… then the new folder can be allocated anywhere on the filesystem (not consecutively).
        As (I guess) the list is shown as it’s retrieved from the filesystem, I won’t be sorted on the screen.
        I know It’s a hard problem to resolve because the memory restrictions, as you have to load the entire list in memory (only 64Kbytes for all that stuff) and you need at least twice the amount of memory to sort it (original and sorted), but I’d give it a go to the idea.

        P.D.: It also happens for files, not only folders as you would guess.

      • Files not in alphabetical order is a « problem » in many multi game systems, it takes a long time to sort long lists and you’re better off sorting the directory on your device instead. I use a program called DriveSort myself, works very well.

    • It could take forever to make the « perfect » loader, because it doesn’t exist.
      People will produce every kinds of tools when the sources will be released.

      IMHO mainly bugs should be fixed, and release that ST, CPC beta firmware. Most of us can leave with a beta 🙂

  36. It would look really nice if the display didn’t flash to – – – before changing the display to the next number. I know it’s one of those unimportant details but if you know how to fix it it would be nice to stop that flashing. 😉
    Great job, being able to run disk games from USB-memory is lovely.

  37. Great work! I have some feedback for selector.adf.

    If you have loads (thousands) of files on your USB storage, finding the image you want can be painful. E.g. I wanted to play turrican, but only got as far as images beginning with A, since scrolling is too slow. Perhaps we need a search feature where we can type in (with on-screen keyboard or the real keyboard) a search term and see only the hits (not sure how fast that would be).

    Also, long file names are a problem. Suppose we have the files:

    some_really_long_game_name_3_extra_super_awesome_gold_edition_disk_1.adf
    some_really_long_game_name_3_extra_super_awesome_gold_edition_disk_1_again.adf
    some_really_long_game_name_3_extra_super_awesome_gold_edition_disk_2.adf
    some_really_long_game_name_3_extra_super_awesome_gold_edition_disk_3.adf

    Because the file names don’t fit on-screen, we cannot see the disk numbers. Perhaps they need to scroll horizontally when selected.

    Cheers!

      • Yes, scrolling names would help, like the Atari 2600 Harmony cart does. Or perhaps name displayed line breaked if for example you highlight a file and press a certain button – or it could be done automatically upon highlight. A lot of files are named with year, company, cracker name etc etc and last in the name is the « Disk 1 of 2 » text, I have edited some of these files when testing but if you have a lot of these it’s a real pain – unless you go ahead and use some renaming tool.

      • If i implement this scrolling feature : Some will ask to change the scrolling speed (too fast/to slow), some others will ask to disable it… Sound not easy to solve.
        If i increase the resolution : Bad idea -> Some old CRT are not very readable in High Rez…

      • Well, what if you skip scrolling and display the full name if (possible) as suggested on the last rows. It would help a lot not having to rename « standardized » files.

    • As HM says, sort them in folders. I used that « system » from before as it’s easier to browse through them even in workbench.
      Long file names can be a bother, but then again, I don’t intend to have whole TOSEC or Gamebase packs on USB so I don’t have cases like you mentioned (disk_1, disk_1_again…). If it doesn’t fit on the screen first one is disk1, second one is disk2 and so on. Plus I mostly have them renamed anyway. As I had them on CF in my A1200 I had to reduce them to 107 characters which is max on PFS3.

      Only thing that I miss would be to have page up/down functionality, but it’s not like I use selector.adf daily so once in a while is not a problem.

  38. Have one issue, dont know if anyone else has it, hope I can get some answer. When using the selector software, and selecting a disk in a slot, it tends to end up the disk that was in the slot before it, and I have to select it a second time in order to get the right one.

    Also a suggestion, possibility to toggle screen modes in ordet to get higher resolution, and with it, ability to see longer text? Or simply have a text at the bottom scroll to show the whole name of the current disk image you are on?

  39. Hi,

    I bought a Gotek emulator and followed your post reflashing and using it. First of all: you’re awesome! It’s a Godsend. You did a fantastic job with it!

    I’d have some suggestions which would make the life easier for some newbies though:

    – sometimes resetting the device isn’t enough, you have to try on lower serial speeds in order to be able to flash it.
    – like you said on one of the forums (can’t remember which) not all pendrives are created equal. One should try more than one to see if it works.
    To me it just displayed « — » and flashed the pendrive led rapidly. I tried 4 different ones and the fourth (Integral 8GB) is working. Would it be either help to troubleshoot the USB communication issues (timing problems, incompatible USB chips?) or just ask people to send their experiences about compatibility?

    To me the following drives failed (I’ll post product/vendor id later):
    – Kingston 1GB
    – Kingston 4GB
    – Apacer 4GB (Oracle OEM)

    This one is working:
    – Integral 8GB

    Product ID: 0x4100
    Vendor ID: 0x13fe (Phison Electronics Corp.)
    Version: 1.00
    Serial Number: 0702C114BFA70E64

    Since I tried it an A500 (unexpanded) I surprisingly had no issue with the selector, I found it very handy.

    Thanks again!

    PS: …any chance of an Atari ST version? *ducks*

  40. I’ve upgrade to 1.05a. Stardust, Project X SE93 and Agony now work.

    However Arabian Nights, Sword of Sodan and Soccer Kid still doesn’t work ok. But I ‘ve found out than in Arabian Nights if you change the disk ‘before’ the game ask you to, then it works, don’t know if this could help find the error. Perhaps I’m the only one with this problem? I’ve a A500 1.3 512+512 and tried with an old 512MB FAT16 and a new 8GB FAT32 memory stick.

    Anyway it works great 😀

  41. ===Note for those having issues flashing the drive ===

    I was able to FINALLY get my Gotek drive to flash. I spent many hours trying to get it to actually work. In the end I found that I was unable to patch the drive on a PC that runs Windows 7, even though the USB serial functioned perfectly in Putty via a loopback test. I also verified physical connection to the Gotek drive to USB port via a Ohm meter. I’m guessing the flash software has some issues with Window 7?? I was able to flash the drive on a Windows XP SP3 machine using the same adapter and driver used on the Win7 machine. Just thought I’d share my results. Thanks!!!

  42. I can’t get Pinball Dreams to run, locks up after the yellow boot text, images run fine in WinUAE configured the same as my A2000 that is running this fine from disk. In WinUAE it starts changing cylinders pretty fast after that initial boot text, with the Cortex flashed Gotek drive it seems to do nothing at all, don’t see any LED action and screen is just frozen.
    Current latest available version from 14/03/30 running (BTW 2k14 would mean 2140 and not 2014).

  43. Thanks for making a new firmware.

    Though now I’m stuck with « Cortex FE init error! »

    this happens on both drives.
    both firmware and selector are updated.

    It works fine as DF0.

      • I can’t say if it’s too fast.. my tests are running on an A600, perhaps I should try it out on an A1200. I might find time for that tomorrow 🙂

      • ok, I’ve finally had a little time to pull out my A1200.. it’s the same issue here..
        my LED’s aren’t working on my A600 atm, but they are on my A1200, and the FDD LED is constant lit after the DF1 init error occurs. (don’t know if that info is useful to you.)

  44. I just realized my last message has been deleted…
    Ok, I got it, no links to ADF files… my fault, sorry… 😛
    Let me tell you it again… I have an ADF image that doesn’t work on the current firmware (1.05a) but it worked on the previous one…
    The game in question is Virocop, from Renegade.

  45. Tested on my A500 Kick 1.3/2.0. Works like a charm. 🙂
    The fast forward/backward image selection is a great improvement.

    Is there any way to create a printable list of the mounted images inside the selector.adf? Could be a lot easier to find the correct slot for a specific game with some kind of listing.

    Are there any news about the Atari ST firmware coming up?

    Thanks for your work!

      • Printable to paper. 😉
        Maybe you misunderstood. My english is not the best.
        I would like to have a list of all mounted images. So maybe it would be possible to create some sort of a file, which could be printed out.
        I don’t understand anything of all this programming stuff. But in my imagination the selector.adf must save the list of mounted images somewhere. And it would be very usefull, if we could use this to make a listing (printed on paper). A simple Textfile for example.

  46. Hello. Thank you for this information, I modded one of these drives today, and now my A1200 is liberated from floppy drives. There is just one thing I would like to ask you. I am running my A1200 with an ACA1230 28Mhz 030, and the selector.adf software seems to be overly sensitive to cpu speed, it is way to easy to get one keypress end up being several, which makes it difficult to select the correct adf for the slots.

  47. Finally installed one gotek in A500, had to drill new holes in it so it could be installed a bit more to the back so A500 case could be closed, and put it under TV.
    Works great, but noticed one logistic problem. I have to get up every so often to press floppy change button. Which isn’t all that practical since buttons are inside the case so i picked at them with a screwdriver 😀 .
    First thing that came to my mind was that maybe it would be better to get longer floppy and power cable so gotek could be outside. But that wouldn’t look that nice, plus I would still need to get up (which is bad 😀 ). Next idea was to just use two pushbuttons on a wire so they could be outside. Or buttons with longer necks so they could stick outside. That would work, but I would again need to get up (which is still bad 😀 ).
    Third idea looks most promising 🙂 , basically, ATtiny MCU, 45 or 85, code should be small enough so 45 should be enough, probably even ATtiny25, but it costs more than ATtiny45 and ATtiny85 😕 and TSOP1838 IR receiver. For remote I’d use this

    http://www.ebay.com/itm/360895525609

    They’re dirt cheap and I already have one :). With all this in place I could be sitting and remotely change ADFs (or what ever disk it emulates since it’s not platform related 😀 ).
    Depending on how sensitive TSOP1838 is it could probably be installed inside gotek case, just put making a hole in front side near the buttons for it to « look » out. In my case I think it would work since A500 is in cupboard and reflections would take care of it. But it could also be made external along with num display. But first it needs to be made :).

    I’ve never worked with STM MCU and since you made new firmware I guess you’re more than knowledgeable about it 🙂 . I have two questions in regard to my idea. On schematic I see that buttons connect PC7 and PC8 pins to GND so click is registered when those pins are pulled low. I guess this means that they have internal pull ups since I don’t see them in schematic (or board pictures), I’ve looked in it’s datasheet and they mention that each GPIO pin except PA10 has weak pull up/down resistor. Have I figured this OK or missed the ball?

    Next, simplest version would be to connect PC7 and PC8 to port pins on ATtiny, probably via 1k resistor to limit current to be below max sink current of STM (datasheet says it’s 8 or 20 mA depending if it’s low or high output, 1k resistor would keep it under 8 mA). This way if ATtiny port would be set to 1 STM port would also be set to 1, when remote press is detected ATtiny would « click » it to 0 for a bit and keypress would be detected (hopefully).
    More complicated version would be to have transistor on each line so ATtiny would trigger them to pull the line down and not directly. So far I’ve never interfaced two microcontrollers, I’m not sure if it would be OK to connect them directly?

  48. Excellent hack! Perfect repurposing of an affordable gadget.

    The STM32F105 also has a built-in USB bootloader, as an alternative to the serial port flashing. You would need some host-to-device USB adapter (OTG cable?) and you will still need to short BOOT0 and 3.3V while powering up the box. Then for instance dfu-util can be used to transfer the firmware over USB from a computer. Disclaimer: I never tested this, just speculating. I am the maintainer of both dfu-util and stm32flash.

      • I tried this, and as hervemessinger said, you need to add some pull-up resistors, and even doing that It doesn’t seem to work…
        In this case I think the serial aproach is better.

      • @Tornod
        You don’t need pull-up resistors on D+ (for high speed devices) nor D- (for low speed devices) for the STM32 to work. It’s supposed to be an OTG enable device, so It should take care of this.
        In fact, I tried It adding those resistors without success.
        The problem is that you must force fixed logic levels on all communications interfaces of the STM32 to put It in DFU mode (CAN, I2C, serial…), and It’s not possible without adding some pull-up/down resistors to some pins.
        The reason is the STM32 tries all other interfaces before entering in USB mode, so yes, It’s hairy 😉

  49. Just checking in to report another succesfull flash & boot. Hervemessinger; thank you so much for breathing new life into my dusty A500 !
    It took me a while and unsuccesfull attempts to get it flashed in Windows 7, but using an old Windows XP laptop, it worked like a charm.

  50. …sorry, a little addition…

    is there a documentation to the selector.adf?

    I’d like the option to rename a file, perhaps copy a file and create a blank ADF-Image…

    I think at the moment the only purpose of the selector.adf is to choose the files on the USB-Device, load them to the slots and restart the machine…

    This all works like a charm…even the navigation in subfolders and back to the root, but can I delete an entry in a slot? or how can I empty a slot? ( take the « disk » out of the « drive » ) The DEL-Key does not work….

    But if there is no further development planned, that is no matter…all functions reading images and swapping « disks » are working great for me…

    Regards ForD68

    • They will be further development. don’t worry 😉
      I take note of all remarks & questions posted here and try to synthesis all of this into the software :).

      i will add the del key in the software.
      copy a file & create a blank adf is possible but will need more work.

  51. …A really good job…superb…thumbs up…
    the installation guide is perfect…when everybody follows all instructions I think all must work correct…I’ve installed the drive as DF0 inside my A500 and all ADF’s I’ve testet since now are working correct…I’ve made some blank ADF-Images using WinUAE but I failed writing on them…I’ve plugged an external Diskdrive to my A500…now I’ve bootet from my Gotek (intern DF0) my X-Copy-ADF-Image…when the programm is running, I switched the Gotek to my created blank ADF-Image and choosing DF1 as source and DF0 as destination…I get sync errors or write errors on my Gotek…I’ve tried several USB-Sticks, Fat16 and Fat32 format and I have the latest firmware installed…any idea?

    …my second Gotek (like a virgin 🙂 ) is still waiting for the first Atari ST-Firmware…

    …and shame to those guys selling flashed units to stupid people…

    greetings and best regards

    ForD68

  52. Just checking in to say I flashed my Gotek emulator last night and it works great in my A500 🙂 Thanks for working on the project and sharing it. I’m looking forward to a source release too.

  53. Ok, I ran into some issues today. I was going to test the gotek in an external drivebay, as DF1. booting the selector went fine. I assembled the screws and everything, and started booting again. The previous saved list was gone. But I added 2 disks as 1 and 2. after rebooting the display went out. I powered off the amiga, and powered it on again. the display was showing 3 dashes (—) and no matter what I do now there are only the 3 dashes.

    Things I’ve tried (all steps implying that I’m using the dedicated usb stick unless stated otherwise):
    tried another usb stick
    formated the dedicated usb stick
    Moving the gotek to DF0
    tried another usb stick in df0
    reapply firmware – and tried again
    reapply firmware and erase everything – and tried again
    Used an other amiga
    powered on the gotek (no floppy cable) with the usb stick in it’s port (still only showing —)

    any suggestions ?

    • Sound like a power supply issue. Can you check the voltage ? I hope that you take care to use +5V and not +12V :/
      Maybe that you have break something on the gotek pcb ?
      Also : it still some issue with some usb key. have you tried another brand ?

      • yeah, I tried 2 other USB drives. and having the GOTEK fed directly from the amiga’s internal power and usb port from my PC (not at the same time).
        I only had the problem after saving the disk list in the external casing as df1.
        There is electronic logic to handle extra external drives in my casing (as with most external amiga drives).
        Did you try it with an external casing?
        btw. I had to set my jumper on the Gotek as DS1 as opposed to the DS0 to get the drive to work in the external case.

      • It works fine in external closure, that’s how I tested it my A600, although most games didn’t work. I guess they look on DF0, plus I have ACA620 and kick 3.1 in my A600 which also doesn’t help with older games. Gotek is set to DS0

        example, Battle Isle

        http://www.imagebam.com/image/7e9082314308637
        http://www.imagebam.com/image/d231e0314308657

        Bubble Bobble was one of the games that didn’t like DF1, got only to splash screen and stayed there

        http://www.imagebam.com/image/7d4127314308675

        But when gotek was connected as DF0 game worked

        http://www.imagebam.com/image/d44b1d316924277

        I had no problems using selector.adf on DF1, that’s actually how I first connected it. Are you sure your selector.adf is up to date?

      • yeah, using the latest selector. I double checked that after formatting the USB drive.
        but the issue is not about it being DF1 or DF0..
        but that it doesn’t read from the USB anymore..
        It could of course be a microcrack as HM suggests, I’ll have to check up on that when I get some time to look at it again. Only the « dedicated » usb stick seems active blinking, whereas others I try don’t give any indication of being inserted.

        Having the gotek as DF1, for me, in an external case is not to run games from it, but just giving the means of being able to transfer disks to/on i.e. an A500.

        It’s easier to walk get around with an external diskdrivecasing with a gotek, than an A600/A1200 just to transfer disks 🙂

        Usually trackdisks games/demos are sensitive to where the disks run from, compared to AmigaDOS based games/apps/demos which just asks for the diskettelabel and doesn’t care about the rest.

      • I got my gotek back up running, Using an older selector.adf and switched back to the new one again seemed to help.

        Though there are some issues with different external casings.
        I haven’t gotten the selector to save a disklist yet, using the external casing. the saving works as df0, but not externally.

        From time to time I get some issues there the drive isn’t initialized, and an error occurs.

        Using DS0 or DS1 on the Gotek seems to depend on the external casing, I’ve tried it in 2 casings now and the drive needs to be set as DS1 in one, and DS0 in the other. (they are non commodore original casings, but 3rd party).

        In the when the Gotek is in the second external drive, and the selector booted from DF1 I can hear DF0 initializes and the selector software just freezes up. At an earlier state I sometimes could see the text « Initializing DF0 ».

        I think I have 5-6 external drives, and I’m willing to do some debug testing if required.

      • i don’t have these external cases, but i just found something that may explain this issue : the step input is quite sensitive, and false step may appears… i have just added a workaround into the software.

  54. Have you extracted/backed up the original firmware from gotek? If yes, where can i find it?
    Can we flash the original firware again (same method), right?

  55. Hi Hervé,
    the problem with the a1200 selector.adf.
    can you make the inputs by keys and buttons slower?
    for example 1 input per 500millisec.
    when i select an adf by fire, the system restrarts.
    the mashine is to fast.
    i think, when i press the button or a key once, for the selector.adf it are two or three inputs.
    so in the save and restart-menu it restarts.
    i tested it whithout turbocard. it works sometimes.
    whit a turbocard it is impossible to make a selection- safe.

      • yes, the latest. tested on two a1200, with and without tc.
        the cursorkeys and the joystick up/down is so fast. mostly two steps in th adf-list.

      • No, timers are generated by CIAs, who are independent from CPU. Your A600 has the same CIA as the A1200 has. There has to be some bug in your code, on an it’s even 68060 faster.

        Do you use system functions? If you check for keyup-events, the problem could be prevented.

  56. Does it then mean that it can act as DF0, DF1, DF2 or DF3 ? For example… 4 of these emulators one the same amiga could act as the 4 floppy drives on a single machine?

    • It means you can put it in external floppy floppy case and it would work fine from there. First version had an issue with selector.adf where it didn’t expect gotek to be on any other position beside DF0

      • So i don’t need a boot selector in my A600? I can open my external DF2, remove the drive and build in the Cortex there … and it will work?

  57. Bonjour,
    Merci Hervé pour ce super travail!, j’ai commandé le lecteur et l adaptateur j’ai hâte de pouvoir tester.

    Ps: j’ai constaté que la personne qui vendait un lecteur sur eBay a un prix prohibitif, un soit disant cadeau en revant un autre… y en a vraiment qui se font pas chier…..

    • First I would like to thank you for creating amiga compatible gotek firmware.

      From the following update:
      « 1.04b 2K14/03/08 Selector.adf update : Floppy Emulator auto-detection : Can now control the emulator on DF0/DF1/DF2/DF3… »

      I have some questions…

      Does this update allow the GOTEK to emulate df0: df1: df2 AND df3: at the same time on a single amiga using a single GOTEK floppy emulator?

  58. I recognized random freezes, especially when formating disks. This happens either with WB and X-Copy. I solved this by integrating a reset switch into the front of the device. But i have to reset the device after almost every disk formating.
    Because of many games requiring empty disks for use of savegames i tried to format several diskimages. Works great with the exception of the random freezes.

  59. I appreciate your work very much! And I am looking forward to further increases of your work.

    Would it be possible to change the way of selecting the Slots of the Gotek?
    At the moment it is quite a challenge to select higher Slotnumbers. Maybe a good way would be to make one button to change ten digits and the other to change one digit. Instead of just counting up or down. Could make things a lot easier.
    Also it would be great if the « save and restart » option would be available on every page as well as an option to change to upper folders on each page.

    Keep on working!

    cheers,
    JogCon

    • I’ve run into this item, he charges more than the double the price of « regular » gotek…

      I wonder if it would be possible to set some kind of disclaimer that would have legal weight. In that case these « creative » folk could get reported and ebay would remove his auction. Anyone from legal department here? 🙂

      He says he got it as a gift… yeah… riiiight…

  60. Hi amiga enthusiastics!! I’ve bought the gortex and a PL2303 HX usb ttl cable… I’ve installed prolific drivers and I’m having trouble flashing under w7… I’ve followed the 5v/tx/rx/boot0-3.3v/reset sequence without any success… I’ve also tried under linux with stm32flash but I’m stuck here

    Using Parser : Intel HEX
    Serial Config: 57600 8E1
    Version : 0x22
    Option 1 : 0x00
    Option 2 : 0x00
    Device ID : 0x0418 (Connectivity line)
    – RAM : 64KiB (4096b reserved by bootloader)
    – Flash : 256KiB (sector size: 2×2048)
    – Option RAM : 16b
    – System RAM : 18KiB

    Got NACK from device on command 0x43
    Can’t initiate chip erase!
    Failed to erase memory

    Resetting device… Got NACK from device on command 0x31
    failed.

    Anyone can help me??? I feel a bit depressed… everything I try to do can’t go right… there’s always a load of troubles…

  61. Any possibility of the source code being released? Hex is all well and good, but I’m an embedded software hacker, I want to improve things! (read « adapt for the Amstrad CPC »)

    …eh, I don’t really care too much, STM32 is my main dev platform these days, I’ll just write my own implementation from scratch. 😀

  62. I got an Amiga 500 … works much better than my A1200 (kick 1.3, more compatible memory layout). Thanx! Just one question why did you choose 4 seconds for floppy change delay?? isn’t that muuuuuch too much? I thought 500-1000ms would be absolutely enough?!?

  63. The new firmware you added is called 1.04b, but the firmware version inside is still 1.04a

    (why do you call the extension docx and not zip, zip mimetypes should be directly downloadable unless a plugin is installed in the browser to handle this, right-click -> save as also works)

    otherwise keep up the great work 🙂

    • stm32flash is also available on windows but it does the same thing as the STM software without the user interface. You can also use a serial terminal (with hex support) and send manualy commands : http://www.st.com/st-web-ui/static/active/jp/resource/technical/document/application_note/CD00264342.pdf

      I think on windows the most problem came from bullshit prolific adapter and driver. I order some from china and all use fake prolific chip, I need to use an old prolific driver version to make it work with my windows 8.1 but even with that I can’t flash because I have errors during transmission. On linux the prolific driver is not written by prolific and maybe the communication is better.

      It was interesting to implement a flash by the usb stick. You put the new firmware on the usb stick and the device detect and flash it. Ok it does not solve the first flash, but it greatly simplifies the next.

      • I was about to ask if this kind of « internal » programming could be considered. It is a kind of standard in reprogrammable retro-computing peripherals and it is a real godsend once the device is mounted somewhere inside the machine like in the bottom floppy slot of an A4000 covered with another (real) FDD and covered with optical drive on top and all the cables to those.

        Yes – once reprogrammed, mounted all down there – it would be immensely appreciated to be able to reflash the firmware without disassembling everything (and without routing just another extra cable to the outside)!

      • this could be done, but not so easy because you need to embedded all the usb stack into the bootloader, and this one is not working properly yet (issue with lots of usb key…).
        So yes this will done but later.

  64. Thank you!. I had loads of problems with unrecognized device, remove protection bit. What I did to get mine to work was:
    1 connect the device to power first, so I could see the display on power.
    2. Then connected the RX/TX cables
    3. Connect boot0 with the 3.3V
    4. then did a reset.
    I flashed in 19200baud.

    I hope this works for people who has problems.

    (you might also want to note that the selector.adf bootdisk is with the firmware file)

  65. I m answering to myself 😀 Writing with a tablet is a pain, I prefer so far a computer, so, that what i m using now.
    In my previous reply, I meant that I have no idea about the price of the Gotek previously. I ll looking for it.

    Vincent

  66. Is it possible to implement a feature to skip Fast-Forward to several Slot-Positions? I have nearly 150 slots occupied on my usb-stick and skipping to slot 100 in example is very time-consuming 🙂 Maybe holding the button for a few seconds to skip 10 slots?

  67. I ran into some problems with firmware 1.4a: It’s impossible to save any slot on the Gotek. The machine will hang after trying to save slots or even need a flip of the switch for the gotek to function again. The selector will be broken afterwards most of the time, so I’d have to copy a fresh one onto the stick. An old USB stick with saved selection from 1.2 or 1.3 worked fine until I modified slot entries.

    Tried as df1: on A600/020 and as df0: on A4000/060.

      • I resolved the problem – the Gotek is in an external drive case and not all necessary pins seem to be connected. It works fined with a predefined selection, but the selector seems to need extra lines.

        Could you document which pins are needed for selector operation? I can then connect these – all my external drive enclosures have incomplete pin connection.

      • I have the same problem with A1200. I tested it on two revisions 1d1 and 2b2. When i safe the selector.adf on a A500 it works fine, but when i start in 000 to select, i can not save or put in ports, because it reset.

      • I connected SEL2B (DSK/1) on my external case. The emulator can now reboot from selector with Gotek as df1:, but the selector-adf is trashed afterwards (display shows —). Selector sometimes fails at start with « Cortex FE init error », too.

        So I need to know which pins you are using to talk to the drive.

      • hi herve, i checked it intern at df0 and extern at df1at both A1200, no chance to select the port and safe. in this menu it reset.

      • The emulator fully works as (internal) df0: on the A500. As df1: it will run predefined slots, but not the selector itself. This is most likely a hardware issue because some lines are not connected on the PCB in the external drive case. To determine which are needed, I need to know how you control the gotek in the selector.

        The selector-tool does not work at all as (external) df0: on the A4000 – the 4000 has a jumper on the motherboard by which one can set the first external drive as df0:. It does work with a pre-defined selector. So here we have the same hardware issue as with the A500 (external drive case) combined with a possible software issue (selector hangs on reset) – the latter won'<t happen with the A500.

      • Not connected are:

        Pin 8 (_INUSE) – I don’t think Amiga needs this
        Pin 12/14 (_SEL1/_SEL2) – I connected SEL1 by wire, but this was not sufficent

      • Pin 10 (_SEL0) is connected to Pin 21 on the external floppyport – judging from the schematics, that’s how it’s supposed to be. However, it’s not connected directly, but runs through some 74LS38N NAND-buffer IC on the external case’s PCB.

      • Hi Herve,
        I think i’ve fixed my problem. I formated the USB Stick again and put a virgin selector.adf on it.
        Now it works!!!! Internal on df0 and external on df1.
        Great job! Thanks.

  68. I have done everything as described. The firmware flashing went all just as like the above pictures shown.
    As I connect it to an Amiga and the flash disk is inserted before powering up, the gotek display shows 000 and the flash drive’s led is constantly and rapidly flashing.
    The Amiga’s FDD led is on for about 4 secs then turns off.
    The jumper is in position S0.

    What I done wrong?

    • Ok. It is working now. The machine had a patched floppy cable to use pc floppy drive in it. With that cable the floppy emulator don’t work. It was under the covering shield and can’t be seen.

      So H.M. thanks for this great effort. You made new live for my old Amigas! 🙂

      (an Amiga OS4 user)

  69. Just wanted to comment here. Thanx for this!! I’ve always been interested in floppy emulators, but not enough to devote significant cash to them.. 😉
    I did this just a bit ago.. Works great!
    I did have an issue getting my XP machine to see the Gotek, and got around it by power cycling the Gotek..
    Then I READ all of your webpage and it mentions the reset pin on the Gotek.. Dang it; I have to read things BEFORE I start to work on them.. 😉 Anyway, worked out great in the end..
    Lots of fun playing with this thing so far..
    The only glitch I’ve run into so far is that it doesn’t (yet??) read kickstart images for my Amiga 1000, but I can get it to work in my A1000, just have to boot the kickstart off of the real floppy and then move the cables. I’m planning on making a cable anyway that swaps the S0 wire to either the internal floppy or the Gotek, so I can choose real floppies if desired anyway.
    Thanx again,

  70. cortexamigafloppyemulator_v104b.docx does contain only 1.04a.hex, no 1.04b.hex so version information is wrong. Just to let you know.

  71. Got my drive today 🙂 , flashed the drive on windows 7, plugged it into the Amiga and hey prosto worked fine 🙂 . Just got one problem thou when i try and load Airbucks 1.2 it asks me to insert the second disc into drive 0, is there anyway i can fix this? . As it wont load on anyother drive

    • Ok Sorted it. I had the jumpers set wrong. now only if it would run of my external drive then that would be brill. Exellent piece of work H.M 🙂

  72. Hi H.M is there any chance of a txtfile for listing adfs to be inserted into the selector adf so the software can read and auto add to the gotek

    Eg make a list of games adfs.txt which can be copied to selector adf

    Then the gotek can read it as it will take ages to add all the slots 1 by 1

    Thankyou john

  73. First hello again and thank you for your hard work!
    It’s very strange to see a floppy booting without the sound of the drive itself 🙂

    I used a prolific PL-2303 XA / HXA on windows 7 64 bit and it work perfectly on the first try!
    eBay-objectnummer: 141150349286

    Some bugs to report (well the first one is not really a bug because it’s not intended as a external FDD so call it a observation 🙂 )

    I used it as a external drive and the selector it’s not happy. Before showing the firmware version it stops and DF0: is making a very nasty sound. I used the internal port on my a1200 to select images and then put it back in the external case and it works.
    The selector software is way too fast on my 030@56 MHz almost unusable.
    I took a workbench storage.adf disk and made a couple of copies of it, calling them empty01.adf 02 etc

    then I formatted the disks , and after disk 06 the firmware crashed. The last 3 disk were NDos.
    So I rebooted reformatted the disks and still Ndos. reformatted the disks again and selected put trashcan, and it worked. So it seems a little buggy.

    It’s a fun project loving it!

    • For any reason, the firmware seems to crash if you stress It much writting to disk…
      I guess It’s because the usb drive can’t write on time and the firmware buffers overflow…
      Or It gets any error from the usb device that It can’t handle… who knows?

      Hervé, Is there any way of debugging?
      I mean, does the firmware output any debug info through the serial port?

    • If I’m right, the problem is that your serial adapters use fake FTDI chips…
      You have more answers here:
      http://zeptobars.ru/en/read/FTDI-FT232RL-real-vs-fake-supereal

      For lazy people, extracted from the link above:
      « It seems that in this case Chinese designers implemented protocol-compatible « fake » chip, using mask-programmable microcontroller. This way they only needed to redo 1 mask – this is much cheaper than full mask set, and explains a lot of redundant pads on the die. Fake chip was working kinda fine, until FTDI released drivers update, which were able to detect fake chips via USB and send only 0’s in this case. It was impossible to foresee any possible further driver checks without full schematic recovery and these hidden tricks saved FTDI profits. »

      • Well i was using PL2303HX not FTDI.. but i guess there are fake Profilic chips to.. well my adapters works in Windows XP with pl2303_profilic_driverinstaller 1.2.10 and 1.9.0 (latest) and it works with the most things in Windows 7 flashing the Gotek is the only thing im found not working yet. I can take two of them in Windows 7 and transfer files between them. Strange it is.. and well they where super cheep, gave like $14 for 10 of them.

      • Yup there are also fake prolific chips. Two years ago I bought cheap PIC programmer from ebay, K150 clone which was supposed to have prolific USB to Serial controller (original K150 has FTDI), but it was the same as with FTDI, only old drivers worked for those few months it worked at all. After that it was just unrecognized device when I plugged it…

  74. @hervemessinger
    Sorry, but I don’t see how…
    You can set the drive jumper to both DF0 and DF1, working somelike a wired OR, but how do you identify wich drive is the computer trying to access?
    Ok, looking at the schematic, I guess you can put a jumper from DS0 to JUMPER_JB and configure the drive as DS1… so you have now two select inputs (FPI5DEV_DSELn for DS1 and JUMPER_JB for DS0)…
    but you need an extra pullup resistor on JUMPER_JB because it’s an open collector line…
    And It comes beyond KISS principle (for average users, at least) 😛

  75. Auto DF0/DF1 sense (or configurable / or 2 HEX versions one for every option) would be cool feature for next version 😀 just with 1 gotek my 3 amigas will be happy 🙂 (I have an external floppy enclosure). I think it would be somewhat easy to do 🙂

    Thanks!

  76. @Gregory McGill
    Just throw your .ADF images to the root of the USB drive (well, you can also use subfolders if you want).
    Then assign an slot to each one in the selector program and save.
    The selector will reset the computer and the emulator will change to slot 001.
    Now you can change the slot with the buttons.

    • thank you for the helpful info. I didn’t want to take my amiga apart last night to try it so i just pulled apart an external drive and plugged in the emulator into it’s board.. (easier) I see SELECTOR just fine with that but of course am unable to use it correctly due to the fact it’s DF2: 🙂 I’ll have to take apart the amiga when I have a little more free time .. and give it a full test!

      thanks again!

      • You’re welcome, but I forgot to mention that slot 000 is reserved for the selector, so if you want to run the selector again, just select the slot 000 and reset the computer.

  77. Thank you for your efforts with this device 😀

    I have been running GoTek (firmware 1.02a) successfully with my A500 which has kickstart 3.1 rom and the kipper2k’s 8MB Fast Ram board with CF-IDE. When a slot is selected, an adf is loaded from the USB stick and when there is no adf in the slot the machine boots from the IDE-CF just fine.

    After updating the firmware and selector to 1.03a, the device only shows « — » when the machine is powered on and after some time the OS from the IDE-CF is loaded. Pressing the buttons on the GoTek device do not change the numbers on the LCD. If I turn the machine off and remove the CF card from the IDE-CF slot and then turn the device back on the GoTek device works just fine.

    I have several of these GoTek devices, so I also tested that a drive with 1.02a firmware and the selector from 1.03a firmware package on the USB works also just fine even with the CF card inserted to the IDE-CF slot.

    Any ideas?

    • Probably no point at all with the firmware, this look likes to be a power supply or something like this, as often…
      You can’t mix 1.03 & 1.02 file selector & firmware…
      Have you tried another usb stick ?
      what happened if you insert the stick after the power up ?

      • The only difference in the device is the firmware version. With 1.02a there is no problem with the CF card inserted. With 1.03a there is.

        I haven’t yet tried another usb stick as it works with 1.02a.

      • Then please try:
        – to insert the stick after the power up
        – another stick.

        i maybe need to add some delay before trying to mount the stick in the firmware. These old psu are quite unstable at power up which may hang the usb communication. Actually the usb sync is done very soon (some ms after the power up…).

      • Original USB stick: power on with usb stick already inserted: does not start selector. Power on, and insert usb stick: does not start selector. Ctrl+A+A reboots and loads selector, gets stuck at init while showing version info.

        Second USB stick: power on with usb stick already inserted: does not start selector. Power on, and insert usb stick: does not start selector. Ctrl+A+A reboots and loads selector, selected Rink A Dink Redux to Slot 1 save+reboot, starts demo.

        Selector also starts and works ok if started from Workbench.

      • The selector is only started when pressing ctrl+amiga+amiga to reboot while already on Workbench installed to the CF card. I can also see the Cortex Emulator as an icon on the Workbench screen.

        However, the selector (adf) is not started from the USB stick if you power on the machine with or without the usb stick – no matter which one – if I am using a drive with firmware 1.03a.

        If I change the drive to one with 1.02a firmware, the selector IS loaded.

      • Jumpers: « Don’t forget to move the jumper to the « S0″ position to replace DF0. ».

        The jumper is in « S0 » and the « Boot » and « 3.3V » used during firmware update are not connected (no jumper).

  78. Did this mod, first flash froze at 45% subsequent flashes worked fine..

    powers up with — on the display can’t get anything else.. any ideas?
    with or without usb drive with or without plugging into amiga controller

      • @Gregory McGill

        You choose which ADF you mount. SELECTOR is used to add ADFs to « pool » of selectable ADFs, then once when that is done you switch between them using the buttons.

        So if you have a game that’s on more than one floppy you’ll select all of these ADFs and then later when the game asks you to change to floppy two (or what ever) you’ll press the button and change to next floppy.

        Of course, this isn’t limited to multi floppy games, you can select different games in selector. So you could have, let’s say, North & South on 001, Sensible Soccer on 002, Prehistorik on 003, Pang on 004 and so on. Then when you saved selector settings you’d press the buttons to get 004 displayed on GOTEK’s LCD and reboot, that would load Pang, next if you’d press the buttons and had 001 displayed and rebooted Amiga that would run North & South.

  79. Hi Hervé.
    I’m having some issues with the last firmware version (1.03a).
    First of all, the emulator sometimes hangs showing « — » on the display.
    It happened twice to me in workbench (1.3) trying to change the keymap options.
    It also happened in Xcopy while I was running a test trying to copy an image to another one (blank of course).
    I know It has no sense, but It’s a perfect test, and It worked well on previous versions.
    I think It’s something related to the writing procedure on the fat filesystem (maybe the emulator gets an unexpected error when It tries to write to the file).
    The other problem is related to the selector program. It doesn’t sort the file and directory listing, and sometimes It’s hard to locate the images.
    It would be a nice improvement for later revisions of the selector.
    To clarify, I’m using the same micro sd card reader and the same card I used with previous versions of the firmware, but It also happens with a new USB stick.
    I tried to reformat both devices, but I got the same faults.
    I almost forgot It, I’m using an OCS A500 (Rev 5) with 512K of chip ram and 512K of slow ram, but It also occurs on a bare A600.

    Thanks for your time.

    PD: You have a PM at eab 😉

  80. Hi Hervé.

    I’ve tried all the Risky Woods adf from TOSEC, and in all of them I have the same response… « Checking disks » y a red line in the middle of the screen.

    I have an A500 with 1Mb. I’ve modded it in order to obtain 1Mb of the same kind of RAM (I think all is chip RAM, not 512 chip and 512 slow).

    All of the others I tryed have work fine. With the new 4 seconds delay, Monkey 2 is working fine now. But Risky is not working, with the 1.02 or 1.03 firmware.

    Best regards

  81. THANK YOU for your firmware. Great, great, great.
    But I have problems with IK+ and Lionheart. Are they working on your amiga 500 ?

  82. I have had a lot of problems flashing using a Silicon Labs CP2102. The boot loader is sending out 0x7f, which I guess should be ignored at some point but aren’t. It confuses the handshaking. Fortunately ST provide source code for the command line version. Unfortunately getting it to compile with visual studio 2011, add a workround and then fix their memory corruption bugs has taken about 6 hours. I’m tempted to blame the CP2102, because it’s possible that the cpu is outputting a break signal, or a byte with an invalid parity that should be ignored or maybe no bytes at all. Cheap TTL serial chips seem to be rare, I ordered two really cheap ones only to be told they couldn’t get hold of any (despite their listings showing they had a lot in stock). Tomorrow I need to piece together an A500 and see if I can get it to work.

  83. Hi Herve,
    i’ve a problem with the A1200. When i start the selector i can choose an afd end in the next menu for ports end save the system reset.
    In the A500 it works fine.
    What’s the problem?
    Thanks Brotboxfan

    • on eab : « Mine arrived today. I have just flashed the drive and tested it on
      my A1200. Works a treat with a 32gb Integral stick. »

      So i don’t know… Do you have updated both hex & selector.adf?

  84. I flashed the drive, connected to my A1200 (rev2B, no extra mem, no accelerator), tried the following ADF’s: Odyssey (did not start), RSI Megademo (loader part gfx was garbled, music was buggy, disk change worked but demo freezed before the last part), Arte! (was ok for 3-4 minutes, then freezed), Lotus 1 (only cracktro loaded, then freeze), Turrican 2 (did not start). So it’s 5 out of 5 😦

    I though my Amiga was broken (used long ago), but I tried some games from original disks and all worked, workbench disks were ok too. Maybe I took some wrong ADF’s…

    Any suggestions? It would be great if this worked, I like the whole idea, putting ADF’s on a usb stick and just select on screen.. 🙂

    • I bet that there is some power supply/capacitor problems with this Amiga ;). Have you tried another PSU ?
      The selector software is working well?
      Maybe that you should try to boot on an WB ADF files…

  85. Hi Herbé.

    I just flashed my emulator with the 1.03a, and overwrited my SELECTOR.ADF file. I started my Amiga 500, I can saw the « hand with the diskette » one second (the 4 seconds delay works!), and I entered to the new menu (with your name and webpage). I selected the adf files, the slots, then save and restart but nothing happens!!!

    The Amiga reboots in « 000 » and enters to the selector again, and all the slots are empty!!!

    Can you help me?

    Best regards

  86. Hello H.M.

    I own some of these FDD-emus for my old MS-DOS-machines. Now I can use them on my Amiga, too, thats great! Just wondering where the « donate »-button is hidden. Really – I would like to show some appreciation…

  87. First of all I would like to thank you for a good job. However, I have a problem with the changing adf – do you have the opportunity to extend the time between changes ? Now, if you do not hold down button longer amiga is confused and sometimes does not see the changes in the disk – the solution is longer hold the change.

    • according to your schematic, the pinout seems to be a different. Can you tell me where is board is connected to the main board ? at the same place as the 3digits version? Could you identify which pins of the mcu is used for the display board ?

  88. Hallo! Today i flashed my Gotek and it worked perfectly. I will thank you so much for the Firmware. After i have flashed the Firmware, i saw there is a new one, so i flashed the newone, and it flashed without problems. I have to test the new firmware tomorrow, today i have no time.

  89. Got time to try it today.
    It works on my A1200. So it was a bad coincidence that my A600 died, and it was unrelated to the Gotek.
    2 small problems I encountered:
    1) My Gotek was jumpered to S1 … so it did not bootfrom it, I jumpered it to S0 and it works now
    2) I have a accelerator and you have to be ver fast when pressing fire, as it mostly registers as pressing twice 🙂

    Tried Operation Wolf – works but the title screen is garbled
    Mortal Kombat shows the cracktro and then crashes.
    But I guess that is because of A1200 with Kick 3.1 …

    So the device seems to work very well!!
    Thank you Herve for it!!

    Maybe the selector could be modified to react little slower on fire button presses, so that it does not trigger twice when pressing it sometimes?

    • Additional thing I encountered on operation wolf.
      Except from the garbled graphic on the title screen, it seems to work perfectly.
      When you die, you get digitzed speech, and then can enter your name for the highscore.
      It then crashes (when trying to write the highscore??)

      I can upload the 2 ADFs if it helps.

  90. Another thing.. When I copy my adf;s to the usb key what is the sorting order.. will 001 in display be 001.adf on usb key?
    if I name the adf;s
    001_cannon_fodder1.adf
    002_cannon_fodder2.adf
    and so on will they be 001 and 002 in display?

    Regards
    Krister

  91. Hello everyone.
    Now i was successful I went to Windows XP x32 and the flash worked at first try with PL2303 driver version 1.2.10 (tried it on Windows 7 x64) and it didn’t work. So my problem seems to be driver related after all. Connected it and one reset of the gotek. Seems lite some kind of incompability issue regarding PL2303 driver and the STSW flash loader demo?

    Thanks

  92. It’s working perfectly with 1 disk game but I have some problème with 2 disks game like Obsession pinball, disk 2 isn’t recognise (tested OK with winuae).
    Can you tested it tout confirm ?

    Thank you fort tout work!

    • Check your jumper setting…

      To everyone : Please consider that i don’t have your exact ADF files… -> I will not spend time to try to find it on the web – and i don’t know which version you are using… And i don’t know and probably don’t have the same exact hardware : A500, which rev board revision? A600 ? A1200 ? All these machines are not 100% compatible and many softwares may not work on ECS machines. And finally : WinUAE is just an emulator and i don’t take it as reference.

    • I think It’s a problem with the swap disk timming.
      The firmware seems to do the remove and reinsert transition too fast, and some games don’t realize the change.
      As a quick fix, if you are on slot 1, and you want to change to slot 2, change to slot 4 (as example) and then go back to slot 2.
      It works for me most of the times (when a normal slot change doesn’t work).
      As Hervé stated, WinUAE is not a valid reference, as it short cuts a lot of things, and there are tons of bad ADF dumps out there.

  93. I have tried for sometime now to change software with no luck, tried to reset and so on. usb->ttl is working tested it with connect rx and putty at 115k2 no problem. If i connect with gotek and putty at 115k2 i only get som garbage, should i see something? The Gotek works when i put in PC and if i startit with both button pressed i get F01 and firmware 126. Have they done something with them or is it that they fried the serial after programming?

    • Yes, they are. But on the white one you pay more because it emulates a DD drive, and iit seems to be more demand because it’s hard to find DD drives and disks…
      Just get the first one.

  94. Hi, I saw a lot of different usb floppy emulators from Gotek, for different devices. Are they all the same except for the firmware? Is it ok to pick just the cheapest?

    • As long as they have the proper floppy interface (IDC 34 pin) they will work.
      All of them seem to be based on the same hardware.
      The only differences are the firmware and the absence of the 7 segments display on some models.
      Cheapest ones don’t include the display so you have to guess wich .adf image is loaded.

  95. Great work !

    Do you think it’s possible to include the SELECTOR.adf Sources into the next release or get it from you ? So more / other ppl can support your work by coding newer selector versions with more/other features / languages support. I won’t reverse your work without permission ! And i’m only talking about the Amiga part – not the Gotex part.

  96. Hi,
    I’ve installed everything and it seems to be working great but I have a few games adf’s not work for some reason. I couldn’t get relokick v1.4 to boot either?
    I’m using a Amiga 600 if that’s any use to you.

    Also, Is there a way to clear all 30 slots at once?

  97. I see a lot of « will be done in next release » and « it’s planned », it seems you « overselling » this item. I see you are working on:
    – making Atari ST port
    – making CPC port
    – adding support for an external LCD (not know how it will be easy to solder and fix it inside the Gotek)

    – adding workbench selector
    – adding multiple drives support
    – extend the support beyond the 30 disks
    – fix problems with several games
    – support for zip files

    So, what you are really working on? Could you show your priorities?
    It’s a lot of work to be done alone, may be publishing the your code (why not?) let the people helps porting the code
    Difficult to believe you are doing all (or even some) of these just with 128kb of rom and 64kb of ram ( ! ! ), which is what was designed by Gotek (finally your code does what the original Gotek firmware already does… you just added the adf-mfm conversion which is very simple).
    Anyway, nice project, just don’t need to oversell it and, if you want really make all of this, share the code so people can work on it!

    • What a moron you are…
      How can the author oversell this if he’s not the hardware maker, and the firmware is FREE, and a free time project? Did you see anywhere in the article he expressing that all those features would be available?
      He only replied (very kind of him, actually!) every single question of users interested in this project, and they did requested or suggested those new features!
      Your list is also a joke, as he never planned zip support, and already told it’s not in development. Also, implement support on the available selector software for running via workbench is a simple task (just implement a quit option). The same for extending the slots number. Support for the LCD is also a simple task, and the circuit is already there. No one said it would be intended for using in the original case. Some people like to hack things!
      Beside all that, if his firmware does exactly the same as the oiginal firmware only with ADF-MFM conversion, and if is a very simple task, why don’t you, smart ass, just code your own firmware and share this with us?
      I can clearly see that you have second intentions with your message, and i hope the author don’t even bother to reply you, as you don’t even deserve my rant…

      • I second every word Marcelo said! The author did in his spare time for free something much needed by the Amiga owners, who are truly grateful to him.

    • Please read the f*cking disclaimer, you don’t pay me, i don’t receive any single penny for this and i don’t have to account to you or anyone for my actions!
      If you want something immediately with services and all others stuffs there is already some others good commercials solutions, no need to come here to bother me…

    • I really don’t understand your stance here, it’s like you came here and blurted whatever came to your mind without actually understanding anything…

      I’m not an expert but from I understand implementing support for other computers is « just » coding support for « conversion » of floppy images for said computer to standard used in that computer. What porting? The core is done, it will be run by the same STM MCU. You should really learn the difference between porting and adding support…
      Only thing that needs to be ported, or probably be made anew, is image select manager application for each of these computers.

      Also, you said external LCD… if it’s EXTERNAL why would you fit it INSIDE Gotek? Plus, why would anyone do it anyway? Gotek is inside the case, why would anyone add bigger LCD to something you don’t see? Point is to add 16×2 LCD support so you can mount it somewhere outside. There isn’t going to be any soldering, interface is there, current LCD is connected to it, but somehow I doubt you heard of I2C and what it does…

      Once/if API is released anyone can make workbench selector so that’s actually not something herve must do by himself. Plus as Marcelo already said it’s the matter of adding few functions to current selector, like quit application since you can already start it from Workbench.
      Support for zip files was not announced. I didn’t see much users report problems with games, it could also be issue with ADF’s themselves, not all of them are good dumps, but herve did tweak timings so it also could that these games are more sensitive and timings need to be tweaked more.
      IMO, both, support for more than 30 disks and multiple drives is not that important. It’s good as is and with WB selector it would be perfect, you could simply change disks on the fly so 30 disks would be more than fine. 999 as it’s currently planned looks nice, but if I’m currently on 159 disk and want one that’s on disk 573 either my finger or button would die soon 😛 . That could be worked around if along with 16×2 LCD support for keypad over I2C is added so we could just type disk number we want to mount, but that would be far from KISS principle. And IMO not needed for this purpose, and that’s simple floppy emulator…
      And no, Herve’s code doesn’t do what original firmware already does. I guess you never read any Gotek review or read the manual. The way it originally works for PC is pain in the ass and far from easy. For starters it doesn’t use floppy images as Herve’s version does…

      And I’m still having trouble seeing how he oversells it. First he’s not selling anything, ha gave firmware he made and floppy selector FOR FREE. It works as it is. These other stuff are improvements, they would be nice but not really crucial.

    • Oh c’mon… You can’t be serious…
      Do you know it’s given to you for free?
      Do you know there are lots of other options (and not very cheap)?
      Do you know some of the other options need a lot more hardware hacking?
      Do you know how much you can do with 64Kb of ram and 128Kb of flash in an embedded system?
      Do you know adf-mfm (as you called it) is not a so easy task (if you do it well, of course)?
      If it looks so easy for you, come on, go and do it yourself…

      Please, give some constructive advices or get lost…

  98. Hello,
    Would you consider do a similar firmware for the Atari ST computers? I was asking about this on the Atari forums and one user stated he was working on it but it seems you have worked out how to get this working.
    I have an Amiga also so I have purchased the required items to get this working.
    Thank you!

  99. @lurbi
    Seems your A600 needs to be fixed before trying the gotek drive.
    I’m almost sure it’s time to replace all electrolytic capacitors on the motherboard.
    Bad capacitors is a common failure because the ageing.

  100. Thanx for the fast reply.
    I did everything, except for the loopback test.
    Tried that and it works …
    LCD is not initialized, TX-RX crossed over, 5v and GND connected.
    I see the RX lighting up when the device is powered up – when I click on next I get the error message and the activity on the RX LED stops ….

    • I tried it at least 15 times … allways the same result. 16th time it worked … I have no clue why … anyhow if I power it up I not get « — » on the display. It seems to work … will try it on amiga tomorrow. THANX!!

      • This one:
        http://dx.com/p/usb-to-uart-5-pin-cp2102-module-serial-converter-81872

        Tried it on my A600 … but I am an silly, because I have not used that computer for a very long time … and I did not try it BEFORE connecting the gotek …
        Power and caps lock are lit, screen is black, and that is it.
        But it is possible that it got defective by ageing ;))
        But I am weary now to try it on my A1200 ……
        That one is working, I tried it just now.
        But 2-3 years ago the A600 worked as well (before I put it away)
        Could it be that I inserted the floppy cable the wrong way? could this damage the computer?

        Anyhow … I think I have enough for today.
        The Gotek seems fine, when I insert a USB stick it ready it and displays 000, if I detach it goes back to —

      • >Could it be that I inserted the floppy cable the wrong >way? could this damage the computer?

        No.

        >The Gotek seems fine, when I insert a USB stick >it ready it and displays 000, if I detach it goes >back to —

        So the drive is ready.

      • Hervè, i think he means to the possibility of having all the images you chose for the 30 slots automatically mounted the next time you power cycle the drive.
        To be honest, i’m just supposing here, because i’m still waiting my units to arrive, and haven’t tried it yet. I imagine that when you power off and the power on the Amiga again, you have to « populate » the 30 slots again, right?

      • Thanks for the feedback. I meant a file that works very similar to an m3u. so you go along with a compilation for with shooting games or adventures or others may create.So no memory function, but a « playlist » for adfs.

  101. I just received mine … now I try to flash it.
    I allways get « unrecognized device – please reset your device then try again »
    LCD is not lit, so boot0 is connected, I also see data coming in (RX LED lit on my USB serila)
    Any idea?
    I tried it on 2 computers (XP 32 bit, Win7 64 bit) and they react exactly the same.
    Any ideas what I could try?

    • Some tips:
      1- You need to strap the BOOT0 signal to +3,3V. To check that this is ok, just power up the emulator : the display should stay off in bootstrap mode (display not initialized).

      2- Of course you need to supply some power (5V) to the drive.

      3- No reset is needed : the BOOT0 is also checked at power up.

      4- Have you do a loop back test with an terminal software (hyperterminal?) of your serial adapter by connecting the rx & tx wires together ? This is a good way to be sure that the adapter and serial port is working.

      5- You need a serial adapter with 3,3V output (tx) /input (rx) level
      EDIT: Just checked : The UART programming pins of the STM32 are 5V tolerant. So you can use both 5V and 3,3V serial adapter without issue. No need to have a specific 3,3V version. I will update the page with this information.

      6- The GND should be connected to the usb drive too. the serial adapter is already connected with the PC GND through the serial cable.

      7- Important note: The picture on the website show you the actual pinout of the programming port, not where to plug the wires : Don’t forget to cross connect the TX and RX lines between the adapter and the usb drive (adapter TX on usb drive RX and adapter RX on usb drive TX)

  102. I love your project. It is designed according to the first kiss, why design a new device manufactured in small runs, and therefore expensive, when one already exists manufactured on a large scale.
    I also have Atari, CPC and Amiga. Is there an approximate date for other firmwares?
    Thanks and congratulations.

  103. Ok, you said you’re going to port the firmware to the CPC. That’s cool.
    I guess that would make it compatible with the spectrum +3 too, as it uses the same disk format (at least at low level).
    So, there’s a problem on that. The image selection tool. It will be compatible at hardware level, but it won’t be at software level, as you can’t run CPC software on the +3.
    Just the same with the ST version. As far as I know it would be compatible with MSX and PC too, as they use the same low level format (I think).
    But the software would be incompatible (again).
    I’m not going to ask for the +3, MSX or PC software, but it should work if you add support for the « autoswap » file, as I said before 😉
    Don’t get me wrong. I love your selector program, and it would be nice to see it running on other machines, but adding the autoswap option will open new frontiers 😉
    If you’re interested, I own some Amigas, a couple of CPC, some +3 and some MSX (no Atari by now) and I can help you to test whatever you want on those machines 😛

      • Hey, Hervè. Do you firmware already support an 16×2 (or bigger/smaller) I2C LCD, showing the selected image’s name? If not, do you plan to include this feature in the future? What about a feature to « mount » an image from the USB key only using the buttons (we may need one more button) and the LCD display? Thank you again for continuing the improvement of the firmware!

      • Hmm, nice hack… but… Isn’t it beyond kiss principle? >:)
        I don’t want to be annoying, but I think adding a swap list file would provide a faster way of testing the device on diferent machines, without waiting for the software support (from the host side point).
        Ok, you can include some restrictions to this method, as no folder support (because sometimes it’s hard to write the entire path right), character lenght of the name, etc…
        Just as an example, you can write a swap file (let’s call it « SWAPLIST.TXT ») with these contents:
        MANIC.DSK
        BATMAN.DSK
        CPM.DSK
        The firmware would just look for the file at the root of the drive (as it does with the selector image), check the contents and add them to the swapping list.
        If it can’t find a file from the list, it would override that file and continue.
        And if the swap file is not on the root of the drive, it would simply try to load the selector image.
        I think it’s very feasible, and not too hard to implement.

      • >Maybe that the best solution is to hook a 5$ i2c lcd to this board ;).

        I’d prefer you spent time making it so the selection API could run over the serial link. That way you could leave a cable in place for programming or selecting images. That way if people want to use a small board with an lcd and embedded processors then they can, or just leave a pc/laptop/netbook/whatever plugged in.

  104. Hei Herve!! First of all, thanks for you appreciated work! I’m waiting for the USB programmer, but it seems the best option for my A500.

    But… I can see that you are speaking of a CPC version… I’m not interested on it, but in the Plus3 one. Are you planning make the CPC version compatible with the Plus3 one? I think that the CPC, PCW and Spectrum +3 are compatible in the disk format, but not in the software. I’m talking about the launcher, because the firmware I think will be compatible, isn’t it?

    If you can’t make a +3 launcher… are you planning make public the source code of the CPC launcher (not firmware, only the software)?

    BR

      • I’m sorry… English is not my native language…

        Plus3 one=I have an Spectrum +3 and I want use the Gothek on it, then I need a selector.adf for spectrum 😉

        Yo’ve planned make it for CPC, witch is compatible with the Spectrum +3 and Asmtrad PCW at hardware level, but no at software level. If you create a « selectorCPC.adf »… are there any way to create a « selectorPlus3.adf » or Spectrum is an not familiar machine for you?

  105. I have difficulties with de some games.
    For exemple Agony cracked by Crystal stops after intro without claiming for disk 2. Another world doesn’t always recognize disk change.

    Thanks for your awesome work !

  106. CPC.. doesnt that use similar encoding as the spectravideo ? (non MSX, 318/328) with a FM track first and then MFM tracks ? ..would it be possible to adapt to theese machines too ?

  107. Thanks for your work. It is amazing! I’m very excited waiting for my Gotek unit!

    I plan to use it with my A500, but also with my CPC. Any news on CPC port? Is it going to work like Amiga’s port?

    Thanks again for your work!

  108. Is there any special reason for supporting maximum 30 disks ? would be great to have two pages, so 60 disks ?

    Also, would it be possible to have a system friendly program to edit the list from within workbench ?

      • One game ? I have 9 games there now, and a list with mapping of number – disk.. since space is no problem (USB memorys are cheap) I would like to have even more adf’s there.

        I could have different USB-drives ofcourse, but it’s not as neat 🙂

      • It’s 30 at a time, so you turn on and select 30 disks and switch between them with the up and down button. You would only usually need to switch between them like this if it’s a multi disk game as you can’t return to the selector.

      • Changing the disks with selector every time ? possible ofcourse, but more work every time I want to switch to another game.. ..If so, it would be nice to be able to select sets of disks, especially for games with many disks.

      • You would have to be switching between different games every minute or so before the time to boot the selector becomes significant.

        I’d rather have the selector based on directories and have it display box art as you scroll. Then when you select a directory it lets you read the manual or start the game when it would mount all the adf’s sorted in alphabetical order and reboot. Once the API is released then someone else can code that.

  109. I thought about that (to use the USB as temporal storage), but I guessed It would be a bottleneck, and yes, you’re right, too complex for no gain.
    That’s why your project is so awesome, It’s simple (from the user’s point of view) and It works 😀

    I wish the original firmware were so simple… It’s a pain to use It as It was designed.
    Any chances of getting the sources? (sorry, I must try) 😛

  110. Excellent job!
    Any plans for .zip support? Most of the people has .adf inside of .zip.
    Thinking on writing SELECTOR.ADF to a real floppy disk and insert it on DF0: and attaching a external drive (DF1:) as a floppy emulator, any luck with this setup?

    Regards

    • I don’t think It would possible.
      The Arm core inside the STM32 has power to decompress the .zip on time, but not enough embedded ram to store the extracted data (only 64Kbytes there).
      I guess you can add an spi ram for temporal storage (instead the spi flash supported by the board) , but It would require extra code for handling.

      • The USB stick itself could be used as the temporal storage. But this sound lot of work for a feature that may bring problems (what to do if more than adf in the zip ? No adf ? which zip algorythm should be supported ?…).

        In this project i try to keep the things simple :

        The KISS principle states that most systems work best if they are kept simple rather than made complex; therefore simplicity should be a key goal in design and unnecessary complexity should be avoided

        http://en.wikipedia.org/wiki/KISS_principle

        😉

  111. Hmm, I successfully loaded the software into the gotek, connected it to my A1200 and the display just say « — » ? and the Amiga try to read but cannot find anything, if I boot from harddrive it boots into workbench and marks DF0: as « ???? » ..Tried to move the gotek to my A500, but get the same problem there.

    What am I doing wrong ?

  112. It would be nice that someone posted a video with every steps. It didn’t work here.
    I did connect TX to RX, RX to TX… The inside LED is ON for 10ms when I connected the USB cable. Because of the bridge between boot0 and 3,3V: if i remove it the red LED display is ON. So to me, this is OK.
    I first thought the problem was nothing was soldered, so I did it too… On the software side, when plugging the cable of course Windows launch Windows update. First I didn’t pay attention, so I removed the drivers, then this time didn’t accepted Windows 7 32 bits to find a driver and installed the PL2303 drivers. There are some versions, I did them all… No luck.

    • I guess It’s a problem with your computer OS, or the driver.
      Exactly the same thing happened to me, until I tried under wine in Linux.
      Later I tried It on another windows machine, and It worked.

      • Thank you 🙂 I think it’s the problem. I’m running on a netbook with a starter edition. I saw on Ebay on some cables you needed seven built xxxx (7100? I can’t remember exactly) or above
        I ordered another cable (if…) and a white 3 digits for the Amiga 😉 I might use the black one I got with other computers when firmware will be released.
        Thanks for the guide Ferix!

  113. Great you’re going to release the API!

    Another suggestion: Could you implement an « eject »-function, maybe by pressing both buttons on the Gotek at the same time? Pulling the USB-Stick leaves a DF0:??? on Workbench and also delays booting sfrom harddisk significantly.

    • >Pulling the USB-Stick leaves a DF0:??? on Workbench and also delays booting sfrom harddisk significantly.

      In this case there is a problem. which gotek version are you using ? Your accelerator board is on or off?
      Did you set the jumper to S0 ?

      • Jumper is S0.Accelerator is ACA620,

        But the problem disappeared: After sucessfully saving some slots in Selector, the df0:??? is gone. Seems to happen only if there are no slots occupied except 00.

  114. A600 with ACA620 – both with turbocard switched on or off.

    I can try other models, if you think it’s related to the machine itself. Where do you write the slot-config? To the Gotek or is it saved on the stick?

    • Solved – kipper2k told me to set the archive bit on all adfs – that did the trick! 🙂

      The drive works fine now, even with nasty trackloaders.

      Are you planning to release an « API »-documentation? I’d like to write a system friendly selector version.

  115. Hi Hervé!

    Flashing the device and booting the selector works fine, but I can’t save the slots – always get a « Write failed »-message.

    Any idea what might be wrong?

  116. I don’t know how serious this is, but if someone ordered the USB cable from « ebay 2 » link (as I did), please notice, that in the description the white cable is RX and the green cable is TX, while on the picture the white is TX and the green is RX.
    I asked the seller, he wrote: « please do what the description says » 🙂

  117. Just tried your firmware, and I have to say It’s awesome…
    Congratulations for your work!!!
    Note: I lost 1 hour of my life trying to program the device from a windows xp machine, and It was impossible…
    Using the same setup on a linux machine, running the flasher under wine, and It worked on the first try… Doh!!!

    • I have some issue with the flash software. I assume the wires are connected properly (rx-tx, tx-rx), jumper is on, however the pins aren’t soldered. If I connect the USB cable to the laptop (Windows 7), the OS recognizes as a new COM port (screenshot: http://tinypic.com/r/1530hsj/8), the three zeros are displayed on the drive.
      I start the flash software, choose the COM port, but when clicking Next, it says: « No response from the target, the Boot loader can not be started » (http://tinypic.com/r/2czrhag/8), and suggest device reset.
      What is the state of the front display if the flash software is working OK? I didn’t see the inner led light, not for a blink..
      Is it the pins not connected to the board properly or is it the above mentioned driver and OS problem? Should I try with Linux+Wine+Windows XP? No one tried with Windows 7? 🙂

      Any help appreciated 🙂

      • I have the same problem, both on win7 and win8.
        I double-checked the connections with the USB adapter and the straps… nothing!
        It’s just like the device is not connected at all.

      • I did it!
        Even now I don’t know exactly the cause of the problem, but after 30 or 40 retries (!!) I did it.
        Try resetting the device and restarting the flash loader continuosly…
        I first succeeded to get to the second screen of the loader and then got the same problem again, then – with a lot of patience – I continued trying and eventually programmed the device correctly.
        It seems to me a problem of stability of the programmer adaptor / device.

  118. The main thing (and ‘only’) I miss, is a support for those adf -extended disk- images (above 1,0 MB per amiga disk) that for example Factor 5 used on Turr. 1-3 discs and all of their other games. Would like to use my org. extended format discs/games of those, after I’ve stored them with kyrofluxx, instead of using cracks. So, will there come a support for that format (hxc does support it) in a future update ? thx !

  119. Hello Herve.

    Many thanks for your work and having the ability to make yourself now a cheap amiga floppy emulator. I tried to find any contact information for you here – but with no success.
    Therefore I ask here for permission to use pictures from here for an article about your creation.
    Would that be ok for you?

    Many thanks, Peter

  120. For some time now I’ve been considering the emulators from lotharek.pl (all guys involved there did a lot of good work indeed) but I never decided to shell out over €100 for the one I like (cased, with display, etc.). I don’t say they’re not worth the price. But I couldn’t decide for a few years (sic!) now. After reading your post it was a no-brainer: everything already ordered from eBay!

    I can only echo previous comments: excellent job!

    And one question/request: I got used to have « HD » floppy drives in my Amigas. Will your firmware support Amiga’s « HD » images?

    And the second question/request: will it still be able to read the « msdos » type of images after reflashing, similar to what the real hardware drives do? I mean I can put either Amiga or msdos floppy in the real drive and Amiga can read both w/o problems. Can this emulator do the same?

    Anyway – you made my Sunday – keep up!

    • I eventually noticed your responses from 2014-02-09.. Yes, all four options (amiga: 880/1.76 msdos: 720/1.44) would be useful and highly welcome. It would also make the solution more or less complete. The rare Amiga HD drives could then be put to a safe place then 😉

      • Yes, the original supports but the original is gone after reflashing and even if it was freely available it still wouldn’t be convenient to flash the device back and forth.

        A few examples of use:

        – Amiga data transfer (still happens from time to time) on msdos based floppies/their images
        – msdos installation for PC-Task
        – installing / running some floppy based dos stuff
        – Mac data transfer for Emplant/Shapeshifter
        – because you can? 😉

        Kudos in any case.

      • Ok. Why not just buy an second floppy emulator for all these stuff ?? I prefer to keep things simple and not add « not so usefull » features into the same firmware : Generaly too much features = configuration and usage problems… And no mention to the possible regressions & test problems during the devellopment.
        I plan to add support for other machines, but each machine will have its firmware 😉

      • Second one won’t fit inside the original machine casing. And I am not even sure if it would work correctly (RDY/DSKCHG, etc.)

        Correct me if I am wrong but isn’t it a relatively easy thing to do? I mean the difference is basically in the number of sectors per track when it comes to amiga vs msdos and dd vs hd floppy images. Everything else is handled by the system software on the Amiga side, isn’t it so? What Amiga needs is basically drive type recognition handled correctly to know that it’s a « HD » thing. I’d imagine that sectors per track can come as a variable parameter in the firmware. This can be useful for some other applications (other machines/filesystems) too. In any case you’d have a complete Amiga floppy replacement solution and move on to the other machines, which would also be happy to have this kind of device 😉 And having the firmware more flexible in terms of tracks and sectors per track parameters can possibly be helpful there too.

      • Amiga sectors and PC sectors encoding are 100% incompatible… This is not only a question of number of sectors per track. The way the Amiga write to the disk is also very different… So the low sector encoding and decoding functions are very differents. And what about the file images ? All of this sound to need a special file format (at mfm level)…
        It look likes you want an universal floppy emulator, but for sure this is not the scope of this project. The scope is to offer a solution to play adf/st/dsk « tosec rom » for some pennies and without hassle on a standard machine (no accelerator board or things like this…). Amiga is the main target but CPC and Atari ST is also in the list (cause i have these machines).

        Note: the original gotek drive firmware have a jumper to generate the ready/disk change signal.

      • First of all – thank you for replying and clarifying things. Please don’t get me wrong, I don’t want to be « pushy » nor anything similar. And I am glad that you can devote a little time to explain. I try to understand. How I thought this is done is that the disk images we talk about are all « High Level » (aka « logical ») images. They contain /decoded/ data. All of them come also from MFM based diskettes. So what I believe you do is encode HL->MFM on read and decode MFM->HL on write (HL means « High Level » here). So far correct? If yes, then the HL part differs in fact only in the SPT parameter, and supporting various SPTs (various disk images) should be trivial. Now, if I understand correctly what you say, Amiga and msdos use different sector structures on the low (MFM) level, right? Like index, address (header) and data are structured differently? If so, then adding « ibm format » support on the low level would indeed be more complex than I initially thought. In such case the only thing that can be thought of is that there are already proven MFM de/encoding implementations available for reuse but it still would require some non-trivial efforts to merge them in.

        Answering your remark – no, I don’t think about a fully universal emulator. I don’t think of having support for any FM/GCR/RLL/whatever encoding that one may encounter on various floppies out there. What I think of is a complete/transparent Amiga floppy drive (with all its typical use cases) replacement.

  121. Hmm, I made a comment yesterday but it’s missing, some error I guess. Here it comes again.

    Did you solder pins headers to emu PCB or did you just put wires in those holes? I guess it could be enough to just put wires since they’re plated holes and it’s not like connection need to be permanent. I have male to female dupont wires from my arduino and physical contact could be enough for data to go unhindered. But better to ask than to loose connection in middle of flashing :).

  122. I also want to use this as a DF1 drive, 1 question.. can you eject the disk? so that the drive thinks there is nothing in it? Otherwise the amiga alway boot from the FDD even if you would have a HDD..

  123. You don’t need autoswap built into the firmware/selector. If the API for selecting images and for reading the USB is made available then you can write the code to do that yourself. You could for example have an icon on your hard disk for Monkey Island that auto mounted the images and then rebooted.

  124. Just some ideas for improvement:

    – A « raw transfer » mode from USB. I mean, just a mode of operation that allows, by means of an special driver on the amiga side, to acces the raw files on the USB drive, without head steeping etc… The Amiga just asks for a file and the device sends it. An the device only enters this mode when the driver initiates the right sequence and deataches the floppy driver from the system, of course.
    – Support for an autoswap file, so you can include the name of the files you want to rotate without running the image selector (just plug’n run).

      • – raw transfer: So, only the driver needs to be written, doesn’t It? cool B)
        – autoswap file: I also like the image selector, but using the autoswap file (or loading the names after detecting the usb drive) is a lot useful if you want to make custom compilations and you don’t want to go through the image selector (just plug the USB drive and run).
        As I understand, the file selector tells to the adapter to create an small file list into the memory, and this list is used for the image rotation. The autoswap concept is exactly the same, but loading the list from a file with an specific name on the USB filesystem, like « autoswap.lst » or so…
        Both options can coexist. Just check for the named file at the root of the storage device and if it’s not there simply load the image selector as it does now.
        I guess it would be easy to implement.
        By the way, I can wait to see the code 😉

      • I agree that the solution to rename the files sequentially, and put them on a folder with the game name is very good. Even if it’s a bit of work to rename all the files, specially when you have a collection with thousands of images.
        In the end, you’ll have organised files by the game name, and a shorter list of files. OTOH you’ll also loose the TOSEC naming convention.

      • I don’t like having to rename them. If it could sort the files in a directory into alphabetical order and mount the first as disk 1, the next as disk 2 then I think it would cover every circumstance.

        Amiga Game [Disk 1 of 2]
        Amiga Game [Disk 2 of 2]

        or

        Super Game [Disk A]
        Super Game [Disk B]

        Then we can just use tosec images without doing anything (apart from making sure there is one directory per game).

    • The devices can be found for 20$/25$ on ebay. I don’t see why i should bother to sell these devices already available everywhere… And i bet that some chinese reseller will sell these « modified » version for the same price soon. No need to try make some businesses where there is no business to do anymore…
      Note : The right price for these modified USB drive is 20/25 Euros max. Please avoid any reseller with a price above this price considering that they just buy the device for some $ and take 1 minutes to reflash it with a free software… And i strongly recommend you that you get the 5$ stuff to reflash the device for the future firmware updates.

      • I just asked, because I don’t have the usb cable, so I have to get it too, but you’re right, better if I have the whole « kit ». Anyway, kudos to you! 🙂

      • >Note : The right price for these modified USB drive is 20/25 Euros max. Please avoid any >reseller with a price above this price considering that they just buy the device for some $ and >take 1 minutes to reflash it with a free software

        The absolute cheapest on ebay I can find is 18.51 euros. If someone buys one, modifies it and puts it back on ebay then even if they list it on a free listing day it’s going to cost them over 20 euros with fees. Selling with a buy it now will cost them more. If you bring in more than one then you’re more likely to have to pay import duty on top.

        For your money you then get a drive much quicker, because it hasn’t had to come from china. It’s already been tested that it’s exactly the right model, so you don’t get a nasty surprise when it turns up.

        IMO at the current price of the drives then buying a pre-modded one from someone in the EU is going to cost 25-30 euros. Although at the top end of that I’d expect a header to have been soldered in for easy upgrading and a 1 euro usb to ttl thrown in.

        The 1 minute to flash is the least significant part of the service and it’s not going to make someone rich charging 5 euros on top. But it will be self regulating anyway.

  125. The limit of 30images, i dont get it is it per directory or for total images you put on a USB device?

    like can i do:
    /games1/ 30images in .adf
    /games2/ 30images in .adf
    /demos1/ 30images in .adf
    etc. etc.

    or is it:
    /games/ 14images in .adf
    /demos/ 16images in .adf

    thanks for a answer

    • No, there is no file number limit per directory/on the stick.

      You can select 30 up to images with the special Amiga software.
      After this you can use the buttons on the emulator to change the disk. This allow you to play multidisk games having up to 30 disks for example. Quite enough i think ;).

      • So, i selected the desired images and then i can can just choose through the buttons wich image i should swap to? You should make a simple guide and show more how it works. I spoke to some friends and we found it a bit unclear.

        Thanks for a great job and effort making this possible, I will be so happy i can avoid the stupid ticking from the drives and getting these read errors on old used floppies, this will simplify life and redoing system installations etc. the amiga needs floppies so much. Please get a (DONATE!) button for this awesome project!

  126. Hi there, I’m interested in making this work with amstrad CPC dsk files (which also MFM encoding). It would be quicker for me to do so if you’d share the source code though. Would you consider it? I would keep the code private if that’s what you want…

  127. Greet to see a low cost floppy emulation for the amiga, good job.
    Some questions:
    1) Did you think it’s possible to emulate HD Amiga floppy?
    2) Is it possible to emulate at the same time PC floppy to us with crossdos for exemple?
    3) How do you modify the source code of the STM32, did you get the original source code or reverse it? Can you share the source code, I’m interested to see if I can change the display to put a more « intelligent ».

    • 1- need to make working the Amiga drive identification.
      2- Not right now. But it is really usefull?
      3- The development was done from scratch, no original code used or reversed. I will probably release the source later (still need to do some work on it…)

      • Yeah mounting pc floppy images could be useful. I’d probably use it more than high density, although high density does give you more space without swapping disks.

        Ideally you’d be able to use any format that a real floppy could, including the weird http://aminet.net/package/docs/hard/HiDensity that uses gcr along with the standard pc high density floppy drive shipped in the A1200. If you could load up a util that allows you to create a blank file and then format it however you want (>80 tracks etc) then that would be amazing

      • Hey hervé!
        Beau travail! 😉 Is your source code would likely be out soon? I want to contribute to this nice piece of work. I could do the same as you did and start from scratch but…
        Merci infiniment!

  128. That’s a pretty, pretty work you did, wow!
    Would be possible to use the same idea with Atari ST and Amstrad CPC6128?
    With Amiga, they are the 3 main old school computers with built in floppy controller.
    Maybe not, only Amiga 😉
    Congrats!

    • I’m not the author, but also mentioned on the article that he bought one of these « displayless » units and concluded the hardware is the same, and it works with the same firmware, unchanged!
      I think the display show the current selected « image slot ». The 00 slot is always tied to the special selector ADF file the author provides.

      • Once i got the time , i will publish the schematic of the drive and technicals details and pcb pictures. About the 7segments display, the 3 digits version use a chinese TM1651 7segments controller on the display board, but i am unsure about the 2 digits version. Someone can confirm me which IC is used on the 2 digits version?

      • Ooops, didn’t read too carefully. I read that 00 is tied to ADF selector, that’s where display comes usefull, for other things it’s mostly not usefull. I guess most of the times games are single od two disks, rarely you need to know that you’re on disk 3 of 7 :). History Line comes to mind, but it’s mostly intro so… 😀

    • The display shows you the currently selected disk image number, so i thing that this is usefull. The good news is that the display board can be moved without any problem : Only 4 wires (+3,3v, gnd, data & clk)…

      • Yes, useful, but not really must have, games are usually on few disks only. The most useful feature is to know when you’re on 000 so you can get back to selector. Although, if you turn it off and back on I guess you’d automatically be on 000.
        But as you say, you can get it out, switches too, or at least replace them with ones with longer neck so you can easily press them.

        You said you have one without display. Does it still have TM1651 controller? Is the display only thing that’s missing?

      • When I said optional I meant selecting between read only and read/write in the menu, if it does that then I missed it. I would almost always write protect floppy disks on the Amiga (even if it wanted to save high scores).

        Read only support for IPF should be reasonably easy. Writing to them is another matter, you’d have to write changes to a separate file (I think WinUAE does this too). Which is probably better anyway as you can revert to the original just by deleting the file with changes.

        Anyway I can’t wait for mine to turn up from china so I can try it out.

  129. Dear friend, thank you very much for this outstanding job! It was about time someone could give us Amiga users access to these cheap little devices!

    I would like to give you a small donation for your work, and maybe this can also be an incentive for further developments of the firmware! 😉

    Do you have a Paypal account?

    I have just one more question: is it possible to run your « Amiga image selector » program from Workbench, and then quit back to the Workbench? Or do this program only works at the boot time? It would be great if we could change the adf image « on the fly » from the workbench too!

    Thank you again!

    • About the software : the actual version couldn’t quit back from workbench, but this should be possible, just need an update 🙂

      Thanks for the donation proposition but i must check if there is possible legal problem before accepting it.

    • Hardware side : Should be possible !, just put the S1 jumper. Software: To be honest i didn’t try this yet. And the current version of the Amiga software try to access to DF0 to take the control of the adaptor. So a minor change is needed here.

      • It would be a good idea to have the gotek emulate the external drive ready pulse and motor latch circuitry when used as SEL1. That way A500/600/1000/1200 users could easily connect it as a second internal drive by adding a wire for DS1 between the CIA and the floppy connector. 🙂

        Otherwise to use it with the current firmware, just leave the gotek as DS0 and replace your (broken?) external drive’s mechanism with the gotek.