Browse Source

Add Disk Images for ROMless Configurations

pull/367/head v3.3.0-dev.60
Wayne Warthen 2 years ago
parent
commit
480dbe4f4c
  1. 26
      Source/BPBIOS/diskdefs
  2. 2
      Source/HBIOS/Build.cmd
  3. 2
      Source/HBIOS/Config/RCZ80_zrc_ram.asm
  4. 4
      Source/HBIOS/hbios_env.asm
  5. 26
      Source/Images/diskdefs
  6. 33
      Source/RomDsk/Build.cmd
  7. 37
      Source/RomDsk/Makefile
  8. BIN
      Source/RomDsk/RAM_1024KB/ASM.COM
  9. BIN
      Source/RomDsk/RAM_1024KB/CLOCKS.DAT
  10. BIN
      Source/RomDsk/RAM_1024KB/CLRDIR.COM
  11. BIN
      Source/RomDsk/RAM_1024KB/COMPARE.COM
  12. BIN
      Source/RomDsk/RAM_1024KB/COPY.CFG
  13. BIN
      Source/RomDsk/RAM_1024KB/COPY.COM
  14. 43
      Source/RomDsk/RAM_1024KB/COPY.UPD
  15. BIN
      Source/RomDsk/RAM_1024KB/CR.COM
  16. BIN
      Source/RomDsk/RAM_1024KB/DATSWEEP.COM
  17. BIN
      Source/RomDsk/RAM_1024KB/DDT.COM
  18. BIN
      Source/RomDsk/RAM_1024KB/DDTZ.COM
  19. 564
      Source/RomDsk/RAM_1024KB/DDTZ.DOC
  20. BIN
      Source/RomDsk/RAM_1024KB/DIRX.COM
  21. BIN
      Source/RomDsk/RAM_1024KB/DSCONFIG.COM
  22. BIN
      Source/RomDsk/RAM_1024KB/DUMP.COM
  23. BIN
      Source/RomDsk/RAM_1024KB/ED.COM
  24. BIN
      Source/RomDsk/RAM_1024KB/EX.COM
  25. BIN
      Source/RomDsk/RAM_1024KB/FA16.CFG
  26. 264
      Source/RomDsk/RAM_1024KB/FA16.DOC
  27. 6
      Source/RomDsk/RAM_1024KB/FA16A.FOR
  28. 39
      Source/RomDsk/RAM_1024KB/FA16CFG.TXT
  29. BIN
      Source/RomDsk/RAM_1024KB/FAT.COM
  30. BIN
      Source/RomDsk/RAM_1024KB/FDISK80.COM
  31. BIN
      Source/RomDsk/RAM_1024KB/FILEATTR.COM
  32. BIN
      Source/RomDsk/RAM_1024KB/FILEDATE.CFG
  33. BIN
      Source/RomDsk/RAM_1024KB/FILEDATE.COM
  34. BIN
      Source/RomDsk/RAM_1024KB/FLASH.COM
  35. BIN
      Source/RomDsk/RAM_1024KB/INITDIR.CFG
  36. BIN
      Source/RomDsk/RAM_1024KB/INITDIR.COM
  37. BIN
      Source/RomDsk/RAM_1024KB/LBREXT.COM
  38. BIN
      Source/RomDsk/RAM_1024KB/LDDS.COM
  39. BIN
      Source/RomDsk/RAM_1024KB/LDNZT.COM
  40. BIN
      Source/RomDsk/RAM_1024KB/LDP2D.COM
  41. BIN
      Source/RomDsk/RAM_1024KB/LIB.COM
  42. BIN
      Source/RomDsk/RAM_1024KB/LINK.COM
  43. BIN
      Source/RomDsk/RAM_1024KB/LOAD.COM
  44. BIN
      Source/RomDsk/RAM_1024KB/MAC.COM
  45. BIN
      Source/RomDsk/RAM_1024KB/MBASIC.COM
  46. BIN
      Source/RomDsk/RAM_1024KB/NULU.COM
  47. BIN
      Source/RomDsk/RAM_1024KB/PIP.COM
  48. BIN
      Source/RomDsk/RAM_1024KB/PMARC.COM
  49. BIN
      Source/RomDsk/RAM_1024KB/PMEXT.COM
  50. BIN
      Source/RomDsk/RAM_1024KB/PUTBG.COM
  51. BIN
      Source/RomDsk/RAM_1024KB/PUTDS.COM
  52. BIN
      Source/RomDsk/RAM_1024KB/RELOG.COM
  53. BIN
      Source/RomDsk/RAM_1024KB/RMAC.COM
  54. BIN
      Source/RomDsk/RAM_1024KB/RMXSUB1.COM
  55. BIN
      Source/RomDsk/RAM_1024KB/SETTERM.COM
  56. BIN
      Source/RomDsk/RAM_1024KB/SETUPZST.COM
  57. BIN
      Source/RomDsk/RAM_1024KB/STAMPS.DAT
  58. BIN
      Source/RomDsk/RAM_1024KB/STAT.COM
  59. BIN
      Source/RomDsk/RAM_1024KB/SUBMIT.COM
  60. BIN
      Source/RomDsk/RAM_1024KB/SUPERSUB.COM
  61. BIN
      Source/RomDsk/RAM_1024KB/TD.CFG
  62. BIN
      Source/RomDsk/RAM_1024KB/TD.COM
  63. BIN
      Source/RomDsk/RAM_1024KB/TERMBASE.DAT
  64. BIN
      Source/RomDsk/RAM_1024KB/TESTCLOK.COM
  65. BIN
      Source/RomDsk/RAM_1024KB/UNARC.COM
  66. BIN
      Source/RomDsk/RAM_1024KB/UNCR.COM
  67. BIN
      Source/RomDsk/RAM_1024KB/UNZIP.COM
  68. BIN
      Source/RomDsk/RAM_1024KB/XSUB.COM
  69. BIN
      Source/RomDsk/RAM_1024KB/XSUB1.COM
  70. BIN
      Source/RomDsk/RAM_1024KB/ZAP.COM
  71. BIN
      Source/RomDsk/RAM_1024KB/ZCAL.COM
  72. BIN
      Source/RomDsk/RAM_1024KB/ZCNFG.COM
  73. BIN
      Source/RomDsk/RAM_1024KB/ZCNFG24.CFG
  74. BIN
      Source/RomDsk/RAM_1024KB/ZDE.COM
  75. BIN
      Source/RomDsk/RAM_1024KB/ZPATH.COM
  76. BIN
      Source/RomDsk/RAM_1024KB/ZSCONFIG.COM
  77. BIN
      Source/RomDsk/RAM_1024KB/ZSID.COM
  78. BIN
      Source/RomDsk/RAM_1024KB/ZXD.CFG
  79. BIN
      Source/RomDsk/RAM_1024KB/ZXD.COM
  80. BIN
      Source/RomDsk/RAM_512KB/ASM.COM
  81. BIN
      Source/RomDsk/RAM_512KB/CLRDIR.COM
  82. BIN
      Source/RomDsk/RAM_512KB/COMPARE.COM
  83. BIN
      Source/RomDsk/RAM_512KB/COPY.COM
  84. BIN
      Source/RomDsk/RAM_512KB/DDT.COM
  85. BIN
      Source/RomDsk/RAM_512KB/DDTZ.COM
  86. BIN
      Source/RomDsk/RAM_512KB/DUMP.COM
  87. BIN
      Source/RomDsk/RAM_512KB/ED.COM
  88. BIN
      Source/RomDsk/RAM_512KB/FILEATTR.COM
  89. BIN
      Source/RomDsk/RAM_512KB/FILEDATE.COM
  90. BIN
      Source/RomDsk/RAM_512KB/FLASH.COM
  91. BIN
      Source/RomDsk/RAM_512KB/LOAD.COM
  92. BIN
      Source/RomDsk/RAM_512KB/MBASIC.COM
  93. BIN
      Source/RomDsk/RAM_512KB/PIP.COM
  94. BIN
      Source/RomDsk/RAM_512KB/RELOG.COM
  95. BIN
      Source/RomDsk/RAM_512KB/STAT.COM
  96. BIN
      Source/RomDsk/RAM_512KB/SUBMIT.COM
  97. BIN
      Source/RomDsk/RAM_512KB/SUPERSUB.COM
  98. BIN
      Source/RomDsk/RAM_512KB/TD.COM
  99. BIN
      Source/RomDsk/RAM_512KB/XSUB.COM
  100. BIN
      Source/RomDsk/RAM_512KB/ZDE.COM

26
Source/BPBIOS/diskdefs

@ -310,6 +310,32 @@ diskdef wbw_rom1024
os 2.2 os 2.2
end end
# RomWBW 512KB RAM (256KB reserved, 256KB RAM Disk)
diskdef wbw_ram512
seclen 512
tracks 8
sectrk 64
blocksize 2048
maxdir 256
skew 0
boottrk 0
os 2.2
end
# RomWBW 1024KB RAM (256KB reserved, 768KB RAM Disk)
diskdef wbw_ram1024
seclen 512
tracks 24
sectrk 64
blocksize 2048
maxdir 256
skew 0
boottrk 0
os 2.2
end
# RomWBW 720K floppy media # RomWBW 720K floppy media
diskdef wbw_fd720 diskdef wbw_fd720

2
Source/HBIOS/Build.cmd

@ -135,7 +135,7 @@ if %ROMSize% gtr 0 (
copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin %ROMName%.upd || exit /b copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin %ROMName%.upd || exit /b
copy /b hbios_app.bin + osimg_small.bin %ROMName%.com || exit /b copy /b hbios_app.bin + osimg_small.bin %ROMName%.com || exit /b
) else ( ) else (
copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin %ROMName%.rom || exit /b
copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin + ..\RomDsk\ram%ROMSize%_wbw.dat %ROMName%.rom || exit /b
copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin %ROMName%.upd || exit /b copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin %ROMName%.upd || exit /b
copy /b hbios_app.bin + osimg_small.bin %ROMName%.com || exit /b copy /b hbios_app.bin + osimg_small.bin %ROMName%.com || exit /b
) )

