H8 Dual CF (Compact Flash) Drivers and Applications (v2.0) Document date: March 5, 2023 11:57 - INTRODUCTION This document explains how to install and use the Dual CF board drivers and applications. There are separate HDOS drivers for each channel: HA.DVD - driver for channel 0. HB.DVD - driver for channel 1. The drivers support multiple logical drives on a single device. Due to the sector limit of 65535 on HDOS, the maximum size of a logical drive is ~16MB. Either HDOS 2.0 or HDOS 3.0 may be used however HDOS 3.02 is recommended for the best overall experience. CP/M currently uses a BIOS that is specific to the H17 and DCF. Other configurations may become available in the future. For the purposes of this document and to help better understand, the Dual CF Drive hierarchy is as follows: CF Channel: 0 or 1 Logical Drive: 0-n (Where n = the maximum number of logical drives-1) Partition: SY0-SY7 for HDOS, A-E for CP/M NOTE: Please read this documentation thoroughly before attempting. All instructions apply to both OS' unless otherwise specified. - WHAT YOU NEED * H8 w/8080 or Z80 CPU, 64K RAM, H8-4 Serial board, H17 w/2 drives * H8 Dual CF Controller Board (v2.0) w/2 256MB (or larger) CF cards * At least 4 hard sector floppy disks (or soft sector if using a VSG) * PC w/RS-232 serial interface and H8DUtility program installed * RS-232 cable connected between the PC and H8 - FLOPPY DISK CREATION Download the necessary HCFHDOS and HCFCPM files from the SEBHC website. Use the H8DUtilty program running on the PC to create the needed disks using the H8 and H17 floppy drive. There will be 1 disk for HDOS and 2 disks for CP/M. - DRIVER INSTALLATION Using a bootable HDOS floppy disk (which must have: INIT.ABS, PIP.ABS, SET.ABS and SYSGEN.ABS), do the following: 1. Boot HDOS on SY0: 2. Place the driver disk in SY1: and mount it. 3. Use PIP to copy HA.DVD, HB.DVD and HCFBOOT.ABS to your SY0: disk. 4. Erase DK.DVD and LP.DVD files if they exist on the HDOS boot disk. INIT may fail loading the Hx.DVD drivers if these are present. 5. Leave the driver disk in SY1:, reboot HDOS and mount SY1: - HCFPREP - Preparing the CF for use as a drive The HCFPREP utility will detect the number of 16MB logical drives that can be created and will prompt you to select the number to create. Prepare the CF drive using HCFPREP using the following instructions: 1. SY1:HCFPREP 200 (where is 0 or 1) 2. Read the warnings and proceed by typing "YES" and press 3. HCFPREP will display the maximum number of logical drives that can be created. You will be prompted for the number of logical drives you want to create (default is 1). Enter the desired number of logical drives to create and press . You may press at any time to abort. 4. At the prompt to proceed, press P to continue. HCFPREP will now initialize each logical drive for the partition manager, HCFPART. - HCFPART - Creating partitions with the partition manager NOTE: HDOS can only support 256 clusters so the bigger the partition, the more sectors that will be used by a single file. The partition manager has some predefined partition choices. Option 'G' is the recommended choice which creates 8 HDOS drives (SY0-SY7) within the partition. There is a custom option which allows you you customize your own partitions. Partition the CF drive using HCFPART and the following instructions: 1. SY1:HCFPART Hx: (where x is A for channel 0 and B for channel 1) 2. At the prompt to proceed, press P to continue or to abort. 3. Ignore the WARNING / Error messages regarding Bad Sector Table(s) and Superblock Checksum(s) and press at the prompt. 4. The existing partition map will be displayed and you will be asked if it is OK. Press 'Y' to proceed. 5. A list of predefined partitions will be displayed. Unless you are familiar with partitioning, it is recommended that you select 'G' which creates 8 equal size HDOS drives or select 'A' for all CP/M. 6. The partition map will be redisplayed. Press 'Y' to continue. 7. Press when prompted to enter a boot string. 8. Press to NOT print the partition information. NOTE: Repeat the above steps 3-8 for each logical drive until done. - INITIALIZING THE PARTITION(S) Now that you have prepared and partitioned the CF drive, you may now initialize each logical drive / partition using the HDOS INIT utility or with CP/M use FORMATHF. ** HDOS ** NOTE: You may only use one logical drive at a time on each channel. To select the desired logical drive, use the HDOS SET command. 1. SET Hx: DRVNUM n (Where 'x' is 'A' for HA.DVD Channel 0 or 'B' for HB.DVD Channel 1) (Where 'n' is the logical drive number 0 - # of drives created-1) 2. INIT 3. At the "Proceed..." prompt, Type 'YES' and press . 4. Press after removing the floppies. 5. Follow the prompts and answer the questions. When prompted for: "Clear the entire partition?", type 'NO' and press . (It's not necessary or desired to re-INITialize the CF drive). 6. At the "Enter Bad Sectors" prompt, press . 7. At the "Ready?" prompt, press . 8. At the "Device ?" prompt, enter the next partition Hxn: and press -or- press to quit and proceed to step 9. NOTE: Repeat the above steps 5-8 for each HDOS drive (Hx1-Hx7) 9. At the "Do you have..." prompt, reinsert the HDOS boot disk into SY0: and press to return to the HDOS prompt. NOTE: Repeat the above steps 1-9 for each logical drive (0-n). ** CP/M ** NOTE: The CP/M H17 HCF BIOS currently supports 3 H17 drives and up to 5 HCF drives (~16 MB each) for a total of 8 drives. It is suggested that any CP/M partitions greater than 5, instead be used for HDOS. The CP/M CF card MUST BE INSTALLED IN CF0 when performing the following steps. It may be relocated to CF1 after SYSGEN is performed. 1. Using the CP/M disk with H17 HCF BIOS, boot CP/M on the H17 2. FORMATHF 3. At the "Is that what you want?" prompt, type 'Y' and press 4. Select which drive to format by pressing the letter (D, E, F, G, H) 5. After formatting the drive(s) press 'Y' to format another or 'N' to exit. 6. Press to warm boot CP/M, the formatted drives should now be accessible. NOTE: If you want to make changes to a partition after being created, you can rerun HCFPART and use to skip over any partition you don't want to change. - MAKING THE CF BOOTABLE ** HDOS ** HCFFXBO - Will fix the HDOS partitions and make them bootable To be able to boot a logical drive, the booter that INIT installed must be fixed up. There is necessary information that must be written which INIT doesn't do. After all logical drives / partitions are INITialized do the following: 1. SY1:HCFFXBO 200 (Where channel is 0 or 1) It will go through all logical drives / partitions. In order to make a logical drive / partition bootable, you must run SYSGEN on each one you want to boot from. Do the following: 1. SET Hx: DRVNUM n (Where 'x' is 'A' for HA.DVD Channel 0 or 'B' for HB.DVD Channel 1) (Where 'n' is the logical drive number 0 - # of drives created-1) 2. SYSGEN *.* Follow the prompts and choose device Hx0: as the destination. NOTE: Do NOT SYSGEN drives Hx1-Hx7 as they won't be bootable. Repeat the above steps as necessary for each logical drive. NOTE: SYSGEN will swap the SY.DVD and Hx.DVD drivers on the destination CF drive. It is recommended that you rename the Hx.DVD file on the CF drive to DK.DVD (for H17) in order to avoid confusion with the drivers. ** CP/M ** 1. Using the H17, boot CP/M HCF disk #1 in drive A, disk #2 in drive B 2. SYSGEN 3. At the SOURCE DRIVE NAME: prompt, type B 4. At the SOURCE ON B: prompt, press 5. At the COPY BIOS.SYS (Y/N): prompt, type Y 6. At the DESTINATION DRIVE NAME: prompt, type the drive letter for the desired drive or press to reboot. Follow the directions and repeat Step 6 as necessary for each logical drive (D-H). - BOOTING THE CF DRIVE * To boot the CF from floppy, do the following: 1. Boot up the HDOS or CP/M HCF boot disk using the floppy drive 2. HCFBOOT (skip ahead to step 3) * To boot the CF using the H8-5 Cassette / Serial I/O board: HCFBOOT.H8T is a program that may be downloaded to the H8 through the cassette tape portion of the H8-5 Cassette / Serial I/O board using the RealTerm (or similar) program on your PC. Once downloaded, press 'GO' on the H8 keypad. Skip ahead to step 3. * To boot the CF using the HCFXCON8 ROM (must be installed on CPU board): 1. Ensure the H8 has been reset by pressing 0 and RST/0 simultaneously 2. Enter the following H8 keypad sequence: MEM 000 362 OUT REG PC ALTER 020 000 ALTER GO 3. The H8 front panel will display: "CF 0-1". Using the H8 keypad, press the desired channel number (0 or 1) to boot from. The H8 front panel will display: "Ld0 - 06 00". Press a key, 0-6 on the keypad to select the desired logical drive to boot from then press the # on the keypad to boot from the CF or press * to cancel. NOTE: For you Star Trek or Big Bang Theory fans, HCFBOOT often displays Klingon messages on the H8 front panel while booting the CF! Enjoy! - DEBUGGING UTILITIES ** HDOS ** HCFIDNT 200 displays a hex / ASCII dump of the CF device identity information. HCFDUMP 200 displays a hex / ASCII dump of sector 0 along with sectors 29H and 2AH for each logical drive. This information is used to verify the partition data appears correct. HCFTEST 200 is used to test CF card compatibility by using write / read tests. NOTE: All data on the card will be destroyed! - USING THE CF DRIVE ** HDOS ** Once you have either booted or mounted the CF drive(s), you may treat them as you would any floppy drive. You can copy files using PIP or execute programs as you normally would. If you are using HDOS 3.0, you may wish to add the following lines to the AUTOEXEC.BAT file located on SY0: of the CF drive(s): PROMPT $n$u> MM PATH SY0:,SY1:,SY2:,SY3:,SY4:,SY5:,SY6:,SY7: NOTE: When setting the PATH in HDOS 3.0, an "anomoly" occurs when you INITialize a H17 disk that causes the disk to appear as bad. The remedy is simply to remove the PATH command from AUTOEXEC.BAT. ** CP/M ** Once booted, the HCF drives are A, B, C, D, E and the H17 floppy drives are F, G, H. Each HCF drive is ~16 MB in capacity and function as you would expect. ** H8 tape image stand-alone booter hcfboot.h8t This allows you to load the hcfboot application via the H8-5 serial board using the built in "Load" function of the panel monitor. Once loaded press 'Go' and follow the prompts on the front-panel.