First Operational

IDE Controller

in the Z-100







General Note:  This paper contains portions of an article that was published in issue #109, February 2007, of the "Z-100 LifeLine". It has been re-edited, shortened and updated with more recent information.

First Operational IDE Controller in the Z-100

Finally, after years of work by the talented "Z-100 LifeLine" staff - Charles Hett and John Beyers - the new Z-100 IDE Controller, version 3, has been completed and all orders sent out. There are only a few of these amazing boards remaining, so if you want one, contact me now!

In case you may have wondered why we were taking so long on development, and since this is really the first opportunity that I've had for showing you some pictures, I thought you might enjoy seeing the four IDE controller boards that we went through:




The first board (top left) was our wirewrap board. Mine (pictured) has only the NVsRAM circuit and was described back in issues #94 and #97. Charles Hett had the full circuit on his board.

The second (bottom left) was our first prototype using a small Altera programmable integrated circuit, the medium-sized square in the lower left corner.

The third (top right) was our second prototype version using a larger Altera programmable chip (below and left of center) that replaced many of the smaller integrated circuits.

The fourth and hopefully last (bottom right) was our third prototype version. This one separated the left and right IDE connectors entirely and added several resistor packs. This one appears to have finally fixed our interference problems.


I thought the next logical step would be to see how someone would install the device in an actual Z-100. So, using a version 2 controller with one of the drives that worked well with it, I decided on doing just that.

The first decision was which Z-100 model would be the hardest to convert?

The Z-120 "All-In-One" model had a very adaptable drive tower that I've easily converted to hold several combinations of half-height floppy and hard drives and the plastic faceplates were plentiful and easy to work with.

I have found the "Low-Profile" Z-110 models were a bit less adaptable and harder to work with. But if you already had a unit with two half-height floppy drives, or with one half-height floppy and a full-height hard drive where the hard drive's faceplate was integral with the entire plastic faceplate, conversion is easy.

After much thought, I decided on an older Z-110 Low-Profile model that sported two old full-height floppy drives with an aluminum faceplate that wouldn't serve any useful purpose anywhere else, and I just happened to have such a candidate on hand.

So, follow along with me as we convert this old workhorse into a new, ready for anything, thoroughbred.


First, I dismantled the entire unit, carefully storing away the old full-height drives - you never know when someone might call looking for one of these old dinosaurs. Then I began with the power supply.

Such an old model usually doesn't have the hard drive power cables and these wouldn't be necessary after the conversion either. However, for some reason this old one had the connector for the MFM hard drive data separator card, but none for the Z-217 controller card. I had never seen that before. I wonder what it was meant to power?

Anyway, as I wanted the flexibility of being able to connect to old MFM hard drives if needed, I replaced the power supply with a newer model.

Next, I cleaned and visually inspected the motherboard and added a new monitor ROM v4.3. I also cleaned and inspected the other boards. As I was hoping to install a single 5-1/4" floppy and a single 3-1/2" floppy, I went ahead and completed the Barfield modifications to the floppy controller board as described in issue #29, and later again in issue #76, of the "Z-100 LifeLine".

Finally, I felt ready to take the unit on a test spin. As with most complicated systems, when powering up an unknown Z-100 for the first time, I find it is always best to reduce the computer to the bare minimum number of boards to eliminate as many variables as possible for troubleshooting purposes. The reduced load also relieves pressure on the power supply, which may not have been on in quite a while, allowing the capacitors to reform properly before being placed in full service.

So, I installed the power supply, motherboard, and video card, and then attached the keyboard, power cable, and monitor.

Rechecking everything in place, I crossed my fingers and powered up. As expected, I got the initial "Primary Z207 Controller ERROR" because I did not bother installing any of the controller cards yet and the floppy controller was the default device (set by section 3 of the bank of switches at S101 on the motherboard). At the hand prompt I selected the memory test and let it run. No problems.

After some initial testing and troubleshooting (as this was outside the purpose and scope of this article, I have removed this section - swv), I was ready to go.


Drive Configuration

Now it is time to figure out how you want to configure your computer to accommodate one or more IDE drives. In my case, I felt one IDE drive would be sufficient. The one that worked with this particular prototype card was only 264Mb. But considering that the most popular MFM drive that I used was 40Mb, 264Mb would be much more than I would ever need. The newer IDE controllers will be able to handle four such drives.

However, one consideration that you must think about is drive back-up. On a Z-100, how does one intend to back up 264Mb of data? The obvious solutions of today's PC's - the CD or DVD - will not be available on a Z-100, at least not in the foreseeable future. Tape - if you can still find such a unit? I didn't like that idea even when I just wanted to backup 20Mb of data.

No, I would think that backing up one IDE drive with a second unit would be the answer. So, you may want to figure on a minimum of two drives if you are concerned about critical data. One could still be MFM, but why hang on to that dinosaur. At the low cost of used IDE drives, just use two of them.

Another option is to purchase an IDE to Compact Flash Adaptor (available on the Web for about $20.00) and add a compact flash memory card, available in all sizes from about 32 Mb to 2 Gb. Be sure not to buy the adaptors that plug directly into the IDE connector. These physically will not work with the new version 3 IDE controller because the connectors are mounted vertically at the top of the card. However, attached to a cable, the compact flash adaptor could be placed just about anywhere.

Another advantage these compact flash units have is for security. Anyone having their finances on a computer should be using removable media to lock the data away when not in use. The compact flash has the advantage of hard drive media that can be treated as a floppy disk!

On my unit, a proof of concept prototype, I didn't need a second drive (and this particular card did not like two drives anyway). However, as we go through the installation, you will see that there is plenty of room for adding a second drive right over the first. With the floppy controller (upgraded) to control a single 5-1/4" and a single 3-1/2" drive and these mounted directly over one another, I have a large bay remaining to contain two and possibly even three IDE drives, if I so desired.




Pix 2 shows the partially modified drive bay cover of the Z-100. Originally looking like the center drive area, the right bay has already been modified to accommodate the over/under configuration of the 5-1/4" and 3-1/2" drives. This aluminum faceplate was a real monster to cut out - hours of hacksawing and filing. The newer plastic faceplates are much easier to modify.

The upper left black rectangle shows the back of the modified hard drive faceplate that will cover the left (unmodified) drive bay. The upper right shows the front of an unmodified hard drive faceplate.

Note:  To cover the old drive slot completely, the 5-1/4" drive must be positioned precisely 5/8" above the bottom of the bay. I used wood spacers 5/8" x 3/4" x 5" cut from common 3/4" pine stock on a table saw. The drive combination then completely eliminated the odd looking original bay cover. The middle bay will be completely covered with the faceplate of a full-height hard drive no longer being used.

These full-height faceplates should be easy enough to locate nearly anywhere that handles old drive equipment. If you have difficulty, I have plenty.  It's hard to see in this picture, but the left drive cover has already been modified and shows where the breakout switch and drive LEDs for the NVsRAM and up to four IDE drives are located. Pix 6 has a better, front view.




Pix 3 shows the rear of the drive bays.




Pix 4 shows the front with the drive faceplate in place.

The 5-1/4" drive is mounted on 5/8" wooden spacers to fit in the cutout of Pix 2. The 3-1/2" drive is mounted over the 5-1/4" drive using the lower drive's flat upper shield.

The ribbon cable runs from the Z-207 Floppy Controller (not pictured) to the 5-1/4" drive and then the 3-1/2" drive.

Note:  The 5-1/4" drive (configured as drive A:) does not need a terminator resistor in this arrangement. Most 3-1/2" drives are purchased configured as drive B: and cannot be configured any other way. They depend upon a twist in the PC's ribbon cable to become drive A:. Termination in a 3-1/2" drive is also integral to it's circuitry and cannot be removed.

As every Z-100 configuration will probably be different and the LED drive lights are not necessary for operation, no attempt is being made to devise a cable to mount IDE drive lights anywhere on the Z-100's exterior. For troubleshooting purposes, each board will be shipped with a bank of drive LED's mounted on the connector attached to the top of the IDE Controller Card (see Pix 1) and a breakout switch is already mounted on the board to the right of the IDE connectors.

However, for this computer, I devised one possible cabling solution you might consider.



Pix 5.  IDE Controller Board


Pix 5 shows the IDE Controller Board with the drive LED ribbon cable connected at the LED connector at the top of the card. The other end of the ribbon cable ends in a SIP connector that slips onto the leads of the LED's installed in a row on the drive faceplate.

Note:  Use tape to hold the LEDs in place until testing is complete. You must make sure that all the LED leads are in the proper order BEFORE glueing. I tried plastic modelling glue to attach the LEDs, but the glue did not work very well. I recommend using a glue gun for better hold.




Note:  Referring to Pix 6, the drive LED's are configured so that a yellow LED indicates data is being read from the NVsRAM. The rest of the LED's are red and indicate data being written to the NVsRAM, and read/write operations to IDE drives connected as J1 master, J1 slave, J2 master and J2 slave, in that order. The last two wires from the ribbon cable are connected to a separate, normally open, pushbutton, breakout switch also installed on the faceplate. The switches are available from Radio Shack, part #275-1547.



Pix 7 shows the interior of the finished configuration.

So, with the hardware modifications completed, let's turn our attention to the software issues.

Programming the NVsRAM on the IDE Controller Board.

The heart of the boot up operation on the IDE Controller Board is the NVsRAM chip, also commonly referred to as the EEPROM to remain consistent with the terminology used previously to describe the EEPROM on the Z-100 LifeLine SCSI Controller Card. NVsRAM is the acronym for NonVolatile Static Random Access Memory. This is memory that can be programmed and then an internal battery in the chip will hold this programming in memory until the chip is reprogrammed or erased.

Programming the chip isn't difficult, but for frequent changes, it can be a pain, so I developed a couple of batch files to make programming somewhat easier. These are distributed with the Controller Boards.

First off, memory in the NVsRAM is limited. Depending upon the model, it can be less than 64K, 128K, 256K, 512K, or more than 1Meg. With the growing needs of Z-DOS boot files for space, it was becoming increasingly difficult to fit all the desired files on a standard 360K, 5-1/4" floppy and the 1 meg NVsRAM with a clock was going to require additional circuitry on our board. So, due to space and circuit requirements, we settled on a 512K NVsRAM with an internal clock to best suit our needs.

Also, as it was desirable to minimize the space required by the boot files, I thought it best to use a handy compressing utility called PKLITE to compress the files that could be. As it turns out, everything fits comfortably on the 512K NVsRAM, with plenty of room for additional files, but in case you find yourself pressed for space for your own requirements, let's pretend that we need to do it anyway.

Compacting or compressing IO.SYS and MSDOS.SYS will realize the following savings:

  • IO.SYS shrinks from 32915 bytes to 26344 bytes.
  • MSDOS.SYS shrinks from 37376 bytes to 27683 bytes.

Once compressed, the files will still execute, but cannot be changed. A full review of PKLITE can be found in issue #93 of the "Z-100 LifeLine".

PKLITE can also be used on most of the other files that you may want to place on the NVsRAM if you need even more space.

Note:  Compressing IO.SYS does create one problem that may not make it worth all the effort. When creating bootable floppy disks using the FORMAT A:/s/v command, the compressed system files will be transferred to the newly created floppy disk. If you then run DRIVECFG on the new floppy disk, you will get the error:

Version mismatch with file!!!!

This is because during compression all the DRIVECFG data will have been moved from where it should be located.

The first batch file, PACK_IO.BAT, is used to compress IO.SYS.

PACK_IO.BAT contains:

@ECHO off

ECHO This utility uses PKF00.COM to PKLITE IO.SYS and creates IO-PK.SYS.


ECHO NOTE: Before using this utility, run DRIVECFG and CONFIGUR to ensure

ECHO that IO.SYS is configured properly. The PKLITE version of IO.SYS

ECHO cannot be changed.


ECHO When completed, copy IO-PK.SYS to a bootable drive as IO.SYS.


ECHO Use {CTRL}-{C} to exit, or







Description:  ECHO thru PAUSE is just a helpful reminder about what the batch file does. As PKLITE cannot operate on a system (.SYS) file, the name is changed first. PKLITE is then used to compress IO.COM and PKF00 is used to adjust the start of the new program at offset 100h instead of offset 00h. Finally, if IO-PK.SYS exists, it is deleted and the compressed IO.COM is renamed to IO-PK.SYS.

Similarly, a second batch file, PACK_DOS.BAT, is used to compress MSDOS.SYS.

PACK_DOS.BAT contains:

@ECHO off

ECHO This utility uses PKF00.COM to PKLITE MSDOS.SYS and creates DOS-PK.SYS.


ECHO NOTE: The PKLITE version of DOS.SYS cannot be changed.


ECHO When completed, copy DOS-PK.SYS to a bootable drive as MSDOS.SYS.


ECHO Use {CTRL}-{C} to exit, or







Description:  Again, ECHO thru PAUSE is just a helpful reminder about what the batch file does. As before, the name is changed first. PKLITE is then used to compress DOS.COM and PKF00 is used to adjust the start of the new program to offset 100h. Finally, DOS-PK.SYS is deleted and the compressed DOS.COM is renamed to DOS-PK.SYS.

The last batch file, EPROMPGM.BAT, is used to actually program the NVsRAM on the IDE controller card. EPROMPGM.BAT copies all the files that you wish to transfer to the NVsRAM and, for my purposes, contains:

ECHO off

ECHO This file assumes that IO.SYS and MSDOS.SYS have been packed to


ECHO are located in the \EPROM directory with this batch file.

ECHO Place all other files to be copied to the IDE EPROM in \EPROMPGM.

ECHO All files presently on the EPROM will be deleted!

ECHO Type{CTRL}-{C} to exit or


ECHO Deleting all files on the EPROM...

DEL K:*.*





ECHO Copying all files from L:\EPROMPGM to K:


ECHO Calculating Checksum and saving it to NVsRAM.



ECHO Running EPRDFILE to save programming in backup file, EPTEST.DAT.


ECHO  EPROM programming completed.

ECHO  Remember to run CHKSUMEP after making any other changes to the EPROM.

Description:  As before, ECHO thru PAUSE is just a helpful reminder about what the batch file does. The COPY commands copy the system files to the NVsRAM, followed by all the files from an \EPROMPGM directory on the IDE drive.

Note:  The usable size of the NVsRAM is presently limited to 507K. So ensure the files in the \EPROMPGM directory do not exceed this amount, less the size of the system files.

CHKSUMEP is automatically run to calculate the checksum and place that on the NVsRAM. EPRDFILE is run to save a data file EPTEST.DAT on the default drive as a data backup (more on this later).

Once completed, additional files can be copied to the NVsRAM manually, but remember to run CHKSUMEP again, and last, to validate the programming. I also recommend running EPRDFILE again to save the programming in a backup data file. Upon rebooting, the NVsRAM is ready for use.

With the batch files in place, we are nearly ready.

We are used to booting to a hard drive or a floppy drive that has the DOS commands in a directory on the same drive. Now, with the NVsRAM on the IDE Controller controlling the boot process, we either place all the DOS commands in the NVsRAM or have some means to have any request for a DOS command refer to the right drive. In the past, this had always been controlled by use of the PATH command in the AUTOEXEC.BAT file.

For example, the AUTOEXEC.BAT file in my computers generally looked like:






With this simple AUTOEXEC.BAT file executed during boot up, any DOS command on the command line would be directed to look in the root directory of the MFM hard drive unit 0, in the partition labelled Z-DOS4, with the drive letter E: assigned to it and if not found there, it would look next in the \DOS directory.

As you may recall, DRIVECFG assigns drive letters to the various floppy and hard drives on the computer using Z-DOS v4. On my computers, for standardization among the many different computer configurations that I have around the house, I generally assign the first four drive letters, A: thru D: to the floppy drives; E: thru H: to the MFM hard drive partitions; I reserve drive letter I: to be mapped as an imaginary drive by assigning it to map drive A:; and finally, DRIVECFG automatically assigns the next available drive letter to the EEPROM on either the LLSCSI board or the IDE board, depending on if either is detected. The next available drive letter is then assigned to any drive and their partitions found on either board.

This has worked out well for me in the past.

The IDE drive, however, on my computer is assigned the drive letter K: by DRIVECFG.COM. And the NVsRAM (referred to as EEPROM) on the IDE card, is assigned drive letter J:

Using the AUTOEXEC.BAT configuration above, however, now generates an error if the MFM hard drive is not attached.

Physical Sector Zero is not readable, unit does not exist.

So, we need to configure the AUTOEXEC.BAT file on the NVsRAM to refer to the proper drive for executing DOS commands. If there will not be any MFM hard drive system on the computer, change the AUTOEXEC.BAT file to:





If you intend to leave an MFM hard drive in the system, but will be booting to the NVsRAM as the primary drive, you may wish to use something as complicated as:






Obviously, the object is to let the computer know where to find the files you wish to run.

Note:  As presently set up, the IDE driver will automatically recognize two partitions on each of up to four IDE drives and assign them drive letters. Any additional partitions on drives will require the use of an IASNPART utility that will operate in a manner similar to ASGNPART.

Note:  All the above drive configurations have assumed that four partitions have been set aside for MFM hard drive use. If you do not intend to ever worry about an MFM hard drive again, just delete those drive letters using DRIVECFG. The IDE driver will adjust the IDE drive letters accordingly.

We have one last complication to address, and I saved it for last.

Back up in the programming batch file, you may have noticed that the drive letters were changed from the ones that we had assigned automatically. This may change because presently it is somewhat confusing, but the IDE driver is configured to add a different drive letter to the NVsRAM when it is being programmed, and this causes the IDE drives to bump down to the next available drive letter after this new drive is listed.

For example, the normal IO.SYS boot screen will list the drives as configured by DRIVECFG and others found as:

A: LOW Den.  48tpi 5 1/4"  34 Z207p 0

B: DUL Den. 135tpi 3 1/2"  34 Z207p 1

C: LOW Den.  48tpi 5 1/4"  34 Z207p 2

D: LOW Den.  48tpi 5 1/4"  34 Z207p 3

E: Fixed Disk Partition             Z217p

F: Fixed Disk Partition             Z217p

G: Fixed Disk Partition             Z217p

H: Fixed Disk Partition             Z217p

 I: Imaginary Drive mapped to A:

J: EEPROM on IDE  LifeLine Board   s

K: ST3290      FAT16    261MB LIDEp 0

As one of several protection methods against accidently programming, or inadvertently changing, the NVsRAM programming, we felt it best to only enable programming the NVsRAM by loading a separate driver, EPROMDSK.SYS during the boot process.

Therefore, CONFIG.SYS, which we'll describe in great detail in a moment, has a separate section that is enabled to load this driver only when we specifically ask for it.

So, when we want to program the NVsRAM, the NVsRAM is actually enabled for programming and the IO.SYS boot screen becomes:

A: LOW Den.  48tpi 5 1/4"  34 Z207p 0

B: DUL Den. 135tpi 3 1/2"  34 Z207p 1

C: LOW Den.  48tpi 5 1/4"  34 Z207p 2

D: LOW Den.  48tpi 5 1/4"  34 Z207p 3

E: Fixed Disk Partition             Z217p

F: Fixed Disk Partition             Z217p

G: Fixed Disk Partition             Z217p

H: Fixed Disk Partition             Z217p

 I: Imaginary Drive mapped to A:

J: EEPROM on IDE  LifeLine Board   s

K:  512K EPROMDSK/CLOCK (programming)

L: ST3290      FAT16    261MB LIDEp 0

CONFIG.SYS is controlling all of this and for those of you who are still using the old three or four line CONFIG.SYS, you'll have to get used to the new expanded version. The new CONFIG.SYS was explained way back in issue #59 and it is interesting reading for those who need to boot their computer under changing configurations depending upon the applications to be used.

While the CONFIG.SYS listed in issue #59 may appear very complex, it really is not so bad once you are familiar with the outline structure. The following is a much abbreviated version with all the comment lines still included to help you along. The version you use for your computer can be edited down much further. I recommend not eliminating all the comments, however, to ease in making changes at a later date.


CONFIG.SYS contains:

Rem SECTION 1 - Common Commands

; lines always included

Comment=   ;

; Permit comments on line after command

Break=On      ; Check for CTRL-C

Buffers=32,8  ; 32 buffers, 8 sector R/W

Files=30         ; 30 open files allowed

LastDrive=Z   ; Permit 26 drives

;      SECTION 2 - Custom Commands

; Options defined by a letter:

:0    ; Default Selection - No key pressed

#0    ; Include Common Block LLIDEHD

:P    ; NVsRAM Programming

device=EPROMDSK.SYS /256/W0

#0    ; Also include LLIDEHD after EPROMDSK

:R    ; RAM Disk Installed


:Z    ; Last option ID - don't load anything

; Last option id - don't do anything

::    ; Section 3 - Condensed Commands

; This is where common # blocks are defined:

#0    ; Common block 0

device=LLIDEHD.EXE /F    ; IDE device driver

Install=SHARE.EXE   ; Drive Partition >32Mb

##    ; Section 4 - Secondary Custom Commands

; These are lines common to all options

^Z    (Crtl-Z marks end of file)

Section Descriptions:

Section 1 lists the commands that are common to all options. Many of these commands could have been moved to the individual options to accommodate special requirements of applications. For example: a particular application may require more buffers than usual; so you would list Buffers under each option in Section 2 and specify the number for each application.

Section 2 is where special drivers are loaded for their particular application. If a particular driver is needed under several options, it could be placed in Section 3 as a common block, defined as a pound sign (#) and a number. For example; the LLIDEHD driver will be required in most options. Rather than listing it individually under each, #0 is a marker placed to define those commands in Common Block #0.

Section 3 lists and defines all the Common Blocks. These blocks, defined with a pound (#) sign, may be used in multiple individual options given in Section 2.

Section 4 is provided for any command that has to be executed after all the drivers are loaded. Finally, finish editing the file with a CTRL-Z as an End-of-File marker, if needed.

Note the INSTALL=SHARE.EXE line in the CONFIG.SYS file. SHARE is necessary and should be installed any time you are operating a system with a drive containing one or more partitions greater than 32Mb.

The deal is that old "File Control Blocks" or "FCB's" cannot hold pointer information in its "Reserved Fields", on files located on disk locations past 32Mb's. FCB's will only work correctly as long as a file is physically located within the first 32Mb's of a partition's start. If part of the file lies past this 32Mb range, the FCB does not complain or generate an error, it just rolls the pointer value over, through zero, and gives DOS a new garbage value as an internal disk pointer. The next disk read gives junk to your program, and the next write corrupts your disk!

Without going into detail, the reason SHARE is the solution is because it was already doing the required fix for a different reason in small partitions. For a more detailed explanation, see the SHARE help screen in the Z-DOS v4 help directory.

Now we have all the parts in place. The only other change to worry about is the Boot command.

ROM v4.3 Boot Up Sequence

Unless you have been using Autoboot all your life, you are already familiar with most of the Boot options. Remember, Autoboot can be disabled by setting section 3 of S101 on the motherboard to "On" or 0 (toward the rear of the computer). You can also get to the hand prompt by pressing the {DELETE} key at which time the computer will respond with "Boot Abort" and the hand prompt.

Note:  If all initial tests are satisfactory, the version 4.3 Monitor ROM will now display the Help screen before the hand prompt. Otherwise, it will display an error message and the hand prompt as in earlier ROMs.

Unless you have played with the LifeLine SCSI board, you are probably not familiar with all the changes to the Boot options since version 3.0 of the ROM. So, let me briefly cover these Boot options.

The Boot command will boot the Disk Operating System from a diskette, MFM hard drive, a SCSI drive from a Z-317 controller card, or a Z-100 LifeLine SCSI or IDE Controller Card.


The Boot Syntax is:

Boot [F1-4][Unit#][S][:partname]{RETURN}


F1    specifies a drive attached to the Z-207 34-pin connector and may be either a 5-1/4" or 3-1/2" floppy drive.

F2    specifies a drive attached to the Z-207 50-pin connector and may be either a 3-1/2" or 8" floppy drive.

F3    specifies a hard drive; either an MFM drive attached to a Z-217 or Z-317 controller or a SCSI drive attached to a Z-317 controller.

F4    specifies a bootable EEPROM on the LLSCSI controller board or, when used with the [S], an NVsRAM on the LLIDE controller board.

Unit#  specifies the drive unit number as set on the drive's DS (drive select) jumpers. This may be 0, 1, 2, or 3.

S      specifies a secondary floppy or hard drive controller; it also specifies the NVsRAM on the LLIDE Controller Card

:partname  specifies the partition name on a hard drive to boot from.


To manually boot the computer, press the {B} key. With the version 4.3 Monitor ROM, the computer will now display the default boot device as set by the S101 switches on the motherboard. On my computer, the display is:

Default Booting Primary Z207 34pin Unit 0

Input BOOT string<CR>_

and the computer will wait for you to type on the keyboard to give it more information.

If you press the {RETURN} key, the computer will begin to boot the operating system from the default device, drive zero, as determined by the setting of switch S101 on the motherboard. This device can be a 34-pin floppy drive unit zero, a 50-pin floppy drive unit zero, the first MFM hard drive, or the bootable EEPROM on the LLSCSI board.

If you press the {F1}, {F2}, {F3}, or {F4} key followed by the {RETURN} key, the computer will boot from unit zero of a specific device without regard to the settings of S101 on the motherboard.

The monitor ROM can support up to four drives of each type. Therefore, you can boot from any drive by typing its unit number, 0, 1, 2, or 3 after the {F1}, {F2}, or {F3}. If the device is not present or is faulty, after about 30 seconds a "Device Error" message will appear on the screen.

You can boot the computer from any partition on the Z-317 SCSI drive or MFM hard drive if there is an operating system on it. To do this, type:


The screen will display:

Default Booting Primary Z207 34pin Unit 0

Input BOOT string<CR>f3:(partition name)

The optional {S} key is used to boot from the Secondary device (the second Z-207 floppy disk controller card, second hard drive controller card, or from the LLIDE controller card (the LLSCSI controller card is considered the primary card). If the device is not present, or is faulty, after about 30 seconds a "Device Error"message will be displayed.


To Boot from the LLIDE controller card, you must type:


The computer will display:

Default Booting Primary Z207 34pin Unit 0

Input BOOT string<CR>f4S


IO.SYS Boot Screen

The Boot sequence begins by displaying the IO.SYS Boot Screen. This screen looks very similar to the screen displayed during the DRIVECFG configuration process. It lists the MS-DOS Version Number and BIOS Version Number and then all the drives configured by DRIVECFG in a display window (an example is shown earlier). In the bottom of the window, more system information is displayed:

MTR ROM V4.x, xxxK RAM, xxK COLOR Video, CPU, and x.xxxx MHz CPU Speed.

Below the window, messages appear indicating the status of the normal boot process. These messages are:

** Initializing Motherboard Parity **

This message only appears on a power-up (cold) boot. The parity is not checked on a warm boot (when you press the breakout switch or {CTRL}-{RESET} to return to the hand prompt).

Hit any key within 3 seconds for alternate CONFIGURATION

It is at this point where you have three seconds (this time can be adjusted in DRIVECFG) to decide if you want to use the default CONFIG.SYS, some option within it, or a different-named CONFIG.SYS. From the CONFIG.SYS example above, we have a couple of configuration options.

Press any key to interrupt the boot process. The message will then change to:

Select CONFIG.SYS option (A-Z) ->_

Then we can choose {O} (the default configuration), {P} for Programming the NVsRAM, {R} for configuring a RAM disk (if a RAM card is installed), or {Z} for loading nothing or doing anything (good for troubleshooting purposes). Of course, if you have other configuration options in your CONFIG.SYS file, here's where to exercise those options.

For this run, we let it time out and the computer will use the default CONFIG.SYS, displaying the message:

Using default CONFIG.SYS optn.

After CONFIG.SYS is executed, the AUTOEXEC .BAT file is executed and the computer will display the NVsRAM drive letter:



Programming the NVsRAM

As the NVsRAM is read only once it is programmed, we must discuss the procedures for programming the NVsRAM.

When we interrupt the boot process, by pressing any key at the CONFIGURATION question, the computer will replace the message with:

Select CONFIG.SYS option (A-Z) ->_

Then we can press a key to choose a configuration option. To choose to enable programming the NVsRAM, we need to press {P}.



When the NVsRAM is prepared for programming, the write protection is

removed from the NVsRAM. The checksum thus becomes changed and, unless

you run CHKSUMEP before rebooting or shutting down the computer, the

NVsRAM will be reported as corrupt on the next bootup! You will have

to reboot to another device and run CHKSUMEP before booting again to

the NVsRAM.


The computer will load the EPROMDSK.SYS driver and update the drive list in the IO.SYS boot screen to reflect new K: and L: drives:

K:  512K EPROMDSK/CLOCK (programming)

L:  ST3290        FAT16    261MB LIDEp 0

and below the window, the boot session is completed when we see the DOS prompts:



To program the NVsRAM from the IDE drive L: we need to change to the \EPROM directory on the L: drive and then run our EPROMPGM.BAT file that we created earlier. The series of commands are:




To program the NVsRAM from the 3-1/2" floppy drive (preparing this backup disk is explained shortly), we do not need an EPROM directory. Instead we have our EPROMPGM.BAT file in the root directory and additional files in the \EPROMPGM directory. Booting to the floppy, using the same procedures given above, the command sequence is simply:


In either case, the batch file is run and a new CHECKSUM is generated and also placed on the NVsRAM.

Note:  EPROMPGM.BAT does not need to be run for minor changes. As long as the NVsRAM is in the programming mode, if you just wanted to add a file, the NVsRAM is treated as any other drive letter. Copy the new file to the K: drive and, when all the changes are completed, run CHKSUMEP to generate a new Checksum.


Setting the Clock

Setting the Clock could not be easier. Simply set the date and time using the normal DOS DATE and TIME commands, then run IDECLOCK.

IDECLOCK also has some other capability. For help, run:


Actually, anything placed after the IDECLOCK on the command line will generate the help message:

This program will Auto Calibrate the TI bq4852Y or TI bq4850Y clock on the LifeLine IDE card and set the Date/Time from the current MS-DOS Date/Time if no command line parameter is given. The only valid command line is +/-nn where nn = decimal value 1..31 that is a Manual Calibration adjustment. Each step will adjust the previous clock calibration by +10.7 or -5.35 seconds per month. Please see source code for a detailed explanation of Calibration. Anything on the command line, including +/-nn, will display this message, the current Calibration and the programmed Date/Time.

To set the clock, simply run IDECLOCK without anything else on the command line. IDECLOCK will then auto Calibrate the clock and set the Date and Time from the DOS setting. If successful, the computer will respond with:

IDE EPROM Clock successfully set from MS-DOS date and time.

To check the status of the clock, run:


The computer will respond with the help message and then provide the Current Calibration Setting and Current Wait States being used. On the last line, the Day of the Week, Date, and Time are displayed, with the time incrementing. For example:

Current Calibration Setting = + 04. Current Wait States = 0.

Please hit ANY KEY to exit.

Wednesday, February 14, 2007  08:53:16

Pressing any key will exit the routine.

Alternate NVsRAM Programming

Once the NVsRAM has been programmed using the above procedures, there is a set of 3 programs that are of tremendous assistance in maintaining the status of the NVsRAM chip.

EPRDFILE.COM  - Reads all the data stored in the NVsRAM and stores it in the same directory as EPTEST.DAT. When finished running, it reports:

File Successfully Written from EPROM.


and EPTEST.DAT is written to the current directory. The file is 525Kb so the EPTEST.DAT command cannot be run from the NVsRAM or 5-1/4" floppy and will require a healthy chunk of a 3-1/2" floppy!

For that reason, the set of three files are placed in the \EPROM directory on the IDE drive.

EPCPFILE.COM  - This command compares the previously saved EPTEST.DAT file with the NVsRAM again to ensure they are the same. When complete, it will hopefully report:

End of Compare EPROM and File.

If there are any differences, each is reported as a separate line. For example:

Found in File 00h in EPROM A0h for sector    0 at Offset   645

If the files are completely different, these reports will scroll seemingly forever on the screen. Press {CTRL}-{C} to exit.

EPWRFILE.COM  - This command makes recovery for a corrupt NVsRAM quick and easy. It will copy the data file, EPTEST.DAT, which was automatically generated by the EPROMPGM .BAT batch file, back into the NVsRAM in the event the NVsRAM becomes corrupted for some reason other than internal failure. The NVsRAM does NOT require to be in programming mode.

Note:  There is a write enable jumper located beside the NVsRAM on the IDE Controller Card. The pins are not installed and it is presently enabled by a trace between the two pin holes. If you wish to disable ALL writes to the NVsRAM, including EPWRFILE, cut the trace and install pins to enable writing when necessary.

Creating a Backup Floppy

In spite of all the precautions that we have built into the IDE Controller Card and NVsRAM programming, the IDE Card and NVsRAM are critical to the booting process of the Z-100. If for some reason the NVsRAM is erased, or you have to change it out, it is best to have a bootable backup disk to be able to reprogram the NVsRAM.

Therefore, once the NVsRAM has been programmed and is working to your satisfaction, make a bootable 3-1/2" disk using FORMAT B:/s/v, which will install IO.SYS, MSDOS.SYS, and COMMAND.COM on the floppy to make it bootable.

Caution:  Running FORMAT /s/v from an NVsRAM using compressed system files will copy these compressed system files to the floppy drive. These will generate an error if DRIVECFG is subsequently run on the floppy disk.

Note:  While a 360K 5-1/4" floppy disk will have enough space for the critical files and could be used, it would not be able to contain all the files to fill the 507K NVsRAM.

Next, create the \EPROMPGM directory and copy all the files to it from the IDE drive's \EPROMPGM directory. Finally, copy the following files to the root directory on the floppy drive:





Modify PATH in AUTOEXEC.BAT and modify EPROMPGM.BAT to load the files from the floppy drive.

Next, copy any additional files as you may desire into the Root directory on the disk. This is an emergency disk and you might need to do any number of actions while troubleshooting your situation. So, such files might include, depending upon your computer configuration:


EDLIN.COM              FLAGS.COM          FORMAT.COM

LOOK.COM              PART.COM             PREP.COM

SYS.COM                 ZDIR.COM             ZFMT207.COM


Caution:  Remember to leave at least 525Kb of space for the EPTEST.DAT data file generated by EPRDFILE during the NVsRAM programming.

Finally, reboot to the floppy and reprogram the NVsRAM to ensure the floppy disk works as intended. Label the disk as follows:

"Emergency IDE NVsRAM Programming Disk"


"Z-DOS v4.06 (Bootable)"

and store it in a safe location.



The Monitor ROM v4.3 is able to test each boot device by using the {F8} function key. This comes in handy if you suspect a problem with the NVsRAM on the LLIDE controller card.

It will perform a checksum and will check it against the one stored in the NVsRAM when it was last programmed. If it is different, it will report an EEPROM Error. If correct, the test will repeat until you press the {DELETE} key. To initiate this test, type:



Upon pressing the {F8} key, the computer screen will blank and then display the following:

Default Booting Primary Z207 34pin Unit 0

Input BOOT string<CR>_



As you press the {F4}{S} keys, they are inserted at the cursor. When you press the {RETURN} key, a third line is added to the screen:

Booting Secondary EEPROM Unit 0


and the COUNT begins to increment or an error message is displayed.

Note:  As this test is only performing a CRC check, it will only report the "EEPROM is Corrupt" message. See the Error Messages listed below. Reboot in NVsRAM programming mode using an alternate boot device and run CHKSUMEP.COM, EPWRFILE.COM, or EPROMPGM.BAT to recover.


TESTIDEP.COM can be run at any time from the DOS prompt. Like the test above, it simply calculates a Checksum and compares it with the stored value on the NVsRAM. If it was successful, it reports:


If not, it reports:



Run EPWRFILE.COM as discussed above to recover, or reboot in NVsRAM programming mode and run CHKSUMEP.COM or EPROMPGM.BAT.

Known Software Issues

As with any new hardware or software changes, some incompatibilities have to be expected and this implementation did not disappoint. The first problem has already been reported.

It seems that Peachtext 5000 does not recognize the new IDE drive partitions that are detected and assigned drive letters during the boot up. It does recognize the NVsRAM just fine.

Upon investigating this problem, it was found that Peachtext 5000 is confused by partition sizes greater than 32Mb. This problem will probably affect other old application programs, as well. There is no easy patch for this as each software application will probably use different routines to determine partition size.

While we will look further into this problem, the easiest workaround is to restrict some partitions on your IDE drives to 32Mb or less for use by these programs.

LLIDE Controller Error Messages

Possible errors that may appear during the Boot test or during the Boot process include:

Error:  EEPROM is Corrupt

    Device Error

Reason:  Checksums don't match.

Error:  NO IO.SYS

Reason:  IO.SYS missing or corrupt.

Error:  Could not find DOS, disk not a system disk.

Reason:  MSDOS.SYS missing/corrupt.

Error:  Bad or missing Command Interpreter

Reason:  COMMAND.COM missing or corrupt.

Error:  ERROR: No LifeLine IDE Drives Detected!

    ***Driver NOT Installed Due To Prior ERROR***

Reason:  Drive not detected! Check cables and power.

       Drive may be incompatible w/LLIDE Card. Try another drive.

       Check Drive DS/CS jumpers.


Error:  Drive not listed on IO Boot Screen or Info Wrong.

Reason:  Drive may be incompatible w/LLIDE card. Try another drive.

       Check Drive DS/CS jumpers.

For any error messages involving the NVsRAM, all errors except mechanical or internal failure can generally be corrected by running CHKSUMEP.COM, EPWRFILE.COM, or EPROMPGM.BAT. See the section on programming the NVsRAM above for the procedures.

Advantages of an IDE controller

Besides the obvious about adding a high capacity hard drive to the Z-100 and the declining reliability and availability of MFM hard drives, some persons have older Z-100's that never had the power cables to upgrade to a hard drive system. This upgrade requires NO additional power connectors. It DOES require upgrade to Z-DOS v4.06 and MTR-ROM v4.3, available at nominal additional cost with the IDE Controller Board.

A major advantage of the IDE upgrade, is the greatly reduced power requirements. If you are replacing an MFM hard drive setup with an IDE drive setup, instead of powering a data separator card and a massive Z-217 controller card with their hefty power requirements, the new IDE controller requires a small 5 volt regulator that barely gets warm, and that's the warmest part on the board, even at 10 MHz! If the power supply fan noise had been driving you nuts in the past, there may be a possiblity of finally being able to replace the fan with a slower or slightly smaller unit, though it is still not recommended!


I think I've shown that even the lowly dual-floppy Z-100 can be easily converted into a hard working, proud machine with a little labor of love.

I hope this exercise has helped you to make an informed decision as to whether you want to upgrade your Z-100 to this exciting new capability.

Remember, however, the order for production IDE controller boards will probably be a one-time deal as board costs increase dramatically with small orders. I only have a few left. Contact me now to get yours before they are gone.

We will once again turn our attention to the software changes needed to take full advantage of this new capability. Stay tuned for great things to happen.

Steven W. Vagts, Editor, "Z-100 LifeLine"







IDE Controller

NVsRAM Programming







The IDE controller has several important features:

  • The board has two IDE 40-pin connectors capable of using several common IDE devices.
  • The board has a bootable and programmable NVsRAM (often referred to as the Eprom chip to stay standard with the terminology used on the Z-100 LLSCSI Controller Board and software).
  • The board has a hardware Breakout switch located at the upper right corner of the IDE controller card. The breakout switch is helpful for troubleshooting software and provided access to the Z-100 ROM monitor diagnostics and capabilities.
  • The board has a header just to the left of the left IDE connector that has a LED indicator plug attached (not shown in the picture). This plug has a green LED and five red LED's to act as an NVsRAM and IDE device status indicator. The right-most two pins are available for a remote Breakout Switch (not included).

Many of these functions will be addressed further below.


WavesBullet     The Altera Chip


The Altera Chip is the IDE Controller's Heart.


The programmable Altera chip, EPM7064SLC84, controls several IDE Controller Card's functions:

  • Read/Write functions to the NVsRAM
  • Read/Write functions to the IDE connectors
  • Processing the Breakout switch
  • Provides automatic Wait States for the Controller

A programming header is provided just below the LED header. It requires reconfiguration of the pins and some jumpers when not being used. The programming of the Altera chip is beyond the purpose of this article. I recommend that you try the Altera website,, for further information.

WavesBullet     The Breakout Switch

The Breakout switch is located just to the lower right of the right IDE connector on the top of the board. Pressing it energizes the circuitry just below the Altera chip on the left side to stop the present DOS activity at the DOS prompt and return the computer to the hand prompt. From there, the operator may use any of the monitor commands to test the computer, access certain points in memory, or perform other simple functions. To return to the program press {G}o and the {RETURN} key twice. The operator is returned to the DOS prompt to continue DOS operations.


WavesBullet     NVsRAM (Eprom)


The NVsRAM (Eprom) is the IDE Controller's Brain

The NVsRAM (Eprom) with Real Time Clock, Z-100 Boot Code and other Programs provides the programs necessary for the Z-100 to operate. It has 512K sRAM for loading the boot code, other programs, and also contains a real time clock in the last sector. It is programmable on the card using local software. The remainder of this document will address this capability.


WavesBullet    Drive LED Indicator:

Located to the left of the IDE connectors is a row of Light Emitting Diodes (LEDs) on the top edge of the board. From left to right, these indicate:

  • NVsRAM Read Operation. This green LED lights whenever the NVsRAM is being Read.
  • NVsRAM Write Operation. This red LED indicates NVsRAM Write processes and should only illuminate when the NVsRAM is being written to.
  • IDE1 Master Read/Write. These work like a typical hard drive LEDs.
  • IDE1 Slave Read Write.
  • IDE2 Master Read/Write.
  • IDE2 Slave Read/Write.

This indicator is a plugin device that may be replaced with leads to a front plate indicator, if desired. The two right-most pins are left unused and may be connected to a remote Breakout Switch, if desired.


Reprogramming the NVsRAM (Eprom):

Every system has been shipped with a preprogrammed NVsRAM for the type of system expected, that is, with or without an MFM hard drive system installed. The NVsRAM is bootable and is designed to be the primary boot device. However, should you desire to change the NVsRAM's programming or if the NVsRAM should lose it's programming for some reason, it can be easily reprogrammed.

The NVsRAM chosen for distribution was the Texas Instruments BQ4850YMA, a 512Kb NVsRAM (non-volatile static RAM) model with real time clock. The Dallas DS1647Y model has similar capabilities and is a direct replacement, if necessary. While these models use only 32 pins, the 36-pin socket was installed to allow using the larger 1024Kb models from both companies. However, if these models include real time clocks, additional hardware and software is required to process this capability. Some clock models include alarms and wakeup capability!


CAUTION:  When installing the 32-pin NVsRAMs, ALWAYS leave the four empty pins of the socket to the LEFT! A jumper, located just above the NVsRAM socket, is also required to be modified and jumpered to accommodate the 36-pin units.

Note:  Another 2-pin jumper is located just above the NVsRAM that can be cut to ensure write protection to the NVsRAM. When the trace between the pins is cut on the back of the board and a jumper is NOT installed, the NVsRAM will be WRITE-PROTECTED.

The easiest means of reprogramming the NVsRAM is to reload the original programming, using the utility EPWRFILE and a disk image file, EPTEST.DAT. For those individuals who ordered IDE devices with their IDE controller boards, the EPTEST.DAT file was already created by me and saved in two directories on the IDE device: \EPROMPGM (Eprom Programming) and \ORGEPROM (Original Eprom). For those installing their own IDE devices, I recommended in the installation procedures that you do the same using the procedures provided in the next section.

Creating an NVsRAM (Eprom) Image File - EPTEST.DAT:

1.  Create two subdirectories on your IDE or MFM drives: \ORGEPROM and \EPROMPGM.

2.  Copy all the NVsRAM files to BOTH of these directories.

3.  Finally, change the default drive to one of these partitions and run the EPRDFILE utility. This utility will create the file EPTEST.DAT containing an image of the NVsRAM's programming in the file.

4.  Copy the EPTEST.DAT file to the other subdirectory as a backup.

NOTE:  The EPWRFILE uses the image file created by EPRDFILE to reprogram the NVsRAM on the IDE Controller Board. However, it presently appears that we cannot run EPWRFILE with the data file, EPTEST.DAT, located on an IDE device. If the data file is stored on an IDE device, EPWRFILE will appear to work properly, with the IDE LED flashing and it will report that the file was successfully written to the EPROM (NVsRAM), however, if you look carefully you will see that the red NVsRAM LED is NOT flashing, and the file was NOT written to the NVsRAM. Be sure to copy all the programming files, including the EPTEST.DAT file, to an MFM hard drive or create a 3.5" floppy disk and store them there.


Reprogramming the NVsRAM (Eprom) from the EPTEST.DAT file:

1.  If able, boot to the NVsRAM (Eprom) as usual and change the default drive to the MFM hard drive or 3.5" floppy drive containing the reprogramming files.

2.  Run EPWRFILE and watch the red Eprom programming LED to ensure the operation is working.

3.  Reboot to the NVsRAM (Eprom) as usual using the command {B}oot {F4}s. If the programming was successful, the system should boot to the NVsRAM.

4.  If that was not successful, proceed with the following procedures:


Reprogramming the NVsRAM (Eprom) using the Programming Configuration Procedures:

1.  Boot to the MFM drives or the Z-DOS v4.06 floppy disk.

2.  Interrupt the boot operation when the computer asks to load an alternate Configuration File (you have 3 seconds to press any key).

3.  Press {P} to set the Programming Eprom procedures.

4.  A new line will be added to the Boot screen:

F: EEPROM /CLOCK(Programming)

5.  Note the new drive letter listed for programming the Eprom, as you will need this later.

6.  Change to the MFM \EPROMPGM directory or to the 3.5" reprogramming Floppy created earlier.

7.  Run EPROMPGM X:, where the X: is the drive letter for programming the Eprom.

8.  Once completed, the NVsRAM will be completely programmed and hopefully bootable.

9.  Reboot to the NVsRAM using the command: {B}oot {F4}s.

10. If successful, return to the programming directory or 3.5" reprogramming Floppy and run EPRDFILE to update the EPTEST.DAT file. Hint: You can change the name to another file name to protect the original EPTEST.DAT file, in case you need to return to the original programming for some reason. Might I suggest EPTEST.01, etc.

11. If not successful, please repeat the procedures, or call me.


Changing the programming of the NVsRAM (Eprom):

To change the programming of the NVsRAM on the fly, be sure to reboot in the programming mode, copy or delete any files to the NVsRAM as necessary, and finally run CHKSUMEP to create a new checksum on the NVsRAM. However, there is the possibility of really messing things up. I highly recommend just editing EPROMPGM.BAT with EDLIN or another line editor and simply following the above procedures. It does everything automatically.



I hope you found this document useful. I have found this new booting capability to be extremely fast and reliable and hope you do also. If you have any questions or need help, don't hesitate to e-mail me.







Z-100 LifeLine

IDE Controller Card








The new Z-100 LifeLine IDE Controller Cards have been assembled and shipped. The board appears to work well with nearly everything we can throw at it, including the new Compact Flash (CF) memory cards, but when I tried the Disk-on-Module (DOM) memory units, the one I was testing was a bit flaky - sometimes not recognized correctly. So I can't recommend those.

There are still a few extra boards available. Contact me NOW!

And don't miss the article on the First Operational IDE Controller in the Z-100.


WavesBullet     Z-100 LifeLine IDE Controller Board FEATURES:

  • Two IDE drive connectors which can each have a master and a slave
  • Compact Flash memory cards or Disk On Module(DOM) plug-in memory devices can replace any or all of the IDE hard drives.
    • These are prepared in the same manner as their hard drive cousins.
  • A 512Kb non-volatile sRAM chip provides:
    • FAST boot code
    • Room for other programs for FAST access
  • A Real Time Clock recognized by Z-DOS is on the NVsRAM chip
  • Two NVsRAM LED's and four IDE Drive LED's to show drive activity
  • Hardware Breakout Switch
  • Gold-plated S-100 bus connector fingers



  • The IDE Controller requires a Heath/Zenith H/Z-100 series computer with:
    • A minimum of 192Kb motherboard RAM
    • A Z-ROM v4.3 monitor ROM
    • Z-DOS v4.06 Operating System
  • Some limitations are also imposed on the IDE hard drives:
    • Drives can retain any PC Operating System, which could still use a 16-bit FAT (e.g., Windows 9x) or 32-bit FAT (e.g., Windows 98SE).
    • Each Z-100 accessible partition will be limited to 2 GBs in size (imposed by the maximum 16-bit FAT that would be usable by the Z-100)
    • Maximum drive size that could be used with the Z-100 will be 137 GBs, as limited by the 28-bit LBA addressing standards before ATA/ATAPI-6.
    • We have found that some software (e.g., Peachtext 5000) do NOT recognize partitions having sizes greater than 32Mb. We recommend creating one or two 30Mb partitions on each drive for use with this software.
    • The IDE drives will ONLY be recognized by Z-DOS v4.06. No previous versions of DOS, nor other operating systems, will recognize the IDE drives. We hope to modify other operating systems to use the IDE drives in the future.


NOTE:  Newer drives, larger than 137 GBs, are already on the market that meet the new 48-bit LBA addressing standard of ATA/ATAPI-6. Presently, it does not appear that these will be supported by the Z-100. This isn't presently considered a problem because at 2 GB each, what is a person already going to do with 67 partitions?


WavesBullet     The Z-100 LifeLine Design Team:

  • Charles Hett is Hardware Guru
  • John Beyers is Software Guru
  • Steve Vagts is Z-100 LifeLine Editor and Project GoFer


WavesBullet     Project Conception:

The LLIDEHD driver is key to the success of PC/Z-100 interchangeability, enabling us to retain the use of our IDE hard drive in a PC and as a means for transferring data between the PC world and our Z-100's. This can be accomplished by simply placing the information on the drive in a format recognized by both systems. Further, since we have complete control over all aspects of doing this from a Z-100's perspective, it is possible to leave a primary partition on the IDE drive that would contain the PC's Operating System (Windows) that would be completely undisturbed by operation in the Z-100. In short, this means that we could use a properly prepared system drive from a PC, place it in the Z-100 to work on or transfer data files, then return with the information for processing on the PC. In broad terms, this involves assigning one or more partitions on the IDE drive for use on the Z-100.

As presently conceived, there will be three ways of preparing an IDE hard drive for use in the Z-100. The first, easiest, and preferred method is to use the PC in which the drive may be used. We say this because there are so many different PC's and operating systems. The only way to ensure troublefree operation in a PC is to prepare the drive in that machine.

For those less interested in PC interchangeability, there will eventually be two methods of preparing the IDE drive once installed in the Z-100. One would use a Z-100 version of FDISK. The other would be a quick and dirty format similar to that done on a floppy drive. This last version would not provide any means of compatibility with a PC. Both programs are on hold, waiting for someone with the necessary expertise and time to work on them. In the meantime, we will stay with the PC procedures.

Procedures for programming the IDE devices is provided at IDE Preparation.

Procedures for programming the NVsRAM is provided at NVsRAM.

And don't miss the article on the first operational IDE Controller in the Z-100 at Z-100 IDE Operational.


WavesBullet     Project Status, as of July 2019:

The IDE Controller boards have all been assembled and all pre-orders have been filled and shipped. While everything we have been throwing at the new boards, including the new Compact Flash (CF) memory cards and Disk-on-Module (DOM) memory units, have been working, we have found that the DOM units require that U9 and U12 be changed to 74HCT245 chips. This is being investigated further.

Several problems have already been recognized and still need to be addressed:

  • Software Not Recognizing IDE Partitions - Without going too deep into details, we have found that PeachText 5000, and probably other early software, do not know how to deal with partitions larger than 32 Mbs in size, probably due to memory addressing limitations. When we created some smaller partitions on our IDE drives, they were recognized and used by Peachtext 5000 just fine. The easiest workaround is to ensure that there is at least one 32 Mb partition on the new IDE drives for use by those applications that won't recognize anything larger.
  • With all the new drive partitions being placed on the IDE devices, and acerbated by the requirement to have one or more smaller (<32Mb) partitions, it has become very evident that a Partition Listing utility is required to perform the same function that ZDIR does to directories and files.
  • It appears that the Editor in Peachtext 5000 has scrolling problems with the latest Z-ROM chip. This requires confirmation and troubleshooting.
  • The Heath/Zenith Disk-based Diagnostics Program, DIAG, is giving false errors when running the system memory tests from an IDE device, including the NVsRAM. The symptoms vary, but may include freezing the computer, giving 'Wild Interrupts' or 'Divide by Zero' errors, scrambling info on the screen, false error reports, inconsistent operation, and other unexplained symptoms. After days of tracking this problem down, we think that it appears whenever SHARE.EXE is loaded. SHARE is required for using disk partitions greater than 32Mb in size. Until this is figured out, always run DIAG from a floppy drive and do NOT load SHARE.
  • There appears to be a problem with some PC clones not recognizing Compact Flash (CF) cards when placed on the same IDE connector as other drives. This requires further testing on both the PC and Z-100 machines.
  • CAUTION:  Do NOT use WINDOWS to prepare and program your new IDE drives. While very tempting to just copy files and directories at the touch of a mouse, Windows places file volume names on all media during file transfers. These are seen on the Z-100 as additional volume labels and are NOT erasable at the present time. While they apparently cause no harm, they are listed with all the other file names and litter the start of the directory. Use a DOS startup disk and the DOS XCOPY utility to do your file transfers. The Z-DOS version of XCOPY works just great.
  • WARNING:  Do NOT place a Z-100 bootable floppy disk in a PC for file transfers. The PC Windows system now writes a unique 8 byte disk ID to the boot loader on sector 0 of floppy disks, trashing any previous information! For more information read the article "DANGER! - Understanding Disk Volume Tracking in Windows" in issue #84 of the "Z-100 LifeLine".
  • John Beyers is no longer available. So work on software issues has slowed to a crawl. I'm looking for others with experience in assembly language to assist me in deciphering much of John's work so that we may continue to develop the remaining software to make maximum use of our new capabilities.

We are presently relying on the PC's Free FDISK to prepare the IDE drives on a PC. It is unknown when we will get to work on the FDISK and PCFORMAT programs to prepare the IDE drives while installed on the Z-100 computer. The next section discusses the FDISK problems in detail.

WavesBullet     FDISK Problem:

While troubleshooting the Peathtext 5000 problem mentioned above, I tried a 64Mb Compact Flash 'CF' Card on a PC. I made two 32Mb partitions on it to try with PT5000 and ran SCANDISK on each partition - yet, every time I booted with it in the Z-100, the second partition was always listed as NO NAME. Nevertheless, COPY and FC (File Compare) operations were all successful, or so I thought. I also tried two Caviar 1210 drives with similarily sized partitions with the same results. The COPY and FC operations were also fine.

Again without going into details, it seems that:

  • While all partitions and partition sizes are being recognized, their assigned labels are not. The bootup screen shows the first partition name correctly, but the rest are all reported as "NO NAME".
  • Large partitions (those >32mb) are working great, even if listed as "NO NAME". ZDIR recognizes the directory and new files are added correctly to the FAT.
  • Small partitions (those <32mb) are not working at all. ZDIR shows the directory as garbage or no files listed at all. New files are copied to the FAT correctly and File Compares are fine. However, once the drive is returned to a PC, the newly added files are NOT listed in the FAT. SCANDISK reports a difference in the two FATs and, feeling that FAT1 is correct, wants to replace FAT2 with FAT1. This results in the new files added by the Z-100 as being lost and is reported by SCANDISK as lost data! Further, a 512Kb file (my EPTEST.x file) is reported as 2Mb of lost data!


WavesBullet     Free FDISK and Bug:

Note:  This version of FDISK.EXE is from FreeDos version 1.2.1. John Beyers has reported that it has been run successfully on the Z100 with MFM hard drives, but to run on the Z-100, it needs ZPC installed and you must be in PC Mode. The .INI files must be placed in the same directory as FDISK.EXE. Free FDISK is available from:

Charles Hett, who liked using Free FDISK instead of the Windows FDISK that I was using, was having different symptoms. His disks were all working properly, but showed size discrepancies on the boot screen.

Later, when Charles tried using a Windows 98 version of FDISK, he had problems partitioning a Samsung 1.5Gb drive into two 32Mb partitions and one 1.44Gb partition. While FDisk seemed to work fine preparing the drive, and the partitions checked OK with CHKDISK and Norton Disk Dr, when the drive was placed on the Z-100, the partitions were recognized but were reported as using an unrecognized format that could not be read from or written to. He then repeated the entire process using Free FDisk and everything worked fine.

Well, when I tried using Free FDISK, I've found that Charles was correct - that drives partitioned with Free FDISK work correctly, with one exception that I've found so far. Version 1.2.1 that Charles sent me seems to have a bug in judging the size of the last partition. If I create the last partition by using either the default - when the program asks if I wish to use all remaining space and making it the active partition - or if I answer NO and set the amount of memory myself using the amount the program says is left, it seems to be 1Mb too large and causes a problem.

For example, using the amount of memory for each partition that I had been using with WIN98's FDISK, there should be 28Mb remaining on the Caviar 1210 drive that I had been using. The Free FDISK program reports that there is 29Mb left, but if I use the default and answer YES to the question, the memory changes to 28Mb when it is accepted anyway. And, if I place the 29Mb in myself, the program will still replace the 29 with 28Mb.

But, it doesn't stop there either. With the 28Mb size for this last partition - whether automatic or if I place the 28Mb there myself, SCANDISK has a problem with this last partition. Every time I create the last partition and then FORMAT (OK), and copy files to it (OK), when I run SCANDISK on that last partition, it reports:

"SCANDISK cannot read from the last cluster on Drive x. This cluster is either damaged, or your system is not configured properly. Drive x may need to have Logical Block Addressing (LBA) enabled to work properly, or its disk partition may be incorrectly marked as a non-LBA partition. Data loss can occur if your LBA setting or disk partition type for this drive is misconfigured."

In actuality, when SCANDISK does the surface scan, it starts calling ALL of the last 100 or so clusters as bad. As each cluster is examined, it takes about 3 minutes, so after an hour of examining each of these and declaring it bad, I quit only about half way through. Instead, I had to go back into FDISK and make that last partition 1Mb smaller and then everything was fine.

Note:  On the 512Mb CF card, for some reason, I had to drop 3Mbs because the Free FDISK program would not accept anything less.

On the off chance that Win98 FDISK was having difficulty with the size of this last partition and causing my problems, I repartitioned the drive again with Win98 FDISK and reduced the last partition by 1Mb, but there was no change in the symptoms listed above.

By the way, I also ran the Win95 version of FDISK on the Caviar 1210 drive before going to Free FDISK. It gave ALL the same symptoms as those partitions created with Win98 FDISK, EXCEPT that when using ZDIR, there were no garbage lines in the directory. It would just say that there were NO FILES! So when I copied EPTEST.DAT, that file would be the first one listed! Of course, when the drive was placed back in the PC, all the other files would be listed again, less the new one!

End result:  With the last partition sizes corrected, I've had NO problems using Free FDISK, as Charles has suggested. I've continued testing with IDE drives and many Compact Flash (CF) cards over the years and the results are consistent. If we cannot locate the reason for the Win9x FDISK problems (cluster size or other difficulty) we'll have to use the Free FDISK version to ensure compatibility. Hopefully, by now both programs have been updated, but I continue to use the utilities that work (with the limitations as discussed).

The LifeLine staff feels confident that the IDE Controller Card is now functioning as it should. None of this sounded like a hardware issue with the new boards, but rather, because of the differences of Free FDisk and Win9x FDisk, which should be treating the Format sessions the same, we felt it must be a software issue.

WavesBullet     Closing:

This is an exciting, one-time project, especially since our MFM hard drives have become increasingly difficult to find, and repair is virtually impossible. This board promises to be fantastic! Don't miss out. Contact me as soon as possible to at least reserve your board.








 Z-100 IDE Devices








Z-100 IDE Device Preparation

There are four popular IDE devices in use with the Z-100 IDE Controller. These are:

WavesBullet     IDE Drives



WavesBullet     Compact Flash Memory Plug-in Units in 3.5" Adaptor



WavesBullet     Compact Flash Memory Plug-in Units

IDEcfPlug02     IDEcfPlug04


WavesBullet     Disk On Module Memory Plug-in Units



Considerations and Physical Limits:

These IDE devices are 40-pin units. There are 44-pin IDE devices on the market, but these devices have four extra pins to provide power within the cable assembly. You would have to modify the cable to use these devices.

  • Drives can retain any PC Operating System, which could still use a 16-bit FAT (e.g., Windows 9x) or 32-bit FAT (e.g., Windows 98SE).
  • Each Z-100 accessible partition will be limited to 2 GBs in size (imposed by the maximum 16-bit FAT that would be usable by the Z-100)
  • Maximum drive size that could be used with the Z-100 will be 137 GBs, as limited by the 28-bit LBA addressing standards before ATA/ATAPI-6.
  • We have found that some software (e.g., Peachtext 5000) do NOT recognize partitions having sizes greater than 32Mb, probably due to addressing limitations within the software application. Therefore, we recommend creating one or two 30Mb partitions on each drive for use with this software.
  • The IDE drives will ONLY be recognized by Z-DOS v4.06. No previous versions of DOS, nor other operating systems, will recognize the IDE drives at this time.

We hope to modify other operating systems to use the IDE drives in the future.

NOTE:  Newer drives, larger than 137 GBs, are already on the market that meet the new 48-bit LBA addressing standard of ATA/ATAPI-6. Presently, it does not appear that these will be supported by the Z-100. This isn't presently considered a problem because at 2 GB each, what is a person already going to do with 67 partitions?

TIP:  Unless you are leaving a large FAT32 partition for use in a PC or clone, it is recommended that you look for devices that are about 1 - 2Gb in size for practical reasons.


Programming IDE Devices


  • While it was envisioned that the IDE devices could be prepared on the Z-100, at the present time, it is best to prepare them on a PC or compatible. An older unit running Windows 95 or 98 is all that is necessary.
  • While Windows FDISK will work properly on the larger partitions, we found that it will NOT correctly create partitions less than 32Mb needed to be recognized by the Z-100 operating systems.
  • Free FDISK is available from other sources that will correctly create partitions less than 32Mb, however, it presently has its own bug that will not correctly determine the size of the last partition! Free FDISK is distributed on the CD with each system sold.


Device Preparation Procedures


  • For those that prefer reading or having the printed procedures beside you while you work, a more complete version of the following can be found published as the Insert in the January - February 2005 issue (#97) of the "Z-100 LifeLine". While that information is more complete, with a full discussion on file systems, than the brief description given here, some information presented in that article is dated. Please refer to these procedures as more current - particularly the notes, warnings, and cautions.
  • The 2005 article was written using Windows FDISK, before we found out about having to use some partitions smaller than 32Mb for some software. As pointed out earlier, Windows FDISK has problems creating these smaller partitions and having them recognized by the Z-100. The procedures below will be corrected to use Free FDISK, which has it's own problems, which will be pointed out below.
  • Additional information on the Compact Flash and Disk on Module Units can be found in Inserts to the May 2008 "Z-100 LifeLine", issue #113.
  • Before beginning, you must have some partition plan to follow. This will involve figuring out the size and number of partitions, and also the order. Some users prefer having the smaller partitions first, as these will be the most often used for our applications, such as Multiplan, Word Star, Peachtext, etc. The larger partitions should be used to permanently store the application's source disks, have our full \DOS directory of files (remember to place this subdirectory in the PATH command line of your AUTOEXEC.BAT file), or used for backup copies of the smaller partitions.
  • Also, you must consider the environment that the IDE devices will be operating in. Will this IDE device be the only hard drive on the computer, or will it be installed with an MFM system? The NVsRAM on the IDE Controller should be programmed accordingly. I can send you a disk for reprogramming the NVsRAM for either system, if necessary.
  • The Z-100 IDE Controller does not care if the IDE device is master or slave, unless more than one device is placed on either controller. The software driver will automatically detect each IDE device.
  • The IDE device can retain its boot partition from a PC, if necessary, as long as this partition is using the FAT32 filing system - used my most later versions of Windows. This filing system is not recognized by the Z-100 IDE system and is therefore blind to it. Be sure not to destroy this partition (must be first) while using FDISK.
  • If you are going to use Free Fdisk, I recommend having it on its own floppy disk and then just install that disk when you are ready to run FDISK. Do NOT mess with your PC's Startup Disk, unless you have a spare.

CAUTION:  You must have access to an IDE connector in your PC and a Windows Startup Disk. As you are playing with FDISK, to avoid damaging the PC's own hard drive, I recommend disconnecting it from the system to avoid inadvertently reformatting the wrong drive!! It will not be needed and can be reconnected after all this stuff is done.

WARNING:  Changing or deleting partitions will permanently delete any data that was on the partition and it cannot be retrieved! Back up everything that is important to you before you use FDISK.

Finally, after reading all this, if you are uncomfortable doing any or all of this, or if you don't have access to a PC that you care to mess with, don't hesitate to call or e-mail me. I have some spare drives & other devices and can do all this for you, including creating the software for your complete Z-100 system for reasonable prices.

Now, let's get started.

To Partition an IDE Device:

  • Open the PC and remove the IDE cables to the internal hard drive and any CD/DVD devices. These will not be used.
  • Insert the Startup Disk in the floppy disk drive of the PC.
  • Power up the PC. It should recognize the Startup Disk in Drive A: as the boot device automatically. If not, or if the IDE device has an operating system on an active partition, enter the BIOS and look for an entry that changes the boot device. It may be set for the hard drive only. Change it to "A,C".
  • When the Windows Startup Menu is displayed, select the Start computer without CD-ROM support menu option, and then press {ENTER}.
  • At the command prompt, A:> you may wish to use Windows FDISK to view the existing partitions, but if you are ready to create some partitions less than 32Mb, I recommend swapping out the floppy disk with the one that has Free FDISK.
  • Type FDISK and press {ENTER} when ready.
  • If your IDE device is larger than 512Mb, you may receive the following message:

Free FDISK is capable of using large disk support to allow you to create partitions that are greater than 2,048Mb by using FAT32 partitions. If you enable large disk support, any partitions or logical drives greater than 512Mb will be created using FAT32.

IMPORTANT:  If you enable large disk support, some operating systems will be unable to access the partitions and logical drives that are over 512Mb in size.

Do you want to use large disk (FAT32) support (Y/N). [Y]?

Unless to are going to keep a large FAT32 active partition with a Windows Operating System on it, you can press {N} and {ENTER}. If you press {Y}, however, and keep your partitions smaller than 512Mb, you would still be fine.

  • The opening screen next becomes (note, the text will be centered on your computer):

Free FDISK Version 1.2.1

Fixed Disk Setup Program

GNU GPL Copyright Brian E. Reifsnyder 1998-2003

FDISK Options

Current Fixed Disk Drive: 1

Choose one of the following:

1.  Create DOS Partitions or Logical DOS Drive

2.  Set Active Partition

3.  Delete partition or Logical DOS Drive

4.  Display partition information

Enter choice:  [1]


  • Pressing {4} will display the present partition information. For example, for my Seagate ST31276 drive, it displayed the following:

Display Partition Information

Current fixed disk drive: 1

Partition  Status  Type        Volume Label  Mbytes  System    Usage

C: 1         A        PRI DOS   ST31276A       500        FAT 16     41%

 I: 2                   PRI DOS  ST31276G       500        FAT 16     41%

    3                   Ext DOS                           221       Extended  18%

Total disk space is 1223 Mbytes (1 Mbyte = 1048576 bytes)

The Extended DOS Partition contains Logical DOS Drives.

Do you want to display the logical drive information (Y/N)......?  [Y]

Press {ESC} to return to FDISK options


  • Pressing {Y} and {ENTER} gave the following:

Display Logical DOS Drive Information

Drv  Volume Label  Mbytes  System  Usage

D:     ST31276B       100      FAT 16    46%

E:     ST31276C         32      FAT 16    14%

F:     ST31276D         32      FAT 16     14%

G:     ST31276E         32      FAT 16     14%

H:     ST31276F         26      FAT 16      12%

Total Extended DOS Partition size is    221 Mbytes (1 Mbyte = 1048576 bytes)

Press {ESC} to continue_


Pressing {ESC} takes us back to the FDISK Options Menu.

  • Before you create partitions, unless you have a new drive, you will have to delete some partitions. So press {3} to go to the delete Partition screen:

Delete DOS Partition or Logical DOS Drive

Current fixed disk drive: 1

Choose one of the following:

1.  Delete Primary DOS Partition

2.  Delete Extended DOS Partition

3.  Delete Logical DOS Drive(s) in the Extended DOS Partition

4.  Delete Non-DOS Partition

Enter choice [_]

Press {ESC} to return to FDISK options


  • As you saw how my partitions were laid out, I'd have to delete the Logical Drive letters one at a time working my way up the partition list until I had all the space that I needed to repartition as I wished. On most existing drives they will have probably two primary partitions and probably one Extended Partition divided into one or more drive letters. Referring to your desired partition plan, you may have to delete everything before you can proceed. Just follow the choices until you have completed what you need.

Note:  Remember to leave one Primary Partition, of sufficient size, for your PC if you are planning to use the IDE device as your PC boot device. If you are not, the PC will still recognize all partitions and data on the device any time it is plugged into the PC, so transferring data between the PC and Z-100 is just a matter of plugging the device in. This is considerably easier if you install a Compact Flash device in the PC and Z-100.

  • Once you have completed deleting, you are ready to recreate the new partitions. From the FDISK Option Menu, select {1}. This brings up the menu:

Create DOS Partitions or Logical DOS Drive

Current fixed disk drive: 1

Choose one of the following:

1.  Create Primary DOS Partition

2.  Create Extended DOS Partition

3.  Create Logical DOS Drive(s) in the Extended DOS Partition

Enter choice: [_]

Press {ESC} to return to FDISK options


  • Depending upon what you deleted, you can proceed to create partitions accordingly. Most PC systems recognize two to four primary DOS partitions. The Z-100 doesn't care; it can't detect the difference between a primary DOS partition or a logical drive letter. It treats all the partitions the same. One difference of note, however, will be the partition order. As you look at the drive letters above, FDISK listed the first primary and second primary partitions first, then listed the extended partition next, but the second primary partition's drive letter is listed last, I. The physical positioning is as created: First Primary, Second Primary, then the smaller divided up Extended Partition - the same order that the Z-100 will detect. Therefore, the device's drive letters on the PC will NOT match the order on the drives in the Z-100.

Note:  To keep track of drive letters, I recommend giving each partition a name when the partition is formatted, in the order that it was created and will be detected on the Z-100. For example, each of the ST31276 drive's partitions was given the drive's name and a letter to represent it. The first partition was named, ST31276x, where x was A, the second, B, etc. Then when I use ZDIR on a partition, the drive's label is right there to help keep me straight.

Naming your partitions is particularly helpful if you have multiple IDE devices on the Z-100, because the Z-100 detection system has a similar problem to the PC's addressed in the last note. With two or more IDE devices detected, the drives will be listed in the order of:

Master IDE1, first partition

Slave IDE1, first partition

Master IDE2, first partition

Slave IDE2, first partition

Remaining partitions of master IDE1

Remaining partitions of slave IDE1

Remaining partitions of master IDE2

Remaining partitions of slave IDE2

Until all drive letters up to "Z" are used up.


This was done on purpose, expecting that each device would only have one or two partitions. However, we have since found out that many if not most Z-100 software applications will not recognize partitions greater than 32Mb due to address limitations. This forced us to divide the IDE devices into numerous smaller partitions. Unless you name your partitions on each device, good luck keeping it all straight!

How to Format an IDE Device

After you create the partitions, and you are happy with each of their sizes, you must format each partition. It is recommended that this be done from the Windows Startup Disk. While the Z-100 has PCFORMAT that could be used, it is relatively untested. I've used it a few times to fix partitions where the File Allocation Table was messed up by corrupted write operations during testing of the IDE controller and I had great success. But usually I've been using the Windows Startup Disk utilities because these are handy (having just created the partitions here) and they are well tested. I've also had to use SCANDISK to straighten out FAT problems that my testing on the Z-100 had created.

  • Restart the PC computer with the Windows Startup Disk. This is to recognize the new partitions that were created with FDISK or Free FDISK.
  • Run FORMAT X:, where X: is the drive letter of the new partitions detected by the PC. These will start at drive C: and go up from there. Remember, the partition order will be different from that which will be given by the Z-100. On the PC, the Second Primary Partition will have the last drive letter - with exceptions. For example, if you used three or four primary partitions, without any logical drives, the order will remain as expected!
  • When FORMAT asks for a volume label, give it one. I suggest it be the drive model number and a letter. The volume labels are given during directory listings.