2
Source/HBIOS/Config/RCZ80_zrc_ram.asm

@ -34,7 +34,7 @@ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
; ;
RAMSIZE .SET 2048 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!) ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
MEMMGR .SET MM_ZRC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] MEMMGR .SET MM_ZRC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180]
; ;

4
Source/HBIOS/hbios_env.asm

@ -24,7 +24,11 @@
; ;
; Print all desired config values... ; Print all desired config values...
; ;
#if (ROMSIZE > 0)
prtval("ROMSIZE$", ROMSIZE) prtval("ROMSIZE$", ROMSIZE)
#else
prtval("ROMSIZE$", RAMSIZE)
#endif
prtval("CPUFAM$", CPUFAM) prtval("CPUFAM$", CPUFAM)
; ;
ret ret

26
Source/Images/diskdefs

@ -310,6 +310,32 @@ diskdef wbw_rom1024
os 2.2 os 2.2
end end
# RomWBW 512KB RAM (256KB reserved, 256KB RAM Disk)
diskdef wbw_ram512
seclen 512
tracks 8
sectrk 64
blocksize 2048
maxdir 256
skew 0
boottrk 0
os 2.2
end
# RomWBW 1024KB RAM (256KB reserved, 768KB RAM Disk)
diskdef wbw_ram1024
seclen 512
tracks 24
sectrk 64
blocksize 2048
maxdir 256
skew 0
boottrk 0
os 2.2
end
# RomWBW 720K floppy media # RomWBW 720K floppy media
diskdef wbw_fd720 diskdef wbw_fd720

33
Source/RomDsk/Build.cmd

