The WALL:
If you only
use small capacity drives with the Lt. Kernal,
no worries, Mate! However, if you want to
use larger megabyte capacity hard drives,
you'll encounter the WALL; my term for the
Kernals' design limit.
When you format
a new drive and install LK DOS software, the
first thing you must do is configure the
number of Cylinders to the Logical Units
(LU). When you start assigning cylinders,
the subsequent cylinder count continues to
increase up to approaching the total
number of hard drive cylinder capacity.
So, when do
you hit the Wall? If we use the example in the
'Configuration' section (267 theoretical
cylinder count equals 65K LU Block size),
it's easier to explain. Let's start by
setting LU 0 to a 267 cylinder size and
set three additional LUs exactly the same.
So far, we will have used about 1076 total
cylinders ((4*267)+8dos=1076), assuming we
had this many cylinders to use. Up to this
point, the Lt. Kernal would work just
fine.
However, if
we tried to set the fifth LU (LU 4), the
CONFIG command won't let you! The problem
is that the code is written so that if you
attempt to START an LU at ANYTHING HIGHER
THAN 1024, it won't accept the
entry!
If we go back
and determine the total BLOCK count we've
achieved so far, we find that:
- Each LU would have 65K storage
capacity (32 megabytes)
- Four LUs set
would equal 260K total Block (approx.
130 meg)
- (Remember,
'hard drive Blocks' are twice the
size of 'Commodore
Blocks'
- 260,000
hard drive blocks equals 520,000
Commodore blocks of
storage
But, because
the STARTing limit is set to 1024 cylinders,
we're stuck! Or are we? We topped out at
1076 cylinders above. What if we had
reduced the size of LU 3 so that the
STARTING point of the next LU (LU 4) would
be less than 1024? Yes, this would work
and you could set LU 4 to the Max; 267
cylinders. However now, you HAVE reached
the limit, as it would be impossible to set
LU 5 (i.e., LU 5's starting point would be well
beyond 1024)!
Is there another
way around this problem? Yes, you have two
options:
- Add another hard drive
and continue adding LUs beginning where
you left off (LU 5) and start at Cylinder
zero (0) of the second drive. There is no
LK DOS LU 10 installed on any drive other
than the SCSI address zero (0) drive. So,
the second drive is All storage. (Of
course, you'll need to add the
additional drive(s) parameters to the
SYSGEN disk prior to installation so
the system will know there are Two
drives). - or -
- Use a hard
drive that has a higher density of
Heads and/or Sectors/Track (higher than
our example of 7 Heads and 35
Sectors/Track). That way, instead of
using 267 Cylinders to equal 65K Block
storage, perhaps you would only need 200
or 210 Cylinders for the same Block count.
The follow
chart shows an example of what it could look
like when using two drives and slightly
changing the LU sizes of the first drive.
This is a Tested example:
|
The Total
BLOCK storage capacity in this example is
566,270 Hard Drive Blocks. Multiplying
this number by 512 Bytes/Block represents
a 290 Meg Hard Drive capacity (or 1.132
million Commodore Blocks!). There are a
number of important issues to examine in this
example:
- The hard drives are identical
(LXT-213SY as described in the Hard Drive
section; a variable Sector/Track
drive)
- This
'de-tuned' drive only used 1315
Cylinders, 7 Heads and 35 Sectors/Track
and each drive, therefore, equaled 165
meg capacity
- The
variable (42 S/T average) drive is a
202 meg drive
- There were
4 unused Cylinders left on drive
SCSI ID#0)
- LU 4&5
were set to help solve the '1024
Cylinder limit' & maximize the size
of LU 5
- LU 0 - 3
were set to help exaggerate the
'1024' problem
- The second
drive (SCSI ID#1) started at Cylinder
zero in LU 6
- The sizes of
LU 6 through 9 were set to the maximum
of 65,450 Blocks each
- Instead of a
possible 304 Meg, we got 290 Meg
capacity
- If SYSGEN had
created more LUs, we could have kept
going
- Since we can
use eight (8) SCSI hard drives with the
Lt. Kernal, we could have used smaller
capacity hard drives and never had to
deal with the '1024' limit
- With only the
first drive installed, we would have
achieved 156 Meg capacity
This bastardized
example was created to help explain (a)
the Wall of 160 Meg (Cylinders can't start
higher than 1024 which leads to the 160
Meg limit) and (b) you CAN have more than
160 Meg of storage on a Lt. Kernal by
using more than one drive! Moreover,
selecting the right drives can increase our
290 Meg example!
As a variation
on the above example, consider using an 80
meg drive for LU 10 Only and the existing
drives for LU 0 through LU 9. How would
this effect the '1024' wall? Try it out on
paper.
As mentioned
above, the other approach of solving the
'Wall' problem is by selecting a hard
drive with a Higher Head &
Sector/Track density. If you consider a $5.00
- one Gig hard drive, they use up to 19 Heads
and 85 Sectors/Track. No, you won't get a Gig
of storage AND you'll waste a Lot of a Gig drive's
available capacity, but who cares? At 19 Heads
and 85 Sectors per Track, you'll only need
about 40 Cylinders to Max out an LU!
Therefore, with each LUs only using 40
Cylinders, we can set all ten LUs without
hitting the '1024' limit. Right?
WRONG!
By using a one gigabyte hard drive, we find
there are Other limits to the design of
the Lt. Kernal. One thing is that even if
you did edit the SYSGEN disk with these
parameters AND could get past CHECKSUM
(which you won't), installing DOS with
these parameters would cause DOS to eat
itself, it's real ugly! As it turns out,
Head count numbers higher than 15 won't work as
they help destroy the index and BAM files (4 bit
limit). Another issue is that the large Sectors/Track
number will eat the index and BAM as well.
Both of these additional limits cause the index
and bitmap files to roll over a number of
times causing new files to be written on
top of existing files.
As a test
for this article, I used an ST12400N two gig
drive and had to de-tune it all the way down
to using only 1200 cylinders, 34 Sectors/Track
and 15 Heads (299 meg) just to be able
to:
- Install without any errors,
and
- Get past
Checksum without errors, and
- (i.e.,
without corrupting the Index and
bitmap files)
- Be able to set
LU usage to a maximum of 153 meg
storage capacity, Not 299
meg!
Recommendation:
Use two (or three) 160 - 200 meg
hard drives and set all of your LUs (LU 0
- LU 9) to the maximum of 65,536 Blocks! This
will equal a Grand Total of 330 Meg storage! This,
however, is the Last Wall, beyond which, you
can't go unless you want to rewrite SYSGEN! There
are only Ten user LUs so, without modifying the
LK DOS, there's no way to go beyond 330 meg.
(e.g., 65,536 blocks*10@LUs = 655,360
blocks ][ 665,360 blocks*512
bytes/block = 335.5 meg ]) Question: Would
rewriting the 'CONFIG' file to add more LUs be
the only modification required to increase the
limit of 330 meg?
Conclusion:
330 megs of storage means (a) you'll have
more than 1.3 MILLION Commodore Blocks of storage
and (b), at an average of 50 blocks per
file, you can store 26,214 average
Commodore files. If you are going to
be storing a lot of files, the maximum number
of files you can store in an
LU is 4,000! Therefore, if you configure
all 10 LUs, that's a maximum file storage
limit of 40,000.
What is the
benefit of understanding how to set the LUs to their maximum? Once
you know the optimum hard drive values for the #Cylinders, #Heads and
#Track/Sector, you will understand that you can use any hard drive with
at least these specifications. Install any drive that meets or exceeds
those specs and the Lt. Kernal will work great and at its maximum storage
capacity.
What is
the Maximum Storage Capacity? It should be clear by now that the
maximum storage capacity of the Lt. Kernal is determined by the number of
hard drives and the way in which you Configure the drive(s). Remember
that each drive starts at Cylinder Zero in 'config'.
What if you
use one drive per LU? Each LU is still limited to 65K Blocks, but what
about Shadow 65K-Blocks within each drive? (I left a Hint under the
chart above) By 'moving' the LUs' position to a new starting Cylinder
number, you can move within the drives storage area and not affect the area
that contains already-stored data. (one more reason why you should
Record your 'config' settings) If you understand this concept, the maximum
storage of the Lt. Kernal is approximately 1.1 gig.
Backup
Strategies: The Lt. Kernal DOS includes excellent Fast Load routines
for the 1541, 1571 and 1581 Floppy Disk Drives. These routines are
used for Fastcopy (Backup/Restore) and work with stock or JiffyDOS-equipped
drives. Fastcopy is typically used to make daily/weekly backups of your
most used programs, database files and inventory lists. But, what can
you use to backup the whole drive?
One suggestion
is to use three drives; One for LU 10 Only and
two other drives set to an equal number of LUs
(LU 0 - LU 4 on one drive and LU 5 - LU 9 on the other drive). Treat the
third drive as a Backup of the second drive.
When the third drive is full, replace it with
an similar drive (i.e., the third drive will
always be your Backup). Think about it; it'll be
cheaper than buying 200+ DSDD floppy disks, not
to speak of how much time it would take to backup
to floppies. Save the floppies for your special collection.
|