Thomas Harte wrote:
> The hex editor I'm using can't find the B-DOS record names anywhere 
> (at least in ASCII format).

The overall disk format is:  <boot sector><record list><records>

The boot sector is always a single sector, and with an appropriate
signature it can be made to be bootable by Edwin's HDBOOT ROM.

The record list size is determined by the total number of records, which
depends on the media size.  Each record list entry is the 16-byte text
label, so there are 32 entries per sector.  The record list size in
sectors is:  (TotalSectors/1600 + 32) / 32

The remaining space on the disk is broken into 1600 sector blocks, which
are the records.  If the final record is at least 40 sectors, it forms a
short record, otherwise it's ignored.

As you found, the track order within each record is different from
old-style DSK images and /dev/fd0 devices.  Tracks on the first side are
followed by tracks on the second side, which is the same as Aley's SAD
images.

The original Atom also stores words reversed on the disk, so you'll need
to byte-swap the sector data before you use it.  I think this was due to
the order the board latched and read/wrote the data.  The newer Atom
Lite boards store sector data in normal byte order, making them
incompatible with older format disks.  However, making them compatible
is as easy as byte-swapping the contents.

Finally, for a record to be considered formatted and usable by BDOS, it
must have a "BDOS" signature at offset 232 in the first record sector
(part of the first file directory entry).  Don't forget it'll be
byte-swapped in the on-disk format if it's for the Atom.

The rest of the record format is almost the same as normal SAMDOS
format, except for the 16 character disk label which is split across two
blocks.  I can dig up further details if you need it.

I extracted most of the information from the BDOS 1.4a source code,
which is in the disk image on Edwin's site.  It does also help to have
Edwin on MSN for any further details!


> Oddly, Sim Coupe refuses to treat the card as though it were an Atom 
> image (by setting /dev/[r]disk1s1 as the location of the Atom drive

I've certainly used my CF cards on the Mac with no trouble (though
selecting them definitely needs to be improved).  SimCoupe 1.0 does only
recognise Atom format disks, and I'm not sure if Trinity uses Atom or
Atom Lite byte ordering.

For safety reasons SimCoupe will only touch real disk devices that are
already in BDOS format.  It checks this by seeking to the record 1
position and checking for the BDOS signature.  If Colin's fake geometry
doesn't match SimCoupe's, it will be checking the wrong sector and will
reject it.

I don't currently own a regular SD card, so I'm not able to try it
myself.  I'll see if I can pick one up in the next couple of days, as
any Trinity format differences will be worth implementing in SamDisk (a
Mac version of which isn't too far away, along with a new Windows version).

Si

Reply via email to