@ -31,24 +31,29 @@ copy NUL rom128_una.dat
set RomApps=%RomApps1% set RomApps=%RomApps1%
call :MakeDisk rom256_wbw 256 0x20000 wbw
call :MakeDisk rom256_una 256 0x20000 una
call :MakeDisk rom256_wbw wbw_rom256 ROM_256KB 0x20000 wbw
call :MakeDisk rom256_una wbw_rom256 ROM_256KB 0x20000 una
set RomApps=%RomApps1% %RomApps2% set RomApps=%RomApps1% %RomApps2%
call :MakeDisk rom512_wbw 512 0x60000 wbw
call :MakeDisk rom512_una 512 0x60000 una
call :MakeDisk rom512_wbw wbw_rom512 ROM_512KB 0x60000 wbw
call :MakeDisk rom512_una wbw_rom512 ROM_512KB 0x60000 una
call :MakeDisk rom1024_wbw 1024 0xE0000 wbw
call :MakeDisk rom1024_una 1024 0xE0000 una
call :MakeDisk rom1024_wbw wbw_rom1024 ROM_1024KB 0xE0000 wbw
call :MakeDisk rom1024_una wbw_rom1024 ROM_1024KB 0xE0000 una
call :MakeDisk ram512_wbw wbw_ram512 RAM_512KB 0x40000 wbw
call :MakeDisk ram1024_wbw wbw_ram1024 RAM_1024KB 0xC0000 wbw
goto :eof goto :eof
:MakeDisk :MakeDisk
set Output=%1 set Output=%1
set RomSize=%2
set ImgSize=%3
set Bios=%4
set DiskDef=%2
set Dir=%3
set ImgSize=%4
set Bios=%5
echo Making ROM Disk %Output% echo Making ROM Disk %Output%
@ -56,12 +61,12 @@ echo Making ROM Disk %Output%
srec_cat -Generate 0 %ImgSize% --Constant 0xE5 -Output %Output%.dat -Binary || exit /b srec_cat -Generate 0 %ImgSize% --Constant 0xE5 -Output %Output%.dat -Binary || exit /b
:: Populate the disk image via cpmtools :: Populate the disk image via cpmtools
cpmcp -f wbw_rom%RomSize% %Output%.dat ROM_%RomSize%KB/*.* 0: || exit /b
for %%f in (%RomApps%) do cpmcp -f wbw_rom%RomSize% %Output%.dat ../../Binary/Apps/%%f.com 0: || exit /b
cpmcp -f wbw_rom%RomSize% %Output%.dat ..\cpm22\cpm_%Bios%.sys 0:cpm.sys || exit /b
cpmcp -f wbw_rom%RomSize% %Output%.dat ..\zsdos\zsys_%Bios%.sys 0:zsys.sys || exit /b
cpmcp -f %DiskDef% %Output%.dat %Dir%/*.* 0: || exit /b
for %%f in (%RomApps%) do cpmcp -f %DiskDef% %Output%.dat ../../Binary/Apps/%%f.com 0: || exit /b
cpmcp -f %DiskDef% %Output%.dat ..\cpm22\cpm_%Bios%.sys 0:cpm.sys || exit /b
cpmcp -f %DiskDef% %Output%.dat ..\zsdos\zsys_%Bios%.sys 0:zsys.sys || exit /b
:: Mark all disk files R/O for safety :: Mark all disk files R/O for safety
cpmchattr -f wbw_rom%RomSize% %Output%.dat r 0:*.* || exit /b
cpmchattr -f %DiskDef% %Output%.dat r 0:*.* || exit /b
goto :eof goto :eof

37
Source/RomDsk/Makefile

@ -1,4 +1,4 @@
OBJECTS = rom128_wbw.dat rom128_una.dat rom256_wbw.dat rom256_una.dat rom512_wbw.dat rom512_una.dat rom1024_wbw.dat rom1024_una.dat
OBJECTS = rom128_wbw.dat rom128_una.dat rom256_wbw.dat rom256_una.dat rom512_wbw.dat rom512_una.dat rom1024_wbw.dat rom1024_una.dat ram512_wbw.dat ram1024_wbw.dat
OTHERS=*.dat OTHERS=*.dat
TOOLS = ../../Tools TOOLS = ../../Tools
@ -9,19 +9,34 @@ include $(TOOLS)/Makefile.inc
ROMAPPS1 := assign mode rtc syscopy xm ROMAPPS1 := assign mode rtc syscopy xm
ROMAPPS2 := fdu format survey sysgen talk timer cpuspd ROMAPPS2 := fdu format survey sysgen talk timer cpuspd
rom256_%.dat: ROMSIZ=256
rom512_%.dat: ROMSIZ=512
rom1024_%.dat: ROMSIZ=1024
# rom256_%.dat: ROMSIZ=256
# rom512_%.dat: ROMSIZ=512
# rom1024_%.dat: ROMSIZ=1024
rom256_%.dat: DISKDEF=wbw_rom256
rom512_%.dat: DISKDEF=wbw_rom512
rom1024_%.dat: DISKDEF=wbw_rom1024
ram512_%.dat: DISKDEF=wbw_ram512
ram1024_%.dat: DISKDEF=wbw_ram1024
rom256_%.dat: DIR=ROM_256KB
rom512_%.dat: DIR=ROM_512KB
rom1024_%.dat: DIR=ROM_1024KB
ram512_%.dat: DIR=RAM_512KB
ram1024_%.dat: DIR=RAM_1024KB
rom256_%.dat: IMGSIZ=0x20000 rom256_%.dat: IMGSIZ=0x20000
rom512_%.dat: IMGSIZ=0x60000 rom512_%.dat: IMGSIZ=0x60000
rom1024_%.dat: IMGSIZ=0xE0000 rom1024_%.dat: IMGSIZ=0xE0000
ram512_%.dat: IMGSIZ=0x40000
ram1024_%.dat: IMGSIZ=0xC0000
rom256_%.dat: ROMAPPS=$(ROMAPPS1) rom256_%.dat: ROMAPPS=$(ROMAPPS1)
rom512_%.dat rom1024_%.dat: ROMAPPS=$(ROMAPPS1) $(ROMAPPS2) rom512_%.dat rom1024_%.dat: ROMAPPS=$(ROMAPPS1) $(ROMAPPS2)
ram512_%.dat ram1024_%.dat: ROMAPPS=$(ROMAPPS1) $(ROMAPPS2)
rom%_wbw.dat: BIOS=wbw
rom%_una.dat: BIOS=una
%_wbw.dat: BIOS=wbw
%_una.dat: BIOS=una
rom128_%.dat: rom128_%.dat:
touch $@ touch $@
@ -29,8 +44,8 @@ rom128_%.dat:
%.dat: %.dat:
### Making ROM Disk $@ ### Making ROM Disk $@
srec_cat -Generate 0 $(IMGSIZ) --Constant 0xE5 -Output $@ -Binary srec_cat -Generate 0 $(IMGSIZ) --Constant 0xE5 -Output $@ -Binary
$(CPMCP) -f wbw_rom$(ROMSIZ) $@ ROM_$(ROMSIZ)KB/*.* 0:
for i in $(ROMAPPS) ; do $(CPMCP) -f wbw_rom$(ROMSIZ) $@ ../../Binary/Apps/$$i.com 0: ; done
$(CPMCP) -f wbw_rom$(ROMSIZ) $@ ../CPM22/cpm_$(BIOS).sys 0:cpm.sys
$(CPMCP) -f wbw_rom$(ROMSIZ) $@ ../ZSDOS/zsys_$(BIOS).sys 0:zsys.sys
$(CPMCHATTR) -f wbw_rom$(ROMSIZ) $@ r 0:*.*
$(CPMCP) -f $(DISKDEF) $@ $(DIR)/*.* 0:
for i in $(ROMAPPS) ; do $(CPMCP) -f $(DISKDEF) $@ ../../Binary/Apps/$$i.com 0: ; done
$(CPMCP) -f $(DISKDEF) $@ ../CPM22/cpm_$(BIOS).sys 0:cpm.sys
$(CPMCP) -f $(DISKDEF) $@ ../ZSDOS/zsys_$(BIOS).sys 0:zsys.sys
$(CPMCHATTR) -f $(DISKDEF) $@ r 0:*.*

BIN
Source/RomDsk/RAM_1024KB/ASM.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/CLOCKS.DAT

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/CLRDIR.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/COMPARE.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/COPY.CFG

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/COPY.COM

Binary file not shown.

43
Source/RomDsk/RAM_1024KB/COPY.UPD

@ -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
Source/RomDsk/RAM_1024KB/CR.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/DATSWEEP.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/DDT.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/DDTZ.COM

Binary file not shown.

564
Source/RomDsk/RAM_1024KB/DDTZ.DOC

@ -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
Source/RomDsk/RAM_1024KB/DIRX.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/DSCONFIG.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/DUMP.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/ED.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/EX.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/FA16.CFG

Binary file not shown.

264
Source/RomDsk/RAM_1024KB/FA16.DOC

@ -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
Source/RomDsk/RAM_1024KB/FA16A.FOR

@ -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
Source/RomDsk/RAM_1024KB/FA16CFG.TXT

@ -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
Source/RomDsk/RAM_1024KB/FAT.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/FDISK80.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/FILEATTR.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/FILEDATE.CFG

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/FILEDATE.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/FLASH.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/INITDIR.CFG

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/INITDIR.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/LBREXT.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/LDDS.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/LDNZT.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/LDP2D.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/LIB.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/LINK.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/LOAD.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/MAC.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/MBASIC.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/NULU.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/PIP.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/PMARC.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/PMEXT.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/PUTBG.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/PUTDS.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/RELOG.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/RMAC.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/RMXSUB1.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/SETTERM.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/SETUPZST.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/STAMPS.DAT

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/STAT.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/SUBMIT.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/SUPERSUB.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/TD.CFG

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/TD.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/TERMBASE.DAT

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/TESTCLOK.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/UNARC.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/UNCR.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/UNZIP.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/XSUB.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/XSUB1.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/ZAP.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/ZCAL.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/ZCNFG.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/ZCNFG24.CFG

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/ZDE.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/ZPATH.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/ZSCONFIG.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/ZSID.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/ZXD.CFG

Binary file not shown.

BIN
Source/RomDsk/RAM_1024KB/ZXD.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/ASM.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/CLRDIR.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/COMPARE.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/COPY.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/DDT.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/DDTZ.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/DUMP.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/ED.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/FILEATTR.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/FILEDATE.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/FLASH.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/LOAD.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/MBASIC.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/PIP.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/RELOG.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/STAT.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/SUBMIT.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/SUPERSUB.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/TD.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/XSUB.COM

Binary file not shown.

BIN
Source/RomDsk/RAM_512KB/ZDE.COM

Binary file not shown.

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

Loading…
Cancel
Save