RSS

ST Recover 1.0

06 Apr

Hi !

To inaugurate this blog, I present my new little software: ST Recover.

You will find it here:
https://strecover.codeplex.com/ (in English)
https://strecover.codeplex.com/
(in French)

Project Description
ST Recover can read Atari ST floppy disks on a PC under Windows, including special formats as 800 or 900 KB and damaged or desynchronized disks, and produces standard .ST disk image files. Then the image files can be read in ST emulators as WinSTon or Steem.


ST disk -> PC floppy drive -> .ST disk image file

Screenshots

Required configuration

  • A PC with a floppy disk drive.
    Internal is better, but external can be used (with limitations).
  • Windows.
    Should be compatible with Windows 8,7,Vista,XP,2000,ME,98,95 and later.
    Tested with Vista.

Installation
There are 4 steps:

  1. If you have an internal floppy drive (not an external USB drive),
    download and install the floppy driver from a third-party web site.
    This is optional (but needed for special formats) and you will need administrator rights.
  2. Download ST Recover’s Zip file.
  3. Extract it.
  4. Run ST_Recover.exe .
    There is no installer, so it is portable.

Use

  1. Run ST Recover.
  2. Insert an ST disk in the PC drive.
  3. If necessary, select the right drive (A or B).
  4. Click on “Read disk and save image file”.
  5. Select the location and the name of the image file to be created.
  6. Wait.

The particularities

1.
Normally, Windows cannot read special formats (as 800 or 900 KB) because of limitations of its floppy driver.
Unfortunately, these formats are very common in the world of the ST.
ST Recover takes advantage of a free driver that can read these special formats.

2.
An effort has been done to recover desynchronized or damaged disks.

3.
You can see the geography of sectors on your disk:

This is the surface of one face of a real 800 Kb disk. The black line on the right is the virtual synchronization mark.

On your real PC, a not-USB floppy disk drive is needed for special formats

External (USB) floppy drive.
Limited to:

  • 360 KB
  • 720 KB
Internal floppy drive.
Allows all formats:

  • 360 KB
  • 720 KB
  • 400 KB
  • 800 KB
  • 450 KB
  • 900 KB

Etc..

With a USB disk drive, ST Recover cannot read special formats, because of the interface limitations.
But a USB drive can read ordinary formats as 360 or 720 Kb.

Surface analysis

If your disk seems to be damaged, or just for curiosity, click on “Analyze surface” to see a geographic analysis of the sectors on the disk.

Each “split circle” represents a Track (the colour is alternated from one track to the next one), and each part of this circle represents a Sector, which is a packet of 512 bytes (in general).
The line on the right represent the location of the virtual synchronization mark on the disk. Sectors are read counter-clockwise from the mark.

This representation is computed from a timing analysis during sectors reading. So it represents the real disposition of the sectors on the disk (except for the diameter of the inner circles, which is relatively bigger in reality).

It is interesting to notice that the outer sectors occupy more physical space than the inner sectors (in reality they are about twice bigger). That explains why the first sectors (the track 0 is the outer track) are considered more secure than the last sectors (the inner track is the last one) : more magnetic surface for the same amount of data.
On modern hard disks, the surface of the sectors is (almost) constant, that allows to gain 50% sectors more but needs a (bit) more complex processing. On cdroms, the surface/sector is constant but the rotation speed change. Anyway many technicals have changed since the old time of the floppy disks, MFM hopefully disappeared, we have a constant surface/sector, there are more than two levels per information, etc..

