Driver:Amstrad:HD20 install

From MAMEDEV Wiki

Setting up the Dobbertin HD20

Creating a blank hard disk image

Create a blank HD image file using chdman:

chdman createhd -o <output CHD file> -chs 615,4,17 -c none
chdman - MAME Compressed Hunks of Data (CHD) manager 0.179 (mame0179-616-g0d17e0f-dirty)
Output CHD:   <output CHD file>
Compression:  none
Cylinders:    615
Heads:        4
Sectors:      17
Bytes/sector: 512
Sectors/hunk: 8
Logical size: 21,411,840

Running MAME

With the HD20 active:

mame cpc6128 -exp hd20 -hard1 <path to CHD> -upd765:1 3ssdd

Without the HD20 active:

mame cpc6128 -upd765:1 3ssdd

(-upd765:1 3ssdd is used to set drive B to a 3" single-sided drive, this is to lessen disk swapping, which is annoying to do at times in MAME's UI)

Setting up CP/M 2.2

Requires:

  • CP/M 2.2 Master disk (software list: cpmplusu01:flop4)
  • Dobbertin HD Interface driver disk (not in software list)

Note that this assumes you are using 128k RAM or more, so the cpc6128 driver is used.

Create a blank 3" floppy disk, to be used as a CP/M work disk

Boot the CPC driver, with the HD20 expansion enabled, and the just created HD image mounted.

Use MAME's File Manager to create a floppy disk image (MFM or MFI format), and then re-mount the image to make sure it is open in read-write mode.

At the Ready prompt, enter |format,1 and press Enter. Then press Y to confirm you want to format a disk, then S for System disk, and wait for the format to be complete.

Make the disk bootable

First, mount the CPM 2.2 master disk via MAME's File Manager.

|syscopy,1,1 and press Enter.

When asked for the source disk, press any key. When asked for the destination disk, PAUSE, and use MAME's File Manager to mount the work disk (this is to work around UI inputs bleeding into emulation). Unpause (and R to retry in case you get any error), and now the disk should be bootable.

Copy some CP/M and HD utilities to the work disk

Mount the CP/M 2.2 master disk, and also mount our work disk in the second disk drive, and boot it by entering |cpm and pressing Enter.

Copy PIP.COM, MOVCPM.CPM, DDT.COM, and SYSGEN.COM from the CP/M 2.2 disk to the work disk.

A> pip b:=pip.com
A> pip b:=ddt.com
A> pip b:=movcpm.com
A> pip b:=sysgen.com

Copy utilities and driver from the HD interface disk to the work disk

Mount the work disk in the first disk drive, and the HD interface disk in the second drive.

A> pip a:=badtrack.com
A> pip a:=hdformat.com
A> pip a:=writesys.com
A> pip a:=cpm63.sys

Update the work disk to use CPM63.SYS

Restart MAME without the HD20 enabled, and mount the CP/M 2.2 master disk. Boot it using |cpm,1.

Now mount the work disk.

A> writesys cpm63.sys

When asked for: Source disk - press Enter Drive to write to - press A Destination disk - press Enter System disk - press Enter.

No disk swapping needed. :)

Make CP/M support a 63k TPA

A> movcpm 255 *
A> save 34 cpm63.com
A> ddt cpm63.com

At the '-' prompt, type s1e0c and press Enter.

Now you must enter the string of bytes to edit.

Type in the following byte values, pressing Enter after each one.

3a 04 00 e6 0f 32 42 ee 2e 80 cd 0b f8

Now type a '.' and press Enter to stop editing. At the '-' prompt, type g0 and press Enter.

A> sysgen *

When asked for the destination disk, press Enter. When asked for the system disk, pause, and then mount the CP/M 2.2 master disk. (Or you can just press Enter and let it crash).

Now you can reset the system, and boot from the work disk with |cpm,1.