Compare commits

...

11 Commits
v2.6 ... v2.7.1

Author SHA1 Message Date
wwarthen
99b8c0281e 2015-04-08 04:12:10 +00:00
wwarthen
c754fcdb99 Reintegrate wbw -> trunk 2015-04-08 04:09:08 +00:00
wwarthen
2148c3e1f7 Reintegrate wbw -> trunk 2015-04-03 06:02:14 +00:00
wwarthen
cc51d012de Reintegrate wbw -> trunk 2015-03-23 01:50:45 +00:00
wwarthen
ea547a012b Reintegrate wbw -> trunk 2015-03-16 01:37:54 +00:00
wwarthen
8e535d53f4 Reintegrate wbw26 -> trunk 2014-10-26 03:02:33 +00:00
wwarthen
5e08740456 Reintegrate wbw26 -> trunk 2014-10-18 19:02:13 +00:00
wwarthen
72dc548e6e Reintegrate wbw26 -> trunk 2014-10-14 03:20:39 +00:00
wwarthen
594ae07aa6 Reintegrate wbw26 -> trunk 2014-10-13 15:47:16 +00:00
wwarthen
a8491cc5e0 Reintegrate wbw26 -> trunk 2014-10-13 15:24:20 +00:00
wwarthen
74b80aaeeb Reintegrate wbw -> trunk 2014-09-08 04:11:55 +00:00
1414 changed files with 135973 additions and 8534 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,26 +0,0 @@
@echo off
setlocal
set PATH=..\Tools\tasm32;..\Tools\zx;%PATH%
set TASMTABS=..\Tools\tasm32
set ZXBINDIR=../tools/cpm/bin/
set ZXLIBDIR=../tools/cpm/lib/
set ZXINCDIR=../tools/cpm/include/
call :asm SysCopy || goto :eof
call :asm Assign || goto :eof
call :asm Format || goto :eof
call :asm Talk || goto :eof
zx Z80ASM -SYSGEN/F
goto :eof
:asm
echo.
echo Building %1...
tasm -t80 -b -g3 -fFF %1.asm %1.com %1.lst
goto :eof

View File

@@ -1,4 +1,4 @@
@echo off
setlocal
cd Source
PowerShell .\Build.ps1 %*
call Build %*

View File

@@ -1,7 +0,0 @@
@echo off
setlocal
echo Building Apps...
cd Apps
call Build.cmd

View File

@@ -1,7 +0,0 @@
@echo off
setlocal
echo Building CP/M 2.2...
cd CPM22
call Build.cmd

View File

@@ -1,7 +1,4 @@
@echo off
setlocal
call BuildCPM22
call BuildZCPR
call BuildZCPR-DJ
call BuildApps.cmd
pushd Source && call BuildCommon && popd

4
BuildImages.cmd Normal file
View File

@@ -0,0 +1,4 @@
@echo off
setlocal
pushd Images && Build && popd

View File

@@ -1,4 +0,0 @@
@echo off
setlocal
cd Source
PowerShell .\BuildUNA.ps1 %*

View File

@@ -1,4 +0,0 @@
@echo off
setlocal
cd Source
PowerShell .\BuildUNALOAD.ps1 %*

View File

@@ -1,7 +0,0 @@
@echo off
setlocal
echo Building ZCPR-DJ...
cd ZCPR-DJ
call Build.cmd

View File

@@ -1,7 +0,0 @@
@echo off
setlocal
echo Building ZCPR...
cd ZCPR
call Build.cmd

View File

