Yes, sector 0 is a confusing case.
I expect that Ray will know offhand how to resolve this issue as it seems to require knowledge of how LisaEm handles ProFile & Widget DC42 files.
I'd guess that questions regarding details of what is in the tag bytes for each operating environment and drive type would be best directed to Natalia Portillo.
Further thoughts of probably insignificant consequence:
The CPU ROM doesn't differentiate between Widgets and ProFiles; it considers the first 20 bytes are tags and that the code starts at offset 20 from what is read.
To accommodate this when initializing a Widget, the data field of sector 0 starts with 'fake' tags to indicate it is bootable when read by code that assumes tags comes first. (Fake tags are needed in the data field as Widget initialization is done using a driver that knows it is a Widget and tags come last.)
Ultimately, the distinction between tags and data is (almost) entirely arbitrary; the parallel port hard disks accept and return 532 bytes per block, and the division into tags and data is done by the lowest level of drivers. If it wasn't for generating a checksum byte and needing to know where to put it (in the tags), the driver wouldn't care either.
Aside: I presume the difference in location of tags is due to the Widget design team's eagerness to improve performance and realizing that calculating the checksum value concurrently with sending data would be more efficient than examining all the data before any was output (required if the checksum is sent before the data). Hence better write performance is possible when the tags come after the data.
Another aside: Note that when installed on a hard disk, BLU has a funky boot sector that is intended to work on both Widgets and ProFiles (ie. so you can copy BLU from one to the other and it will still boot, which is not the case with other boot sector code). It is probably best not to examine an image of BLU installed on a hard disk to help understand where the tags are.
James
--
--
This archive was generated by hypermail 2.4.0 : 2020-01-13 12:15:17 EST