FAQ

  • The software says “No disk in drive” but there is a disk !
    • Maybe the very first sector, the boot sector, is not read correctly.
      Try again to read the disk, it should work after a few tries.
  • What mean the colors in the Tables of sectors ?
    • White: not analyzed for now.
    • Green: read (with ease).
    • Dark blue: read (with more analysis).
    • Red: cannot be read at all (maybe physically damaged), even after several tries.
  • What if a sector cannot be read ?
    • ST Recover will replace its data by a repetitive sentence, in order to help you to detect it with ease.
      It should be “======== SORRY, THIS SECTOR CANNOT BE READ FROM FLOPPY DISK BY ST RECOVER. ========”, or something close.
      In the Tables of sectors, this sector will be marked as red.
  • In the Surface graphs, the “circles” are not closed. Is there missing something ?
    • Usually, in that case one sector is not easily read. That is very common with the disks formatted through some ST programs (as Fastcopy Pro, for example), with more than 9 sectors/track. The first sector of each track is not seen by the floppy controller in ordinary conditions.
      Fortunately, in most case ST Recover is able to read these sectors, at the price of a slow analysis. These sectors are marked as dark blue in the Tables of sectors.
  • Why some sectors are marked as dark blue in the Tables of sectors, and the analysis is very slow ?
    • See above for an explanation. These sectors are correctly read, although slowly.

Compilation of the source code

The code was edited and compiled with Borland Turbo C++ 2006 Explorer, a free RAD.
It is supposed to be compilable with later versions of Borland (Embarcadero) C++ Builder. I did not try them since I don’t have any of these RADs.
Turbo C++ 2006 Explorer was free but it seems not to be distributed anymore. It needed a registration and the installation of several software as dot.net 1 and JSharp.
By the way, my source code is commented in french.

License

The license for the source code and the binaries is the Ms-RL, which globally allows you to reproduce the code, modify it, distribute it, but you have to make the source code of the modifications available.
Also, it is patent-free.

Slow disks

Sometimes, a disk takes time to be read.
The possible reasons can be:

  • The disk is desynchronized.
  • The disk is partially physically damaged.
    In that case, sectors will be colored in red.

Desynchronized disk

This kind of disk will take more time to be read, and the sector tables will display blue rectangles:


Blue rectangles indicate particular, but well-read, sectors. In fact, here these sectors only need more time to be read, but they are read correctly (otherwise, the color would be red).

To understand what is desynchronization, run a surface analysis:

As you can see, one sector per track is not detected, and just in the middle on where it should be (the red triangle), the synchronization mark (the green line) passes through.
The explanation is: the drive’s head passes ahead the track from the line, but it is too late to see the beginning of the sector, so the first sector is not detected by the surface test.
But trying to read the first sector is possible on the next turn, it just takes more time.

More details: I had to implement a particular analysis of the track, in order to be able to extract the (blue) sector information. Fortunately, the special driver can extract a whole track ! That is a question of MFM decoding, with partially desynchronised (6250) bytes per track and so on.
By the way, the decoding & recover method is all about MFM bit desynchronization, nothing to do with the disk synchronization mark:
The disk desynchronized mark is the origin of the problem, due to a bad setting in the drive which originally formatted the disk, and the MFM decoding and resynchronization is a method I use to recover the sector.

If you followed the explanation, you should have noticed that the problem is with the first sector of each track. So why in the table of sectors the blue rectangles are not all in the upper row ? This is because the sectors were not numbered normally during formatting, they where shift in order to allow the drive controller (the processor that manages the drive) more time to move the head to the next track (it takes time and the disk goes on turning) and to read as early as possible the next sector.
Sorry if I am not clear enough, you should find information on internet about how speeding up floppy disk accesses through sector interleaving.

Not tested

There are formats I did not test:

  • Sector length different from 512 (128, 256 or 1024).
    As far as I remember, I did not write much logic to take those lengths into account (it was not my goal).
  • Protected disks where physical format is different from the logical format (as indicated in the boot sector).
    For example some sectors can be numbered not from 1 but from 40.
  • Protected disks where sectors are not well-formed.
    For example they can be cut in the middle just to fool the disk copy programs.
  • 900 KB disks. I need to format a new 900 KB disk on my old ST then try to read it with my rather old desktop PC.

That is because I made this little tool to recover my own old work on ST disks, but not to analyse protected or abnormal disks.
Legal

Text and images of this documentation are copyright by Christophe Bertrand under the CC-BY-SA license, except:

  • The Atari ST image is under the CC-BY-2.5 — Attribution license by Bill Bertram. See here.
  • The Crystal floppy, hard-disk and directory icons are under the LGPL, and are from the Crystal Project.
  • The desktop PC image is public domain and was found here.
Advertisements
 
6 Comments

