The “.DSK” extension means different things to different people. Generally, in the Altair simulator (hardware or software) world, a DSK image contains just the raw data payload and none of the media/format information. This is in contrast to something like an IMD file that contains information about the physical layout of the disk and format information.
For a soft sectored disk, like the 77 tracks with 26 128-byte sectors IBM format, bytes 0-127 of the DSK image contains the 128 bytes of data for Track 0, Sector 1. The next 128 bytes contains the data for Track 0, Sector 2, etc.
Note: Tracks usually start at 0 while sectors often start at 1.
The Altair 88-DCDD disk controller is different because it uses hard sector media. It doesn’t have a “format” in the same sense as soft sector. Those hard sector DSK images have 137-byte sectors that contain all of the track/sector, CRC, and other information in addition to the data payload. It isn’t a “standard” format. It’s a layout that MITS created for their disks. I guess it could be called the MITS hard sector format. This is the reason these DSK images typically don’t work with programs like CPMTOOLS as those tools are designed around soft sector formats and DSK images.
The easiest why to get files to/from an Altair DSK image is to use PCGET/PUT, attach the DSK images to a simulator that supports file transfers between the host and CP/M (AltairZ80, Altair8800, Z80Pack), or some of the new utilities that have been posted here.
I spend a lot of time in the Altair SIMH simulators, so that’s the method I use to copy files to/from Altair DSK images.
It’s what I’m used to and I rarely want to copy files without assembling, testing, or running them, so the simulator makes sense and there isn’t a lot of moving SD cards around.
There are quite a few good options. Try them and use what works best for you.
Here is how the Altair DSK images are laid out (Appendix H):