8

Back in the day when we had a Sixword Ltd. Swift Disc floppy-drive we were ahead of the game on our speccy, allowing us to use 3.5inch floppy disks. See:

I see the full hardware spec and even the rom is available online at the hardware.speccy.org link above which is pretty amazing.

Does anyone have an idea what disk format was used (it was a snapshot of the entire memory) and how our old floppies might be digitalized for the modern retro world. Possibly we could convert them to FDI format?

Motivation:

It would be kind of nice to try and upload our never released game "Galactic Patrol" like we did with StarBlade. Apologies for making the enemy waves too evil there! Could have done with some more playtesting but we were both still in school.

This ran in 'full' co our using the rapid screen switch scheme my brother devised which is mentioned here in crash.

5
  • 4
    It might be worth getting the disks to someone with a device like a Greaseweazle. It will generate a raw image of the magnetic flux patterns on the disk that can be reassembled into a filesystem later. Information on the SwiftDisk is thin on the ground, but it does seem to use a standard DSDD 3½" drive so recovery may not be too complex. Good luck!
    – scruss
    Jan 15, 2021 at 16:06
  • As an emulator author, I will wager that if you can get a flux-level capture then I — or someone else like me — can emulate the Swift or otherwise parse the disk image sufficiently to extract the data, given that the ROM is available. That is, if there isn’t already an emulator such that it just works. The quoted 32us bit length plus the size of the company strongly implies a standard MFM encoding, so you might even just be able to do a sector dump using a regular PC drive, or even a USB drive, and capture everything.
    – Tommy
    Jan 15, 2021 at 19:56
  • Talking of the greaseweazle and similar are there any available to buy anywhere ready assembled? I could probably cobble it together myself but given enough time but I have a knack of messing up with hardware. Also there's an element of yak shaving. Jan 18, 2021 at 16:03
  • 1
    This is my swift disc, up and running in 2022 :-) youtu.be/kMOO6KIVf3c I can send you a blank floppy image, which will enable you to see the disk format. Would that help answer your question?
    – PaulY
    May 22, 2022 at 17:50
  • @BruceAdams There are some official vendors for the Greaseweazle linked on the GitHub repo's wiki. I recently bought a Greaseweazle V4 and, of the listed sources, AmigaKit had the lowest total price for a Canadian buyer. Also, note that the client tools for the FluxEngine are now capable of driving Greaseweazle hardware and seem more novice-friendly.
    – ssokolow
    May 23, 2022 at 10:28

3 Answers 3

4

I couldn't find technical information or an existing emulator but via your links I found this high-resolution image of the interface's board.

From there I notice the following things:

  • the disk controller is a WD1770, that's the big one on the left;
  • the two large chips on the right both half underneath the edge connector are an 8kb RAM and an EPROM; and
  • everything else that's visible is 74-series logic.

It's a safe bet based on the architecture of the Spectrum that the interrupt button switches in the on-board ROM and triggers an NMI.

The ROM images linked are 32kb and 16kb in size but the former just seems to be 16kb data copied twice you can also adduce that the EPROM is 16kb, in which case there might be some guesswork in figuring out when and where that 8kb of RAM appears.

I found old mentions in comp.sys.sinclair that the Microdrive emulation added to a later version was partly hardware based, but seems to have come with a board revision. So an emulator author would probably start with the older EPROM in the hope that the extra hardware wasn't yet present.

Otherwise, the good news is that the disk controller is an extremely standard part that just does vanilla IBM encoding, and based on the advertised floppy capacity of "thirteen 48kb games per disk", you can assume the physical format of the data on disk is MFM (i.e. regular PC 'double density').

So: you might be able to image your disk using a plain USB disk drive (unless you find one that supports high density floppies only) as MFM is essentially the only thing they support — but they're often restricted to 512-byte sectors with fixed numbering so this isn't guaranteed. Might be worth a try before looking around for a less-common solution though. This MSX-related page gives a guide for Linux and macOS though the Windows section is empty. Some slight more research might be necessary there.

Failing that, look into solutions that can image floppies for a machine like the Amstrad CPC, as those should handle different sector sizes and addressing, and the common CPC-related file formats can retain all that information. If you have an old enough PC to have a pre-USB floppy-disk controller and drive and an OS like DOS that gives software unfettered access to the controller then that should do the trick. Or low-level disk controllers now exist for exactly this problem, such as the Greaseweazle mentioned by scruss, the Kryoflux and others.

Starting from a working Spectrum emulator it then shouldn't be too much of a trek to get the Swift disc interface added and to read your floppy.

What software should write to a WD1770 is very well-known so you could isolate those addresses fairly easily, and pretty much the first thing the NMI routine will need to do is backup the current display so you'd likely be able to figure out the RAM question without too much dilemma. At that point it might well be as easy as just plugging in your disk image.

A lot of the time when these slightly more obscure interfaces don't get emulated it's just because no test data is available; it's very possible that you'd be able to get an existing author interested just by having a disk image. Otherwise a Spectrum emulator is easy to knock up so someone like me who has the generally correct sort of code kicking about should be able to help.

