Found that I had an old USB to TTL Serial adapter that I got ages ago with a Freetronics KitTen Arduino compatible board, and used this to flash the GoTek with the FlashFloppy firmware.
I soldered headers into my GoTek, since it made things just a bit easier. Specifically, the unit I have is a SFRK30.AT4.35, so I pretty much followed the instructions on the FlashFloppy wiki. Needed to install the stm32flash package on my Linux box (Debian) and it just worked.
Flashing the FlashFloppy firmware onto the GoTek.
Note: I used the blue jumper wire rather than a header so I wouldn’t accidentally forget to remove it later, and because it shows up better in a photo.
As per what ChickenMan said in a previous post, on the floppy image front it seems I just need to convert all the .RAW image files I have into HFE format.
After a few false starts, I found that the HxC Floppy Emulator project does build on Linux, but they don’t ship binaries, so you need to get it from the repository on their Github at GitHub - jfdelnero/HxCFloppyEmulator: HxC Floppy Drive Emulator toolkit and build it yourself. The github is the latest place to get it from (as of this post). It used to be hosted on Sourceforge (which is what a lot of online info points you at) but no longer.
Was a simple matter of grabbing a copy of the repository and doing cd build ; make
from the unpacked directory. I had gcc and a bunch of other essential build tools installed, but found I didn’t have libfreetype-dev installed, which was required. Then you can just run the main executable from the build directory with ./hxcfloppyemulator
.
The GUI is not particularly flashy, but it works:
The defaults are what is supposed to be a 1.44 MB disk, but it does auto-detect some things when you feed it an image file.
Raw file format configuration screen:
Note: If you use the batch converter, note that it will traverse subdirectories. Specifically, you DO NOT want the output to go into either the same directory or a subdirectory of the input directory, else once it has processed all the original files, it will go through and convert all the newly added files, again, and again, endlessly, as it proceeds to the next file in the directory without realising they’re already in the correct format. I’m sure you can guess how I found this out.
Batch Converter screen:
However, when I tried this, I get the same error about blocks being damaged.
To me, this still seems like the images were being processed wrong. Tried a bunch of things here, and eventually seem to have found something that seems to give some more useful results. Turns out that most of the issue was that the Applix uses disks that are 80 tracks with 10 sectors per track (5 per side), with each sector being 1024 bytes. This gives a total disk size of 819200 bytes, or 800K. Looks like the default for the GoTek is the same as the default settings in HxC, which is 80 tracks with 18 sectors per track (9 per side) and 512 bytes (ie: IBM PC format).
Regardless, I got it to boot, but it still seems to fail with an error. I’ve tried 2 boot disk images, so either there is a problem I’ve not discovered or I’m missing something. That said, this is also still using the original Disk Controller card (with V1.4 roms), and not the one I’ve reworked that has SCSI as well V2.2 roms), so that could also be a factor.
Video of it booting from the GoTek (with graphics):
On the PAL front, I’ve been recommended the DuPAL PAL DUmper project DuPAL - PAL Reversing Tools · GitHub to try and reverse engineer the PALs. The person who recommended it has used it a number of times to reverse PALs from a bunch of systems and has offered to be a sounding board if I have issues with it. Most of the components I have or have access to pretty much immediately, except the 74HCT166 (I have a 74HC166) or the MAX232. The project is 2 parts, the board (with an Arduino) to do the probing and talking to a PC over serial, and software that drives it all in the various ways necessary to figure out the logic. There’s a board design for KiCad but waiting for that would take too long. I am thinking I may try mocking this up on a breadboard (the schematics are with the board design) to see if it could actually work. If I do this, I’d modify the schematics slightly since I don’t need real RS232 levels to talk to the PC (ie: using the same USB to TTL Serial cable I used to program the GoTek).
Unfortunately, I don’t think the PAL work is going to be something I can complete in October, but I’ll see how far I can progress regardless.