Image Map Image Map
Page 1 of 2 12 LastLast
Results 1 to 10 of 17

Thread: KAYPRO and FreHD as hard disk????

  1. #1

    Default KAYPRO and FreHD as hard disk????

    I own two KAYPROs 4/84 and a FreHD module.
    The KAYPRO uses the WD1002 controller (similar to the WD1000-TB1 in the TRS-80) as the TRS-80 for hard disk access.
    So my question is, if the KAYPRO is getting to work with the FreHD module.
    I am not so deep in the KAYPROs and have no documentation about KAYPRO hard disks/controller.

    Last edited by Frank S; October 31st, 2013 at 12:10 AM.

  2. #2


    I would LOVE to be able to use my FreHD with my Kaypro machines. I've got a 4/84 and a 10, both in excellent shape. Unfortunately, the 10 has a hard disk that steadily accumulates bad sectors.

    Proud owner of 80-0007 - The only one of its kind.

  3. #3
    Join Date
    Oct 2011
    Bedford, NH, USA


    I have a Kaypro 2, currently experiencing floppy drive problems.

    I, too, would love to be able to use something like the FreHD with this machine.

    If you are trying to accumulate interest in a new project, please count me in as someone who is interested.


  4. #4


    Quote Originally Posted by smp View Post
    I have a Kaypro 2, currently experiencing floppy drive problems.
    I, too, would love to be able to use something like the FreHD with this machine...
    For the KAYPRO 4/84 and 10 the physical connector for the HDD-controller is already there.
    For older KAYPRO 4 and II/83 there is no connector already(as i know).
    The connection is to make by a socket adapter from the Z80 socket.
    However, there must be an KAYPRO host interface 81-212A between the bus-connector J9 and the WD1002.

     Add a Hard Disk to a Kaypro "84" Floppy Computer
    The recent computer slump has resulted in massive parts dumping on the
    part of the computer manufactures to the surplus market.  I am sure that
    you have seen all the ads in the papers hawking IBM ten megabyte drives
    for less than $500.  Let me tell you how you can add a hard disk to your
    All of the "84" series computers come with the larger power supply and
    the necessary power wiring for two drives and the hard disk controller.
    To convert to a K10 simply involves unplugging the lower drive, adding
    the controller and host interface boards, and plugging in some new
    The following is a list of the needed parts:
    The hard disk itself
        Shugart 712
        Seagate 224
    The hard disk controller
        Western Digital 1002-HDO or 1002-05
        Kaypro Host Interface 81-212A ( must be "A")
    System ROM
        Kaypro 81-302C
        Advent 84 Turborom
        Kaypro K10 F, G, or H System disk
        Advent Turborom software is supplied with its ROM
    Interconnect cables
        Dual 50 pin IDC ribbon cable (computer to host)
        Dual 40 pin IDC ribbon cable (host to controller)
        34 pin IDC to 34 pin edge ribbon (controller to disk)
        20 pin IDC to 20 pin edge ribbon (controller to disk)
        8 4-40 1/2 in spacers
        4 4-40 1/4 in flat head screws
        12 4-40 1/4 1n binder head screws
        8 #4 nylon or fiber washers
    The hard disk is available from many sources.  In the December Byte
    Advanced Computer Products is selling the Shugart for $229 with a one
    year warranty.
    The Western Digital controller is also a standard part.  Its list is
    $295.  Xerox surplus outlet has them for $75 as is (the five I have
    purchased have all worked), S100 is supposed to have them new for $200,
    and ERAC has them used with warranty for $200.
    The host interface card is a Kaypro part.  Your Kaypro dealer can order
    it for you for around $30 or you can get it from ERAC for $5.
    The cables are all standard parts.  Most of the connectors cost 5 to 6
    dollars each and 50 conductor ribbon cable is about a buck a foot.  ERAC
    has the stock kaypro cables for around $3 each, but they are too short.
    You can reuse most of the connectors if you are careful and use them to
    help build up to ERAC's $25 minimum order.  Their ad states that they
    have 81 series ROMs, so they might have the 81-302c in stock.
    Now for the construction.  I despise overly detailed instructions, so I
    am only going to describe the work in general.  If you need more
    specific hand holding, most user groups have at least one technical type
    that can help.
    Remove the main board, the floppies, and the floppy cage.
    Mount the host interface card on four spacers on the floor of the
    computer in the area normally covered by the cage.  Mount it with the 50
    pin connector facing the rear.
    Mount the controller card on the left side of cage.  Be sure to mount it
    low enough to miss hitting the main board.  I only used three spacers as
    the lower front one would be a real bitch to get a screw into.
    Countersink the holes and use the flathead screws so that they don't
    interfere with the drives.
    Temporarily set the cage back in place and make up the host cables.  The
    forty pin connector goes to the forty pin connector on the controller.
    The fifty pin connector goes to the fifty pin connector on the main
    board next to the 34 pin floppy connector.  Leave enough slack in the
    cables so that they can be adjusted to not block the air flow from the
    Remove the controller and mount the cage.  Mount the hard disk on the
    bottom and the floppy on the top.  Both drives should have terminators
    and be strapped for the lowest drive number, on some drives that is 0
    and on some it is 1.
    Mount the controller card using the insulators so that none of the foil
    tracks on the top or bottom are shorted.
    Make up the drive cables.  The 34 pin cable goes to the 34 pin connector
    on the controller next to the power plug.  The 20 pin cable goes to the
    center of the three clustered 20 pin connectors J2.
    Remount the main board and plug in all of its cables.  Plug in all the
    power cables.  The controller gets the one with only a white and black
    wire.  Plug the floppy cable back in using either of the edge
    Change the ROM.  If you are using the Kaypro ROM it will be shorter and
    goes all the way to the rear of the socket.
    The rest of this assumes that you are using the stock Kaypro ROM and
    software.  For the Advent Turborom refer to its instructions.  To use
    the Turborom, you must purchase their Hard Disk Formatter also.
    Power up the computer with the system disk in the floppy.  It should
    come up with Kaypro 10 1.9E message and then boot from the floppy
    After at least warming up for half an hour we can now format the hard
    disk.  Run Format and tell it that your drive is 1,1 head 0,3 cylinders
    0,305.  It takes about 45 minutes.
    Now run Findbad B: and Findbad C: to lock out any bad blocks.  Run
    Putsys and Putovl to write the system to the hard disk and you are done.
    Open the floppy door, push reset and it should boot from the hard disk.
    One of the nice things about Kaypro is the extensive public domain
    support.  John Smith has supplied a turnkey ZCPR3 system that will run
    on your new machine by simply running a new set of put files.  Most
    kaypro user groups have it and it is on the major boards.  I recommend
    it highly.  It would be a hardship to go back to the stock CP/M system.
    It makes a hard disk even nicer.
    I have modified several machines with no problems.  Since the entire job
    involves only board swapping, with a little care you should have none
    Glenn Drayer
    15200 Magnolia #19
    Westminster, Ca 92683
    ...ONKUG, Newsdiskette to Kaypro Users Groups, Volume 2, Number 2.
    Last edited by Frank S; October 30th, 2013 at 08:01 AM.

  5. #5


    I doesn't find a service manual for the TRS-80 pimary Hard drive enclosures (except the 5/8MB version) in the web.
    Has anyone of you a later (15MB and up with WD1000-TB1 or WD1002 controller) service manual or schematic?
    Last edited by Frank S; October 31st, 2013 at 12:46 AM.

  6. #6
    Join Date
    May 2012
    Auckland, New Zealand


    Interesting topic. It is something I have been considering for the Kaypro 4 that I have here. Now that we have the FreHD running on the Model 4, 3, 1 and System 80/Video (aka Video Genie) it is a project I hope to give a little time to.

    That doesn't mean anything will happen fast though.

    As I see it there are two things required for this to work.

    Hardware compatibility is the first. While the machines use similar WD controllers the IO Port mapping for the TRS-80 is different to the Kaypro as shown in the table below.

    Kaypro TRS-80

    0x80 Data 0xC8
    0x81 Error 0xC9
    0x82 Sector Count 0xCA
    0x83 Sector Number 0xCB
    0x84 Cylinder Low 0xCC
    0x85 Cylinder High 0xCD
    0x86 SDH 0xCE
    0x87 Status/Command 0xCF

    This means it is not just a case of hooking the the Kaypro address, data and IO control lines to the equivilent FreHD pins (which are all there) and expecting it to work.

    The FreHD address decoding is a combination of the 16V8 GAL and the PIC microcontroller.

    While these could be modified to produce a Kaypro version with appropriate port mapping, with the FreHD development ongoing, forking the project isn't a great idea as the versions will quickly get out of step. Trying to keep compatibility in the same source increases the test burden.

    I think a better idea is to use a GAL between the Kaypro bus and the FreHD to translate Kaypro addresses to TRS-80 addresses. As far as the FreHD is concerned it is connected to a TRS-80 so the stock PIC firmware and GAL can be used.

    From the hardware side a GAL, 74LS245 buffer and some wiring should be all that is required and would be fairly easy to build and validate that the basic hardware interface works. (i.e use MSBasic and INP() and OUT() commands).

    Where I start to get lost is on the software side, not being familiar with the many Kaypro ROM + CP/M combinations and how the Kaypro CP/M BIOS does (or does not) use ROM routines for IO.

    There are custom ROMS such as Advent and KayPlus which say they include "hard disk support" but I have no idea what that means. I am also not sure if they are actually compatible with the Kaypro 4 I have (uses the 81-232 ROM).

    Even without ROM changes, theoretically a custom CP/M bios could be created to add hard disk support with no requirement for a ROM change assuming that the machine will boot from disk and a little memory can be given up for the IO routines. Even this requires a fair amount of knowledge/disassembly of the existing BIOS so it can be patched.

    Having been through the TRS-80 process with Fred, one of the best tools we had for testing was an open source TRS-80 emulator (xtrs in our case) that included an integrated Z80 debugger. The only Kaypro emulator I have seen is Mess and haven't even started to how complete the emulation is.

    SBC6120 / PDP11 + VAX / TRS-80 / Kaypro / Northstar / Home Brew Z80 / BBC / Amstrad / Commodore

  7. #7
    Join Date
    Jan 2009
    Palm Springs CA
    Blog Entries


    Not knowing anything about Kaypros...

    I would think modifying the driver would be far easier than ANYTHING mechanical...

  8. #8
    Join Date
    May 2012
    Auckland, New Zealand


    We are a bit spoiled with the TRS-80 and it's expansion connector... particularly the Model 3 and 4.

    Some Kaypro models (and particularly the early 2 and my 4) don't even have internal expansion connectors on the board let alone an external one. To connect a FreHD to mine I need to add a shim to the Z80 socket to pick of the signals similar to the GIDE interface. If I am going to do that then I also need to add buffering on the signal lines so I may as well add a GAL to remap the addresses to make them Kaypro standard.

    The later Kaypro models that were designed once hard disks became more common do, I believe have an internal connector for the hard disk controller. It may be easier with these machines to just do a software fix but it sounds like that requires changes to both the ROM and possibly the CP/M BIOS.

    SBC6120 / PDP11 + VAX / TRS-80 / Kaypro / Northstar / Home Brew Z80 / BBC / Amstrad / Commodore

  9. #9


    Hello JAQ,
    there is no need for an external address translation (GAL).
    On the FreHD is already a GAL which is used for address decoding.
    All what is needed for the KAYPRO address decoding, is a different programmed GAL on FreHD.
    Between the KAYPRO and the FreHD there is the need of an simple adapter board, with eventually one or two TTL-IC (KAYPRO 4/84 and above).
    As you write, the older KAYPROS need a Z80 piggy back adapter. Which mainboards have/not have the bus adapter, we have to investigate.
    In the next days i draw a adapter board (if i find time).

  10. #10
    Join Date
    May 2012
    Auckland, New Zealand


    Yes it is true that the GAL does address decoding but mostly this is at the level of "is the address selected 0xC?" to control the PIC selection line and some special handling for the status register.

    The PIC also uses the lower 4 bits of the address A3..A0 to determine what hard disk control register is to be accessed.

    On the TRS-80 these are 8..F and on the KayPro they are 0..7.

    If you modified the standard GAL you could probably pull the PIC A3 line high to move 0..7 to 8..F but you then lose access to the FreHD "special" registers which are in the 0xC0 - 0xC7 range.

    These are the registers that do all the cool stuff such as version reporting, upgrading the firmware, real time clock, mounting new volumes, reading files directly from the SD Card.

    If you have a 16V8 programmer I would try something like this (untested). It should move 0x8? to 0xC? and pass everything else unchanged.

    Name FreHDKay ;
    PartNo 00 ;
    Date 11/3/2013 ;
    Revision 01 ;
    Designer Engineer ;
    Company Andrew Quinn ;
    Assembly None ;
    Location ;
    Device g16v8 ;

    /* *************** INPUT PINS *********************/
    PIN [1..8] = [A0..7];
    PIN 9 = SPARE1;

    /* *************** OUTPUT PINS *********************/
    PIN 11 = SPARE2;
    PIN [12..19] = [FA0..7];

    /* *************** LOGIC ********************/
    /* Translate 0x80..0x87 to 0xC8..0xCF */
    /* Everything else passed through with no change */

    HDSEL = (A7 & !A6 & !A5 & !A4);

    FA7 = A7;
    FA6 = (HDSEL) # (!HDSEL & A6);
    FA5 = (HDSEL & (A5 & !A5)) # (!HDSEL & A5);
    FA4 = (HDSEL & (A4 & !A4)) # (!HDSEL & A4);

    /* Shift low 4 bits up if Kaypro wants 0x8? */

    FA3 = (HDSEL) # (!HDSEL & A3);
    FA2 = A2;
    FA1 = A1;
    FA0 = A0;


    Last edited by jaquinn; November 2nd, 2013 at 10:16 AM.
    SBC6120 / PDP11 + VAX / TRS-80 / Kaypro / Northstar / Home Brew Z80 / BBC / Amstrad / Commodore


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts