Lt. Kernal Host Adapter and 128 Daughterboard

Started by Andrew Wiskow, June 05, 2007, 03:48 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Andrew Wiskow

Robert Bernardo asked about this... but I thought there might be others out there who may be curious as to how exactly a Lt. Kernal Hard Drive connects to a C128.  I've posted photos of both the Lt. Kernal Host Adapter and 128 Daughterboard on my personal website at http://mysite.verizon.net/wiskow ...  Just click on the last link on the page and you'll see the photos.  

In a nutshell, to connect the 128 daughterboard, you remove the chip at U7 on the C128, and place that chip into U7 on the daughterboard.  Then you place the daughterboard into the open U7 socket on the C128.  The white HIRAM cable connects to P2 on the daughterboard, and then the clip goes on pin 23 of the chip at U11 on the C128.  Finally, the small ribbon cable connects to P1 on the daughterboard, gets fed out through the top of the expansion port on the C128, and connects to P1 on the Host Adapter.  The Host Adapter is plugged into the expansion port, and a DB25 serial cable connects from the back of the Host Adapter to the Lt. Kernal Hard Drive.

If anyone has any questions...  Feel free to ask.  :-)

-Andrew
Cottonwood BBS & Cottonwood II
http://cottonwood.servebbs.com

Mangelore

Cool! Thanks for the screenshots.
So, can you access drives like standard serial devices? What's the maximum partition size supported? Also, is there JiffyDOS support for this host adapter?

Cheers
Fotios

Mark Smith

Any chance you could do some schematics and dumps of all the ROMs etc ?  Then we can all make are own ... maybe ;-)
------------------------------------------------------------------------------------------------------------------

Commodore 128, 512K 1750 REU, 1581, 1571, 1541-II, MMC64 + MP3@64, Retro-Replay + RR-Net and a 1541 Ultimate with 16MB REU, IDE64 v4.1 + 4GB CF :-)

Andrew Wiskow

Quote from: MangeloreCool! Thanks for the screenshots.
So, can you access drives like standard serial devices? What's the maximum partition size supported? Also, is there JiffyDOS support for this host adapter?
Yes, you can still access standard serial devices.  There is no JiffyDOS support, however.  In fact, JiffyDOS won't work with this at all.  Lt. Kernal runs it's own DOS when the computer is turned on.  The best site for information on the Lt. Kernal is here:
http://www.floodgap.com/retrobits/ckb/ltk/
Click on the link for "The Wall" to find out about the size limitations.  The Lt. Kernal can have up to 10 LU's, or Logical Units.  These are like partitions on other hard drives.  LU's are numbered from 0 up to a max. of 9.  The size of a Lt. Kernal hard drive is limited based on its number of cylinders...  I think you can get a max. of around 1 GB.  So if you had a 1 GB drive, then each LU would be about 1/10 of that, or 100 MB each.

-Andrew
Cottonwood BBS & Cottonwood II
http://cottonwood.servebbs.com

Andrew Wiskow

Quote from: strandedinnzAny chance you could do some schematics and dumps of all the ROMs etc ?  Then we can all make are own ... maybe ;-)
Sorry, but I wouldn't have the faintest idea of how to do this...

-Andrew
Cottonwood BBS & Cottonwood II
http://cottonwood.servebbs.com


BigDumbDinosaur

#6
Quote from: wiskow
Quote from: MangeloreCool! Thanks for the screenshots.
So, can you access drives like standard serial devices? What's the maximum partition size supported? Also, is there JiffyDOS support for this host adapter?
Yes, you can still access standard serial devices.  There is no JiffyDOS support, however.  In fact, JiffyDOS won't work with this at all.  Lt. Kernal runs it's own DOS when the computer is turned on.  The best site for information on the Lt. Kernal is here:
http://www.floodgap.com/retrobits/ckb/ltk/
Click on the link for "The Wall" to find out about the size limitations.  The Lt. Kernal can have up to 10 LU's, or Logical Units.  These are like partitions on other hard drives.  LU's are numbered from 0 up to a max. of 9.  The size of a Lt. Kernal hard drive is limited based on its number of cylinders...  I think you can get a max. of around 1 GB.  So if you had a 1 GB drive, then each LU would be about 1/10 of that, or 100 MB each.

-Andrew
Actually, the above isn't quite correct.  Logical units on the Lt. Kernal have no relationship to partitions on the CMD drive (in fact, the two systems have little in common other than providing hard drive storage to a C64 or C128).  LUs are a software respresentation of what were physically distinct drives in the Commodore dual drive units (e.g., the 8250).  The drive ships with LU 10 already defined, as the entire disk operating system (LK DOS) is loaded into that LU.  The user may create up to 10 more of his own LUs, numbered 0 through 9.  In a practical installation, LU 0 is de riguer, since it corresponds to drive 0 of a dual drive unit and is the default when no drive number is specified in an OPEN statement.  Opening a file on any LU other than zero is simple:

OPEN 2,8,2,"5:somefile"

This would open somefile on LU 5.

All pointer and address arithmetic in the LK DOS is 16 bit (except SCSI LBAs, which are computed as 24 bit values and then normalized to 21 bits per the X3.131 SCSI-1 standard on which the system is based).  This limits the maximum size of any one LU to 32 MB (512 bytes per disk block times 65,535 maximum blocks).  The absolute limit for a maximized Lt. Kernal system is approximately 330 MB.  The maximum size of a SEQuential file is 16.77 MB and if you are working with RELative files, you can have a maximum official record size of 3072 bytes, with up to 65,535 records.  All file sizes are limited to some value below 65K disk blocks.

Regarding JiffyDOS, it wouldn't have any purpose on a Lt. Kernal system, since the computer is connected to the drive via a "narrow" (8 bit) SCSI bus.  Raw disk access occurs at about 65 KB/sec on the C128 running at 2 Mhz (slightly faster if the VIC's periodic accesses to the computer's data and address buses are disabled).  Also, the LK DOS is a sophisticated derivative of the Point 4 minicomputer operating system, and was designed from the ground up as a replacement for, not an enhancement to, the relatively feeble Commodore DOS (although all Commodore DOS functions are implemented, except those that would be irrelevant).  JiffyDOS would have nothing to offer in that regard in an LK system.

Most of the LK DOS limitations that affect maximum capacity are due to the age of the product and the technology that existed when it was first conceived in late 1983.  The original production version of the Lt. Kernal was released in early 1985, a full year before the ANSI X3.131 SCSI-1 standard was ratified.  The LK prototype and all systems produced prior to late 1986 used OMTI SASI to ST412/506 intelligent controllers, which could only accept 16 bit parameters for specifying drive geometry.

Even after SCSI-1 was formalized and embedded controller drives started to become available, Fiscal Information stuck with the original design because of the need to stay compatible with the early units.  Also, it wasn't until around 1990 that embedded controller drives with 40 or more MB capacity became readily available (recall that in the late 1980s, a 40 MB drive was really huge).  By then, the use of 8 bit hardware of any kind for any purpose other than hobby activities was winding down and there was no good reason to undertake an update to the design.

Regarding http://www.floodgap.com/retrobits/ckb/ltk/, there is quite a bit of technical information there and the amount of information is steadily increasing.  Although a lot has been gleaned, a scratch-duplication of the entire Lt. Kernal system is still an elusive goal.
x86?  We ain't got no x86.  We don't need no stinking x86!

Andrew Wiskow

Quote from: bigdumbdinosaurActually, the above isn't quite correct.  Logical units on the Lt. Kernal have no relationship to partitions on the CMD drive (in fact, the two systems have little in common other than providing hard drive storage to a C64 or C128).
Okay... I know that, and you know that... but for someone who is totally unfamiliar with LTKs, it's a whole lot easier just to say that LU's are similar to partitions on other hard drives...  ;)

-Andrew
Cottonwood BBS & Cottonwood II
http://cottonwood.servebbs.com

BigDumbDinosaur

Quote from: wiskow
Quote from: bigdumbdinosaurActually, the above isn't quite correct.  Logical units on the Lt. Kernal have no relationship to partitions on the CMD drive (in fact, the two systems have little in common other than providing hard drive storage to a C64 or C128).
Okay... I know that, and you know that... but for someone who is totally unfamiliar with LTKs, it's a whole lot easier just to say that LU's are similar to partitions on other hard drives...  ;)

-Andrew
Except that they are not at all similar.  To say otherwise would be like saying USER areas in CP/M are about the same as subdirectories in UNIX.

The logical unit system was developed so the native Lt. Kernal filesystem would work with existing CBM drive addressing.  From the beginning, Fiscal was careful to maintain as much compatibility with Commodore drives as was possible.  So what was done was to make a logical unit behave in software as a drive mechanism in a CBM dual drive behaves in hardware.
x86?  We ain't got no x86.  We don't need no stinking x86!

Andrew Wiskow

You're right... They're not similar in how they're set up... They're just similar in the respect that you can seperate your files in different LU's on a Lt Kernal, and you can seperate your files on different partitions on a CMD HD.  Likewise, you can further seperate your files within each LU on a LTK in seperate USER's, just like you can further seperate files within each partition on a CMD HD in subdirectories.  No, not similar in the way everything works...  But it's just a way to explain to someone who has no idea what you're talking about without going into great detail.

-Andrew
Cottonwood BBS & Cottonwood II
http://cottonwood.servebbs.com