ScuzzBlog: Diaries July 2019
Entry 21st July 2019: Post 01: Amiga 1200 and that 4GB issue and IDEFix
Amiga 1200 and that 4GB issue and IDEFix
Having purchased yet another 40GB 2.5" drive off Ebay I was getting
somewhat perplexed over the feeding of false information regarding
the use of these drives. In truth I have always stayed under the
4GB threshold, but sadly I just cannot get the drives today. And so
I was using an 'old wives' tale of setting up the drive which I
always suspected as being bogus.
Time to find out the truth so I read the very wonderful explanation
guide by the very talented Thomas over at Amiga World Net and found
out the truth for a change. I didn't want to quote chapter and
verse what Thomas said so the following words are my own interpretation.
And so settle back for a good read.
01: So the 4GB thang is just an issue with two to the power of
thirty two which is the largest value that can be stored at 32 BIT.
02: The largest value is normally referred to as 4.3GB.
03: And only numbers from 0 to 4,294,967,295 can be stored.
04: The Amiga 1200 uses the scsi.device as the IDE driver. It is
important to note that this is a hardware controller. In accessing
the interface and using the 'device' the Amiga can read say bytes
stored in 32 BITS up to the limit discussed above.
05: The hard drive in the A1200 normally is divided into 512 byte
size blocks up to a limit. If the Amiga tries to access 1 more byte
above the threshold number discussed above then the 33rd bit would
wrap around to the beginning and access 1 with all other bits as zero.
06: In the case above it follows that the computer uses the same
block twice without being alerted to the fact. Sadly the overflow
will most likely over-write the partition table and caus the A1200
to fail when booting.
So you can see that with a limit of 4.3 say it is impossible for
the computer to access a higher limit and will simply wrap around
and over-write the first blocks on the drive. Worse is when the
partition table is destroyed the computer will think that the drive
is actually empty. Whoops !!
07: To be clear about device and interface. First note that the
hardware is not the issue. The actual 4GB limit is set by software.
Whilst replacing the existing scsi.device part resolves the issue
all Amiga applications need to access the driver via commands and
so too the applications need to changed to use new commands.
Fortunately applications generally call up a library to access the
interface / driver and so the solution for the most part is to also
replace the file system. Note it is the file system that tells the
driver to read the blocks on the hard drive. This way the computer
is able to read the bigger hard drives.
08: So my current method of simply dividing the larger hard drives
into smaller partitions doesn't work. The 4GB limit applies to the
whole drive and not limited to just the size of partitions. Sadly
the scsi.device is blind to the partitions and only sees the whole
drive as one element. Partitions are created by the DOS library and
it is the DOS library that mounts the partition.
09: OK chicken and egg time. The scsi.device is part of the ROM for
the Amiga and cannot be replaced. The best that can be done is that
the ROM is patched by software. The problem is that when the Amiga
first boots the RAM is empty and so the computer will use the original
scsi.device. It becomes essential therefore to make sure that the
boot partition of the drive is located in the first 4GB of the drive
to permit the patches to be installed.
10: The down side to all this means that the Amiga must be reset
after the patch is applied to ensure that the original scsi.device
is not resident in memory and the computer is now using the patched
version.
Consequently it is not possible to partition a large hard drive into
one large volume. There must be a smaller first boot partition to
enable patching of the scsi.device.
11: It is possible to avoid the reset issue but with the restriction
of a hard drive limit of 8GB. The method uses HD_SCSICMD which sends
the SCSI commands to the driver. This process is also referred to
as Direct-SCSI.
This is not the subject of this topic so onto IDEFix97
12: To make IDEFix work the startup-sequence has to be edited so
that C:IDEfix is replaced with C:LoadIDE RESET. Plus a file system
that supports bigger hard drives needs to be resident. IDEfix supports
all three sets of HD_SCSICMD, TD64 and NSD and so there is really
restriction on the specific file system to be used. As long as the
boot partition is in the first 4GB of the drive.
13: SmartFileSytem up to verison 1.87 supports all three.
14: Current SFS supports only TD64 and NSD.
15: ProfessionalFileSystem supports HD_SCSICMD and TD64.
16: FastFileSystem version 43 supports NSD.
17: FatsFileSystem Version 44 supports HD_SCSICMD and TD64.
18: FastFileSystem Version 45 supports only NSD.
OK that's the end of that for now. My problem as ever is simple.
Having followed the guide religiously I am again bewildered with
the patching of the scsi.device. I have yet to find a clear guide
on how you first find a downloadable version of the patch and
how to install it. I have found plenty of versions that require
3.9, but sadly 3.9 on an 030 Amiga is slower than a slow thing
with a very good reason for being slow. I also hate 3.9.
So I am none the wiser. I have IDEFix97 the registered version.
I can download the various file systems. BUT I have no idea how
to patch the scsi.device under 3.1.
Maybe I will ask. [ Over to Thomas on Amiga World Net ]
~ oo ~
And so I asked the question and Thomas answered. The IDEFix is
the patched scsi.device and this only needs a suitable file system.
I then asked the simpler question, what if I only formatted the
first 4GB of the drive and used only that part. He said that
would work. Maybe I should have opened with that. 4GB is more
than enough for me. For so many years I lived with 550MB so
it really isn't a problem.
The next challenge was to open the old HDToolBox on five Amigas
and put matters right vis a vis all the drives currently using
more than the 4GB. Took me most of yesterday but I achieved
this by leaving Workbench and Work on each machine. Modifying
the next partition so it was smaller. Then creating another smaller
volumes of just 450MB and then one last 'diddy' volume of 80MB.
Which incidentally was the size of my first Amiga 1200 HD. The
aim being never to use the 80MB section to avoid any possible
failures at the end of the drive. And totall all under 4GB. I
then created another partition for the remaining part of the
drive and simply deleted it leaving the space empty. Otherwise
it would appear on the WB as a busted drive all the time.
All worked a treat and now the Amigas are safe and snuggled up
back on those shelves.
And so NEVER EVER format large hard drives in the Amiga bigger
than the 32 bit number limit of 4GB unless you have a patched
scsi.devices and a suitable file system.
OK think I need to go take a rest... or not. Probably not.
PS I didn't try IDEFix97. Looks OK but I prefer to use the
software with the buffered interface.
Amiga 1200 and that 4GB issue.
My communication from EB with the all important Key
Port or Channel Details
Drive installation
Information from Eyetech
Information from Eyetech
Information from Eyetech
Information from Eyetech
|