View Single Post
Old 06 June 2018, 14:59   #7
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,343
By non-RDB hardfile, you mean a file which is an image of a single partition? Those do exist in the real world. Users of removable media (MO disk, DVD-RAM maybe, possibly others like Zip, Jaz, SyQuest) may use mount files to access those disks on real hardware. [That works fine with my GVP controller, and changing disks works fine too, which may not be the case if you install RDBs on your disks.]

I want to use image files like that (of a single partition covering the entire disk), like on real hardware. So not having WinUAE add any fake RDB, and I use a mount file to access the drive.

But it seems having an entry in default.geo forces WinUAE to always add a fake RDB? I renamed default.geo so WinUAE doesn't load it. Now WinUAE doesn't try to use a fake RDB. I can use a mount file to mount after booting Workbench when connected to GVP SCSI. Great.


Anyway. Let's suppose I have a single-partition image file, and do want WinUAE to automatically mount it by adding a fake RDB. There are some problems there, hopefully you can reproduce the issues from what's below.

Open Hardfile Settings. There's no way to disable full drive mode.
So I remove the HDF from the list on the CD & Hard drives setting page. Then click Add Hardfile... and add it back, with Read/write: unchecked, Bootable: unchecked, Do not mount: unchecked.

I have to manually enter 1024 for block size (since WinUAE defaults to 512 in Hardfile Settings). On booting WB, C:Info reports "Not a DOS disk" for MO0:.
WinUAE uses default/guessed geometry of surfaces 1, sectors/track 32. Which doesn't cover the whole partition. SCSIQuery reports drive capacity 1273267 sectors.

Then I changed the sectors/track number in Hardfile Settings to 51 (which is correct). WinUAE then says:
24961/1/51, 1273011/1273011 blocks, 1243.2MB/1243.2MB
So far so good.

However on booting to WB, C:Info reports "Unreadable disk" for MO0:.
This time SCSIQuery reports (via READ CAPACITY) drive capacity as 1273291 sectors, sector size 1024 bytes. That's an extra 280 sectors, not a multiple of 51. So the partition isn't mounted properly.

I used Scout to show info about the MO0: DOS device:
- SizeBlock = 128. It should be 256 (corresponding to 1024 bytes/sector).
- BlockSize = 1024
- SecsPerBlk = 2. Should be 1. I guess SizeBlock & SecsPerBlk would be OK if drive sector size were 512 bytes. But it's 1024 bytes.
- BlocksPerTrack = 51
- LowCyl = 11, HighCyl = 24971. That would be the correct number of cylinders (24972-11 = 24961).

So WinUAE should be adding 11 extra cylinders for RDB area. That's 561 (1024-byte) sectors. But it's only actually emulating drive capacity of +280 sectors (= +560 512-byte sectors). Maybe an off-by-one error somewhere?

Last edited by mark_k; 06 June 2018 at 15:18.
mark_k is offline  
 
Page generated in 0.04853 seconds with 11 queries