Format a floppy disk image

0

I have a machine with a floppy drive, from which it loads its 'Master', basically it's OS, every-time the machine restarts. I have more than one type, and the one I use most frequently has died.

I can get an image that runs the machine, using a different method of loading, which I don't have. When I byte-by-byte compare the image downloaded against a good floppy I have, the output is identical, except for a series of repeating units from the floppy image, as is shown in the below image.

Image of byte comparison difference

I would like to know if anyone knows what this repeating unit is (It does vary slightly, in a predictable way), and if there is a method to replicate it so I can take the image I have and try and build a new master floppy.

Edit

In response to the questions in the comments:

This is a DD 720kb 3-1/2 floppy. The machine originally used small cassette tapes to load the master, this floppy drive interfaces with a ~1994 tape emulator board.

If it is any help, the machine is a Hurco KM3 CNC milling machine, with a BX controller. The master program I require is the NC-GCode master, 3280B3.

The image is only an example of one of the repeating units throughout the disk image.

Orpheus Feal

Posted 2016-09-23T10:58:45.333

Reputation: 1

It's a bunch of bytes. There is no single 'universal' floppy disk format – they can hold dozens of 'normal' filesystems, or be full of custom proprietary code/data, and there is no magic way to assign meaning to a bunch of bytes from a floppy if you won't at least mention what kind of machine it is. – user1686 – 2016-09-23T11:19:53.317

1Please describe what machine you use this floppy for, what kind of floppy if is (3.5"? 5.25"? Or even 8"? Double density, high density). It may be possible to read/write your kind of floppy from some other system (maybe a PC), or using special hardware like Kryoflux. The image doesn't help a lot, it looks mostly like a menu and some kind of table, possibly for file allocation. – dirkt – 2016-09-23T12:03:32.407

Answers

0

Let's try to sort out the several points of your question.

1) How do I physically read and write the floppy disks used on the CNC machine?

If it's 720 KB 3.5" inch floppy, there's a very high probability you can read and write it from a PC, either using an old internal floppy drive, or buying a new USB floppy drive. Unless you tell me that this doesn't work for some reason, I'll assume it is not a problem.

You can still buy new blank DD 3.5" inch disks, e.g. from amazon, if you don't have any blank ones left.

2) How do I copy images of the floppy data from or to a physical floppy?

That depends on the format of the image. In the simplest case, the image is a file with a size of exactly 720 KB, and just contains the blocks of the disks in the natural order.

Under Linux, you can create or write such an image file using the standard tool dd. Under Windows, you have to use third-party tools.

So assuming you have, say, downloaded an image for your CNC machine from the internet ("I can get an image that runs the machine, using a different method of loading, which I don't have."), you can copy this image onto a floppy a try to use it on your CNC machine. However, if the image contains any code that depends on the method it is loaded (floppy versus whateever the other method is), this may not work (and this kind of code is not visible in the "repeating bytes") If the image is not just a simple file containing all the blocks, but e.g. contains additional information, this won't work either.

3) How do I adapt an image to work with my CNC machine? What are all those repeating bytes?

To understand what the data on your floppy means, and to make changes to it to adapt it to your needs, you have to reverse engineer the format, unless you find some documentation for it somewhere. This is a difficult and time consuming process, often based on guesses and trial and error, and is usually only done by compter professionals with enough experience in machine language and various formats. It also needs physical access to the machine, so one can try to extract various kinds of information from it. As a layman, this is not something you can easily do, and just posting snippets of data won't allow other people to do it online, either.

All information one can get about this system helps with this process. For example, knowing that it's a CNC machine one can say that the options range from "they invented their own stuff which is different from anything else" to "they took an existing hardware platform, e.g. an IBM PC, and modified it a bit". So the next step would be to look at both of those images (in total, not just the beginning), and see if anything in it makes any sense: Is there a boot sector? Is there some kind of file system? Maybe a variant of FAT? Any other ASCII code one can read and see what's it used for? Any machine code? What kind of CPU is it? Etc.

If this is really important for you, you can try to hire people who do reverse engineering to help you. But it may not be the cheapest solution for your problem.

dirkt

Posted 2016-09-23T10:58:45.333

Reputation: 11 627