Subject: Hot news from my MESS development (copy)

From: "Michael Zapf" <[email-masked]>
Date: Tue, 16 Feb 2010 21:35:52 -0000

Hello all,

I'm glad to be able to annouce a nice new feature for MESS's TI emulation in the upcoming 0.137 version:

MESS can now process track dump disk images, aka PC99 disks.

Reading, writing, formatting, from SSSD40 to DSHD80. I did some tests and found no problems yet; the only thing is that it seems to be a bit slower than sector dumps, but this can be caused by some inefficient programming in the general disk system (and there is). 

I just successfully booted my Geneve emulation with a track dump disk which I created by copying files from another disk to that disk.

Basically, I rewrote the complete format support for the TI emulation, so that some hacks in MESS are now obsolete which were just required for the TI systems. 

In this version, CRCs are created, so we do not write >F7F7 to the image. Maybe this breaks the format for PC99, but I cannot check right now. If this is the case, I can easily fix that.

imgtool still only produces sector dump disks (v9v9); you cannot create a track dump disk as it uses its own format implementation (should be cleaned up). Formatting with HFDC still does not work - but is next on my schedule. 

You can, however, use the TI floppy disk controller emulation to create SSSD and DSSD disks. You just insert an empty file with a size of 130120 bytes (or 260240 bytes) and use the Disk Manager cartridge to format it. Just like the real thing. (Yes, you'll see the bogus bytes from the TI controller at each track start.)

The fact that an image file is a sequential arrangement of bytes and a disk is a two-dimensional storage brings some limitations. Specifically, you will break the image if you try to reformat it to another size. Once DSDD, always DSDD (and all others). The main reason for this is that the system tries to guess the track sizes; while on a real disk you could try to write a track with less bytes, this cannot easily be emulated in a linear file.

You need not exactly match the size, however; the disk may be larger (unless it becomes so large that a higher capacity format would fit). 

Under Linux, you can produce such an empty file by using

  dd if=/dev/zero of=emptydiskSSSD.dsk bs=1 count=130120

The suffix "dsk" is valid for both formats. The system concludes that a dsk file of size 92140 (and accordingly, the exact size of all higher formats) is a sector dump, while size 130120 means a track dump. To be sure, you can also use the "dtk" suffix which indicates track dumps.

I'll do some more tests now and complete the HFDC implementation; if you are interested you can check out the latest version from svn. If you can wait you'll get it in 0.137 which may be due in some weeks.

<deep breath>

Michael