Reintegrate wbw -> trunk
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
@echo off
|
||||
setlocal
|
||||
cd Source
|
||||
call BuildCommon %*
|
||||
|
||||
pushd Source && call BuildCommon && popd
|
||||
4
BuildImages.cmd
Normal file
4
BuildImages.cmd
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
pushd Images && Build && popd
|
||||
@@ -1,3 +1,6 @@
|
||||
Version 2.7.1
|
||||
- WBW: Support loading from image file (UNA FSFAT)
|
||||
|
||||
Version 2.7.0
|
||||
-------------
|
||||
- WBW: Memory page reorganization
|
||||
|
||||
1
Images/Blank.tmp
Normal file
1
Images/Blank.tmp
Normal file
File diff suppressed because one or more lines are too long
15
Images/Build.cmd
Normal file
15
Images/Build.cmd
Normal 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
1
Images/BuildFD.cmd
Normal file
@@ -0,0 +1 @@
|
||||
@PowerShell .\BuildFD.ps1 %*
|
||||
33
Images/BuildFD.ps1
Normal file
33
Images/BuildFD.ps1
Normal 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
1
Images/BuildHD.cmd
Normal file
@@ -0,0 +1 @@
|
||||
@PowerShell .\BuildHD.ps1 %*
|
||||
39
Images/BuildHD.ps1
Normal file
39
Images/BuildHD.ps1
Normal 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
2
Images/Clean.cmd
Normal file
@@ -0,0 +1,2 @@
|
||||
@echo off
|
||||
if exist *.tmp del *.tmp /Q
|
||||
29
Images/FixPowerShell.cmd
Normal file
29
Images/FixPowerShell.cmd
Normal 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
246
Images/ReadMe.txt
Normal 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.
|
||||
BIN
Images/Source/fd0/u0/ASM.COM
Normal file
BIN
Images/Source/fd0/u0/ASM.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/CLRDIR.COM
Normal file
BIN
Images/Source/fd0/u0/CLRDIR.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/CR.COM
Normal file
BIN
Images/Source/fd0/u0/CR.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/DDT.COM
Normal file
BIN
Images/Source/fd0/u0/DDT.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/DDTZ.COM
Normal file
BIN
Images/Source/fd0/u0/DDTZ.COM
Normal file
Binary file not shown.
564
Images/Source/fd0/u0/DDTZ.DOC
Normal file
564
Images/Source/fd0/u0/DDTZ.DOC
Normal file
@@ -0,0 +1,564 @@
|
||||
|
||||
DDTZ v2.7
|
||||
by C.B. Falconer
|
||||
edited by George A. Havach
|
||||
|
||||
Introduction:
|
||||
============
|
||||
DDTZ v2.7 is a complete replacement for DDT, Digital Research's
|
||||
famous Dynamic Debugging Tool, with improved functionality, bug
|
||||
extermination, and full Z80 support. In general, DDTZ is fully
|
||||
compatible with the original utility, but it has extra and
|
||||
extended commands and many fewer quirks. All Z80-specific
|
||||
instructions can be (dis)assembled, though in Intel rather then
|
||||
Zilog format. Furthermore, DDTZ will correctly trace ('T' and 'U'
|
||||
commands) both 8080 and Z80 instructions, depending on which CPU
|
||||
is operating. On startup, the program announces which CPU it is
|
||||
running on.
|
||||
|
||||
DDTZ v2.7 now handles the 64180 added opcodes. It does NOT test
|
||||
for a 64180 CPU, since this cannot be done without executing
|
||||
illegal Z80 instructions, which in turn will crash some
|
||||
simulators. However v2.7 does not execute any 64180 instructions
|
||||
internally, only in the subject program.
|
||||
|
||||
This issue supplies the "M" version assembled, to avoid errors
|
||||
when switching between MSDOS and CPM systems. The command table
|
||||
is updated accordingly. Most CPM users are also MSDOS users, but
|
||||
not vice-versa.
|
||||
|
||||
The program is invoked by typing
|
||||
|
||||
ddtz<ret>
|
||||
or
|
||||
ddtz [d:]filespec<ret>
|
||||
|
||||
In the second form, DDTZ will load the specified file into
|
||||
memory starting at 0100H, unless it's a .HEX file that sets its
|
||||
own load address. Besides reporting the NEXT free address and
|
||||
the PC (program counter) after a successful load, DDTZ also shows
|
||||
the number of memory pages needed for a SAVE. Instead of having
|
||||
to write all this down, just use the 'X' command at any time to
|
||||
redisplay these three values for the current application.
|
||||
|
||||
NOTE: loading more code above the NEXT pointer revises these
|
||||
values.
|
||||
|
||||
As in DDT, when a program is loaded above the area holding the
|
||||
'A' and 'U' (and now 'W') command code, these commands are
|
||||
disabled, and the extra memory is released to the user. Thus,
|
||||
DDTZ can occupy as little as 3K total memory space. Unlike DDT,
|
||||
however, DDTZ will not overwrite itself or the system on program
|
||||
loads (except .HEX files).
|
||||
|
||||
At initialization, the stack pointer (SP) points to a return to
|
||||
DDTZ, just like for the CCP. Thus, programs that normally return
|
||||
to the CCP will be returned to DDTZ. The 'B' command
|
||||
reinitializes this condition.
|
||||
|
||||
|
||||
The intercept vector copies the BDOS version number, etc., so
|
||||
an object program does not know that DDTZ is running (except
|
||||
for BIOS-BDOS vector size). Thus, programs that check the version
|
||||
number should execute correctly under DDTZ.
|
||||
|
||||
All input parameters can now be entered in any of three formats:
|
||||
|
||||
(1) hexadecimal (as in DDT),
|
||||
(2) decimal, by adding a leading '#' character,
|
||||
(3) ASCII, by enclosing between either single or double
|
||||
quotes; either one or two characters are allowed.
|
||||
|
||||
Leading blanks in command lines and parameters are absorbed.
|
||||
Either a comma or a (single) space is a valid delimiter.
|
||||
Either uppercase or lowercase input is accepted.
|
||||
|
||||
The default command (for anything not otherwise recognizable)
|
||||
is 'H'. This allows convenient calculation, along with the other
|
||||
features described below. So, to convert a number, just enter
|
||||
it!
|
||||
|
||||
As in DDT, the prompt character is '-', and the only error
|
||||
message is the query ('?'), which generally kicks you back to
|
||||
command mode.
|
||||
|
||||
New Commands (Over DDT):
|
||||
=======================
|
||||
|
||||
NOTE: letters in parenthesis, e.g. "(U)", show the equivalent
|
||||
command for DDTZM version (compatible with MSDOS debug).
|
||||
|
||||
@ Sets or shows (with no parameter) the internally stored
|
||||
"base" value. Also used with the 'S' and 'D' commands as
|
||||
an optional parameter (though without the '@') to display
|
||||
memory from an arbitrary base marker (offset). When set to
|
||||
zero (the default), it does not affect any screen displays.
|
||||
|
||||
B B)egin: resets the USER stack pointer to its initial value,
|
||||
such that any program that exits by an RET will return to
|
||||
DDTZ. DDTZ provides a default stack space of
|
||||
approximately 24 bytes for user programs.
|
||||
|
||||
C C)ompare first_address,last_address,against_address: shows
|
||||
all the byte differences between two memory areas, in the
|
||||
format
|
||||
|
||||
XXXX aa YYYY bb
|
||||
|
||||
where XXXX and YYYY are the comparative memory addresses,
|
||||
and aa and bb are the corresponding byte values. Can be
|
||||
used to verify the identity of two files by first
|
||||
loading them into different memory areas with the 'R'
|
||||
command (see below).
|
||||
|
||||
|
||||
W Write: stores the modified memory area to disk under the
|
||||
(K) filename specified by the 'I' command, overwriting the
|
||||
original file from which it was loaded (the user is queried
|
||||
before doing so). By default, the image of memory from
|
||||
0100H through the "NEXT" value -1 is saved. "K first_addr,
|
||||
last_address" overrides this and allows writing ANY memory
|
||||
area to a file. Almost a necessity for CPM 3.0 (no SAVE!).
|
||||
K)eep on DDTZ
|
||||
|
||||
X eXamine: redisplays the "NEXT PC SAVE" report at any time.
|
||||
(Q) Q)uery size on DDTZ.
|
||||
|
||||
S S)earch first_address, last_addr, value: searches the
|
||||
(W) specified memory area for the value (a 16-bit word, not a
|
||||
byte) and shows the locations of all such. Very useful for
|
||||
finding CALL's or JMP's to a particular address, etc.
|
||||
W)here on DDTZ
|
||||
|
||||
Y Y)our_option parm1,parm2,address: executes an arbitrary
|
||||
routine at the specified address, with the BC and DE
|
||||
registers set to parm1 and parm2, respectively.
|
||||
|
||||
Z Displays (but does not alter) the Z80's alternate register
|
||||
set, including the index registers (disabled if running on
|
||||
an 8080). On Z80's, automatically included as the last
|
||||
part of the display by the 'X' command.
|
||||
|
||||
|
||||
Based (Offset) Displays:
|
||||
=======================
|
||||
|
||||
The 'D' and 'E' commands can use a stored base value (offset),
|
||||
as set by the '@' command. The current @ value may be
|
||||
overridden for a single execution of these commands by adding the
|
||||
base as an extra parameter in the command line. The effect is
|
||||
to add this value to the first/last address and display
|
||||
accordingly. The address listing on the left becomes XXXX:YYYY,
|
||||
where XXXX is the offset address and YYYY is the actual memory
|
||||
address being displayed. For example, if you have a data area
|
||||
located at 42B7H and wish to preserve easy access, just enter
|
||||
"@42b7". Now, "d0,3f" will dump memory starting at 4237H.
|
||||
|
||||
|
||||
Further Changes from DDT:
|
||||
========================
|
||||
|
||||
A A)ssemble now accepts the full Z80 as well as 8080
|
||||
instruction set, although it expects them in Intel rather
|
||||
than Zilog format (see notes below under the 'L'
|
||||
command). When in doubt, see the mnemnonic list below.
|
||||
|
||||
D D)isplay or D)ump will accept an optional third parameter
|
||||
to set the base value for a single execution only. Format
|
||||
has been cleaned up.
|
||||
|
||||
H H)ex_arithmetic on two values also shows their
|
||||
difference in decimal. With only one value, converts to
|
||||
hexadecimal, decimal, and ASCII (low-order byte only).
|
||||
|
||||
|
||||
N N)ame now allows drive specification (d:...) and sets up
|
||||
(I) the complete command line, including both FCB's (at
|
||||
addresses 005CH and 006CH). The tail (stored at 0081H up)
|
||||
is NOT upshifted.
|
||||
I)nput on DDTZ
|
||||
|
||||
U U)nassemble now displays the raw hexcode, especially handy
|
||||
(L) when examining non-code areas. Intel (8080 style) mnemonics
|
||||
are used, so some disassembled instructions may look
|
||||
strange. E.g., the Z80's 'IN B,(C)' and 'OUT (C),B' become
|
||||
'INP B' and 'OUTP B', respectively; 'LD (nnnn),BC' becomes
|
||||
'SBCD nnnn', 'ADD IX, BC' becomes 'DADX B', and 'JP (IX)'
|
||||
becomes 'PCIX'.
|
||||
L)ist on DDTZ
|
||||
|
||||
L L)oad now permits loading a file into memory with an
|
||||
(R) offset, which is added to the default load address of
|
||||
0100H. When reading in a .HEX file with a preset bias,
|
||||
the 'R' command will not transfer control to an invalid
|
||||
execution point. Another execution of the 'R' command will
|
||||
reread the input file, e.g.:
|
||||
|
||||
n blah<ret>
|
||||
l<ret>
|
||||
...modify the code and generally mess about...
|
||||
l<ret>
|
||||
|
||||
The original file is reloaded, and the modifications are
|
||||
removed.
|
||||
R)ead on DDTZ
|
||||
|
||||
E E)nter, like D)isplay, now accepts an optional second
|
||||
(S) parameter to set the base value for a single execution
|
||||
only.
|
||||
S)ubstitute or S)et on DDTZ
|
||||
|
||||
T T)rap/trace on termination now shows the complete CPU
|
||||
state. Traps and traces no longer lock up when a user RST
|
||||
7 instruction is executed. Tracing of BDOS/BIOS calls is
|
||||
heavily trun cated, avoiding clutter and preventing system
|
||||
crashes.
|
||||
|
||||
NOTE: Most of the UNDOCUMENTED Z80 op-codes are handled. Others
|
||||
can crash the system.
|
||||
|
||||
R R)egisters also shows what two-byte values the HL and SP
|
||||
(X) registers are actually pointing to. On Z80's, displays the
|
||||
alternate register set.
|
||||
eX)amine on DDTZ
|
||||
|
||||
NOTE: Any use of the 'W' or 'L' command resets the system DMA
|
||||
transfer address to the standard default value of 0080H.
|
||||
|
||||
|
||||
; This is the output of DDTZ when disassembling OPTYPE.TRY
|
||||
NOP LDA 06A4 MOV M,H
|
||||
LXI B,06A4 DCX SP MOV M,L
|
||||
STAX B INR A HLT
|
||||
INX B DCR A MOV M,A
|
||||
INR B MVI A,20 MOV A,B
|
||||
DCR B CMC MOV A,C
|
||||
MVI B,20 MOV B,B MOV A,D
|
||||
RLC MOV B,C MOV A,E
|
||||
EXAF MOV B,D MOV A,H
|
||||
DAD B MOV B,E MOV A,L
|
||||
LDAX B MOV B,H MOV A,M
|
||||
DCX B MOV B,L MOV A,A
|
||||
INR C MOV B,M ADD B
|
||||
DCR C MOV B,A ADD C
|
||||
MVI C,20 MOV C,B ADD D
|
||||
RRC MOV C,C ADD E
|
||||
DJNZ 0134 MOV C,D ADD H
|
||||
LXI D,06A4 MOV C,E ADD L
|
||||
STAX D MOV C,H ADD M
|
||||
INX D MOV C,L ADD A
|
||||
INR D MOV C,M ADC B
|
||||
DCR D MOV C,A ADC C
|
||||
MVI D,20 MOV D,B ADC D
|
||||
RAL MOV D,C ADC E
|
||||
JR 0134 MOV D,D ADC H
|
||||
DAD D MOV D,E ADC L
|
||||
LDAX D MOV D,H ADC M
|
||||
DCX D MOV D,L ADC A
|
||||
INR E MOV D,M SUB B
|
||||
DCR E MOV D,A SUB C
|
||||
MVI E,20 MOV E,B SUB D
|
||||
RAR MOV E,C SUB E
|
||||
JRNZ 0134 MOV E,D SUB H
|
||||
LXI H,06A4 MOV E,E SUB L
|
||||
SHLD 06A4 MOV E,H SUB M
|
||||
INX H MOV E,L SUB A
|
||||
INR H MOV E,M SBB B
|
||||
DCR H MOV E,A SBB C
|
||||
MVI H,20 MOV H,B SBB D
|
||||
DAA MOV H,C SBB E
|
||||
JRZ 0134 MOV H,D SBB H
|
||||
DAD H MOV H,E SBB L
|
||||
LHLD 06A4 MOV H,H SBB M
|
||||
DCX H MOV H,L SBB A
|
||||
INR L MOV H,M ANA B
|
||||
DCR L MOV H,A ANA C
|
||||
MVI L,20 MOV L,B ANA D
|
||||
CMA MOV L,C ANA E
|
||||
JRNC 0134 MOV L,D ANA H
|
||||
LXI SP,06A4 MOV L,E ANA L
|
||||
STA 06A4 MOV L,H ANA M
|
||||
INX SP MOV L,L ANA A
|
||||
INR M MOV L,M XRA B
|
||||
DCR M MOV L,A XRA C
|
||||
MVI M,20 MOV M,B XRA D
|
||||
STC MOV M,C XRA E
|
||||
JRC 0134 MOV M,D XRA H
|
||||
DAD SP MOV M,E XRA L
|
||||
|
||||
|
||||
XRA M JPE 06A4 SLAR M
|
||||
XRA A XCHG SLAR A
|
||||
ORA B CPE 06A4 SRAR B
|
||||
ORA C XRI 20 SRAR C
|
||||
ORA D RST 5 SRAR D
|
||||
ORA E RP SRAR E
|
||||
ORA H POP PSW SRAR H
|
||||
ORA L JP 06A4 SRAR L
|
||||
ORA M DI SRAR M
|
||||
ORA A CP 06A4 SRAR A
|
||||
CMP B PUSH PSW SLLR B
|
||||
CMP C ORI 20 SLLR C
|
||||
CMP D RST 6 SLLR D
|
||||
CMP E RM SLLR E
|
||||
CMP H SPHL SLLR H
|
||||
CMP L JM 06A4 SLLR L
|
||||
CMP M EI SLLR M
|
||||
CMP A CM 06A4 SLLR A
|
||||
RNZ CPI 20 SRLR B
|
||||
POP B RST 7 SRLR C
|
||||
JNZ 06A4 RLCR B SRLR D
|
||||
JMP 06A4 RLCR C SRLR E
|
||||
CNZ 06A4 RLCR D SRLR H
|
||||
PUSH B RLCR E SRLR L
|
||||
ADI 20 RLCR H SRLR M
|
||||
RST 0 RLCR L SRLR A
|
||||
RZ RLCR M BIT 0,B
|
||||
RET RLCR A BIT 0,C
|
||||
JZ 06A4 RRCR B BIT 0,D
|
||||
CZ 06A4 RRCR C BIT 0,E
|
||||
CALL 06A4 RRCR D BIT 0,H
|
||||
ACI 20 RRCR E BIT 0,L
|
||||
RST 1 RRCR H BIT 0,M
|
||||
RNC RRCR L BIT 0,A
|
||||
POP D RRCR M BIT 1,B
|
||||
JNC 06A4 RRCR A BIT 1,C
|
||||
OUT 20 RALR B BIT 1,D
|
||||
CNC 06A4 RALR C BIT 1,E
|
||||
PUSH D RALR D BIT 1,H
|
||||
SUI 20 RALR E BIT 1,L
|
||||
RST 2 RALR H BIT 1,M
|
||||
RC RALR L BIT 1,A
|
||||
EXX RALR M BIT 2,B
|
||||
JC 06A4 RALR A BIT 2,C
|
||||
IN 20 RARR B BIT 2,D
|
||||
CC 06A4 RARR C BIT 2,E
|
||||
SBI 20 RARR D BIT 2,H
|
||||
RST 3 RARR E BIT 2,L
|
||||
RPO RARR H BIT 2,M
|
||||
POP H RARR L BIT 2,A
|
||||
JPO 06A4 RARR M BIT 3,B
|
||||
XTHL RARR A BIT 3,C
|
||||
CPO 06A4 SLAR B BIT 3,D
|
||||
PUSH H SLAR C BIT 3,E
|
||||
ANI 20 SLAR D BIT 3,H
|
||||
RST 4 SLAR E BIT 3,L
|
||||
RPE SLAR H BIT 3,M
|
||||
PCHL SLAR L BIT 3,A
|
||||
|
||||
|
||||
BIT 4,B RES 3,D SET 2,H
|
||||
BIT 4,C RES 3,E SET 2,L
|
||||
BIT 4,D RES 3,H SET 2,M
|
||||
BIT 4,E RES 3,L SET 2,A
|
||||
BIT 4,H RES 3,M SET 3,B
|
||||
BIT 4,L RES 3,A SET 3,C
|
||||
BIT 4,M RES 4,B SET 3,D
|
||||
BIT 4,A RES 4,C SET 3,E
|
||||
BIT 5,B RES 4,D SET 3,H
|
||||
BIT 5,C RES 4,E SET 3,L
|
||||
BIT 5,D RES 4,H SET 3,M
|
||||
BIT 5,E RES 4,L SET 3,A
|
||||
BIT 5,H RES 4,M SET 4,B
|
||||
BIT 5,L RES 4,A SET 4,C
|
||||
BIT 5,M RES 5,B SET 4,D
|
||||
BIT 5,A RES 5,C SET 4,E
|
||||
BIT 6,B RES 5,D SET 4,H
|
||||
BIT 6,C RES 5,E SET 4,L
|
||||
BIT 6,D RES 5,H SET 4,M
|
||||
BIT 6,E RES 5,L SET 4,A
|
||||
BIT 6,H RES 5,M SET 5,B
|
||||
BIT 6,L RES 5,A SET 5,C
|
||||
BIT 6,M RES 6,B SET 5,D
|
||||
BIT 6,A RES 6,C SET 5,E
|
||||
BIT 7,B RES 6,D SET 5,H
|
||||
BIT 7,C RES 6,E SET 5,L
|
||||
BIT 7,D RES 6,H SET 5,M
|
||||
BIT 7,E RES 6,L SET 5,A
|
||||
BIT 7,H RES 6,M SET 6,B
|
||||
BIT 7,L RES 6,A SET 6,C
|
||||
BIT 7,M RES 7,B SET 6,D
|
||||
BIT 7,A RES 7,C SET 6,E
|
||||
RES 0,B RES 7,D SET 6,H
|
||||
RES 0,C RES 7,E SET 6,L
|
||||
RES 0,D RES 7,H SET 6,M
|
||||
RES 0,E RES 7,L SET 6,A
|
||||
RES 0,H RES 7,M SET 7,B
|
||||
RES 0,L RES 7,A SET 7,C
|
||||
RES 0,M SET 0,B SET 7,D
|
||||
RES 0,A SET 0,C SET 7,E
|
||||
RES 1,B SET 0,D SET 7,H
|
||||
RES 1,C SET 0,E SET 7,L
|
||||
RES 1,D SET 0,H SET 7,M
|
||||
RES 1,E SET 0,L SET 7,A
|
||||
RES 1,H SET 0,M DADX B
|
||||
RES 1,L SET 0,A DADX D
|
||||
RES 1,M SET 1,B LXI X,06A4
|
||||
RES 1,A SET 1,C SIXD 06A4
|
||||
RES 2,B SET 1,D INX X
|
||||
RES 2,C SET 1,E DADX X
|
||||
RES 2,D SET 1,H LIXD 06A4
|
||||
RES 2,E SET 1,L DCX X
|
||||
RES 2,H SET 1,M INR [X+05]
|
||||
RES 2,L SET 1,A DCR [X+05]
|
||||
RES 2,M SET 2,B MVI [X+05],20
|
||||
RES 2,A SET 2,C DADX SP
|
||||
RES 3,B SET 2,D MOV B,[X+05]
|
||||
RES 3,C SET 2,E MOV C,[X+05]
|
||||
|
||||
|
||||
MOV D,[X+05] DSBC B DADY B
|
||||
MOV E,[X+05] SBCD 06A4 DADY D
|
||||
MOV H,[X+05] NEG LXI Y,06A4
|
||||
MOV L,[X+05] RETN SIYD 06A4
|
||||
MOV [X+05],B IM0 INX Y
|
||||
MOV [X+05],C LDIA DADY Y
|
||||
MOV [X+05],D INP C LIYD 06A4
|
||||
MOV [X+05],E OUTP C DCX Y
|
||||
MOV [X+05],H DADC B INR [Y+05]
|
||||
MOV [X+05],L LBCD 06A4 DCR [Y+05]
|
||||
MOV [X+05],A RETI MVI [Y+05],2
|
||||
MOV A,[X+05] LDRA DADY SP
|
||||
ADD [X+05] INP D MOV B,[Y+05]
|
||||
ADC [X+05] OUTP D MOV C,[Y+05]
|
||||
SUB [X+05] DSBC D MOV D,[Y+05]
|
||||
SBB [X+05] SDED 06A4 MOV E,[Y+05]
|
||||
ANA [X+05] IM1 MOV H,[Y+05]
|
||||
XRA [X+05] LDAI MOV L,[Y+05]
|
||||
ORA [X+05] INP E MOV [Y+05],B
|
||||
CMP [X+05] OUTP E MOV [Y+05],C
|
||||
POP X DADC D MOV [Y+05],D
|
||||
XTIX LDED 06A4 MOV [Y+05],E
|
||||
PUSH X IM2 MOV [Y+05],H
|
||||
PCIX LDAR MOV [Y+05],L
|
||||
SPIX INP H MOV [Y+05],A
|
||||
RLCR [X+05] OUTP H MOV A,[Y+05]
|
||||
RRCR [X+05] DSBC H ADD [Y+05]
|
||||
RALR [X+05] shld 06A4 ADC [Y+05]
|
||||
RARR [X+05] RRD SUB [Y+05]
|
||||
SLAR [X+05] INP L SBB [Y+05]
|
||||
SRAR [X+05] OUTP L ANA [Y+05]
|
||||
SRLR [X+05] DADC H XRA [Y+05]
|
||||
BIT 0,[X+05] lhld 06A4 ORA [Y+05]
|
||||
BIT 1,[X+05] RLD CMP [Y+05]
|
||||
BIT 2,[X+05] INP M POP Y
|
||||
BIT 3,[X+05] OUTP M XTIY
|
||||
BIT 4,[X+05] DSBC SP PUSH Y
|
||||
BIT 5,[X+05] SSPD 06A4 PCIY
|
||||
BIT 6,[X+05] INP A SPIY
|
||||
BIT 7,[X+05] OUTP A RLCR [Y+05]
|
||||
RES 0,[X+05] DADC SP RRCR [Y+05]
|
||||
RES 1,[X+05] LSPD 06A4 RALR [Y+05]
|
||||
RES 2,[X+05] LDI RARR [Y+05]
|
||||
RES 3,[X+05] CCI SLAR [Y+05]
|
||||
RES 4,[X+05] INI SRAR [Y+05]
|
||||
RES 5,[X+05] OTI SRLR [Y+05]
|
||||
RES 6,[X+05] LDD BIT 0,[Y+05]
|
||||
RES 7,[X+05] CCD BIT 1,[Y+05]
|
||||
SET 0,[X+05] IND BIT 2,[Y+05]
|
||||
SET 1,[X+05] OTD BIT 3,[Y+05]
|
||||
SET 2,[X+05] LDIR BIT 4,[Y+05]
|
||||
SET 3,[X+05] CCIR BIT 5,[Y+05]
|
||||
SET 4,[X+05] INIR BIT 6,[Y+05]
|
||||
SET 5,[X+05] OTIR BIT 7,[Y+05]
|
||||
SET 6,[X+05] LDDR RES 0,[Y+05]
|
||||
SET 7,[X+05] CCDR RES 1,[Y+05]
|
||||
INP B INDR RES 2,[Y+05]
|
||||
OUTP B OTDR RES 3,[Y+05]
|
||||
|
||||
|
||||
RES 4,[Y+05] SET 0,[Y+05] SET 4,[Y+05]
|
||||
RES 5,[Y+05] SET 1,[Y+05] SET 5,[Y+05]
|
||||
RES 6,[Y+05] SET 2,[Y+05] SET 6,[Y+05]
|
||||
RES 7,[Y+05] SET 3,[Y+05] SET 7,[Y+05]
|
||||
|
||||
; These are the result of disassembling 64180OPS.TRY
|
||||
; These opcodes are available ONLY on the 64180 CPU
|
||||
; DDTZ will both assemble and disassemble these.
|
||||
IN0 B,20 TST E MLT B
|
||||
OUT0 20,B IN0 H,20 MLT D
|
||||
TST B OUT0 20,H TSTI 20
|
||||
IN0 C,20 TST H MLT H
|
||||
OUT0 20,C IN0 L,20 TSIO 20
|
||||
TST C OUT0 20,L SLP
|
||||
IN0 D,20 TST L MLT SP
|
||||
OUT0 20,D TST M OTIM
|
||||
TST D IN0 A,20 OTDM
|
||||
IN0 E,20 OUT0 20,A OIMR
|
||||
OUT0 20,E TST A ODMR
|
||||
|
||||
; The following are UNDOCUMENTED z80 opcodes from XTDOPS.TRY.
|
||||
; DDTZ will disassemble these, but will not assemble them.
|
||||
; They use xh/xl (or yh/yl) as separate byte registers.
|
||||
; Use these at your own risk.
|
||||
INRX H ACXR H MOVY H,B
|
||||
DCRX H ACXR L MOVY H,C
|
||||
MVIX H,20 SUXR H MOVY H,D
|
||||
INRX L SUXR L MOVY H,E
|
||||
DCRX L SBXR H MOVY H,A
|
||||
MVIX L,20 SBXR L MOVY L,B
|
||||
MOVX B,H NDXR H MOVY L,C
|
||||
MOVX B,L NDXR L MOVY L,D
|
||||
MOVX C,H XRXR H MOVY L,E
|
||||
MOVX C,L XRXR L MOVY L,A
|
||||
MOVX D,H ORXR H MOVY A,H
|
||||
MOVX D,L ORXR L MOVY A,L
|
||||
MOVX E,H CPXR H ADYR H
|
||||
MOVX E,L CPXR L ADYR L
|
||||
MOVX H,B INRY H ACYR H
|
||||
MOVX H,C DCRY H ACYR L
|
||||
MOVX H,D MVIY H,20 SUYR H
|
||||
MOVX H,E INRY L SUYR L
|
||||
MOVX H,A DCRY L SBYR H
|
||||
MOVX L,B MVIY L,20 SBYR L
|
||||
MOVX L,C MOVY B,H NDYR H
|
||||
MOVX L,D MOVY B,L NDYR L
|
||||
MOVX L,E MOVY C,H XRYR H
|
||||
MOVX L,A MOVY C,L XRYR L
|
||||
MOVX A,H MOVY D,H ORYR H
|
||||
MOVX A,L MOVY D,L ORYR L
|
||||
ADXR H MOVY E,H CPYR H
|
||||
ADXR L MOVY E,L CPYR L
|
||||
|
||||
|
||||
Command Summary:
|
||||
===============
|
||||
|
||||
DDTZM command DDTZ command
|
||||
============= ============
|
||||
@ (base)
|
||||
A)ssemble first_address A
|
||||
B)egin {i.e., initialize stack and return} B
|
||||
C)ompare first_address,last_address,against_address C
|
||||
D)ump first_address[,last_address[,base]] D
|
||||
E)nter_in_memory first_address[,base] S)ubstitute
|
||||
F)ill first_address,last_address,value F
|
||||
G)o_to [address][,trap1[,trap2]] G
|
||||
H)ex_arithmetic value1(,value2) H
|
||||
L)oad_file (offset) R)ead
|
||||
M)ove first_address,last_address,destination M
|
||||
N)nput FCBs_command_line I)nput
|
||||
Q)uit (not avail)
|
||||
R)egister examine/change [register|flag] X)amine
|
||||
S)earch first_address,last_address,word W)hereis
|
||||
T)race_execution [count] T
|
||||
Untrace_execution [count] (i.e. do count instr) U)ntrace
|
||||
U)nassemble_code first_address[,last_address] L)ist code
|
||||
W)rite [first_address,last_address] K)eep
|
||||
X)amine {i.e. display memory parameters for application} Q)uery
|
||||
Y)our_option BC:=parm1,DE:=parm2,call_address Y
|
||||
Z)80_register_display Z
|
||||
|
||||
|
||||
If you find this program useful, contributions will be gratefully
|
||||
accepted and will encourage further development and release of
|
||||
useful CPM programs. My practice is to include source.
|
||||
|
||||
C.B. Falconer
|
||||
680 Hartford Turnpike,
|
||||
Hamden, Conn. 06517 (203) 281-1438
|
||||
|
||||
DDTZ and its associated documentation and other files are
|
||||
copyright (c) 1980-1988 by C.B. Falconer. They may be freely
|
||||
copied and used for non-commercial purposes ONLY.
|
||||
|
||||
BIN
Images/Source/fd0/u0/DIF.COM
Normal file
BIN
Images/Source/fd0/u0/DIF.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/DIRX.COM
Normal file
BIN
Images/Source/fd0/u0/DIRX.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/DUMP.COM
Normal file
BIN
Images/Source/fd0/u0/DUMP.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/ED.COM
Normal file
BIN
Images/Source/fd0/u0/ED.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/LBREXT.COM
Normal file
BIN
Images/Source/fd0/u0/LBREXT.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/LIB.COM
Normal file
BIN
Images/Source/fd0/u0/LIB.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/LINK.COM
Normal file
BIN
Images/Source/fd0/u0/LINK.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/LOAD.COM
Normal file
BIN
Images/Source/fd0/u0/LOAD.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/MAC.COM
Normal file
BIN
Images/Source/fd0/u0/MAC.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/MBASIC.COM
Normal file
BIN
Images/Source/fd0/u0/MBASIC.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/NULU.COM
Normal file
BIN
Images/Source/fd0/u0/NULU.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/PIP.COM
Normal file
BIN
Images/Source/fd0/u0/PIP.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/RMAC.COM
Normal file
BIN
Images/Source/fd0/u0/RMAC.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/SID.COM
Normal file
BIN
Images/Source/fd0/u0/SID.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/STAT.COM
Normal file
BIN
Images/Source/fd0/u0/STAT.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/SUBMIT.COM
Normal file
BIN
Images/Source/fd0/u0/SUBMIT.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/SUPERSUB.COM
Normal file
BIN
Images/Source/fd0/u0/SUPERSUB.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/UNARC.COM
Normal file
BIN
Images/Source/fd0/u0/UNARC.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/UNCR.COM
Normal file
BIN
Images/Source/fd0/u0/UNCR.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/UNZIP.COM
Normal file
BIN
Images/Source/fd0/u0/UNZIP.COM
Normal file
Binary file not shown.
69
Images/Source/fd0/u0/VIDATT.Z80
Normal file
69
Images/Source/fd0/u0/VIDATT.Z80
Normal file
@@ -0,0 +1,69 @@
|
||||
title WordStar 4.0 Video Attributes Driver
|
||||
|
||||
strngout equ 0283h
|
||||
|
||||
esc equ 1bh
|
||||
dim equ 1
|
||||
blink equ 2
|
||||
invert equ 4
|
||||
uline equ 8
|
||||
|
||||
aseg
|
||||
org 03c1h
|
||||
|
||||
vidatt:
|
||||
xor a
|
||||
ld hl,funtbl
|
||||
ld b,8
|
||||
getloop:
|
||||
rr c
|
||||
jr nc,getnext
|
||||
or a,(hl)
|
||||
getnext:
|
||||
inc hl
|
||||
djnz getloop
|
||||
;
|
||||
ld hl,string+2 ; attribute #1 on/off indicator
|
||||
push hl
|
||||
ld b,4
|
||||
ld de,'?!' ; ? = attribute off, ! = attribute on
|
||||
setloop:
|
||||
rra
|
||||
jr nc,attroff
|
||||
ld (hl),e ; attribute on
|
||||
jr setnext
|
||||
attroff:
|
||||
ld (hl),d ; attribute off
|
||||
setnext:
|
||||
inc hl
|
||||
inc hl
|
||||
inc hl ; advance to next on/off indicator
|
||||
djnz setloop
|
||||
;
|
||||
pop hl ; hl --> dim on/off
|
||||
ld a,d ; attribute off
|
||||
cp (hl) ; dim off?
|
||||
jr nz,setdim
|
||||
ld a,e ; attribute on
|
||||
setdim:
|
||||
ld (hl),a
|
||||
ld hl,string
|
||||
jp strngout ; ws string routine
|
||||
;
|
||||
;
|
||||
funtbl:
|
||||
defb dim ; strike out
|
||||
defb invert or blink ; warnings & errors
|
||||
defb invert ; block
|
||||
defb uline ; underline
|
||||
defb blink ; subscript
|
||||
defb blink or uline ; superscript
|
||||
defb invert ; menu, headline, bold, double
|
||||
defb invert or uline ; italics, RET, backspace
|
||||
;
|
||||
string:
|
||||
defb 12,esc,' 2',esc,' 3',esc,' 4',esc,' 5'
|
||||
;
|
||||
finis equ $
|
||||
end
|
||||
|
||||
BIN
Images/Source/fd0/u0/WS.COM
Normal file
BIN
Images/Source/fd0/u0/WS.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/WS.OVR
Normal file
BIN
Images/Source/fd0/u0/WS.OVR
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/WSCHANGE.COM
Normal file
BIN
Images/Source/fd0/u0/WSCHANGE.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/WSCHANGE.OVR
Normal file
BIN
Images/Source/fd0/u0/WSCHANGE.OVR
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/WSCHHELP.OVR
Normal file
BIN
Images/Source/fd0/u0/WSCHHELP.OVR
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/WSHELP.OVR
Normal file
BIN
Images/Source/fd0/u0/WSHELP.OVR
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/WSMSGS.OVR
Normal file
BIN
Images/Source/fd0/u0/WSMSGS.OVR
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/WSPRINT.OVR
Normal file
BIN
Images/Source/fd0/u0/WSPRINT.OVR
Normal file
Binary file not shown.
880
Images/Source/fd0/u0/WSREADME.TXT
Normal file
880
Images/Source/fd0/u0/WSREADME.TXT
Normal file
@@ -0,0 +1,880 @@
|
||||
--THE README FILE--
|
||||
------------------------
|
||||
|
||||
README contains late-breaking news and tips about WordStar,
|
||||
and information about printers.
|
||||
|
||||
|
||||
THE DISKS THAT CAME IN YOUR PACKAGE
|
||||
-----------------------------------
|
||||
|
||||
The file HOMONYMS.TXT is included on the Speller disk
|
||||
contrary to what is listed in Appendix D.
|
||||
|
||||
|
||||
INSTALLATION
|
||||
------------
|
||||
|
||||
WINSTALL and WSCHANGE
|
||||
|
||||
WordStar has two installation programs:
|
||||
|
||||
o WINSTALL contains the basic choices to install WordStar.
|
||||
It is recommended for all users.
|
||||
|
||||
Be sure and install your valid disk drives since WordStar
|
||||
running under CP/M cannot recover from attempts to access non-
|
||||
existent disk drives.
|
||||
|
||||
o WSCHANGE contains every installation and customization
|
||||
choice. It is designed for advanced users and users who
|
||||
want to customize WordStar after they're familiar with it.
|
||||
Use the menu listing below for a directory of the menus
|
||||
in WSCHANGE.
|
||||
|
||||
Directory of WSCHANGE Menus
|
||||
|
||||
The chart below shows the organization of menus in WSCHANGE.
|
||||
Print it out and refer to it as you customize WordStar.
|
||||
|
||||
Main Installation Menu
|
||||
|
||||
A Console
|
||||
A Monitor
|
||||
A Monitor selection
|
||||
B Monitor name
|
||||
C Screen sizing
|
||||
B Function keys
|
||||
C Monitor patches
|
||||
A Special characters
|
||||
B Cursor control
|
||||
C Screen control
|
||||
D Keyboard patches
|
||||
A Function keys
|
||||
B Save function keys
|
||||
E Interface patches
|
||||
A Console busy handshaking
|
||||
B Special I/O subroutines
|
||||
B Printer
|
||||
A Printer choices
|
||||
A Printer selection
|
||||
B Printer name
|
||||
C Default printer driver
|
||||
B Printer driver library
|
||||
A Select library file
|
||||
B Create smaller library
|
||||
C Add new printer driver
|
||||
D Change printer driver data
|
||||
C WS printer patches
|
||||
A Custom print controls, printer initialization
|
||||
|
||||
NOTE: Disregard the "CUSTOM & SIMPLE Controls Save CUSTOM/SIMPLE
|
||||
Controls" option shown. This is not available from this menu.
|
||||
|
||||
D Printing defaults
|
||||
E Printer interface
|
||||
A Printer port selection
|
||||
B Printer busy handshaking
|
||||
C Printer subroutines
|
||||
C Computer
|
||||
A Disk drives
|
||||
A Valid disk drives
|
||||
B Maximum valid user number
|
||||
C Delay disk access if typing
|
||||
B Operating system
|
||||
A Single-user system
|
||||
B Multi-user MP/M
|
||||
C Multi-user Turbo DOS
|
||||
D ZCPR3
|
||||
C Memory usage
|
||||
D WordStar files
|
||||
E Directory display
|
||||
F Computer patches
|
||||
D WordStar
|
||||
A Page layout
|
||||
A Page sizing & margins
|
||||
B Headers & footers
|
||||
C Tabs
|
||||
B Editing settings
|
||||
A Edit screen & help level
|
||||
B Typing
|
||||
C Paragraph alignment
|
||||
D Blocks
|
||||
E Erase & unerase
|
||||
F Lines & characters
|
||||
G Find & replace
|
||||
H WordStar 3.3 compatibility
|
||||
I Printing defaults
|
||||
C Other features
|
||||
A Spelling checks
|
||||
B Nondocument mode
|
||||
C Indexing
|
||||
D Shorthand (key macros)
|
||||
E Merge printing
|
||||
F Miscellaneous
|
||||
E Patching
|
||||
A Auto patcher
|
||||
B Save settings
|
||||
C Reset all settings
|
||||
|
||||
MEMORY USAGE
|
||||
------------
|
||||
|
||||
WordStar requires a minimum TPA size of 50 kbytes to run
|
||||
using the factory defaults. The TPA is the amount of memory
|
||||
available in your computer for use by programs that have a
|
||||
file type of COM. To see how big the TPA is in your computer,
|
||||
press the question mark key (?) at the Opening Menu.
|
||||
|
||||
The amount of memory required by WordStar can be reduced by
|
||||
approximately 3 kbytes if necessary. Use the WSCHANGE program
|
||||
to select the minimum memory configuration option. The menu
|
||||
will show you what capabilities are being reduced.
|
||||
|
||||
WordStar uses a general-purpose buffer for a variety of
|
||||
tasks. WordStar allocates memory to this buffer for editing,
|
||||
for merge printing, and at the Opening Menu (see BFSIZE in
|
||||
PATCH.LST). The buffer used for editing is usually the most
|
||||
sensitive to a reduced TPA size. (You may be able to use the
|
||||
Opening Menu and print, but there may be insufficient memory
|
||||
for editing.)
|
||||
|
||||
The merge print buffer is used only to hold merge print
|
||||
variable names and data. Increase it if you run out of memory
|
||||
while merge printing.
|
||||
|
||||
The Opening Menu buffer is used primarily to hold the file
|
||||
directory, and for miscellaneous tasks.
|
||||
|
||||
|
||||
LOW-MEMORY INDICATOR IN STATUS LINE
|
||||
-----------------------------------
|
||||
|
||||
If the Low-Memory indicator appears in the status line, it
|
||||
means that WordStar was unable to complete some function.
|
||||
The most common symptoms are: the line number in the
|
||||
status line is wrong, or a paragraph alignment could not be
|
||||
completed. You may correct the line counter by saving your
|
||||
file, exiting WordStar, and re-loading your file. To correct
|
||||
the paragraph alignment, move your cursor to the point where
|
||||
paragraph alignment stopped, and then press ^B again.
|
||||
|
||||
The reason this comes up is that WordStar was not able to fit
|
||||
a big enough chunk of text into memory at one time.
|
||||
|
||||
When you first begin editing, WordStar uses the value from
|
||||
EDSIZE in the user area to determine the minimum amount
|
||||
of memory required for a page of text. The default
|
||||
is set for approximately a 55 line by 66 column page. If
|
||||
your page size is routinely larger than this, you may want
|
||||
to increase EDSIZE. Multiply the number of lines by the
|
||||
number of columns, and divide by 128.
|
||||
|
||||
If the Low-Memory indicator comes on while printing, it is due
|
||||
to either the same reasons as for editing, or there is
|
||||
insufficient memory to print the text proportionally spaced.
|
||||
The amount of memory required depends on which printer
|
||||
driver you are using. If you aren't using the .PS ON dot
|
||||
command to turn proportional spacing on in your document,
|
||||
low memory won't be a problem. Also, WordStar uses more
|
||||
memory for merge printing than it does for regular printing
|
||||
(around 2.5 kbytes more).
|
||||
|
||||
The Low-Memory indicator will also appear when a full disk error
|
||||
is encountered during editing. Treat the disk-full error as you
|
||||
would normally.
|
||||
|
||||
|
||||
RAM-RESIDENT PROGRAMS
|
||||
---------------------
|
||||
|
||||
RAM-resident programs, such as SmartKey, reduce the amount of
|
||||
working memory (TPA) that WordStar can use. The new features in
|
||||
WordStar, such as shorthand, may reduce the need for these
|
||||
RAM-resident programs, thus freeing memory for WordStar.
|
||||
|
||||
|
||||
ZCPR3 SUPPORT
|
||||
-------------
|
||||
|
||||
In order to enable the ZCPR facilities within WordStar, the user
|
||||
must use the Z3INS utility provided with ZCPR to install the
|
||||
address of the ZCPR "environment" into WordStar. The environment
|
||||
contains information that WordStar uses to support ZCPR-specific
|
||||
functions.
|
||||
|
||||
Generally, the user should log onto the drive containing the file
|
||||
WS.COM, and issue the command:
|
||||
|
||||
Z3INS SYS.ENV WS.COM
|
||||
|
||||
The user should also run either WINSTALL or WSCHANGE to further
|
||||
install WordStar for ZCPR. However, this is not mandatory because
|
||||
the only thing that happens is that the WordStar sign-on says
|
||||
"ZCPR3," and the LGLUSR location in the user area is changed for a
|
||||
maximum user number of 31. (The normal default for LGLUSR is 15.)
|
||||
|
||||
Once the user has installed WordStar for use with ZCPR, the user
|
||||
will be able to use the following ZCPR features:
|
||||
|
||||
- A named directory may be used when logging onto a new drive/user.
|
||||
|
||||
- A named directory may be used instead of a drive/user as part
|
||||
of any file name.
|
||||
|
||||
- The drive/user always appears above file directories. (For CP/M
|
||||
only the drive letter is shown if the user number is zero.)
|
||||
|
||||
- The directory name also appears above the directory if one has
|
||||
been defined for the currently logged drive/user.
|
||||
|
||||
- If WordStar does not find its OVR files on the current drive and
|
||||
user, it will search the drives and user numbers in the ZCPR
|
||||
search path rather than using its standard search pattern.
|
||||
|
||||
- WordStar installs itself as a ZCPR "shell" process which lets the
|
||||
user enter any legal ZCPR command when running a program. (CP/M
|
||||
can only run programs that are COM files.)
|
||||
|
||||
|
||||
OSBORNE USERS
|
||||
-------------
|
||||
|
||||
The command to change a hard carriage return to a soft carriage
|
||||
return (document mode) or to turn Auto-indent ON (nondocument
|
||||
mode) does not function on the Osborne because of a limitation
|
||||
in its BIOS. The following patch can be applied to change the
|
||||
command from ^^ to ^- (Ctrl-Hyphen):
|
||||
|
||||
Using DDT or SID in the file WSMSGS.OVR:
|
||||
|
||||
At 02DA replace 1E with a 1D
|
||||
At 02EF replace 1E with a 1D
|
||||
At 0359 replace 1E with a 1D
|
||||
At 06B2 replace 1E with a 1D
|
||||
At 06C9 replace 1E with a 1D
|
||||
|
||||
At the system prompt type SAVE 53 WSMSGS.OVR
|
||||
|
||||
For more information on how to use SID or DDT, see your CP/M
|
||||
reference guide. As always, be sure and apply the patch to a
|
||||
COPY of the file.
|
||||
|
||||
|
||||
INSTRUCTIONS FOR TWO FLOPPY DISK COMPUTERS
|
||||
------------------------------------------
|
||||
|
||||
Do not remove the Program disk while you are using WordStar.
|
||||
|
||||
The Printer Driver Library file (WSPRINT.OVR) on the WordStar
|
||||
program disk is much smaller than the Printer Driver Library
|
||||
file contained on the disk labeled PRINTER. Be sure to read the
|
||||
section in "Starting" that discusses the printer library file.
|
||||
|
||||
|
||||
RUN A PROGRAM
|
||||
-------------
|
||||
|
||||
Once you press R you can type the drive and user number for the
|
||||
program you want to run. You may run only .COM files. CCP commands,
|
||||
such as DIR cannot be used.
|
||||
|
||||
|
||||
INDEXING
|
||||
--------
|
||||
|
||||
Using StarIndex
|
||||
|
||||
StarIndex 1.01 works with files created with this release of
|
||||
WordStar.
|
||||
|
||||
"Can't Use That Printer" Message
|
||||
|
||||
When WordStar creates an index or table of contents, it uses
|
||||
the printer drivers $INDEX and $TOC. If you created a smaller
|
||||
WSPRINT.OVR file, you may have left these drivers out. To
|
||||
return them to the file, copy the original WSPRINT.OVR file
|
||||
onto your disk. When you create a smaller file again, be sure
|
||||
to save these drivers. See Appendix C in the WordStar manual
|
||||
for a list of other drivers to save.
|
||||
|
||||
|
||||
SPELL CHECKING
|
||||
--------------
|
||||
|
||||
Dual floppy disk users:
|
||||
|
||||
Unless you have sufficient room on your working WordStar program
|
||||
disk for the files TW.COM, SPELL.COM, MARKFIX.COM, REVIEW.COM and
|
||||
MAINDICT.CMP you will not be able to run a spell check from the
|
||||
Opening Menu. You will need to exit WordStar and replace the
|
||||
working WordStar program disk with the dictionary disk you created
|
||||
during installation. This disk should contain the files listed
|
||||
above. Make sure the disk in drive B has the file you want to
|
||||
spell-check.
|
||||
|
||||
Follow the directions for running a spell check in The WORD Plus
|
||||
manual.
|
||||
|
||||
|
||||
UPGRADING FROM A PREVIOUS RELEASE
|
||||
---------------------------------
|
||||
|
||||
This release of WordStar contains many new features and commands.
|
||||
See the "What's New" booklet for a complete list. The following
|
||||
changes came in too late to be included in the documentation.
|
||||
|
||||
Printer Patches
|
||||
|
||||
Previous versions of WordStar treat most dot matrix printers
|
||||
and other non-daisy wheel printers as a DRAFT printer with a
|
||||
few patchable items. Because of this, many users have used
|
||||
these patches to be able to use certain features of their
|
||||
printers. Sometimes the patches have been quite extensive, and
|
||||
some users have many files that count on them.
|
||||
|
||||
The printer drivers of WordStar Release 4, on the other hand,
|
||||
are very powerful. Almost every driver recognizes all the print
|
||||
controls and all the dot commands. In fact, if a document is
|
||||
written to be printed on one kind of printer, it is likely that
|
||||
it will also print fine on some other printer.
|
||||
|
||||
However, if you want to use your existing files with WordStar
|
||||
4, and those files rely on the user area being patched in a
|
||||
special way, you can probably do so by moving the patches into
|
||||
WordStar 4, and using the CUSTOM or SIMPLE printer driver.
|
||||
|
||||
On the INSTALL disk is a program called MOVEPRN.COM that
|
||||
copies the printer driver portion of the previous release's
|
||||
user area into files that can be installed into Release 4 with
|
||||
the "auto patcher" feature.
|
||||
|
||||
Copy the program MOVEPRN.COM onto the disk containing the
|
||||
WS.COM file for the previous version. Type
|
||||
|
||||
MOVEPRN WS.COM FILE1.PAT FILE2.PAT
|
||||
|
||||
MOVEPRN extracts the proper portions of the user area and
|
||||
writes them into two files that may then be used with the "auto
|
||||
patcher" feature of WSCHANGE.
|
||||
|
||||
FILE1.PAT is to be used with the general patching menu
|
||||
(Choose E "Patching" on the WSCHANGE Main Menu, then A "Auto
|
||||
Patcher"). FILE2.PAT should be used to install strings first
|
||||
into the SIMPLE driver, and then into the CUSTOM driver (choose
|
||||
B "Printer" on the WSCHANGE Main Menu, then B "Printer driver
|
||||
library", D "Change printer driver data" and D "Driver auto
|
||||
patcher").
|
||||
|
||||
Test print your document first with the SIMPLE driver, and then
|
||||
with the CUSTOM driver to see which one produces the most
|
||||
satisfactory results.
|
||||
|
||||
Also read Appendix C for more information on using the Auto
|
||||
Patcher.
|
||||
|
||||
|
||||
Hanging Indents
|
||||
|
||||
For WordStar Professional Release 4, MailMerge reformats indented
|
||||
text created with ^OG to the current margins. If you want the text
|
||||
to remain indented, use embedded ruler lines or the .RM, .LM,
|
||||
and .PM commands. See the "Reference Guide" for more information.
|
||||
|
||||
Pressing ^OG to wrap back to the first tab on the ruler line after
|
||||
having reached the last tab works the same way it did in previous
|
||||
versions of WordStar, contrary to what is stated in the manual.
|
||||
|
||||
|
||||
TERMINALS
|
||||
---------
|
||||
|
||||
WordStar comes installed for an "idealized" special terminal.
|
||||
WINSTALL and WSCHANGE allow you to install many terminals by
|
||||
name, thus allowing WordStar to take advantage of the special
|
||||
features that the terminal might support, such as underlining
|
||||
or the function keys.
|
||||
|
||||
Use either WINSTALL or WSCHANGE to pick your specific terminal
|
||||
or computer screen from the Monitor menu. If your terminal
|
||||
isn't on the menu, it probably emulates one of those that is
|
||||
there. Look in your terminal documentation to find out.
|
||||
|
||||
After you install WordStar for the proper terminal, run
|
||||
WordStar and open the file PRINT.TST to see which attributes
|
||||
(such as bold and underline) work on your screen.
|
||||
WordStar will highlight the following in some way...
|
||||
|
||||
Bold (^PB)
|
||||
Underline (^PS)
|
||||
Strike-out (^PX)
|
||||
Subscript (^PV)
|
||||
Superscript (^PT)
|
||||
Doublestrike (^PD)
|
||||
Italics (^PY)
|
||||
Blocks (^KB, ^KK)
|
||||
Error messages
|
||||
|
||||
Most of the time, normal text will be shown in dim intensity,
|
||||
and highlighted text will be shown in bright intensity. You
|
||||
may have to use a brightness and/or contrast knob to adjust
|
||||
your screen the first time you use WordStar this way.
|
||||
|
||||
If your dim intensity is too dim to see well, and you can't
|
||||
adjust it, you can change the BRITE flag to ON using WSCHANGE.
|
||||
This will invert bright and dim in your text, so that regular
|
||||
text is displayed bright, and highlighted text will be
|
||||
displayed as dim. However, text in the menus is not affected.
|
||||
|
||||
|
||||
DISPLAY PROBLEMS WITH TERMINALS
|
||||
-------------------------------
|
||||
|
||||
Once you have installed WordStar for the proper terminal, you
|
||||
may still experience display problems.
|
||||
|
||||
If text from the previous screen remains after WordStar
|
||||
displays a new screenful of text, the most likely cause is
|
||||
cursor wrap. Basically, WordStar must know what happens to the
|
||||
cursor when a character is displayed at the rightmost position
|
||||
of the screen. It can either remain at the right edge, or it
|
||||
can wrap to the beginning of the next line. The WRAP flag in
|
||||
WordStar must be set either on or off to correspond to the
|
||||
way the terminal works. (It is generally set for the
|
||||
terminal's factory default, but the default can usually be
|
||||
changed using the terminal's setup mode.)
|
||||
|
||||
Another possible cause for display problems is your terminal's
|
||||
incomplete emulation of some other terminal. The most
|
||||
common differences are...
|
||||
|
||||
Line insert (LININS), line delete (LINDEL),
|
||||
Erase to end of screen (ERAEOS),
|
||||
Erase to end of line (ERAEOL),
|
||||
And, erase screen (ERASCR).
|
||||
|
||||
Look in the manual for your terminal and use WSCHANGE to see
|
||||
if the control sequences match.
|
||||
|
||||
|
||||
PRINTERS
|
||||
--------
|
||||
|
||||
WHAT'S IN THIS SECTION
|
||||
|
||||
This section contains the following information:
|
||||
|
||||
Choosing a Printer
|
||||
Setting Up Your Printer
|
||||
Printer Drivers
|
||||
Proportional Printing
|
||||
Laser Printers
|
||||
Information on Specific Printers
|
||||
|
||||
CHOOSING A PRINTER
|
||||
|
||||
WordStar is ready to work with over 100 printers. The printer you
|
||||
choose during installation becomes your default printer. However,
|
||||
when you print a document, you can choose any other printer. To
|
||||
choose a default printer, follow these steps:
|
||||
|
||||
1. Look at the Printer Information brochure that came in your
|
||||
package. The first chart shows the printers listed on the
|
||||
Printer Selection Menus. If your printer is on the menu,
|
||||
simply choose it during installation.
|
||||
|
||||
2. If your printer isn't listed on the menu, it may work like a
|
||||
printer that is. Refer to the second chart in the Printer
|
||||
Information brochure for a list of printers that work like
|
||||
printers on the menu. When WordStar asks you to choose a
|
||||
printer, choose the printer that works like yours.
|
||||
|
||||
3. If neither chart lists your printer, choose Typewriter Printer
|
||||
(if your printer can backspace) or Draft Printer (if it can't).
|
||||
These choices may not take advantage of all your printer's
|
||||
features, but they will work with almost any printer.
|
||||
|
||||
Note: If you choose Draft or Typewriter, you can modify custom
|
||||
print controls and printer initialization.
|
||||
|
||||
If you want to make more modifications to take advantage of your
|
||||
printer's feature, choose the Custom or Simple drivers, then use
|
||||
the WS Printer Patches section of WSCHANGE to tell WordStar the
|
||||
codes for your printer. Refer to your printer manual for these
|
||||
codes. Some printers work better with the Custom driver and some
|
||||
with the Simple driver. Try using both and see which works better
|
||||
with your printer. See the "Reference Guide" for more information.
|
||||
|
||||
SETTING UP YOUR PRINTER
|
||||
|
||||
Choosing a Printer Port
|
||||
|
||||
Each printer is connected to a printer port at the back of
|
||||
the computer. WordStar looks for printers on the LST: port.
|
||||
If your printer is connected to a different port, use
|
||||
WSCHANGE to tell WordStar the correct port.
|
||||
|
||||
Testing Your Printer Connection
|
||||
|
||||
At the operating system prompt, type "PIP LST:=READ.ME." This
|
||||
file should be printed by your printer. If it is not, your printer
|
||||
may be connected to a different port. See your computer reference
|
||||
manual, and the section on the STAT command in your CP/M
|
||||
reference manual for more information.
|
||||
|
||||
|
||||
PRINTER DRIVERS
|
||||
|
||||
The WSPRINT.OVR file on the Printers disk contains a printer
|
||||
driver for each printer on the Printer Selection Menu. The printer
|
||||
driver for a printer contains all the codes WordStar needs to work
|
||||
with that printer.
|
||||
|
||||
Each printer driver has a short name. If you choose a printer when
|
||||
you print a document, you see the names of the printer drivers, not
|
||||
the names of the printers.
|
||||
|
||||
PROPORTIONAL PRINTING
|
||||
|
||||
WordStar supports proportional printing on a number of printers.
|
||||
To turn on proportional printing, either install WordStar to
|
||||
default to proportional printing, or place a ".PS on" command
|
||||
in your document. At print time, WordStar selects the
|
||||
appropriate proportional font based on the character width
|
||||
(.CW) currently in effect.
|
||||
|
||||
The specific printer descriptions later in this section show
|
||||
recommended character widths for proportional typefaces.
|
||||
These widths are for a normal mix of upper- and lowercase
|
||||
letters. If you have many words or phrases all in uppercase
|
||||
or if you want your text less densely printed, choose a larger
|
||||
character width.
|
||||
|
||||
While WordStar mostly sets character widths based on the
|
||||
proportional-width table in the driver, on the more advanced
|
||||
daisy wheel printers, WordStar uses the printer's proportional-
|
||||
spacing mode. WordStar determines how much white space is needed
|
||||
to right-justify the line based on its own proportional width
|
||||
tables. If the table values don't match the wheel installed,
|
||||
WordStar won't be able to justify the line correctly.
|
||||
|
||||
WordStar sends standard ASCII characters; if a proportional wheel
|
||||
uses a different spoke mapping, set up the printer to handle this.
|
||||
|
||||
LASER PRINTERS
|
||||
|
||||
WordStar supports laser printer features such as font changes
|
||||
and proportional spacing.
|
||||
|
||||
WordStar supports several laser printers: the Canon LPB-8 A1 & A2;
|
||||
the Hewlett-Packard LaserJet, LaserJet+, and LaserJet 500+;
|
||||
and the Ricoh LP4080. Refer to the "Specific Printer
|
||||
Information" section of this file for information on these
|
||||
printers. General notes about using laser printers are given below.
|
||||
|
||||
Paper Size and Margins
|
||||
|
||||
Laser printers come with preset page margins. You need to
|
||||
compensate for these margins by changing page length in your
|
||||
WordStar documents. The chart below shows the recommended
|
||||
settings for 8 1/2 X 11 inch paper for both portrait and landscape
|
||||
orientations. These settings allow 55 lines of text for portrait
|
||||
orientation and 40 lines of text for landscape orientation (at 6
|
||||
lines per inch). They also allow for a footer of up to 3 lines
|
||||
and a one-line header. If you use multiple-line headers, adjust
|
||||
the top margin accordingly.
|
||||
|
||||
Dot Default Portrait Landscape
|
||||
Setting Command Value Orientation Orientation
|
||||
------- ------- ------- ----------- -----------
|
||||
page length .PL 66 62 47
|
||||
top margin .MT 3 2 2
|
||||
bottom margin .MB 8 5 5
|
||||
header margin .HM 2 1 1
|
||||
footer margin .FM 2 2 2
|
||||
|
||||
If the laser printer is your primary printer, you can use WSCHANGE
|
||||
to make these settings the defaults.
|
||||
|
||||
Because laser printers leave small margins at the left and right
|
||||
sides of the page, you may want to use a smaller page offset
|
||||
setting (the default is .PO 8).
|
||||
|
||||
Form Feeds
|
||||
|
||||
When you print with a laser printer, answer Y for yes to the "Use
|
||||
form feeds (Y/N)?" prompt at print time. (The default is NO.) If
|
||||
the laser printer is your primary printer, you can use WSCHANGE to
|
||||
change the default to yes.
|
||||
|
||||
WordStar Commands for Font Selection
|
||||
|
||||
The WordStar dot commands and print control commands listed below
|
||||
determine the fonts used for printing a document.
|
||||
|
||||
.PR .PR OR=L selects landscape orientation; .PR OR=P (or just
|
||||
.PR OR) selects portrait orientation (the default). If
|
||||
either of these commands appears after the first printing
|
||||
line on a page, the orientation will not change until the
|
||||
following page.
|
||||
|
||||
.PS .PS ON selects proportionally spaced characters; .PS OFF
|
||||
(the default) selects fixed-spaced characters.
|
||||
|
||||
.CW The character-width setting (.CW followed by the width in
|
||||
120ths of an inch) determines the character pitch and font
|
||||
selected for fixed-width printing. For proportional fonts, it
|
||||
determines the point size and proportional-width table
|
||||
selected.
|
||||
|
||||
.LQ .LQ ON selects near letter quality print (if supported by
|
||||
your printer). LQ OFF selects draft quality print. Default
|
||||
is ON.
|
||||
|
||||
^PY The italic print control toggles between normal and italic
|
||||
characters when the appropriate italic font is available.
|
||||
|
||||
^PB The boldface print control toggles between normal and bold
|
||||
characters when the appropriate bold font is available.
|
||||
|
||||
^PD The double strike print control used with the laser printers
|
||||
toggles overprinting with a horizontal offset of 1/120"
|
||||
between the two character images. This allows a bold effect
|
||||
where no bold font is available.
|
||||
|
||||
^PA ^PA turns alternate pitch on. Use .CW to assign different
|
||||
character widths to normal pitch (see ^PN below) and alternate
|
||||
pitch so that each pitch accesses a different font. You can
|
||||
then change fonts by switching between the two pitches. This
|
||||
is the only way to use two fonts on the same line.
|
||||
(See "Character width" and "Pitch" in the "Reference Guide.")
|
||||
|
||||
^PN ^PN turns normal pitch on. You can use it with ^PA as
|
||||
described above.
|
||||
|
||||
^P@ When working with columns, if you use alternate and normal
|
||||
pitch for two fonts, or if you use proportional spacing, you
|
||||
may need to use ^P@ to make sure the columns line up.
|
||||
Remember that the column position set with ^P@ is determined
|
||||
by the normal pitch character width. (See "Columns" and
|
||||
"Proportional spacing" in the "Reference Guide."
|
||||
|
||||
INFORMATION ON SPECIFIC PRINTERS
|
||||
|
||||
This section describes the capabilities of each printer listed on
|
||||
the Printer Selection Menu. The printers are listed in alphabetical
|
||||
order (except for the generic printers such as "Draft,"
|
||||
"Typewriter," "Custom," "Simple," and the various print-to-disk
|
||||
options, which are listed first).
|
||||
|
||||
There is a chart for each printer explaining how features work and
|
||||
listing any special notes about the printer. Each printer is
|
||||
described in the following format:
|
||||
|
||||
PRINTER NAME ----- Driver: (short name)
|
||||
|
||||
^PY Effect of italics/ribbon color print control
|
||||
^PT/V Subscript/superscript information
|
||||
.CW Information on available character widths and fonts. The
|
||||
chart shows the .CW, .LQ, and .PS settings required to use
|
||||
different fonts.
|
||||
|
||||
.LQ OFF .LQ ON .PS ON Font Name
|
||||
------- ------ ------ ---------
|
||||
.cw val .cw val recommended value (range) font 1
|
||||
.cw val .cw val recommended value (range) font 2
|
||||
|
||||
.UL Continuous-underline information (if restrictions)
|
||||
.UJ Microspace-justification information (if restrictions)
|
||||
|
||||
N/A means a command has no effect on this printer.
|
||||
|
||||
NOTES Switch settings, special features, anomalies.
|
||||
|
||||
DRAFT PRINTER (nonbackspacing) ----- Driver: DRAFT
|
||||
|
||||
^PD Overprints the line twice
|
||||
^PB Overprints the line three times
|
||||
^PS Overprints the underscore character in a separate pass
|
||||
^PT/V Prints super/subscripts with a full line between
|
||||
super/subscript and text
|
||||
.LH Sets line height only in multiples of full lines
|
||||
.CW N/A
|
||||
.PS N/A
|
||||
.LQ N/A
|
||||
.UJ N/A
|
||||
|
||||
NOTES This driver works with any printer that doesn't automatically
|
||||
perform a line feed when it receives a carriage return command. All
|
||||
overprinting is done by returning the carriage and passing over the
|
||||
line again.
|
||||
|
||||
TYPEWRITER PRINTER (backspacing) ----- Driver: TYPEWR
|
||||
|
||||
^PD Backspaces and overprints each character twice
|
||||
^PB Backspaces and overprints each character three times
|
||||
^PS Backspaces and overprints the underscore character
|
||||
^PT/V Prints super/subscripts with a full line between
|
||||
super/subscript and text
|
||||
.LH Sets line height only in multiples of full lines
|
||||
.CW N/A
|
||||
.PS N/A
|
||||
.LQ N/A
|
||||
.UJ N/A
|
||||
|
||||
NOTES This driver works with any printer that doesn't automatically
|
||||
perform a line feed when a it receives a carriage return command,
|
||||
and responds to a backspace character. Overprinting is done by
|
||||
backspacing.
|
||||
|
||||
AUTO LINE FEED PRINTER (backspacing) ----- Driver: AUTOLF
|
||||
|
||||
^PD Backspaces and overprints each character twice
|
||||
^PB Backspaces and overprints each character three times
|
||||
^PS Backspaces and overprints the underscore character
|
||||
^PT/V Prints super/subscripts with a full line between
|
||||
super/subscript and text
|
||||
.LH Sets line height only in multiples of full lines
|
||||
.CW N/A
|
||||
.PS N/A
|
||||
.LQ N/A
|
||||
.UJ N/A
|
||||
|
||||
NOTES This driver works with any printer that automatically
|
||||
performs a line feed when it receives a carriage return character,
|
||||
and responds to a backspace command. Overprinting is done by
|
||||
backspacing.
|
||||
|
||||
SIMPLE CUSTOMIZABLE PRINTERS ----- Driver: SIMPLE
|
||||
|
||||
All print controls cause control strings (on and off) in
|
||||
the user area to be sent to the printer. These strings
|
||||
are used by both the SIMPLE and CUSTOM drivers. They can
|
||||
be installed with the WSCHANGE program.
|
||||
|
||||
.LQ Controlled by user area strings
|
||||
.PS Controlled by user area strings
|
||||
.CW N/A
|
||||
.UJ N/A
|
||||
.LH N/A
|
||||
|
||||
NOTES This printer driver prints the line in one pass, sending
|
||||
control strings from the user area to select print enhancements.
|
||||
|
||||
CUSTOMIZABLE PRINTERS ----- Driver: CUSTOM
|
||||
|
||||
All print controls cause control strings (on and off) in
|
||||
the user area to be sent to the printer. These strings
|
||||
are used by both the SIMPLE and CUSTOM drivers. They can
|
||||
be installed with the WSCHANGE program.
|
||||
|
||||
.LQ ON/OFF controlled by user area strings
|
||||
.PS ON/OFF controlled by user area strings
|
||||
.LH Sets line height only in multiples of full lines
|
||||
.UJ N/A
|
||||
.CW N/A
|
||||
|
||||
NOTES This driver prints the line in multiple passes, sending
|
||||
control strings from the user area to select print enhancements.
|
||||
|
||||
PREVIEW TO DISK ----- Driver: PRVIEW
|
||||
|
||||
This driver prints documents to the PREVIEW.WS file to allow
|
||||
you to preview the format and appearance of a document before
|
||||
printing. Headers, footers, and pagination are shown correctly
|
||||
and print controls remain in the file to display onscreen
|
||||
attributes. Dot commands are not printed.
|
||||
|
||||
PRINT TO DISK WITHOUT PRINT CONTROLS ----- Driver: ASCII
|
||||
|
||||
This driver prints to the ASCII.WS file, stripping headers and
|
||||
footers, high bits, and print controls.
|
||||
|
||||
PRINT TO DISK WITHOUT HEADERS AND FOOTERS ----- Driver: XTRACT
|
||||
|
||||
This driver prints to the XTRACT.WS disk file, stripping headers
|
||||
and footers, but preserving high bits and print controls.
|
||||
|
||||
ANADEX 9500A, 9500B ----- Driver: 9500
|
||||
|
||||
^PY N/A
|
||||
^PT/V Even superscript roll
|
||||
|
||||
.CW .CW Font name
|
||||
--- ---------
|
||||
9 13.3 cpi
|
||||
10 12 cpi
|
||||
12 10 cpi
|
||||
18 6.7 cpi
|
||||
20 6 cpi
|
||||
24 5 cpi
|
||||
|
||||
.LH 1/24" resolution, use even values
|
||||
.UJ This printer has no incremental horizontal positioning
|
||||
.PS N/A
|
||||
.LQ N/A
|
||||
|
||||
ANADEX 9501B, INTEQ 5100B ----- Driver: 9501B
|
||||
|
||||
^PY N/A
|
||||
^PT/V Even superscript roll
|
||||
|
||||
.CW .CW Font name
|
||||
--- ---------
|
||||
7 16.7 cpi
|
||||
8 15 cpi
|
||||
10 12.5 cpi
|
||||
12 10 cpi
|
||||
14 8.3 cpi
|
||||
16 7.5 cpi
|
||||
20 6.2 cpi
|
||||
24 5 cpi
|
||||
|
||||
.LH 1/24" resolution, use even values
|
||||
.UJ This printer has no incremental horizontal positioning
|
||||
.PS N/A
|
||||
.LQ N/A
|
||||
|
||||
C. ITOH STARWRITER 1550 AND 8510 ----- Driver: C1550
|
||||
|
||||
^PY N/A
|
||||
^PT/V Prints full-size characters with roll
|
||||
|
||||
.CW .CW Font Name
|
||||
--- ---------
|
||||
7 compressed
|
||||
10 elite
|
||||
12 pica
|
||||
14 expanded compressed
|
||||
20 expanded elite
|
||||
24 expanded pica
|
||||
|
||||
.LQ N/A
|
||||
.PS N/A
|
||||
.UL Continuous underlining suppresses microspace justification
|
||||
|
||||
C. ITOH F10 STARWRITER ----- Driver: QUME
|
||||
|
||||
See Diablo 630, 1610, 1620 Daisy Wheel.
|
||||
|
||||
Note: Proportional printing was tested with a Theme 10 wheel.
|
||||
|
||||
CANON LBP-8A1 AND LBP-8A2 LASER PRINTER ----- Driver: LBP8
|
||||
|
||||
^PY Selects italics if appropriate font installed
|
||||
^PT/V Prints full-size characters with roll
|
||||
.PS .PS
|
||||
.CW OFF ON Font Name
|
||||
--- -- ---------
|
||||
6 - 20 cpi
|
||||
8 - 15 cpi
|
||||
9 - 13.3 cpi
|
||||
10 - 12 cpi (elite)
|
||||
12 - 10 cpi
|
||||
20 - 6 cpi
|
||||
24 - 5 cpi
|
||||
16 - 7.5 cpi
|
||||
- 7 (0-8) Garland 8 point
|
||||
- 10 (9-11) Garland 12 point
|
||||
- 14 (12-17) Expanded 8 point
|
||||
- 20 (18-30) Expand
|
||||
BIN
Images/Source/fd0/u0/WSSHORT.OVR
Normal file
BIN
Images/Source/fd0/u0/WSSHORT.OVR
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/WSU.COM
Normal file
BIN
Images/Source/fd0/u0/WSU.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/XSUB.COM
Normal file
BIN
Images/Source/fd0/u0/XSUB.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/ZAP.COM
Normal file
BIN
Images/Source/fd0/u0/ZAP.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/ZDE.COM
Normal file
BIN
Images/Source/fd0/u0/ZDE.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/ZDE40.COM
Normal file
BIN
Images/Source/fd0/u0/ZDE40.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd0/u0/ZDENST.COM
Normal file
BIN
Images/Source/fd0/u0/ZDENST.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/ASM.COM
Normal file
BIN
Images/Source/fd1/u0/ASM.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/CLOCKS.DAT
Normal file
BIN
Images/Source/fd1/u0/CLOCKS.DAT
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/CLRDIR.COM
Normal file
BIN
Images/Source/fd1/u0/CLRDIR.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/COPY.CFG
Normal file
BIN
Images/Source/fd1/u0/COPY.CFG
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/COPY.COM
Normal file
BIN
Images/Source/fd1/u0/COPY.COM
Normal file
Binary file not shown.
43
Images/Source/fd1/u0/COPY.UPD
Normal file
43
Images/Source/fd1/u0/COPY.UPD
Normal file
@@ -0,0 +1,43 @@
|
||||
11 Dec 88
|
||||
|
||||
Some changes have been made to COPY since the manual was written.
|
||||
Comparison of dates with Existence testing ON has been changed to
|
||||
use the Creation date when no Modified date exists, and print
|
||||
"Undated" when neither exists, yet both source and destination
|
||||
disks support file date stamping. Additionally, the /X option
|
||||
has been re-defined, and a new /R option has been added to
|
||||
Version 1.4. Please replace Paragraph 4.1.2.9 on page 55 of your
|
||||
ZSDOS manual with the following two paragraphs describing the new
|
||||
options.
|
||||
|
||||
|
||||
4.1.2.9.1 ERASE SOURCE FILE AFTER COPY.
|
||||
|
||||
When you want to "move" a file from one area to another, the "X"
|
||||
option may be used. This option causes a file or group of files
|
||||
to be copied in the manner described by the default or specified
|
||||
options, but after the copy and optional verify, the source file
|
||||
or files are erased. You will be notified that the file has been
|
||||
erased by the status "(X)" being printed on your console. To
|
||||
minimize the possibility of deleting a good file when errors
|
||||
exist in the copy, the Verify option should always be active,
|
||||
either by default, or specified. When Verify is active, any
|
||||
errors detected will disable the "X" option for that file so that
|
||||
a good source file will not be deleted. The "X" option has no
|
||||
configurable value, and is always assumed to be "Off" requiring
|
||||
the option in the command line list to be effective.
|
||||
|
||||
|
||||
4.1.2.9.2 COPY ONLY FILES WHICH EXIST (REPLACE).
|
||||
|
||||
Occasionally, you may wish to update selected files to a destina-
|
||||
tion in a simpler manner than naming each file, or using the
|
||||
Inspect option. The "R" (Replace) option, when active, tells
|
||||
COPY to transfer only files which exist on the destination direc-
|
||||
tory. If the Archive option (A) is added in conjunction with the
|
||||
Replace option, only files which have not been archived, AND
|
||||
already exist on the destination will be archived. It should be
|
||||
noted that the No Replacement (N) option is incompatible with
|
||||
both the Replace and Archive options, and is disabled when either
|
||||
"R" or "A" are active.
|
||||
|
||||
BIN
Images/Source/fd1/u0/CR.COM
Normal file
BIN
Images/Source/fd1/u0/CR.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/DATSWEEP.COM
Normal file
BIN
Images/Source/fd1/u0/DATSWEEP.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/DDT.COM
Normal file
BIN
Images/Source/fd1/u0/DDT.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/DDTZ.COM
Normal file
BIN
Images/Source/fd1/u0/DDTZ.COM
Normal file
Binary file not shown.
564
Images/Source/fd1/u0/DDTZ.DOC
Normal file
564
Images/Source/fd1/u0/DDTZ.DOC
Normal file
@@ -0,0 +1,564 @@
|
||||
|
||||
DDTZ v2.7
|
||||
by C.B. Falconer
|
||||
edited by George A. Havach
|
||||
|
||||
Introduction:
|
||||
============
|
||||
DDTZ v2.7 is a complete replacement for DDT, Digital Research's
|
||||
famous Dynamic Debugging Tool, with improved functionality, bug
|
||||
extermination, and full Z80 support. In general, DDTZ is fully
|
||||
compatible with the original utility, but it has extra and
|
||||
extended commands and many fewer quirks. All Z80-specific
|
||||
instructions can be (dis)assembled, though in Intel rather then
|
||||
Zilog format. Furthermore, DDTZ will correctly trace ('T' and 'U'
|
||||
commands) both 8080 and Z80 instructions, depending on which CPU
|
||||
is operating. On startup, the program announces which CPU it is
|
||||
running on.
|
||||
|
||||
DDTZ v2.7 now handles the 64180 added opcodes. It does NOT test
|
||||
for a 64180 CPU, since this cannot be done without executing
|
||||
illegal Z80 instructions, which in turn will crash some
|
||||
simulators. However v2.7 does not execute any 64180 instructions
|
||||
internally, only in the subject program.
|
||||
|
||||
This issue supplies the "M" version assembled, to avoid errors
|
||||
when switching between MSDOS and CPM systems. The command table
|
||||
is updated accordingly. Most CPM users are also MSDOS users, but
|
||||
not vice-versa.
|
||||
|
||||
The program is invoked by typing
|
||||
|
||||
ddtz<ret>
|
||||
or
|
||||
ddtz [d:]filespec<ret>
|
||||
|
||||
In the second form, DDTZ will load the specified file into
|
||||
memory starting at 0100H, unless it's a .HEX file that sets its
|
||||
own load address. Besides reporting the NEXT free address and
|
||||
the PC (program counter) after a successful load, DDTZ also shows
|
||||
the number of memory pages needed for a SAVE. Instead of having
|
||||
to write all this down, just use the 'X' command at any time to
|
||||
redisplay these three values for the current application.
|
||||
|
||||
NOTE: loading more code above the NEXT pointer revises these
|
||||
values.
|
||||
|
||||
As in DDT, when a program is loaded above the area holding the
|
||||
'A' and 'U' (and now 'W') command code, these commands are
|
||||
disabled, and the extra memory is released to the user. Thus,
|
||||
DDTZ can occupy as little as 3K total memory space. Unlike DDT,
|
||||
however, DDTZ will not overwrite itself or the system on program
|
||||
loads (except .HEX files).
|
||||
|
||||
At initialization, the stack pointer (SP) points to a return to
|
||||
DDTZ, just like for the CCP. Thus, programs that normally return
|
||||
to the CCP will be returned to DDTZ. The 'B' command
|
||||
reinitializes this condition.
|
||||
|
||||
|
||||
The intercept vector copies the BDOS version number, etc., so
|
||||
an object program does not know that DDTZ is running (except
|
||||
for BIOS-BDOS vector size). Thus, programs that check the version
|
||||
number should execute correctly under DDTZ.
|
||||
|
||||
All input parameters can now be entered in any of three formats:
|
||||
|
||||
(1) hexadecimal (as in DDT),
|
||||
(2) decimal, by adding a leading '#' character,
|
||||
(3) ASCII, by enclosing between either single or double
|
||||
quotes; either one or two characters are allowed.
|
||||
|
||||
Leading blanks in command lines and parameters are absorbed.
|
||||
Either a comma or a (single) space is a valid delimiter.
|
||||
Either uppercase or lowercase input is accepted.
|
||||
|
||||
The default command (for anything not otherwise recognizable)
|
||||
is 'H'. This allows convenient calculation, along with the other
|
||||
features described below. So, to convert a number, just enter
|
||||
it!
|
||||
|
||||
As in DDT, the prompt character is '-', and the only error
|
||||
message is the query ('?'), which generally kicks you back to
|
||||
command mode.
|
||||
|
||||
New Commands (Over DDT):
|
||||
=======================
|
||||
|
||||
NOTE: letters in parenthesis, e.g. "(U)", show the equivalent
|
||||
command for DDTZM version (compatible with MSDOS debug).
|
||||
|
||||
@ Sets or shows (with no parameter) the internally stored
|
||||
"base" value. Also used with the 'S' and 'D' commands as
|
||||
an optional parameter (though without the '@') to display
|
||||
memory from an arbitrary base marker (offset). When set to
|
||||
zero (the default), it does not affect any screen displays.
|
||||
|
||||
B B)egin: resets the USER stack pointer to its initial value,
|
||||
such that any program that exits by an RET will return to
|
||||
DDTZ. DDTZ provides a default stack space of
|
||||
approximately 24 bytes for user programs.
|
||||
|
||||
C C)ompare first_address,last_address,against_address: shows
|
||||
all the byte differences between two memory areas, in the
|
||||
format
|
||||
|
||||
XXXX aa YYYY bb
|
||||
|
||||
where XXXX and YYYY are the comparative memory addresses,
|
||||
and aa and bb are the corresponding byte values. Can be
|
||||
used to verify the identity of two files by first
|
||||
loading them into different memory areas with the 'R'
|
||||
command (see below).
|
||||
|
||||
|
||||
W Write: stores the modified memory area to disk under the
|
||||
(K) filename specified by the 'I' command, overwriting the
|
||||
original file from which it was loaded (the user is queried
|
||||
before doing so). By default, the image of memory from
|
||||
0100H through the "NEXT" value -1 is saved. "K first_addr,
|
||||
last_address" overrides this and allows writing ANY memory
|
||||
area to a file. Almost a necessity for CPM 3.0 (no SAVE!).
|
||||
K)eep on DDTZ
|
||||
|
||||
X eXamine: redisplays the "NEXT PC SAVE" report at any time.
|
||||
(Q) Q)uery size on DDTZ.
|
||||
|
||||
S S)earch first_address, last_addr, value: searches the
|
||||
(W) specified memory area for the value (a 16-bit word, not a
|
||||
byte) and shows the locations of all such. Very useful for
|
||||
finding CALL's or JMP's to a particular address, etc.
|
||||
W)here on DDTZ
|
||||
|
||||
Y Y)our_option parm1,parm2,address: executes an arbitrary
|
||||
routine at the specified address, with the BC and DE
|
||||
registers set to parm1 and parm2, respectively.
|
||||
|
||||
Z Displays (but does not alter) the Z80's alternate register
|
||||
set, including the index registers (disabled if running on
|
||||
an 8080). On Z80's, automatically included as the last
|
||||
part of the display by the 'X' command.
|
||||
|
||||
|
||||
Based (Offset) Displays:
|
||||
=======================
|
||||
|
||||
The 'D' and 'E' commands can use a stored base value (offset),
|
||||
as set by the '@' command. The current @ value may be
|
||||
overridden for a single execution of these commands by adding the
|
||||
base as an extra parameter in the command line. The effect is
|
||||
to add this value to the first/last address and display
|
||||
accordingly. The address listing on the left becomes XXXX:YYYY,
|
||||
where XXXX is the offset address and YYYY is the actual memory
|
||||
address being displayed. For example, if you have a data area
|
||||
located at 42B7H and wish to preserve easy access, just enter
|
||||
"@42b7". Now, "d0,3f" will dump memory starting at 4237H.
|
||||
|
||||
|
||||
Further Changes from DDT:
|
||||
========================
|
||||
|
||||
A A)ssemble now accepts the full Z80 as well as 8080
|
||||
instruction set, although it expects them in Intel rather
|
||||
than Zilog format (see notes below under the 'L'
|
||||
command). When in doubt, see the mnemnonic list below.
|
||||
|
||||
D D)isplay or D)ump will accept an optional third parameter
|
||||
to set the base value for a single execution only. Format
|
||||
has been cleaned up.
|
||||
|
||||
H H)ex_arithmetic on two values also shows their
|
||||
difference in decimal. With only one value, converts to
|
||||
hexadecimal, decimal, and ASCII (low-order byte only).
|
||||
|
||||
|
||||
N N)ame now allows drive specification (d:...) and sets up
|
||||
(I) the complete command line, including both FCB's (at
|
||||
addresses 005CH and 006CH). The tail (stored at 0081H up)
|
||||
is NOT upshifted.
|
||||
I)nput on DDTZ
|
||||
|
||||
U U)nassemble now displays the raw hexcode, especially handy
|
||||
(L) when examining non-code areas. Intel (8080 style) mnemonics
|
||||
are used, so some disassembled instructions may look
|
||||
strange. E.g., the Z80's 'IN B,(C)' and 'OUT (C),B' become
|
||||
'INP B' and 'OUTP B', respectively; 'LD (nnnn),BC' becomes
|
||||
'SBCD nnnn', 'ADD IX, BC' becomes 'DADX B', and 'JP (IX)'
|
||||
becomes 'PCIX'.
|
||||
L)ist on DDTZ
|
||||
|
||||
L L)oad now permits loading a file into memory with an
|
||||
(R) offset, which is added to the default load address of
|
||||
0100H. When reading in a .HEX file with a preset bias,
|
||||
the 'R' command will not transfer control to an invalid
|
||||
execution point. Another execution of the 'R' command will
|
||||
reread the input file, e.g.:
|
||||
|
||||
n blah<ret>
|
||||
l<ret>
|
||||
...modify the code and generally mess about...
|
||||
l<ret>
|
||||
|
||||
The original file is reloaded, and the modifications are
|
||||
removed.
|
||||
R)ead on DDTZ
|
||||
|
||||
E E)nter, like D)isplay, now accepts an optional second
|
||||
(S) parameter to set the base value for a single execution
|
||||
only.
|
||||
S)ubstitute or S)et on DDTZ
|
||||
|
||||
T T)rap/trace on termination now shows the complete CPU
|
||||
state. Traps and traces no longer lock up when a user RST
|
||||
7 instruction is executed. Tracing of BDOS/BIOS calls is
|
||||
heavily trun cated, avoiding clutter and preventing system
|
||||
crashes.
|
||||
|
||||
NOTE: Most of the UNDOCUMENTED Z80 op-codes are handled. Others
|
||||
can crash the system.
|
||||
|
||||
R R)egisters also shows what two-byte values the HL and SP
|
||||
(X) registers are actually pointing to. On Z80's, displays the
|
||||
alternate register set.
|
||||
eX)amine on DDTZ
|
||||
|
||||
NOTE: Any use of the 'W' or 'L' command resets the system DMA
|
||||
transfer address to the standard default value of 0080H.
|
||||
|
||||
|
||||
; This is the output of DDTZ when disassembling OPTYPE.TRY
|
||||
NOP LDA 06A4 MOV M,H
|
||||
LXI B,06A4 DCX SP MOV M,L
|
||||
STAX B INR A HLT
|
||||
INX B DCR A MOV M,A
|
||||
INR B MVI A,20 MOV A,B
|
||||
DCR B CMC MOV A,C
|
||||
MVI B,20 MOV B,B MOV A,D
|
||||
RLC MOV B,C MOV A,E
|
||||
EXAF MOV B,D MOV A,H
|
||||
DAD B MOV B,E MOV A,L
|
||||
LDAX B MOV B,H MOV A,M
|
||||
DCX B MOV B,L MOV A,A
|
||||
INR C MOV B,M ADD B
|
||||
DCR C MOV B,A ADD C
|
||||
MVI C,20 MOV C,B ADD D
|
||||
RRC MOV C,C ADD E
|
||||
DJNZ 0134 MOV C,D ADD H
|
||||
LXI D,06A4 MOV C,E ADD L
|
||||
STAX D MOV C,H ADD M
|
||||
INX D MOV C,L ADD A
|
||||
INR D MOV C,M ADC B
|
||||
DCR D MOV C,A ADC C
|
||||
MVI D,20 MOV D,B ADC D
|
||||
RAL MOV D,C ADC E
|
||||
JR 0134 MOV D,D ADC H
|
||||
DAD D MOV D,E ADC L
|
||||
LDAX D MOV D,H ADC M
|
||||
DCX D MOV D,L ADC A
|
||||
INR E MOV D,M SUB B
|
||||
DCR E MOV D,A SUB C
|
||||
MVI E,20 MOV E,B SUB D
|
||||
RAR MOV E,C SUB E
|
||||
JRNZ 0134 MOV E,D SUB H
|
||||
LXI H,06A4 MOV E,E SUB L
|
||||
SHLD 06A4 MOV E,H SUB M
|
||||
INX H MOV E,L SUB A
|
||||
INR H MOV E,M SBB B
|
||||
DCR H MOV E,A SBB C
|
||||
MVI H,20 MOV H,B SBB D
|
||||
DAA MOV H,C SBB E
|
||||
JRZ 0134 MOV H,D SBB H
|
||||
DAD H MOV H,E SBB L
|
||||
LHLD 06A4 MOV H,H SBB M
|
||||
DCX H MOV H,L SBB A
|
||||
INR L MOV H,M ANA B
|
||||
DCR L MOV H,A ANA C
|
||||
MVI L,20 MOV L,B ANA D
|
||||
CMA MOV L,C ANA E
|
||||
JRNC 0134 MOV L,D ANA H
|
||||
LXI SP,06A4 MOV L,E ANA L
|
||||
STA 06A4 MOV L,H ANA M
|
||||
INX SP MOV L,L ANA A
|
||||
INR M MOV L,M XRA B
|
||||
DCR M MOV L,A XRA C
|
||||
MVI M,20 MOV M,B XRA D
|
||||
STC MOV M,C XRA E
|
||||
JRC 0134 MOV M,D XRA H
|
||||
DAD SP MOV M,E XRA L
|
||||
|
||||
|
||||
XRA M JPE 06A4 SLAR M
|
||||
XRA A XCHG SLAR A
|
||||
ORA B CPE 06A4 SRAR B
|
||||
ORA C XRI 20 SRAR C
|
||||
ORA D RST 5 SRAR D
|
||||
ORA E RP SRAR E
|
||||
ORA H POP PSW SRAR H
|
||||
ORA L JP 06A4 SRAR L
|
||||
ORA M DI SRAR M
|
||||
ORA A CP 06A4 SRAR A
|
||||
CMP B PUSH PSW SLLR B
|
||||
CMP C ORI 20 SLLR C
|
||||
CMP D RST 6 SLLR D
|
||||
CMP E RM SLLR E
|
||||
CMP H SPHL SLLR H
|
||||
CMP L JM 06A4 SLLR L
|
||||
CMP M EI SLLR M
|
||||
CMP A CM 06A4 SLLR A
|
||||
RNZ CPI 20 SRLR B
|
||||
POP B RST 7 SRLR C
|
||||
JNZ 06A4 RLCR B SRLR D
|
||||
JMP 06A4 RLCR C SRLR E
|
||||
CNZ 06A4 RLCR D SRLR H
|
||||
PUSH B RLCR E SRLR L
|
||||
ADI 20 RLCR H SRLR M
|
||||
RST 0 RLCR L SRLR A
|
||||
RZ RLCR M BIT 0,B
|
||||
RET RLCR A BIT 0,C
|
||||
JZ 06A4 RRCR B BIT 0,D
|
||||
CZ 06A4 RRCR C BIT 0,E
|
||||
CALL 06A4 RRCR D BIT 0,H
|
||||
ACI 20 RRCR E BIT 0,L
|
||||
RST 1 RRCR H BIT 0,M
|
||||
RNC RRCR L BIT 0,A
|
||||
POP D RRCR M BIT 1,B
|
||||
JNC 06A4 RRCR A BIT 1,C
|
||||
OUT 20 RALR B BIT 1,D
|
||||
CNC 06A4 RALR C BIT 1,E
|
||||
PUSH D RALR D BIT 1,H
|
||||
SUI 20 RALR E BIT 1,L
|
||||
RST 2 RALR H BIT 1,M
|
||||
RC RALR L BIT 1,A
|
||||
EXX RALR M BIT 2,B
|
||||
JC 06A4 RALR A BIT 2,C
|
||||
IN 20 RARR B BIT 2,D
|
||||
CC 06A4 RARR C BIT 2,E
|
||||
SBI 20 RARR D BIT 2,H
|
||||
RST 3 RARR E BIT 2,L
|
||||
RPO RARR H BIT 2,M
|
||||
POP H RARR L BIT 2,A
|
||||
JPO 06A4 RARR M BIT 3,B
|
||||
XTHL RARR A BIT 3,C
|
||||
CPO 06A4 SLAR B BIT 3,D
|
||||
PUSH H SLAR C BIT 3,E
|
||||
ANI 20 SLAR D BIT 3,H
|
||||
RST 4 SLAR E BIT 3,L
|
||||
RPE SLAR H BIT 3,M
|
||||
PCHL SLAR L BIT 3,A
|
||||
|
||||
|
||||
BIT 4,B RES 3,D SET 2,H
|
||||
BIT 4,C RES 3,E SET 2,L
|
||||
BIT 4,D RES 3,H SET 2,M
|
||||
BIT 4,E RES 3,L SET 2,A
|
||||
BIT 4,H RES 3,M SET 3,B
|
||||
BIT 4,L RES 3,A SET 3,C
|
||||
BIT 4,M RES 4,B SET 3,D
|
||||
BIT 4,A RES 4,C SET 3,E
|
||||
BIT 5,B RES 4,D SET 3,H
|
||||
BIT 5,C RES 4,E SET 3,L
|
||||
BIT 5,D RES 4,H SET 3,M
|
||||
BIT 5,E RES 4,L SET 3,A
|
||||
BIT 5,H RES 4,M SET 4,B
|
||||
BIT 5,L RES 4,A SET 4,C
|
||||
BIT 5,M RES 5,B SET 4,D
|
||||
BIT 5,A RES 5,C SET 4,E
|
||||
BIT 6,B RES 5,D SET 4,H
|
||||
BIT 6,C RES 5,E SET 4,L
|
||||
BIT 6,D RES 5,H SET 4,M
|
||||
BIT 6,E RES 5,L SET 4,A
|
||||
BIT 6,H RES 5,M SET 5,B
|
||||
BIT 6,L RES 5,A SET 5,C
|
||||
BIT 6,M RES 6,B SET 5,D
|
||||
BIT 6,A RES 6,C SET 5,E
|
||||
BIT 7,B RES 6,D SET 5,H
|
||||
BIT 7,C RES 6,E SET 5,L
|
||||
BIT 7,D RES 6,H SET 5,M
|
||||
BIT 7,E RES 6,L SET 5,A
|
||||
BIT 7,H RES 6,M SET 6,B
|
||||
BIT 7,L RES 6,A SET 6,C
|
||||
BIT 7,M RES 7,B SET 6,D
|
||||
BIT 7,A RES 7,C SET 6,E
|
||||
RES 0,B RES 7,D SET 6,H
|
||||
RES 0,C RES 7,E SET 6,L
|
||||
RES 0,D RES 7,H SET 6,M
|
||||
RES 0,E RES 7,L SET 6,A
|
||||
RES 0,H RES 7,M SET 7,B
|
||||
RES 0,L RES 7,A SET 7,C
|
||||
RES 0,M SET 0,B SET 7,D
|
||||
RES 0,A SET 0,C SET 7,E
|
||||
RES 1,B SET 0,D SET 7,H
|
||||
RES 1,C SET 0,E SET 7,L
|
||||
RES 1,D SET 0,H SET 7,M
|
||||
RES 1,E SET 0,L SET 7,A
|
||||
RES 1,H SET 0,M DADX B
|
||||
RES 1,L SET 0,A DADX D
|
||||
RES 1,M SET 1,B LXI X,06A4
|
||||
RES 1,A SET 1,C SIXD 06A4
|
||||
RES 2,B SET 1,D INX X
|
||||
RES 2,C SET 1,E DADX X
|
||||
RES 2,D SET 1,H LIXD 06A4
|
||||
RES 2,E SET 1,L DCX X
|
||||
RES 2,H SET 1,M INR [X+05]
|
||||
RES 2,L SET 1,A DCR [X+05]
|
||||
RES 2,M SET 2,B MVI [X+05],20
|
||||
RES 2,A SET 2,C DADX SP
|
||||
RES 3,B SET 2,D MOV B,[X+05]
|
||||
RES 3,C SET 2,E MOV C,[X+05]
|
||||
|
||||
|
||||
MOV D,[X+05] DSBC B DADY B
|
||||
MOV E,[X+05] SBCD 06A4 DADY D
|
||||
MOV H,[X+05] NEG LXI Y,06A4
|
||||
MOV L,[X+05] RETN SIYD 06A4
|
||||
MOV [X+05],B IM0 INX Y
|
||||
MOV [X+05],C LDIA DADY Y
|
||||
MOV [X+05],D INP C LIYD 06A4
|
||||
MOV [X+05],E OUTP C DCX Y
|
||||
MOV [X+05],H DADC B INR [Y+05]
|
||||
MOV [X+05],L LBCD 06A4 DCR [Y+05]
|
||||
MOV [X+05],A RETI MVI [Y+05],2
|
||||
MOV A,[X+05] LDRA DADY SP
|
||||
ADD [X+05] INP D MOV B,[Y+05]
|
||||
ADC [X+05] OUTP D MOV C,[Y+05]
|
||||
SUB [X+05] DSBC D MOV D,[Y+05]
|
||||
SBB [X+05] SDED 06A4 MOV E,[Y+05]
|
||||
ANA [X+05] IM1 MOV H,[Y+05]
|
||||
XRA [X+05] LDAI MOV L,[Y+05]
|
||||
ORA [X+05] INP E MOV [Y+05],B
|
||||
CMP [X+05] OUTP E MOV [Y+05],C
|
||||
POP X DADC D MOV [Y+05],D
|
||||
XTIX LDED 06A4 MOV [Y+05],E
|
||||
PUSH X IM2 MOV [Y+05],H
|
||||
PCIX LDAR MOV [Y+05],L
|
||||
SPIX INP H MOV [Y+05],A
|
||||
RLCR [X+05] OUTP H MOV A,[Y+05]
|
||||
RRCR [X+05] DSBC H ADD [Y+05]
|
||||
RALR [X+05] shld 06A4 ADC [Y+05]
|
||||
RARR [X+05] RRD SUB [Y+05]
|
||||
SLAR [X+05] INP L SBB [Y+05]
|
||||
SRAR [X+05] OUTP L ANA [Y+05]
|
||||
SRLR [X+05] DADC H XRA [Y+05]
|
||||
BIT 0,[X+05] lhld 06A4 ORA [Y+05]
|
||||
BIT 1,[X+05] RLD CMP [Y+05]
|
||||
BIT 2,[X+05] INP M POP Y
|
||||
BIT 3,[X+05] OUTP M XTIY
|
||||
BIT 4,[X+05] DSBC SP PUSH Y
|
||||
BIT 5,[X+05] SSPD 06A4 PCIY
|
||||
BIT 6,[X+05] INP A SPIY
|
||||
BIT 7,[X+05] OUTP A RLCR [Y+05]
|
||||
RES 0,[X+05] DADC SP RRCR [Y+05]
|
||||
RES 1,[X+05] LSPD 06A4 RALR [Y+05]
|
||||
RES 2,[X+05] LDI RARR [Y+05]
|
||||
RES 3,[X+05] CCI SLAR [Y+05]
|
||||
RES 4,[X+05] INI SRAR [Y+05]
|
||||
RES 5,[X+05] OTI SRLR [Y+05]
|
||||
RES 6,[X+05] LDD BIT 0,[Y+05]
|
||||
RES 7,[X+05] CCD BIT 1,[Y+05]
|
||||
SET 0,[X+05] IND BIT 2,[Y+05]
|
||||
SET 1,[X+05] OTD BIT 3,[Y+05]
|
||||
SET 2,[X+05] LDIR BIT 4,[Y+05]
|
||||
SET 3,[X+05] CCIR BIT 5,[Y+05]
|
||||
SET 4,[X+05] INIR BIT 6,[Y+05]
|
||||
SET 5,[X+05] OTIR BIT 7,[Y+05]
|
||||
SET 6,[X+05] LDDR RES 0,[Y+05]
|
||||
SET 7,[X+05] CCDR RES 1,[Y+05]
|
||||
INP B INDR RES 2,[Y+05]
|
||||
OUTP B OTDR RES 3,[Y+05]
|
||||
|
||||
|
||||
RES 4,[Y+05] SET 0,[Y+05] SET 4,[Y+05]
|
||||
RES 5,[Y+05] SET 1,[Y+05] SET 5,[Y+05]
|
||||
RES 6,[Y+05] SET 2,[Y+05] SET 6,[Y+05]
|
||||
RES 7,[Y+05] SET 3,[Y+05] SET 7,[Y+05]
|
||||
|
||||
; These are the result of disassembling 64180OPS.TRY
|
||||
; These opcodes are available ONLY on the 64180 CPU
|
||||
; DDTZ will both assemble and disassemble these.
|
||||
IN0 B,20 TST E MLT B
|
||||
OUT0 20,B IN0 H,20 MLT D
|
||||
TST B OUT0 20,H TSTI 20
|
||||
IN0 C,20 TST H MLT H
|
||||
OUT0 20,C IN0 L,20 TSIO 20
|
||||
TST C OUT0 20,L SLP
|
||||
IN0 D,20 TST L MLT SP
|
||||
OUT0 20,D TST M OTIM
|
||||
TST D IN0 A,20 OTDM
|
||||
IN0 E,20 OUT0 20,A OIMR
|
||||
OUT0 20,E TST A ODMR
|
||||
|
||||
; The following are UNDOCUMENTED z80 opcodes from XTDOPS.TRY.
|
||||
; DDTZ will disassemble these, but will not assemble them.
|
||||
; They use xh/xl (or yh/yl) as separate byte registers.
|
||||
; Use these at your own risk.
|
||||
INRX H ACXR H MOVY H,B
|
||||
DCRX H ACXR L MOVY H,C
|
||||
MVIX H,20 SUXR H MOVY H,D
|
||||
INRX L SUXR L MOVY H,E
|
||||
DCRX L SBXR H MOVY H,A
|
||||
MVIX L,20 SBXR L MOVY L,B
|
||||
MOVX B,H NDXR H MOVY L,C
|
||||
MOVX B,L NDXR L MOVY L,D
|
||||
MOVX C,H XRXR H MOVY L,E
|
||||
MOVX C,L XRXR L MOVY L,A
|
||||
MOVX D,H ORXR H MOVY A,H
|
||||
MOVX D,L ORXR L MOVY A,L
|
||||
MOVX E,H CPXR H ADYR H
|
||||
MOVX E,L CPXR L ADYR L
|
||||
MOVX H,B INRY H ACYR H
|
||||
MOVX H,C DCRY H ACYR L
|
||||
MOVX H,D MVIY H,20 SUYR H
|
||||
MOVX H,E INRY L SUYR L
|
||||
MOVX H,A DCRY L SBYR H
|
||||
MOVX L,B MVIY L,20 SBYR L
|
||||
MOVX L,C MOVY B,H NDYR H
|
||||
MOVX L,D MOVY B,L NDYR L
|
||||
MOVX L,E MOVY C,H XRYR H
|
||||
MOVX L,A MOVY C,L XRYR L
|
||||
MOVX A,H MOVY D,H ORYR H
|
||||
MOVX A,L MOVY D,L ORYR L
|
||||
ADXR H MOVY E,H CPYR H
|
||||
ADXR L MOVY E,L CPYR L
|
||||
|
||||
|
||||
Command Summary:
|
||||
===============
|
||||
|
||||
DDTZM command DDTZ command
|
||||
============= ============
|
||||
@ (base)
|
||||
A)ssemble first_address A
|
||||
B)egin {i.e., initialize stack and return} B
|
||||
C)ompare first_address,last_address,against_address C
|
||||
D)ump first_address[,last_address[,base]] D
|
||||
E)nter_in_memory first_address[,base] S)ubstitute
|
||||
F)ill first_address,last_address,value F
|
||||
G)o_to [address][,trap1[,trap2]] G
|
||||
H)ex_arithmetic value1(,value2) H
|
||||
L)oad_file (offset) R)ead
|
||||
M)ove first_address,last_address,destination M
|
||||
N)nput FCBs_command_line I)nput
|
||||
Q)uit (not avail)
|
||||
R)egister examine/change [register|flag] X)amine
|
||||
S)earch first_address,last_address,word W)hereis
|
||||
T)race_execution [count] T
|
||||
Untrace_execution [count] (i.e. do count instr) U)ntrace
|
||||
U)nassemble_code first_address[,last_address] L)ist code
|
||||
W)rite [first_address,last_address] K)eep
|
||||
X)amine {i.e. display memory parameters for application} Q)uery
|
||||
Y)our_option BC:=parm1,DE:=parm2,call_address Y
|
||||
Z)80_register_display Z
|
||||
|
||||
|
||||
If you find this program useful, contributions will be gratefully
|
||||
accepted and will encourage further development and release of
|
||||
useful CPM programs. My practice is to include source.
|
||||
|
||||
C.B. Falconer
|
||||
680 Hartford Turnpike,
|
||||
Hamden, Conn. 06517 (203) 281-1438
|
||||
|
||||
DDTZ and its associated documentation and other files are
|
||||
copyright (c) 1980-1988 by C.B. Falconer. They may be freely
|
||||
copied and used for non-commercial purposes ONLY.
|
||||
|
||||
BIN
Images/Source/fd1/u0/DIF.COM
Normal file
BIN
Images/Source/fd1/u0/DIF.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/DSCONFIG.COM
Normal file
BIN
Images/Source/fd1/u0/DSCONFIG.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/DUMP.COM
Normal file
BIN
Images/Source/fd1/u0/DUMP.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/ED.COM
Normal file
BIN
Images/Source/fd1/u0/ED.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/FA16.CFG
Normal file
BIN
Images/Source/fd1/u0/FA16.CFG
Normal file
Binary file not shown.
264
Images/Source/fd1/u0/FA16.DOC
Normal file
264
Images/Source/fd1/u0/FA16.DOC
Normal file
@@ -0,0 +1,264 @@
|
||||
|
||||
FILEATTR
|
||||
Version 1.6
|
||||
|
||||
Gene Pizzetta
|
||||
January 18, 1992
|
||||
A ZSDOS utility, copyright (c) 1988 by Carson Wilson.
|
||||
|
||||
|
||||
FILEATTR (FA) is a utility that allows rapid settin, resetting,
|
||||
or displaying of file attributes under ZSDOS, ZRDOS, and CP/M
|
||||
2.2. Several additional features are available under ZCPR3,
|
||||
including error flag setting, error handler invocation, an
|
||||
enhanced display, and better error detection.
|
||||
|
||||
FA will not run under CP/M 3.0 or Z3PLUS.
|
||||
|
||||
USAGE:
|
||||
|
||||
FILEATTR {dir:}{afn} {{/}options}
|
||||
|
||||
If a DIR or DU specification is not given, the current directory
|
||||
is assumed (under vanilla CP/M only the drive is significant).
|
||||
If no ambiguous or unambiguous filename is given, all files
|
||||
("*.*") are matched.
|
||||
|
||||
If no attribute options are given, FILEATTR merely displays the
|
||||
current state of each file's attributes. Files are displayed in
|
||||
the order that they appear in the directory.
|
||||
|
||||
Once operation begins, FA cannot be aborted by the user. If a ^C
|
||||
is entered at the keyboard, all screen output stops, but file
|
||||
attribute operations continue to completion. If that was not the
|
||||
case, attributes might be set on some entries for a file and not
|
||||
on others. Nevertheless, suppressing screen output speeds things
|
||||
up a bit.
|
||||
|
||||
OPTIONS: A leading slash is required unless the option list is
|
||||
the second parameter on the command line. Options may be
|
||||
separated by spaces, commas, or nothing at all.
|
||||
|
||||
ATTRIBUTE OPTIONS: These options set (turn on) corresponding
|
||||
attributes on files matching the file specification. Attributes
|
||||
not specified by an attribute option remain unchanged.
|
||||
|
||||
If the option is preceded by a minus ("-") or by an "N", the
|
||||
corresponding attribute is reset (turned off).
|
||||
|
||||
1 F1. This is a user attribute which has no predefined
|
||||
meaning.
|
||||
|
||||
P Public (f2). Under ZSDOS, when this attribute is set,
|
||||
a file is available from any user area of the disk on
|
||||
which it resides. A file cannot be made public if
|
||||
another file with the same name exists in any other
|
||||
user area on that drive. In that case FA will issue an
|
||||
error message and leave the attribute off.
|
||||
|
||||
D Inhibit access datestamp (f3). Under ZSDOS, when this
|
||||
attribute is set, the file's access datestamp will not
|
||||
be updated, which may speed file access slightly. If
|
||||
the attribute is turned off, normal access datestamping
|
||||
resumes.
|
||||
|
||||
4 F4. This is a user attribute which has no predefined
|
||||
meaning.
|
||||
|
||||
W Wheel protect (f8). Under ZSDOS, when this attribute
|
||||
is set, the file becomes read-only when the wheel byte
|
||||
is off and cannot be erased. If the wheel byte is on,
|
||||
the file can be erased normally.
|
||||
|
||||
R Read only (t1). When this attribute is set, the file
|
||||
cannot be erased or modified by most programs.
|
||||
|
||||
S System (t2). When this attribute is set, the file
|
||||
becomes a "hidden" file that will not be found by most
|
||||
directory programs or by most well-behaved utilities
|
||||
that accept ambiguous filenames. (FA must find system
|
||||
files, of course.)
|
||||
|
||||
A Archive (t3). When this attribute is set, it signals
|
||||
some archival programs that the file has not been
|
||||
modified since it was last backed up. If a file is
|
||||
modified, ZSDOS and ZRDOS turn this attribute off.
|
||||
CP/M does not fully support this attribute, however.
|
||||
|
||||
OTHER OPTIONS: These options affect only the screen display.
|
||||
|
||||
Q Quiet mode. Console output is suppressed unless there
|
||||
is an error. All other operations are performed
|
||||
normally.
|
||||
|
||||
X Screen paging off. With this option, screen paging is
|
||||
turned off. The screen can still be paused by pressing
|
||||
any key except ^C.
|
||||
|
||||
ERRORS: Under ZCPR3, errors will cause FA to set the program
|
||||
error flag and to invoke the error handler. The error flag will
|
||||
be set to the following values:
|
||||
2 invalid directory specification
|
||||
4 miscellaneous (conflicting file, no files on disk)
|
||||
10 no matching files found (no error handler)
|
||||
18 Disk read-only
|
||||
19 Invalid option
|
||||
|
||||
For error code 10 (no matching files found), the error flag is
|
||||
set, but the error handler is not called.
|
||||
|
||||
In addition, under ZCPR 3.3 and above, an invalid directory
|
||||
specification will abort FA to the error handler, but no message
|
||||
is printed.
|
||||
|
||||
The following error messages may be seen:
|
||||
|
||||
Conflicting entry, can't set public attribute
|
||||
If there are files with the same name in other user areas of
|
||||
the disk, the public attribute cannot be set.
|
||||
|
||||
No files on disk
|
||||
The disk directory is empty.
|
||||
|
||||
Bad Option: /o
|
||||
The command line option shown is unknown to FILEATTR.
|
||||
|
||||
Drive R/O
|
||||
The drive is set to read-only by the operating system and
|
||||
attributes cannot be changed.
|
||||
|
||||
CP/M version 2.x required
|
||||
FILEATTR will not run on this system.
|
||||
|
||||
BIOS write error near directory sector n
|
||||
An error occurred at or near the given directory sector,
|
||||
which is expressed as a decimal offset from the beginning of
|
||||
the directory.
|
||||
|
||||
BIOS set track detected - FA aborting
|
||||
A background program is attempting to modify the current
|
||||
track setting. The background program must be removeed
|
||||
before running FA again.
|
||||
|
||||
Not Wheel
|
||||
Under ZCPR3 the wheel byte must be set before FILEATTR can
|
||||
be run.
|
||||
|
||||
CONFIGURATION: While no installation is necessary, all options
|
||||
can be set as defaults, if you prefer, using ZCNFG. The
|
||||
configuration options are fully explained on the ZCNFG help
|
||||
screens.
|
||||
|
||||
It is best not to change the name of the configuration file. Its
|
||||
special name assures that ZCNFG will always find the correct CFG
|
||||
file, even if the name of FA has been changed or if more than one
|
||||
version of FA is online.
|
||||
|
||||
HISTORY:
|
||||
|
||||
Version 1.6 -- April 14, 1991 -- Gene Pizzetta
|
||||
Now displays target DU and directory name in summary. Fixed
|
||||
bug that caused "GO" to be displayed as program name, if it
|
||||
was re-invoked with the GO command.
|
||||
|
||||
Version 1.5 -- March 27, 1991 -- Gene Pizzetta
|
||||
Now calls CP/M version checking routine (it was there, but
|
||||
it wasn't called). Changed error codes: 10, no matching
|
||||
files found. "No files on disk" error now gets
|
||||
miscellaneous error code (4). Error 10 does not invoke
|
||||
error handler. Not released.
|
||||
|
||||
Version 1.4 -- March 20, 1991 -- Gene Pizzetta, Howard Goldstein
|
||||
Code to check module data byte (S2) was replaced by Howard
|
||||
Goldstein's elegant solution which uses a "true" extent
|
||||
number: ((data_mod * 32) + extent). Entering a ^C no
|
||||
longer really aborts FILEATTR; instead FA immediately prints
|
||||
"Wait..." on the screen, turns off paging, turns on quiet
|
||||
mode, sets the results flag, and finishes what it was doing.
|
||||
All this is to prevent unexpected results when only some of
|
||||
a file's directory entries are changed. All errors
|
||||
including a conflicting file found during a PUBLIC request,
|
||||
now set the program error flag and invoke the error handler
|
||||
so an active SUBMIT or ZEX script can be aborted. The error
|
||||
flag will have the following values: 2, invalid directory;
|
||||
10, no files on disk; 18, disk is read-only; 19, invalid
|
||||
option; 4, all other errors. If no matching files are
|
||||
found, the program error flag will be set to FFh, but the
|
||||
error handler will not be invoked. A few other code changes
|
||||
were made, including a check for CP/M-Plus, under which
|
||||
FILEATTR will not work. Not released.
|
||||
|
||||
Version 1.3 -- February 22, 1991 -- Gene Pizzetta
|
||||
Corrected bug that caused faulty operation on large files:
|
||||
The module data byte (S2) byte was not being checked, so
|
||||
such files appeared 2 or more times in the directory display
|
||||
and the public routine was often not finding conflicting
|
||||
files. Added configuration byte and command line option (X)
|
||||
for screen paging (paging is suppressed in quiet mode).
|
||||
Made quiet mode responsive to ZCPR quiet flag and changed Q
|
||||
command line option to toggle. Usage screen reflects
|
||||
current effect of X and Q toggles. Attribute configuration
|
||||
area changed to be compatible with ZCNFG TOGL3 routine.
|
||||
Actions of D and ND options reversed so they work the same
|
||||
as the others. Added configuration byte for printing
|
||||
summary line even in quiet mode, as suggested by Howard
|
||||
Goldstein. Removed blank lines from screen display,
|
||||
allowing three more filenames to be shown. Removed tabs
|
||||
from usage screen so PRINT and PSTR are not needed.
|
||||
Eliminated leading zero from user number display. Now
|
||||
prints "file" instead of "files" in summary when only 1
|
||||
matching file is found. Ditto for attribute(s) altered.
|
||||
|
||||
Version 1.2 -- November 30, 1988 -- Carson Wilson
|
||||
Fixed bug of no program name display when FILEATTR's name
|
||||
was 8 characters long.
|
||||
|
||||
Version 1.1 -- October 30, 1988 -- Carson Wilson
|
||||
Now wildcards the command forms "FA d: /options" and "FA d:
|
||||
options."
|
||||
|
||||
Version 1.0 -- September 26, 1988 -- Carson Wilson
|
||||
If a filespec is given, no leading slash is required before
|
||||
the options. Link with version 4 libraries. Removed /X
|
||||
option--ZSDOS 10T always closes the first extent when a file
|
||||
is written to. Changed summary to read "files matched".
|
||||
|
||||
Version 0.9 -- July 7, 1988 -- Carson Wilson
|
||||
Increased length of search FCB (AMBFIL) by one byte. Set up
|
||||
AMBFIL as '?' + 35 binary 0's. ZRDOS and CP/M zero the
|
||||
drive byte (FCB+0) during search next calls, so reinitialize
|
||||
it to '?' before rescanning the directory. PROGID now
|
||||
prints stored name on GO/JUMP.
|
||||
|
||||
Version 0.8 -- June 26, 1988 -- Carson Wilson
|
||||
Use SYSLIB PRINT for help display. VPRINT does not expand
|
||||
tabs. Now traps disk track changes at the BIOS level.
|
||||
Allows '-' as well as 'N' for "negate option." Auto-
|
||||
wildcards FCB1 for attribute set as well as display.
|
||||
|
||||
Version 0.7 -- May 24, 1988 -- Carson Wilson
|
||||
Cosmetic changes to help, display. Made public routines
|
||||
faster by 1/2 directory scan average. Consolidated file
|
||||
attribute setting/resetting routines for efficiency and
|
||||
clarity.
|
||||
|
||||
Version 0.6 -- May 14, 1988 -- Carson Wilson
|
||||
Changed "Publ" to "Publc" and "Priv" to "Privt". Added Q
|
||||
and X options, made options installable. Added test for bad
|
||||
ZCPR directory & chain to error handler.
|
||||
|
||||
Version 0.5 -- May 4, 1988 -- Carson Wilson
|
||||
Fixed bug at CHKRO inherited from MAKE.ASM. Uses Bridger
|
||||
Mitchell's FRESET to reset disks. Uses ZCPR invocation name
|
||||
in signon, help, etc. Added F4 attribute. Now includes all
|
||||
valid ZSDOS attributes. Help now fully "smart" under ZCPR.
|
||||
Reworked VID3.Z80 and VID4.Z80 from VLIB11 and moved them
|
||||
into FA.Z80 (see end of file). Put STNDOUT mode ON by
|
||||
default at beginning of each attribute display sequence for
|
||||
faster ZCPR displays.
|
||||
|
||||
Version 0.4 -- April 27, 1988 -- Carson Wilson
|
||||
Tests for matching files at other user areas before setting
|
||||
the public attribit.
|
||||
|
||||
Version 0.3 -- April 26, 1988 -- Carson Wilson
|
||||
6
Images/Source/fd1/u0/FA16A.FOR
Normal file
6
Images/Source/fd1/u0/FA16A.FOR
Normal file
@@ -0,0 +1,6 @@
|
||||
An update and bug-fix of FILEATTR (FA), a ZSDOS utility that
|
||||
allows rapid setting, resetting, or displaying of file attributes
|
||||
under ZSDOS, ZRDOS, and CP/M 2.2. Several additional features
|
||||
are available under ZCPR3, including error flag setting, error
|
||||
handler invocation, and an enhanced display. Version 1.6A adds
|
||||
documentation; otherwise, same as 1.6.
|
||||
39
Images/Source/fd1/u0/FA16CFG.TXT
Normal file
39
Images/Source/fd1/u0/FA16CFG.TXT
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
Option Q -- If the ZCPR quiet flag is set, FILEATTR will always default to
|
||||
quiet mode. To make quiet mode the default at all times, even when running
|
||||
under CP/M, set this configuration option to "Yes". Whatever is selected
|
||||
here can be toggled with the command line "Q" option.
|
||||
|
||||
Option X -- A "Yes" will cause FILEATTR to page screen output by default.
|
||||
A "No" will default to continuous scrolling. The chosen default can be
|
||||
toggled with the command line "X" option. Screen paging is always turned
|
||||
off in quiet mode.
|
||||
|
||||
Option R -- As distributed, FILEATTR prints nothing to the screen when it
|
||||
is operating in quiet mode. If this configuration option is "Yes", the
|
||||
results summary line that gives the number of matching files found and the
|
||||
number of attributes changed will be printed even in quiet mode.
|
||||
|
||||
Option S -- Enter the number of lines on your video display screen. Under
|
||||
ZCPR 3.3 and higher, the number of screen lines for paging is obtained from
|
||||
the environment descriptor. This configuration parameter is used only if
|
||||
running under CP/M.
|
||||
|
||||
|
||||
Attribute Configuration Options
|
||||
|
||||
As distributed, FILEATTR will not change any file attribute unless
|
||||
explicitly commanded to do so by a command line option. To configure
|
||||
FILEATTR to turn a file attribute ON or OFF by default, toggle the
|
||||
appropriate configuration selection.
|
||||
|
||||
For example, to make FILEATTR set all matching files to Public by default,
|
||||
change the "Public attribute" setting to "Turn On". Then FILEATTR will set
|
||||
the specified files to Public unless the /NP command line option is given
|
||||
(which would cause the files to be set to Private). Since there is no
|
||||
command which tells FILEATTR not to change an attribute, however, the
|
||||
program will now insist on turning the Public attribute either on (default)
|
||||
or off (through the /NP option).
|
||||
|
||||
Most users will have neither need nor desire to change the configuration
|
||||
default as distributed which will "Leave As-Is" all matching files.
|
||||
BIN
Images/Source/fd1/u0/FILEATTR.COM
Normal file
BIN
Images/Source/fd1/u0/FILEATTR.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/FILEDATE.CFG
Normal file
BIN
Images/Source/fd1/u0/FILEDATE.CFG
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/FILEDATE.COM
Normal file
BIN
Images/Source/fd1/u0/FILEDATE.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/INITDIR.CFG
Normal file
BIN
Images/Source/fd1/u0/INITDIR.CFG
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/INITDIR.COM
Normal file
BIN
Images/Source/fd1/u0/INITDIR.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/LBREXT.COM
Normal file
BIN
Images/Source/fd1/u0/LBREXT.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/LDDS.COM
Normal file
BIN
Images/Source/fd1/u0/LDDS.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/LDP2D.COM
Normal file
BIN
Images/Source/fd1/u0/LDP2D.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/LIB.COM
Normal file
BIN
Images/Source/fd1/u0/LIB.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/LINK.COM
Normal file
BIN
Images/Source/fd1/u0/LINK.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/LOAD.COM
Normal file
BIN
Images/Source/fd1/u0/LOAD.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/MAC.COM
Normal file
BIN
Images/Source/fd1/u0/MAC.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/MBASIC.COM
Normal file
BIN
Images/Source/fd1/u0/MBASIC.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/NULU.COM
Normal file
BIN
Images/Source/fd1/u0/NULU.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/PIP.COM
Normal file
BIN
Images/Source/fd1/u0/PIP.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/PUTBG.COM
Normal file
BIN
Images/Source/fd1/u0/PUTBG.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/PUTDS.COM
Normal file
BIN
Images/Source/fd1/u0/PUTDS.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/RELOG.COM
Normal file
BIN
Images/Source/fd1/u0/RELOG.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/RMAC.COM
Normal file
BIN
Images/Source/fd1/u0/RMAC.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/SETTERM.COM
Normal file
BIN
Images/Source/fd1/u0/SETTERM.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/SETUPZST.COM
Normal file
BIN
Images/Source/fd1/u0/SETUPZST.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/SID.COM
Normal file
BIN
Images/Source/fd1/u0/SID.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/STAMPS.DAT
Normal file
BIN
Images/Source/fd1/u0/STAMPS.DAT
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/STAT.COM
Normal file
BIN
Images/Source/fd1/u0/STAT.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/SUBMIT.COM
Normal file
BIN
Images/Source/fd1/u0/SUBMIT.COM
Normal file
Binary file not shown.
BIN
Images/Source/fd1/u0/SUPERSUB.COM
Normal file
BIN
Images/Source/fd1/u0/SUPERSUB.COM
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user