Posted by on 2012-04-06 in Software

 

Tags: , , , ,

6 responses to “ST Recover 1.0

  1. Roger Lee

    2012-07-11 at 10:11 pm

    I have a bunch of disks which give a message about a default in the sector arrangement when I try to recover them for use under Hatari. I also have other disks which show red blocks which cannot be read for some reason. Often, there seem to be unusual sector arrangements when I do the sector analysis.

    Do you have any plans to enhance ST Recover to increase the success rate with such disks?

    There is a checkbox where debug info may be logged. However, I cannot find where that info may be stored – does the feature work or not? If I can find the info, how likely is it that you may find time to consider any necessary enhancements?

    I was able to recover quite a few of my Atari ST software disks for use with Hatari, so many thanks for a very useful tool.
    Kind regards to you

     
    • chrisbertrandprog

      2012-12-23 at 5:24 pm

      In short: Sorry, ST Recover is not designed to recover protected or unusual formatted disks.
      The reason is that would be need quite a lot of work, in fact I would have to re-design the software. Unfortunately I have not much free time to do that.
      Although I understand it would be interesting to add this possibility to my software. Maybe in the future it will be possible, who knows.

       
  2. Troed Sångberg

    2014-04-28 at 3:27 pm

    Many many thanks Chris for making this tool – I just used it yesterday to image a 200 disk collection with great success.

    I understand the above comment to mean that I shouldn’t debug log a few disks with the “default in sector arrangement” message and send to you? There’s a great need for imaging tools in today’s Atari community and even if you don’t have the time to continue developing it I’m sure a post from you on Atari-Forum outlining what you think might need to be done would help others continuing on your source 🙂

    regards,
    Troed (of SYNC)

     
    • chrisbertrandprog

      2014-06-23 at 7:44 am

      My late answer shows the lack of time I have to develop this software. 😉

      It is a fact that version 1.0 can not read protected or unusual disks, so a debug log will not help, unfortunately.
      The sources are available for other developers who can improve it (on https://strecover.codeplex.com/).

      More than a forum, the place for discussions about this software is on CodePlex: https://strecover.codeplex.com/discussions.

      Technically, this software is written using Borland C++ Builder, one of the many tools/languages of the programming world.
      But the true difficulty is the data analysis, that can be.. rather hard to understand and to manage.
      Who knowns ? An old programmer who already knows the Atari ST well, or a young hacker interested in numeric electronic will want to do that work one day ?

       
  3. mechatour

    2014-06-19 at 12:33 pm

    Amazing job with this utility! I’ve had a stack of disks since I owned an ST many years ago. I’ve always kept them because I thought that one day I might be able to transfer them across to use in an emulator. That day is finally here thanks to your hard work!

    I’ve had a really high success rate – much much higher than I expected (1 disk failed out of about 50 so far – but that isn’t your program, the disk being 20-odd years old just wasn’t up to the job). Thanks to you I now have my registered copy of Freeze Dried Terminal back along with all of my log files from my BBS days in the early to mid 90’s. Really interesting reading them – brings back so many memories =)

    Funnily enough I first heard of your program on Darkforce! BBS in the emulator thread. And finally after a lot of messing around I have Hatari connecting to the BBS over telnet. Bliss watching the slowly appearing vt-52 characters in FZDT.

    I know that you created this utility for your own purposes (normally the way right? =) and decided to release for anyone else in the same situation. You’ll never know how grateful I am for being able to get my old documents, songs, pictures & programs back so that I can run/view them again in Hatari. Even my old Stunt Car Racer game save. Magic. Although going through over 200 disks is a bit of a chore, and my back’s complaining from all the disk swapping, there’s still a big grin on my face.

    Thanks again for your hard work =)

     
    • chrisbertrandprog

      2014-06-23 at 7:51 am

      Thank you for sharing your experience.
      I am pleased to read that my little program is useful to people.

      Floppy disk drive are so rare today that I feel it is time to save this part of our previous life, if I may say. Because someday computers will not be able to attach such an antiquity as a floppy drive, and this memory work, saving disks, will be difficult or impossible to most people.
      Maybe in computer museums ? 😉

       

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s