@@ -1,72 +0,0 @@
@echo off
setlocal
set PATH=..\Tools\tasm32;..\Tools\zx;%PATH%
set TASMTABS=..\Tools\tasm32
set ZXBINDIR=../tools/cpm/bin/
set ZXLIBDIR=../tools/cpm/lib/
set ZXINCDIR=../tools/cpm/include/
call :asm ccpb03 || goto :eof
call :asm bdosb01 || goto :eof
zx MAC -CCP.ASM -$PO
zx MLOAD25 -CCP.BIN=CCP.HEX
zx MAC -BDOS.ASM -$PO
zx MLOAD25 -BDOS.BIN=BDOS.HEX
zx MAC -CCP22.ASM -$PO
zx MLOAD25 -CCP22.BIN=CCP22.HEX
zx MAC -BDOS22.ASM -$PO
zx MLOAD25 -BDOS22.BIN=BDOS22.HEX
zx MAC -OS2CCP.ASM -$PO
zx MLOAD25 -OS2CCP.BIN=OS2CCP.HEX
zx MAC -OS3BDOS.ASM -$PO
zx MLOAD25 -OS3BDOS.BIN=OS3BDOS.HEX
goto :eof
:asm
echo.
echo Building %1...
tasm -t80 -b -g3 -fFF %1.asm %1.bin %1.lst
goto :eof
@echo off
setlocal
set PATH=..\Tools\tasm32;..\Tools\zx;%PATH%
set TASMTABS=..\Tools\tasm32
set ZXBINDIR=../tools/cpm/bin/
set ZXLIBDIR=../tools/cpm/lib/
set ZXINCDIR=../tools/cpm/include/
call :asm SysCopy || goto :eof
call :asm Assign || goto :eof
call :asm Format || goto :eof
call :asm Talk || goto :eof
zx Z80ASM -SYSGEN/F
goto :eof
:asm
echo.
echo Building %1...
tasm -t80 -b -g3 -fFF %1.asm %1.com %1.lst
goto :eof

View File

@@ -1,37 +1,11 @@
@echo off
setlocal
echo Cleaning Source...
pushd Source
call Clean.cmd
popd
echo Cleaning Apps...
pushd Apps
call Clean.cmd
popd
echo Cleaning CPM22...
pushd CPM22
call Clean.cmd
popd
echo Cleaning ZCPR...
pushd ZCPR
call Clean.cmd
popd
echo Cleaning ZCPR-DJ...
pushd ZCPR-DJ
call Clean.cmd
popd
pushd Source && call Clean && popd
pushd Images && call Clean && popd
if exist *.img del *.img /Q
if exist debug.log del debug.log
if exist *.log del *.log /Q
choice /m "Clean Output directories?"
if errorlevel 2 goto :eof
echo Cleaning Output directories...
if exist Output\*.* del Output\*.* /Q
if exist OutputUNA\*.* del OutputUNA\*.* /Q
if exist OutputUNALOAD\*.* del OutputUNALOAD\*.* /Q

View File

