You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

8.5 KiB

************************************************************

*** I m a g e M a k e r ***
*** ***
*** Disk Image Generator for RomWBW ***
************************************************************

Builders: Wayne Warthen (wwarthen@gmail.com)

Updated: 2014-02-16
Version: 2.5.3

This is a supplemental toolset for RomWBW that builds
floppy and/or hard disk images that can be used on
RomWBW by writing the image to a floppy or hard
disk (include CF and SD cards).

In summary, CP/M files are placed inside of a pre-defined
Windows directory structure. A script is then run to
create floppy and/or hard disk images from the directory
tree contents. The resultant images may be copied directly
to floppy or hard disk media or used for SIMH emulator
disk images.

System Requirements
-------------------

This ImageMaker scripts run on Microsoft Windows XP
or greater (32 and 64 bit variants of Windows are
fine).

Other than the contents of the ImageMaker zip archive,
you will need to have Microsoft PowerShell installed.
All variants of Windows XP and later support PowerShell.
It is included in all versions after Windows XP. If you
are using Windows XP, you will need to download it from
Microsoft and install it (free download).

By default, PowerShell will not run arbitrary scripts
that are not signed. In order to run the ImageMaker
scripts, you will need to tell PowerShell it is OK
to run run "local" scripts that are not signed.
Right-click the file in the ImageMaker archive
called FixPowerShell and choose "Run as Administrator"
and follow the instructions.

Preparing the Source Directory Contents
---------------------------------------

The ImageMaker script expects your files to be found
in the Source directory inside a specific directory
structure. Note that you will see there are some
CP/M files in the Source directory tree in the
distribution. These are simply test files I used
and have no specific meaing. You will probably want
to replace them with your own files as desired.

If you look at the Source directory, you will find
4 directories. fd0 and fd1 will contain the files
to be placed in the two floppy images gneerated.
hd0 and hd1 will contain the files to be used
to generate the two hard disk images. There
is nothing magic about the fact that there are
two of each kind of image generated. It just
seemed like a good number to the author. A quick
review of the scripts and you will see it is very
easy to modify the number of images generated if
you want.

For floppy disks, the structure is:

fd0 --+--> u0
+--> u1
|
+--> u15

Above, fd0 refers to the first floppy disk image and
u0...u15 refer to the user areas on the disk. You
place whatever files you want on fd0, user 0 in the
fd0\u0 directory. You will notice that not all of the
u0...u15 directories exist. The script does not care
and treats a non-existent directory as a directory with
no files. The fd1 directory is exactly the same as fd0 --
it is simply the second floppy image.

At present, the scripts assume that the floppy media
is 1.44MB. You will need to modify the scripts if you
want to create different media.

For hard disks, the structure has one more level:

hd0 --+--> s0 --+--> u0
| +--> u1
| |
| +--> u15
|
+--> s1 --+--> u0
| +--> u1
| |
| +--> u15
|
+--> s2 --+--> u0
| +--> u1
| |
| +--> u15
|
+--> s3 --+--> u0
+--> u1
|
+--> u15

The above uses the same concept as the floppy disk source
structure, but includes an additional directory layer to
represent the first 4 slices of the hard disk. For most
RomWBW builds, s0-s3 would show up as the first 4 hard
disk drive letters, frequently E: to H:.

No files should be placed in the first two layers of the
tree (hd0 or s0-s3). All files go into the lowest level
of the tree (u0-u15). As above, empty or non-existent
directories are not a problem for the script. Just fill
in or create the appropriate directories. The only constraint
is the the script will only look for two hard disks (hd0-hd1),
4 slices (s0-s4), and 16 user areas (u0-u15). The
number of hard disks and number of slices could be changed
by modifying the generation scripts.

Building the Images
-------------------

The image creation process simply traverses the directory
structures described above and builds a raw image each
floppy disk or hard disk. Note that cpmtools is used
to generate the images and is included in the archive
under the Tools directory.

The scripts are intended to be run from a command
prompt. Open a command prompt and navigate to the
ImageMaker directory. To build the floppy disk
images (fd0 and fd1), use the command "BuildFD".
To build the hard disk images (hd0, hd1), use the
command "BuildHD". You can use the command
"BuildAll" to build both the floppy and hard
disk images in one run.

After completion of the script, the resultant image
files are placed in the Output directory with names
such as fd0.img and hd0.img.

Below is sample output from building the
hard disk images:

| C:\Users\WWarthen\Projects\N8VEM\Build\ImageMaker>BuildHD
| Creating work file...
| Creating hard disk images...
| Generating Hard Disk 0...
| Adding files to slice 0...
| cpmcp -f n8vem_hd0 slice0.tmp Source/hd0/s0/u0/*.* 0:
| cpmcp -f n8vem_hd0 slice0.tmp Source/hd0/s0/u2/*.* 2:
| Adding files to slice 1...
| cpmcp -f n8vem_hd0 slice1.tmp Source/hd0/s1/u0/*.* 0:
| Adding files to slice 2...
| Adding files to slice 3...
| Combining slices into final disk image hd0...
| slice0.tmp
| slice1.tmp
| slice2.tmp
| slice3.tmp
| 1 file(s) copied.
| Generating Hard Disk 1...
| Adding files to slice 0...
| Adding files to slice 1...
| Adding files to slice 2...
| Adding files to slice 3...
| Combining slices into final disk image hd1...
| slice0.tmp
| slice1.tmp
| slice2.tmp
| slice3.tmp
| 1 file(s) copied.
|
| C:\Users\WWarthen\Projects\N8VEM\Build\ImageMaker>

Be aware that the script always builds the image file
from scratch. It will not update the previous contents.
Any contents of a pre-existing image file will be
permanently destroyed.

Installing Images
-----------------

First of all, a MAJOR WARNING!!!! The tools described
below are quite capable of obliterating your running
Windows system drive. Use with extreme caution and
make sure you have backups.

To install a floppy image on floppy media, you can use
the tool called RaWriteWin. This tool is included in the
Tools directory of the distribution.
This tool will write your floppy image (fd0.img or fd1.img)
to a floppy disk using a raw block transfer. The tool is
GUI based and it's operation is self explanatory.

To install a hard disk image on a CF card or SD card, you
must have the appropriate media card slot on your computer.
If you do, you can use the tool called Win32 Disk Imager.
This tool is also included in the Tools directory of the
distribution. This tool will write your hard disk
image (hd0.img or hd1.img) to the designated media
card. This tool is also GUI based and self explanatory.

Use of the SIMH emulator is outside of the scope of this
document. However, if you use SIMH, you will find that
you can attach the hard disk images to the emulator with
lines such as the following in your SIMH configuration
file:

| attach hdsk0 hd0.img
| set hdsk0 format=HDSK
| set hdsk0 geom=T:520/N:256/S:512
| set hdsk0 wrtenb

Making Disk Images Bootable
---------------------------

The current generation of these scripts does not make
the resultant media bootable. This is primarily because
there are multiple choices for what you can put on the
boot tracks of the media and that is a choice best left
to the user.

The simplest way to make a resultant image bootable is
to do it from your running CP/M system. Boot your
system using the ROM selection, then use the COPYSYS
command to make the desired drive bootable.

You would use a command like the following to make
drive C bootable.

| B>COPYSYS C:=CPM.SYS

Notes
-----

I realize these instructions are very minimal. I am happy to answer
questions. You will find the Google Group 'N8VEM' to be a great
source of information as well.