keirf / flashfloppy Goto Github PK
View Code? Open in Web Editor NEWFloppy drive emulator for Gotek hardware
License: Other
Floppy drive emulator for Gotek hardware
License: Other
I'm trying to use v0.9.6a in an E-Mu ESI sampler running O/S v2.10.
By moving the jumper from S0 to S1 I've been able to get the drive recognised by the O/S, and also been able to format a virtual FDD (having first stored an empty 1440 kB file on my USB stick).
However when I try to save anything to the disk no progress is made, and the O/S reports "Floppy FIFO Overrun". Please advise if there's anything else I can attempt to reconfigure, or known workarounds.
thanks.
I see that in the documentation there is rumbling about being able to emulate two floppy drives at the same time. I am extremely excited at the prospect of this!
Would you mind if I open this issue to track the development and discussion of this feature?
Hello,
Many Electronic Musical Instruments use Shugart; will FlashFloppy firmware work as generic Shugart drive?
It seems that by comparing these:
http://floppy.shugart.free.fr/page.php?page=materiels/atari/index.htm
http://floppy.shugart.free.fr/page.php?page=materiels/amiga/index.htm
to these:
http://floppy.shugart.free.fr/page.php?page=materiels/roland/index.htm
http://floppy.shugart.free.fr/page.php?page=materiels/akai/index.htm
http://floppy.shugart.free.fr/page.php?page=materiels/ensoniq/index.htm
There may be the possibility of using a Gotek drive with FlashFloppy firmware in these machines?
Thank you for all your research and work on this. It is much appreciated by all.
AkaiGuy
I'm getting sector checksum errors when writing to an ADF image. Sorry for being so vague, I will try some way to reproduce it consistently. So far it's happened while saving a civilization game but also just copying files over from Workbench. If there is useful data from the firmware out to the serial port I can try and dump that too. Also THANKS for building this, this software is a godsend (therefore you must be a god).
Hello Keir,
with joy I follow your developments from FlashFloppy and have also tried every release. You're doing a great job.
I use a robotron computer which has a CP/M 2.2-based operating system. Since version ~ 0.6.x works with the reading and writing on the virtual disk. Unfortunately, I have not managed to boot from this .HFE-image. I have used the configuration-less mode. Do you have an idea what I do wrong?
Thank you and best regards
Spaceman
ST disk images created in STeEM which have 11 sectors per track appear as empty or garbage in real Atari ST with Gotek/FF, however reported disk capacity is correct. Tested under TOS 1.06D and 2.06D.
DD_80_11.zip
The .MSA can be considered as a standard image format in the pre-STeEM era. Native Atari-TOS utilities usually support this format. The .DIM format is very similar to the .IMG/.ST, but also is one of the "old" formats which were used on real Atari ST computers in '90s.
FD_Image_File_Format.pdf
I got my first drive today and would like to use it on my BBC Micro's so would like to add support for SSD and DSD files. I think they should be very similar to the Atari formats. An SSD is a single sided 80 Track 10 Sector single density disk with 200K Byte capacity. The DSD is the Double sided 400K Byte version. There are also ADFS formats that can be added at some point too.
I will have a go at doing this myself in the first instance but would like at least to be able to add to the Wiki.
Thanks.
Hello,
Is the original IBM standard for 8'' and CP/M supported?
I cannot remember the standard number, but it is 77 tracks, 26 sectors per tracks and 128 bytes per sectors.
It is 250kbit/s I think.
not a real issue, but a question;
is it possible to have a "lastest-release.zip" or something like this that points to the most recent release?
i'm linking to your page/to the lastest release from our forum (a1k) and currently i've to update the link sometimes more than once a day ;-)
Hello,
Will this be able to "recognize" formats used by embroidery machines such as Tajima/ZSK/etc ?
Thanks in advance,
Not an issue, more a small question and/or proposition... When 7x16 font already exists, is it possible to use it on full display width, to display more chars in adf/hfe name? Maybe even to display file extension (or maybe just an indicator, H-hfe, A-adf) in the second row of text, giving more space for the filename?
The latest 0.9.8a firmware doesn't allow to write into DSK images. They are read-only no matter what settings are used. Tried on MSX system with USB2 and USB3 sticks, FAT32-formatted, with default and custom FF.CFG, in both IBMPC and Shugart modes.
Hi!
I tried mount the Gotek floppy drive with FlashFloppy 0.97. There are error messages in the kernel log:
[ 9588.700023] floppy driver state
[ 9588.700024] -------------------
[ 9588.700035] now=2322176 last interrupt=2321283 diff=893 last called handler=recal_interrupt [floppy]
[ 9588.700036] timeout_message=floppy start
[ 9588.700037] last output bytes:
[ 9588.700040] 0 90 2321283
[ 9588.700041] 1a 90 2321283
[ 9588.700042] 0 90 2321283
[ 9588.700044] 3 80 2321283
[ 9588.700045] c1 90 2321283
[ 9588.700047] 10 90 2321283
[ 9588.700048] 7 80 2321283
[ 9588.700049] 0 90 2321283
[ 9588.700051] 8 81 2321283
[ 9588.700052] 4 80 2321283
[ 9588.700054] 0 90 2321283
[ 9588.700055] e6 80 2321372
[ 9588.700056] 0 90 2321372
[ 9588.700058] 0 90 2321372
[ 9588.700059] 0 90 2321372
[ 9588.700060] 1 90 2321372
[ 9588.700062] 2 90 2321372
[ 9588.700063] 12 90 2321372
[ 9588.700065] 1b 90 2321372
[ 9588.700066] ff 90 2321372
[ 9588.700067] last result at 2321283
[ 9588.700068] last redo_fd_request at 2321277
[ 9588.700071] 78 x
[ 9588.700086] status=50
[ 9588.700088] fdc_busy=1
[ 9588.700090] do_floppy=main_command_interrupt [floppy]
[ 9588.700092] delayed work.function=f84322a0 expires=1
[ 9588.700094] cont=f843bd34
[ 9588.700095] current_req=f5a86000
[ 9588.700096] command_status=-1
[ 9588.700102] floppy0: floppy timeout called
[ 9588.700108] blk_update_request: I/O error, dev fd0, sector 0
[ 9588.700198] floppy: error -5 while reading block 0
I have already mentioned about this problem, but now I have done the measurements and it is really bad :(
I was testing on Atari 1040STE using low-level disk copy tool called FastCopy III. I was formatting and then copying an empty disk onto itself with a fast format option. Disk copy routine of FC III first reads the whole disk into RAM, and then writes it onto the destination disk. My ST has 4MB of RAM, so no disk switching is required. Step rate has been set to 3ms (default).
Real FDD (80TRK/9SEC):
FORMAT: 0:34
READ: 0:34
FMT+WRITE: 1:06
Real FDD (80TRK/11SEC):
FORMAT: 1:06
READ: 1:12
FMT+WRITE: 2:10
FF/ST (80TRK/9SEC):
FORMAT: 1:06
READ: 1:06
FMT+WRITE: 5:45 <- that's way too long
FF/ST (80TRK/11SEC):
FORMAT: 1:05 <- like on real FDD 80/11 disk
READ: 1:07 <- like on real FDD 80/11 disk
FMT+WRITE: 2:14 <- like on real FDD 80/11 disk
FF/HFE (80TRK/9SEC):
FORMAT: 1:08
READ: 0:34 <- like real FDD
FMT+WRITE: 5:44 <- that's way too long
FF/HFE (80TRK/11SEC):
FORMAT: 1:06
READ: 1:12 <- again, like real FDD
FMT+WRITE: 7:31 <- that's even worse than in ST
I also think there is something wrong in side switching, as my favorite disk copy program - FastCopy PRO (a slightly newer and enhanced version of of FC III) reports "Drive B: is one-sided!" on any attempt to read or write any disk image on Gotek/FF.
Hi,
you are (maybe) sick of ear this but: Thanks for your awesome work on the Gotek.
720KB is possible on the Gotek right? Is it on the flashfloppy road map?
Regards
Is there any chance for the HxC Mount support?
Halo.
I have restored a veteran ST, and I wanted to try the gotek emulator.
Google has brought me to this fantastic project. I have flashed the gotek, and it works. I put a beeper on it, and it rings. I bought an lcd exactly the same as the webpage, .... but it does not work correctly. The screen turns on, but no file text appears. any solution?
Atari ST computers were using Write Protect line to detect disk change. Is this implemented in Flash Floppy? Floppy drive reports Write Protect LOW when there is no disk in drive or when there is a write protected disk inside, and HIGH when there is a write enabled disk in. So, when write enabled disk is removed or inserted, the WP line status changes, and this triggers the TOS to call disk change routine. However, when swapped disks are both write protected, Atari ST CAN NOT detect disk change.
Hello I bought one of these devices for some music equipment. I would love to replace the firmware as it's terrible. I can across the project and I would like to know more about it and the instructions for compiling and loading on to the device.
Thanks
http://eab.abime.net/showthread.php?t=84267
It would be awesome if it was at all possible to make bootable files something like this so that you only have to select a single file for multi disk games..
Not sure if this is outside of whats possible with goteks hardware though?
HFE (FM) images were working fine with 0.9.3a, but having upgraded to 0.9.5a it's not behaving well - disc error 0E which is a data CRC error :(
(0.9.4a is OK - just checked that)
d.
I have seen a note in the sources about changes needed to use an OLED 128x64 display but as I cannot rebuild the sources I would kindly ask for a option in the config file to specify what kind of display are we going to use. Thank you very much.
When I try to go back up one folder level by selecting ..
If I press the right button after 2 seconds, I get a grabled message and can only press the left button to go back to the ..
I have to let the Gotek go back to the root of the USB stick before I can select a file or folder.
Going down the folders works great. Love that it shows the first file in the selected folder.
I have a Gotek with 2 buttons. I have an OLED fitted and works fine.
Currently FF waits for 4 edges/clicks of the encoder (complete code) to take action (move to previous/next slot). As result, it takes "forever" to get anywhere in a folder with hundreds of files and, to be honest, my hand starts to hurt. :)
This could be improved if the state was saved. For instance whenever there is a change on any of the two encoder outputs, remember which of the two signals toggled last and take appropriate action immediately. I've labeled clicks with numbers (1-4) on the photo.
It would be best to add a new config parameter which would specify after how many signal toggles FF takes an action. Value of 4 could be default so it doesn't mess with slow response people are used to.
I have no luck with scrolling text so far.config file is in root directory,latest FW is flashed.
The display itself works fine,i used a common 128x64 oled.
Are there any special requirements a display must fulfill?
I'm seeing some weird behaviours with multidisk files and filename length, is there a hard limit to filename length in the firmware?
Hi,
I update with 0.96 firmware and still have Super Cauldron all versions doesn't work. I have blank screen.
I have the same issue with more game with long loading.
Regards
Stephane
Dear Keirf,
I've tested the v0.60a with my old Pentium II computer.
The mounted image is a HFE DOS 6.22 bootdisk (ok on HxC firmware).
Try to use the floppy in DOS. The DIR command failed by a General failure reading drive A.
I'm able to read the Volume serial number when I select Fail option (in the DIR command).
I successfully used this image one time (and one time only) but it was very slow...
Jumper configuration on Gotek is :
Thanks a lot!
Your firmware is the best :)
Hi!
Loving the firmware. Is there a larger version of the image for the rotary encoder? I can't read the size of the resistors ๐ I am assuming they are 1K but just in case I am wrong!
https://github.com/keirf/FlashFloppy/blob/master/doc/assets/rotenc.jpg
Cheers!
I am using my Gotek with OLED display in an Atari ST and loving this firmware.
The file/folder order seems to be the order copied onto the USB disk? Would it be possible to have a FF.CFG setting to control the order that files and folders are shown? ie. Alphabetically or the order copied onto the USB stick?
IMG HD images (1.44 M) don't works well. When reading, sometimes give errors. When writing, only files of short lenght can be copied without errors.
Same files, in 720k images, can be copied well.
Same for format operation: they failed always, in HD mode, writing track 0.
Impossible to execute "SYS A:" command, for example, on already previously formatted HD 1.44 IMG.
I have set autoselect-folder-secs = 0 so I need to press a button to navigate in to a folder. Current behaviour when navigating back out of that folder is step back to the first file in the parent directory. Would it be possible to change this behaviour, so that you just return back to parent folder instead? That would be helpful with browsing when there are many folders on the USB.
I recognise that it may not work quite as easily when autoselect-folder-sec is set anything other than 0.
Hi, two coments you can include in the instructions:
If the serial-usb adaptar has voltage selection, it must be in 3.3V (for the TX/RX signal) but you need to supply 5V to the power conector.
In case you are flashing with linux and get:
Got NACK from device on command 0x43
Can't initiate chip mass erase!
Failed to erase memory
you need to disable read protection with:
stm32flash -k /dev/ttyUSB0
and optional erase the flash with
stm32flash -o /dev/ttyUSB0
Then you can flash it normaly.
I'm trying to use FlashFloppy on a gotek to install OS/2 Warp 4.52 on an old PC. The disk image (converted to HFE) seems fine, as I can read its contents correctly from a running DOS system, but it fails to boot with a SYS02025 error, which according to http://bos.asmhackers.net/docs/ata/docs/ALLHIW/hiwos2.HTM means that the INT 13 AH=00 disk reset call the bootloader issues is failing. I'm out of my depth here, but could this be due to something missing in the emulation that FlashFloppy does? Happy to provide more data or a copy of the images I'm using if needed.
Since upgrading to 0.9.7a I get a disk read error on my BBC Micro when trying to read an 80 track disk that has been converted to .hfe format. It appears to read track 0 ok because it reports the disk catalogue ok, but when trying to read anything more, I then get the disk error. Reverting back to 0.9.6a and it all works perfectly again.
Hi!
Can you share the schematic?
Can this firmware replace the original Gotek read-protected firmware?
Can this firmware handle bigger pendrives/images than 1.44 MB?
Error at "make gotek" command:
user@debian:~/FlashFloppy$ make gotek
make -C src -f /home/user/FlashFloppy/Rules.mk FlashFloppy.elf FlashFloppy.bin FlashFloppy.hex
make[1]: Entering directory '/home/user/FlashFloppy/src'
CC arena.o
make[1]: arm-none-eabi-gcc: Command not found
/home/user/FlashFloppy/Rules.mk:51: recipe for target 'arena.o' failed
make[1]: *** [arena.o] Error 127
make[1]: Leaving directory '/home/user/FlashFloppy/src'
Makefile:11: recipe for target 'all' failed
make: *** [all] Error 2
user@debian:~/FlashFloppy$
It might make sense to write protect disk images so that they don't get accidentally written over, eg. the Amiga Workbench disks. Turning on the R/O FAT attribute comes to me as the most intuitive way to do it.
Hi,
I noticed Amstrad games using latest disc protection from 1989 (not sure about earliers) are not working : speedlock or hexagon protections.
Even converted to hfe , they do not work, i tried also the patched firmware 0.9.6a from another thread issue without success .
At first i tested:
Double Dragon (UK) (128K) (1988) [Virgin Mastertronic] [Original].dsk (the cracked version is working fine)
http://www.cpc-power.com/index.php?page=detail&onglet=dumps&num=750
Then some others from the list :
http://www.cpc-power.com/index.php?page=protection&lenom=Speedlock D7 - 1989
and Final Fight http://www.cpc-power.com/index.php?page=detail&onglet=dumps&num=875
with hexagon disc protection , cracked version is working fine.
Thanks.
Don't know if this would be of any help. I made a basic layout image of all the major parts and ports/pins of the Gotek to help me remember where bits are (I find pictures useful but sometimes confusing as parts merge with the background to my eye at times).
I could use it to update the wiki wiring diagrams if it would be helpful for a more "schematic" overview as well as photos?
It would be great if you could manage to add a support for Pasti/STX disk images (if it is possible at all). This is a format and software for imaging copy-protected disks.
http://pasti.fxatari.com/
Here is a very old description of this format:
PASTI.TXT
...I think also these may help you:
Pasti documentation-v05.pdf
Atari-Copy-Protection.pdf
Dear friend
Please, add these info to the flashing doc
http://tabajara-labs.blogspot.com.br/2015/03/amiga-gotek-floppy-emulator.html
This is a common problem found in flashing. The data/clock port are open collector and needs these two resistors to operate properly. Most USB to TTL adapters doesn't have it.
THANKS for the software and it being open. Greetings from Brazil!
Great work on this firmware for Gotek. After playing with some games etc, noticed that cannon fodder save disk needs an extended adf to save - 2mb rather than 880k adf.
I've used the tool xdftool to create a blank adf, workbench can format and is visible, but i believe the firmware is not understanding this extended adf?
Thanks
David
Is it possible to have/make Ipf support for Amiga?
Hi,
Probably covered before (if so then please ignore).
The System Volume Information folder is added every time a USB file system is touched by Windows. This folder redundantly appears in the FlashFloppy display.
Perhaps it could be simply filtered out?
Sample code ...
static bool_t native_dir_next(void)
{
do {
F_readdir(&fs->dp, &fs->fp);
if (fs->fp.fname[0] == '\0')
return FALSE;
/* Skip dot files. /
if (fs->fp.fname[0] == '.')
continue;
/ Skip sys vol directory /
if ((fs->fp.fattrib & AM_DIR) && (strcmp(fs->fp.fname, "System Volume Information") == 0))
continue;
/ Allow folder navigation when LCD/OLED display is attached. */
if ((fs->fp.fattrib & AM_DIR) && (display_mode == DM_LCD_1602)
&& ((cfg.depth != 0) || strcmp(fs->fp.fname, "FF")))
break;
} while (!image_valid(&fs->fp));
return TRUE;
}
This issue occurs on the Atari ST with 0.6.2, after assigning an ST disk image.
After 0.6.2 resolved an issue with writing selections from the HxC image selector, while the selections are now saved, rebooting from the allocated slot results in the drive being unreadable under TOS and therefore won't boot from the disk.
hi
very good job for gotek drive !!!
do you think supporting native dsk format for Amstrad cpc ?
thanks in advance
the issue derives from the new (>0.7.1a) feature of various adf-sizes.
amiga computers can deal with hd-floppys (capacity of 1.76mb), but an adf with this size is not handled as hd-floppy, because of a specific detection-mechanism on the floppy-interface.
-> to support hd-floppys on amiga, we need to implement this:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.