@@ -3,35 +3,45 @@ Building a Custom ROM
At present, the build environment assumes you are running
a current version of Microsoft Windows (either 32-bit or
64-bit).
64-bit). Additionally, you will need Microsoft PowerShell.
PowerShell is included in all distributions of Microsoft
Windows starting with Vista. It is available as a free
download for Windows XP from Microsoft
If you are using Linux, David Giles has contributed a Linux
makefile that should work for you. Please read the
LinuxBuild.txt file for more information.
Other than PowerShell, all required tools are included in
the distribution. You should not need anything other than
what comes as part of Windows or as part of the distribution.
All required tools are included in the distribution. You
should not need anything other than what comes as part of
Windows or as part of the distribution.
In summary, the process involves the 4 steps below. You must
configure PowerShell prior to these steps, but this only needs
to be done once.
In summary, the process involves the 4 steps below:
The basic steps to create a custom ROM are:
1) Create/update configuration file
2) Update/Add/Delete any files you want incorporated in
the ROM Disk
3) Run the build script (or makefile if you prefer) and
3) Run the build scripts and
confirm there are no errors.
4) Burn the resultant ROM image and try it.
The process is really very simple. In fact, you can
essentially skip steps 1 & 2 if you want to try simply
building one of the existing configurations.
I strongly recommend that you initially SKIP steps
1 & 2. Just try steps 3 & 4 to make sure you are
able to build a ROM and test it in your hardware.
Each of the 4 steps above is described in more detail
below.
Acquiring the Distribution
--------------------------
Preparing PowerShell
--------------------
1. Create/Update Configuration File
-----------------------------------
@@ -41,21 +51,22 @@ process. In order to customize your settings, you
need to modify an existing configuration file or
create your own.
If you look in the Source directory, you will see
a series of files named config_xxxx_yyyy.asm. Each of
Configuration files are found in the Source\BIOS\Config
directory. If you look in the this directory, you will see
a series of files named XXXX_yyyy.asm. Each of
them corresponds to one of the standard configurations
listed in the ROMList.txt file.
You have two choices. You can simply modify the existing
configuration file that is closest to your situation, or
you can copy it to a new config_xxxx_yyyy.asm file and modify
you can copy it to a new XXXX_yyyy.asm file and modify
that. I recommend that you copy one to your own name so
that you will always have the unmodified standard configuration
files left in place. So, for example, you could just
copy config_ZETA_std.asm to config_ZETA_wayne.asm. You MUST
name your config file as config_xxxx_yyyy.asm. The xxxx's
must match your platform (N8VEM, ZETA, N8, S2I, or S100).
The yyyy's can be whatever you want.
copy ZETA_std.asm to ZETA_wayne.asm. You MUST
name your config file as XXXX_yyyy.asm. The XXXX portion
must match your platform (N8VEM, ZETA, ZETA2, N8, UNA).
The yyyy portion can be whatever you want.
The config files are simply text files with various
settings. Open your target config file with your
@@ -83,30 +94,30 @@ ROM disk. The build process will determine
which subdirectories to include files from based
on the following rules:
First, all files from either std_512 or std_1024 will
be incuded depending on on the size of the ROM you
First, all files from either ROM_512KB or ROM_1024KB will
be included depending on on the size of the ROM you
are building. If you are building a 512KB ROM, then
all the files from std_512KB will be included. If you
are building a 1MB ROM, then all the files from std_1024KB
will be included. Essentialy, the files in std_1204KB are
a superset of the ones in std_512KB because there is more
all the files from ROM_512KB will be included. If you
are building a 1MB ROM, then all the files from ROM_1024KB
will be included. Essentialy, the files in ROM_1204KB are
a superset of the ones in ROM_512KB because there is more
space available for the ROM drive.
Second, all files from the directory that corresponds to
your configuration file will be included. If you build
the "ZETA_std" configuration, all files in cfg_ZETA_std will
the "ZETA_std" configuration, all files in ZETA_std will
be added. Note that these files will be in addition
to the files from the std_XXXKB directory.
to the files from the ROM_XXXKB directory.
If you created your own config file (like config_ZETA_wayne.asm
If you created your own config file (like ZETA_wayne.asm
described above), you MUST create a subdirectory within
the RomDsk directory and populate it with the files
you want added. Normally, you would include the
files from the original standard config. So, if
you created config_ZETA_wayne.asm from config_ZETA_std.asm,
you created ZETA_wayne.asm from ZETA_std.asm,
then you would create a subdirectory in RomDsk called
cfg_ZETA_wayne and copy all the files from cfg_ZETA_std to
cfg_ZETA_wayne.
ZETA_wayne and copy all the files from ZETA_std to
ZETA_wayne.
3. Run the Build Process
------------------------
@@ -126,23 +137,22 @@ unless you renamed it.
First, you will need to build the components that are
common to all configurations. These components do not
require any configuration. To build these, use the
following commands and ensure that they complete
following command and ensure it completes
without error:
BuildZCPR-DJ
BuildApps2
BuildCommon
To run the main build and be prompted for required information,
just enter "Build". You will be prompted for the information
described below and the build should run. If an error is
encountered, the build should stop and display an error
in red text.
To run the configuration specific build and be prompted
for required information, just enter "Build". You will
be prompted for the information described below and the
build should run. If an error is encountered, the build
should stop and display an error in red text.
If you immediately receive the error "the execution of
scripts is disabled on this system", then you will need to
change the PowerShell Execution-Polcy to "RemoteSigned".
To do this, you need to right-click on FixPowerShell.cmd and
choose "Run as Administrator" to make the change. If is
choose "Run as Administrator" to make the change. It is
critical that you right-click and use "Run as Administrator"
or the change will not work (you will get an error
indicating "Access to the registry denied" if you fail to
@@ -154,7 +164,7 @@ which you will need to provide (don't worry, it is simple):
Platform:
Respond with the name of the platform that you are targeting.
It must be one of N8VEM, ZETA, N8, S2I, or S100.
It must be one of N8VEM, ZETA, ZETA2, N8, or UNA.
Configuration:
@@ -170,16 +180,9 @@ ROM Size [512|1024]:
Respond with either "512" for a 512KB ROM build or "1024" for a
1MB ROM build. Only the two choices are possible at this time.
It is important that you choose a ROM size that is no larger than
the szie of the ROM you will ultimately be burning. This is
the size of the ROM you will ultimately be burning. This is
dependant on your hardware.
System [CPM|ZSYS]:
Respond with the type of system you wish to create. If you are
not sure which you want, you should enter "CPM". Refer to the
ReadMe.txt file for more information on the difference between
the two system types.
At this point, the build should run and you will see output related
to the assembler runs and some utility invocations. Just review
the output for any obvioius errors. Normally, all errors will
@@ -187,7 +190,7 @@ cause the build to stop immediately and display an error message
in red.
You will see some lines in the output indicating the amount of
space variouis components have taken. You should check these
space various components have taken. You should check these
to make sure you do not see any negative numbers which would
indicate that you have included too many features/drivers for
the available memory space. Here are examples of the lines
@@ -206,11 +209,11 @@ showing the space used:
If you look in the Output directory. You should find the following files:
<config>.rom - binary ROM image to burn to EEPROM
<config>.sys - system image that can be written to the start of a
disk to enable boot from disk functionality
<config>.com - executable version of the system image that can be
copied via xmodem to a running system to test
the build.
<config>.img - system image that can be written to an SD/CF Card
and loaded via the UNA FS FAT loader.
The actual ROM image is the file ending in .rom. It should be exactly
512KB or 1MB depending on the ROM size you chose. Simply burn the .rom
@@ -224,7 +227,7 @@ command, you can specify the options right on the command line.
For example:
Build ZETA std 512 CPM
Build ZETA std 512
In this case, you will not be prompted. This is useful if you
wish to automate your build process.
@@ -233,13 +236,12 @@ Example Build Run
-----------------
C:\Users\WWarthen\Projects\N8VEM\Build\RomWBW>Build.cmd
Platform [N8VEM|ZETA|N8|S2I|S100]: ZETA
Platform [N8VEM|ZETA|N8|UNA|S100]: ZETA
Configurations available:
> ppp
> std
Configuration: std
ROM Size [512|1024]: 512
System [CPM|ZSYS]: CPM
Building ZETA_std: 512KB ROM configuration std for Z80...

View File

@@ -1,3 +1,37 @@
Version 2.7.1
-------------
- WBW: Replace XZ with XP compatible build (no functional changes)
- WBW: Reset BDOS serial number on warm start
- WBW: Turn off DRAM refresh on Z180 (fixes Z180 CPU speed detection)
Version 2.7.0
-------------
- WBW: Memory page reorganization
- WBW: Support for Zeta 2 (from Sergey Kiselev)
- WBW: Support loading from image file (UNA FSFAT)
- WBW: Dynamic CPU speed detection
Version 2.6.5
-------------
- WBW: Yet more DS1302 clock driver delay mods
Version 2.6.4
-------------
- WBW: Yet more DS1302 clock driver delay mods
Version 2.6.3
-------------
- WBW: DS1302 clock driver modified to observe proper delays
Version 2.6.2
-------------
- WBW: ASSIGN.COM substantially improved to map all drive types
Version 2.6.1
-------------
- WBW: Both CP/M and ZSystem are imbedded in the ROM
image.
Version 2.6
-----------
- WBW: Old Apps removed (MULTIFMT, CPMNAME, SETLABEL, etc.)

Binary file not shown.

View File

@@ -1,18 +1,14 @@
The Support directory contains files that may be needed to complete
The Hardware directory contains files that may be needed to complete
your system setup that would not be appropriate to include in the
ROM itself or in the ROM disk.
Contents
--------
vdu.rom: ROM image for VDU onboard EPROM
VDU\vdu.rom: ROM image for VDU onboard EPROM
PropIO\PropIO.eeprom: PropIO firmware for use with RomWBW
PropIO2\PropIO2.eeprom: PropIO V2 firmware for use with RomWBW
ParPortProp\ParPortProp.eeprom: ParPortProp firmware for use with RomWBW
ZSDOS: Directory contains updated ZSDOS distribution files (see ..\Doc\ZSystem.txt)
Clock: Directory contains ZSystem clock drivers

15
Images/Build.cmd Normal file
View File

@@ -0,0 +1,15 @@
@echo off
setlocal
echo :
echo : Cleaning...
echo :
call Clean.cmd
echo :
echo : Building Floppy Disk Images...
echo :
call BuildFD.cmd
echo :
echo : Building Hard Disk Images...
echo :
call BuildHD.cmd

1
Images/BuildFD.cmd Normal file
View File

@@ -0,0 +1 @@
@PowerShell .\BuildFD.ps1 %*

33
Images/BuildFD.ps1 Normal file
View File

@@ -0,0 +1,33 @@
$ErrorAction = 'Stop'
$CpmToolsPath = '..\Tools\cpmtools'
$env:PATH = $CpmToolsPath + ';' + $env:PATH
$Blank = ([byte[]](0xE5) * 1440KB)
"Creating work file..."
if (!(Test-Path('Blank.tmp'))) {Set-Content -Value $Blank -Encoding byte -Path 'Blank.tmp'}
"Creating floppy disk images..."
for ($Dsk=0; $Dsk -lt 2; $Dsk++)
{
"Generating Floppy Disk ${Dsk}..."
copy Blank.tmp fd${Dsk}.img
for ($Usr=0; $Usr -lt 16; $Usr++)
{
if (Test-Path ("Source/fd${Dsk}/u${Usr}/*"))
{
$Cmd = "cpmcp -f wbw_fd144 fd${Dsk}.img Source/fd${Dsk}/u${Usr}/*.* ${Usr}:"
$Cmd
Invoke-Expression $Cmd
}
}
}
"Moving images into output directory..."
&$env:COMSPEC /c move fd*.img ..\Output\
Remove-Item *.tmp
return

1
Images/BuildHD.cmd Normal file
View File

@@ -0,0 +1 @@
@PowerShell .\BuildHD.ps1 %*

39
Images/BuildHD.ps1 Normal file
View File

@@ -0,0 +1,39 @@
$ErrorAction = 'Stop'
$CpmToolsPath = '../Tools/cpmtools'
$env:PATH = $CpmToolsPath + ';' + $env:PATH
$Blank = ([byte[]](0xE5) * (128KB * 65))
"Creating work file..."
if (!(Test-Path('Blank.tmp'))) {Set-Content -Value $Blank -Encoding byte -Path 'Blank.tmp'}
"Creating hard disk images..."
for ($Dsk=0; $Dsk -lt 2; $Dsk++)
{
"Generating Hard Disk ${Dsk}..."
for ($Slice=0; $Slice -lt 4; $Slice++)
{
"Adding files to slice ${Slice}..."
copy Blank.tmp slice${Slice}.tmp
for ($Usr=0; $Usr -lt 16; $Usr++)
{
if (Test-Path ("Source/hd${Dsk}/s${Slice}/u${Usr}/*"))
{
$Cmd = "cpmcp -f wbw_hd0 slice${Slice}.tmp Source/hd${Dsk}/s${Slice}/u${Usr}/*.* ${Usr}:"
$Cmd
Invoke-Expression $Cmd
}
}
}
"Combining slices into final disk image hd${Dsk}..."
&$env:COMSPEC /c copy /b slice*.tmp ..\Output\hd${Dsk}.img
Remove-Item slice*.tmp
}
Remove-Item *.tmp
return

2
Images/Clean.cmd Normal file
View File

@@ -0,0 +1,2 @@
@echo off
if exist *.tmp del *.tmp /Q

29
Images/FixPowerShell.cmd Normal file
View File

@@ -0,0 +1,29 @@
@echo off
echo By default, PowerShell is configured to block the
echo execution of unsigned scripts on your local system.
echo This command file will attempt to modify your
echo PowerShell ExecutionPolicy to "RemoteSigned"
echo which means that local scripts can be run without
echo being signed. This is required to use the RomWBW
echo build process.
echo.
PowerShell -command Write-Host "Your PowerShell ExecutionPolicy is currently set to: `'(Get-ExecutionPolicy)`'"
echo.
echo In order to modify the ExecutionPolicy, this command
echo file *MUST* be run with administrator privileges.
echo Generally, this means you want to right-click the
echo command file called FixPowerShell.cmd and choose
echo "Run as Administrator". If you attempt to continue
echo without administrator privileges, the modification
echo will fail with an error message, but no harm is done.
echo.
choice /m "Do you want to proceed"
if errorlevel 2 goto :eof
echo.
echo Attempting to change Execution Policy...
echo.
PowerShell Set-ExecutionPolicy RemoteSigned
echo.
PowerShell -command Write-Host "Your new PowerShell ExecutionPolicy is now set to: `'(Get-ExecutionPolicy)`'"
echo.
pause

246
Images/ReadMe.txt Normal file
View File

@@ -0,0 +1,246 @@
************************************************************
*** 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.

Some files were not shown because too many files have changed in this diff Show More