Re: Widget image to LisaEm-compatible .dc42?

From: Ray Arachelian <ray.arachelian_at_email.domain.hidden>
Date: Wed, 11 Apr 2018 10:38:12 -0400

On 04/11/18 00:53, James MacPhail wrote:
>
> 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.

>From the BLU manual, it looks like block zero is a header indicating the
image is from BLU, followed by block 0.

So in LisaEm, sector -1 is virtualized, because after all a virtual ProFile or Widget has the luxury of not needing bad sectors and the ability to spare them.  I do check the size of the disk and then return the string PROFILE or WIDGET based on the size and ROM, etc.

One difference is that LisaEm takes care of interleave5 outside of libdc42.  LisaFSH tool handles this as well, however the underlying profile.dc42 file format does not, though it is a valid Disk Copy 4.2 image (beyond the size).

A key difference is that tags between floppies and profiles are different.  ProFiles use 3 bytes for anything relating to size, while floppies use 2 bytes.

>
> 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.
>

It does use 20 bytes for tags and 512 bytes for blocks. Sizes are: {9728,19456,32768,40960,65536,81920,131072} - the first two represent 5MB and 10MB Profiles.  The other values are useable in MacWorks (not that MacWorks is functional at the moment.)

Tag fields I know about are:
           |volid|????|fileid||absnext|   ?   |    ?   |    next|previous

Volume ID 2 bytes, unknown 2 bytes, file ID 2 bytes, absolute next block 3 bytes*, then the last 6 are relative next and previous (3 bytes each). On a profile vs a floppy the next/previous/absolute tag pointers are 3 bytes because the profile is larger.  So theoretically the largest such device should be 16777216 * 512 byte blocks is 8GB (assuming that the MSb being set doesn't count as negative, or 4GB if it is.)  However from what I've seen various Lisa operating systems including LOS and UniPlus have hardcoded sizes built in.  I vaguely recall that Xenix will assume disk size based on the I/O ROM as well.

The two that matter are the file ID which must be AA,AA on sector 0 (after interleave) so that the Lisa boots.  The boot block then loads the first X sectors and expects that the file ID tags are 0xBB,0xBB.

Off the top of my head the difference between absolute and relative has to do with the start of the file system vs the physical block, or it may be related to the start of file, don't recall.

I don't think any of the tags are used as checksums.

-- 
-- 
-----
You received this message because you are a member of the LisaList group.
The group FAQ is at http://lowendmac.com/lists/lisa.html
To post to this group, send email to lisalist_at_email.domain.hidden
To leave this group, send email to lisalist+unsubscribe_at_email.domain.hidden
For more options, visit this group at http://groups.google.com/group/lisalist
--- 
You received this message because you are subscribed to the Google Groups "LisaList" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lisalist+unsubscribe_at_googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Received on 2018-04-11 10:42:13

This archive was generated by hypermail 2.4.0 : 2020-01-13 12:15:14 EST