MESS media handling
Using your TI and Geneve hard drive in MESS
If you are using a SCSI hard drive on your ASCSI or WHT controller, you can easily hook that drive as is to a SCSI controller of your PC. Using Linux, you can get a sector dump from the /dev/sda device (or similar) by using the dd command. Note that you do not have partitions, so you cannot access the drive by a file system driver. Within Windows, you need a tool to directly access the contents of the drive; Explorer won't do.
If you want to use a SCSI hard drive image in MESS, you cannot simply use your sector dump that you got from your original drive; you have to convert it. We have some instructions how to achieve this.
MESS requires floppy image files, that is, the contents of the whole disk must be stored in a single file. There are two supported formats, the Sector Dump Format and the Track Dump Format. There are two ways to get a blank new image file:
- Use imgtool to create a SDF-formatted blank disk.
- Create an empty file and use the emulation to format the file, just as if you formatted a blank disk.
For the second option you just need a file of the appropriate size. Using Linux you can easily create such an empty file:
dd if=/dev/zero of=my_image.dsk count=<number of bytes> bs=1
For sector dumps, an SSSD disk has 92160 bytes; a DSDD disk has 368640. For track dump images, an SSSD disk has 130120 bytes, while the DSDD disk has 549760 bytes. Once you chose the size you have to use the matching format.
Note that in versions 0.137 and earlier, the HFDC controller cannot format a disk (because the emulation of the SMC HFC9234 chip lacks formatting support), causing the emulator to crash.
Setting up a blank hard disk
CHDMAN version 0.144 and earlier:
Here is an example for a 20 MiB empty disk. With chdman, create a blank image at first.
chdman -createblankhd newblank.hd 615 4 32 256
CHDMAN version 0.145 and newer:
chdman createhd --chs 615,4,32 -ss 256 -o newblank.hd
The data given in the arguments are cylinders, heads, sectors per track, and sector size. Remember these values.
Now we use Myarc Disk Manager V to format the hard disk. There are disk images somewhere.
mess64 ti99_4a -cart1 editor_assembler.rpk -flop1 mdm150.dsk -hard1 newblank.hd
Enter Editor/Assembler, Option 5, load DSK1.MDM5. When MDM has completed loading it presents a screen for the setting of date and time. You can exit this screen.
Select Utility->Format->Hard, enter 1 as hard drive number
Type in a label for the hard disk behind WDS1., like MYHARD
Use the geometry data from createblankhd - this is important, other values will make formatting fail! Use your values for other sizes. You can get the values with chdman -info.
Sectors = 32 Heads = 4 Cylinders = 615 Reserved sectors = 2048 Write precomp = 464 Reduced write current = 464 Retry = 8 Interlace = 3 Step = 1
Enter the magic word "FORMAT" to initiate formatting. Watch formatting cylinder 0...1...2...3... 614
Sometimes I experience display issues with MDM; the screen does not update with new content. Try BACK (FCTN-9) in that case. Blindly, type C(atalog), H(arddisk), 1 (drive number). You should get an empty disk display.
Exit, Quit, Y, and we are done.
Upgrading to new CHD format
Use the CHDMAN tool to upgrade your hard disk image. CHDMAN usage has changed several times in the past; currently (0.145) you use the following line:
chdman copy -i inputfile.hd -o outputfile.hd -c none
where the -i switch is used to declare the existing input image, the -o switch has the name of the newly created file, and the -c switch must have none as argument to prevent CHDMAN from compressing the image. Only read-only images can be compressed, and a hard disk is usually read-write.
IDE disk handling
Still not verified to run properly, but two things:
- Ensure that the hard disk is formatted with 512 byte sectors (not 256 like the MFM drives!)
- When the IDE card is plugged in, it uses -hard1 as its drive; the HFDC gets -hard2, -hard3, and -hard4 for WDS1-3.