Hi James,
I this this is fine---thanks to the format appendices your BLU docs, I was "working from this script" already, so to speak, and I have a little Python program that converts BLU to DC42 according to the formula you've written. I ran into two problems, though. Here's how I understand them:
Problem 1: Considering sector 0 only: if you take BLU HD image bytes $214..$413 and put that in the DC42 file's first data record, then take bytes $414..$429 and put that in the DC42 file's first tag record (i.e. immediately after all of the data records), then LisaEm can't boot from the image.
This happens because the boot ROM says "read sector 0" to LisaEm, and LisaEm returns the concatenated "<tag><sector>" data. But the ROM doesn't know about tags---it just wants the 532 contiguous bytes $214...$429 from the disk image (or, bytes $0..$213 from the Widget, in that order). What it's getting instead is $414..$429,$214..$413. The ROM won't boot that, since it turns out that bytes $418..$419 are not $AAAA.
So, any program that converts a BLU HD image to a DC42 file will have to treat sector 0 as a special case. It should put BLU HD image bytes $214..$227 into the DC42 file's first tag record, and bytes $228...$429 into the first data record.
Problem 2: Suppose you do the above, converting the image to a DC42 file according to "the formula", except for the sector 0 special case. The ROM will load and run the code in the first sector, but you shortly encounter OS error 10726. I'm not entirely sure why this is, but if I look at the tag data in a hex editor, I think it's because the tags on a Widget have a different format from tags on a ProFile.
The tags look similar, but some of the bytes within the tag appear to be permuted from what you would find on a ProFile. lisafshtool can't really understand the tags---it can't say what file a particular sector belongs to, for example. None of the tags make any sense.
Nevertheless, it can't be a case of data corruption, since I can load the BLU HD image directly onto a real Widget and everything works correctly on my 2/10.
So, that's the mystery. Is the format of tags different between a Widget and a ProFile, and if so, can you convert between them so that you can boot your Widget in LisaEm?
If anyone would like to experiment with BLU and (broken) DC42 images of a Widget with a fresh Office System 3.0 install, please let me know.
Cheers,
--Tom