Alternatively, since my search wasn't especially thorough, you might find that the thing already is emulated — in which case please let me know so that I can change 90% of this answer.

4
  • Thanks for a very helpful answer. What about reading the disks with an Amiga? I haven't booted it up in a long while but last time I did it was working very well. I recall reading that PCs couldn't read amiga disks because the amiga controller could do things the PC disk controllers couldn't. From what you say this sounds incorrect so its a mere matter of software. If there is a usb connectable floppy drive that would work with a modern linux or windows PC though it would make life easier. Jan 18, 2021 at 15:58
  • An Amiga disk controller could definitely read all the information on a disk based on the controller in use; I don't know the first thing about imaging formats on an Amiga though so I can't help with what software you'd use to do the reading or what form you'd end up with. Certainly if there is a tool for capturing to a file format like Amstrad CPC DSK then you could just use that.
    – Tommy
    Jan 18, 2021 at 16:03
  • 1
    It might be worth mentioning that it's double-sided 80-track double-density. Early US 3.5" drives were single-sided. 40-track 3.5" drives existed, even if they were common only in Japan. (In Japan we refer to double-sided 40-track double-density as "2D" and double-sided 80-track double-density as "2DD," and the same wide vs. narrow head issue arose as with 5.25" double-density drives vs. HD drives in double-density mode in the rest of the world. You'll see the latter label on diskettes even though 2D and 2DD are the exact same media.)
    – cjs
    May 24, 2022 at 16:00
3

Looks like it uses WD1770 I am not familiar with it but first check if WD1770 is compatible with IBM format. If yes then you can read the discs directly on PC ... If not you need HW capable of reading the disc.

So in case of PC compatible you just image it using direct sector access in C++ (or any other language or utility) instead of file format. After you obtain the binary image of the floppy (one way or the other) there are two options:

  1. emulate FDC

    so you need to have some emulator capable of emulating your FDC interface or add such functionality to some open source code one.

    In your last link are ROM images and also circuit (but that one is unreadable) so it might be possible to emulate this by reversing the circuitry... I done this before for my emulator and D40/D80 FDC based on WD2797. However this is easily doable only for emulators that runs on MC (machine cycle) timing resolution (like mine) otherwise the FDC must be only hacked by hooking up to the HW and SW condition bypassing Z80 code and injecting FDC code/operations instead (that is how most emulators do it however this is not 100% compatible and custom loaders and stuff might not work) which no one without deep knowledge on the targeted FDC workings can do.

  2. extract files

    or you bypass the FDC completely and extract the non compressed files from the image into format readable by emulators like *.tap. In case you share some images (best with description what files and how long are in it) I would be happy to try to create a win32 converter that would do this for you.

    as the files are just snapshots this might be your best option. Ideally if you have also access to the HW you could create a specific memory pattern and save it to floppy so the inffering of filesystem is easier ... for example fill the 128K (RAM part) with 32 bit addresses (incremental value) so we can get the sectors together in correct order and then match it to FAT if its used...

2
  • 1
    The WD1770 was super popular; it’s also used with the +D/DISCiple interface and the SAM Coupé, the Acorn Electron, BBC and Archimedes, the MSX, the Oric, the Atari ST and probably a lot more that aren’t springing to mind right now. Also it has a really great datasheet — all logic is just provided accurately in a flow chart.
    – Tommy
    Jan 16, 2021 at 15:08
  • I recall the hardware died (which is one reason why we never attempted upload) but I think we still have it somehwere. Jan 18, 2021 at 15:50
-1

What format are your original disks. I have backed up my original Swift Disk Microdrive emulator and Copy disks supplied by Sixword to floppy image, then written them to new floppies (retaining the original Swift Disk format) using Sam disk with the simple command Samdisk name.dsk a: on my Windows 2000 Pentium 2 with in built floppy disk drive. I can use the image to write to new floppy disks that work in the Swift Disc drive, exactly the same as the original disk. I would have to work out the commands, but in theory I could also convert these floppy disk images into the many other formats Samdisk supports too. If it's a question of extracting original files out into a form a Windows 10 PC could read, I have a program that allows you to do this from Atari ST floppy disk images. So in theory I could convert the Swift Disc image into an Atari.st image then extract the files onto a Windows PC.

I'm not "technical" but do have the necessary hardware and have used these tools for specific reasons for sometime. I did this originally to write Opus Discovery .OPD floppy images to real floppies to run on my Opus Discoverys floppy drive interface for my Spectrum 48k.

2
  • 1
    I have no idea of the format. That was part of the question. I do not have any images as files. We have the old floppies somewhere. They need to be imaged by appropriate hardware If they can still be read after all these years. May 24, 2022 at 9:01
  • Bruce if you have the original disks, and they are readable I simply nead to use my set up with Samdisk to write them to an image, as described in my comment.
    – PaulY
    May 24, 2022 at 14:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .