Changes

Jump to: navigation, search

HDCPM

55 bytes removed, 14:13, 1 August 2022
<br />
====Introduction====
HDCPM is an Amstrad CPC application that enables your computer to boot and run CP/M Plus from a mass storage device. A maximum of four 8MB partitions or virtual disks can be used to make the vast amount of 32MB of data available to CP/M Plus.<br />
HDCPM is free software. It can be used and distributed with no restrictions.<br />
<br />
 ====Prerequisites====
* Amstrad CPC/Plus computer capable of running CP/M Plus.
* ROM box or other ROM expansion hardware if using the ROM.
* Optionally a Symbiface II compatible RTC.
<br />
 ====Restrictions====
* CP/M 2.2 or lower is not supported.
* In case of a patched or non AMSTRAD CP/M Plus the BIOS, BDOS, SCB base addresses must be equal to the ones used by the official distribution of the AMSTRAD CP/M Plus.
* In case a Dobbertin Harddisc is also used you can't change its drive letters (D, E, F, G) as they are hard coded in the Dobbertin driver. Use the HDMGR utility to assign other available drive letters to your IDE drive, images or partitions. If you use the same numbers for your IDE media then the corresponding HD20 partitions will be unavailable under CP/M.
<br />
 ====How it works====
Using the ROM:<br />
Upon computer power-up the HDCPM ROM will be initialized and will inform you of the presence of a compatible interface and RTC. Two bytes of RAM will be reserved for storing the interface type and M4 board ROM number (if found). The boot loader can be started by executing one of the following commands:
Any CP/M 3.0 compatible system that loads the BDOS, BIOS, SCB to the default AMSTRAD CP/M addresses should work. HDCPM will be able (hopefully) to patch it on the fly.<br />
<br />
====CP/M Plus disk image files====
A CP/M Plus disk image file is a raw binary image of a CP/M hard disk or partition. Its name must be in the form CPMDSK0x.IMG where x=1, 2, 3 or 4 in order to be recognized by HDCPM. The size of the file depends on the Disk Parameter Block of the virtual hard disk it represents and for the initial release of HDCPM it is fixed and equal to 1 reserved track * 256 sectors per track * 512 bytes per sector + 8MB data = 8519680 bytes. If possible create your CPMDSK01.IMG file in a modern computer and copy it in the root directory of your FAT formatted medium. You can use the free online hex editor hexed.it or any hex editor capable of creating binary files filled with a specific pattern.<br />
In case of hexed.it select 'New file' fill in 'Size of the new file = 8519680' and 'Fill Pattern = 0xE5' and press apply. Save the file as CPMDSK01.IMG If you have a FAT capable DOS installed in your AMSTRAD you can use the provided MAKEIMG.BAS utility to create your image file. Keep in mind that it takes more than 1.5 hour for a 8MB image file to be created that way.<br />
A CP/M image file can easily become fragmented during its creation, especially if the hard disk is nearly full. I advice you to create/copy your CP/M image files to your FAT formatted hard disk/partition while it is still empty. HDCPM will never fragment a CP/M image file.<br />
<br />
====CP/M Plus disk/partitions====
You can also create one or more partitions in order to format them to CP/M file system and use them exclusively for CP/M. In such case you must make sure that the size of the partition is big enough to accommodate your file system.<br />
HDCPM examines the hard disk's MBR upon start and finds the partition information. Then it finds the LBA of the first sector of each partition and passes it to the CP/M hard disk driver. The CP/M hard disk driver doesn't know anything about partitions. It accesses the partition as if it was a real hard disk.<br />
This configuration is only to be used with Symbiface II or uIDE-16. USB flash disks and SD cards should not be partitioned as they will not be detected by their interface ROM.<br />
<br />
====Installation====
Using the ROM:<br />
* Install the HDCPM ROM in a free ROM slot of your ROM box.
* You are ready to go.<br />
<br />
====ROM commands====
* |HDCPM mounts the hard disks and boots CP/M Plus. If USIfAC II is used enable the USB disk with the |USB command first.
* |HDCPMT works like |HDCPM but also utilizes the RTC.
* |TIME displays the current time. If M4 Board is used |DATE and |TIME will be redirected to M4 |TIME.<br />
<br />
====The HDCPM binary file====
* If USIfAC II is used, use your PC to copy HDCPM.BIN to your USB flash disk. Then insert it to your USIfAC II power up your Amstrad and enable the USB disk with the |USB command.
* Execute the file from the floppy disk or from your mass storage device with RUN"HDCPM". HDCPM will detect your mass storage interface and you will see the initialization message: 'CP/M+ Hard Disk boot loader v1.04' Then it will mount any available hard disk images and boot CP/M Plus.
* M4 board and USIfAC II use their own FAT aware DOS so you can run HDCPM.BIN directly from their mass storage device. For all the other interfaces you will need to have a FAT aware DOS, like CubeMDOS or UNIDOS, installed.<br />
<br />
====The MAKEIMG.BAS and MAKEIMG.EXE utilities====
MAKEIMG.BAS<br />
Although this utility should not be your first option, you can use it to make a new empty CP/M disk image file.<br />
MAKEIMG.EXE has been developed with Quigs* for Symbos.<br />
<br />
====The HDMGR.COM utility====
This is the Hard Disk Manager utility.<br />
You can use this utility to get information about your hard disk geometry, disk image files, partitions and boot sector. You have to use this utility to format a hard disk, disk image file or partition to CP/M format or manipulate the boot sector of the hard disk and/or transfer an .EMS system file to the reserved track of the hard disk.<br />
The HDMGR.COM utility is self explanatory. Just run it from the CP/M command prompt.<br />
<br />
====The RTC.COM utility====
If you need the 470 bytes of RAM that the integrated RTC driver occupies then you can make use of the RTC.COM utility in order to keep CP/M date and time updated.<br />
You can synchronize the date and time of CP/M Plus with the RTC by running 'RTC -G' manually or via your PROFILE.SUB<br />
You can also set your RTC to the current CP/M date and time by running 'RTC -S'<br />
<br />
====Error messages====
Hard disk errors:<br />
* ''*** No mass storage found ***''
181
edits