Sig/M   volume 41       Cromemco CDOS-CP/M System Support

       -CATALOG.041    Contents of Sig/M Volume 41
       ABSTRACT.041    Random Notes on Sig/M Volume 41
       ACKLIST.041     Acknowledgement File
       CRCKLIST.041    Checksum File

41.01   CDOSCOPY.Z80    12K     CDOS Disk Copy Program
41.02   CDOSCOPY.COM     2K      /
41.03   CDOSCOPY.PRN    26K     /
41.04   CDOSFMAP.ASM     9K     Modified Disk Cataloging System
41.05   CDOSFMAP.HEX     3K             for CDOS
41.06   CDOSFMAP.PRN    17K         /
41.07   CDOSFMAP.COM     1K        /
41.08   UCAT.ASM         9K       /
41.09   UCAT.HEX         5K      /
41.10   UCAT.PRN        28K     /
41.11   CDOSSAP.Z80      9K     CDOS Sort and Pack Directory
41.12   CDOSSAP.PRN     19K      /
41.13   CDOSSAP.COM      1K     /
41.14   FDCBIOS.DOC      6K     Updated BIOS for 16FDC and 4FDC
41.15   FDCBIOS.HEX      2K          /
41.16   FDCBIOS.Z80     15K         /
41.17   FDCBIOS.PRN     36K        /
41.18   FDCBOOT.HEX      1K       /
41.19   FDCBOOT.Z80      2K      /
41.20   FDCBOOT.PRN      5K     /
41.21   XEROX.Z80       13K     FAST Copy ss/sd = 40 seconds
41.22   XEROX.COM        2K               ss/dd = 70 seconds

File name:
CDOSSAP.* The SAP utility from CPMUG rewritten for CDOS 2.36
CDOSCOPY.* The literal COPY pgm from CPMUG modified for CDOS
 2.36 (Standard 8" to Double Density, Double Sided operation)
CDOSFMAP.* The FMAP utility from CPMUG Vol 8 modified  to
   reflect the changes in Vol 40 and to accomodate the 512
   directory entries possible with CDOS
CDOSUCAT.* The UCAT utility from CPMUG modified to reflect the
   updates in Vol 40 and to accept wildcard ignore names of
   the form ????????.SYM, etc
CDOS.DOC A few hints for users of CDOS 2.17 or higher



Author:
Trevor Marshall,
26 Mirrelia Way, Ferndale, Western Australia 6155
phone International (619) 457 6059     National (09)4576059


Submitted by:
author

These programs are public domain because:
They are updates of earlier CPMUG releases which have been
altered by the author.


To whom would this program be useful:
All users of CDOS versions 2.17 to 2.36


Briefly describe the program function:
CDOSFMAP.*
CDOSUCAT.*
These programs allow use of the Master Disk Catalogue scheme
with CDOS 2.17 to 2.36. (The original CAT.COM is still OK).

CDOSCOPY.*
Operates as per earlier CPMUG release for 8" S/D disks.
For Double Density or Double sided disks a 'Read/Write Logical
Block' approach is used to copy the disk. Although not yet used
with 5" disks the modification is simple.

CDOSSAP.*
the SAP utility from the CPMUG rewritten for CDOS to reflect
differences in handling:
Disks other than Single density Single Sided,
The CDOS disk label
CDOS file protect attributes.


Where is further documentation available:
See CDOS.DOC
The author will supply additional info on individual request.


Hardware dependencies:
All hardware consistent with CDOS 2.36 OK
Hard Disk not supported by CDOSCOPY, CDOSSAP


Software dependencies:
Requires Cromemco CDOS version 2.17 to 2.36


Source processor:
Cromemco Z80 assembler version 2.05 or higher
CDOSFMAP |
CDOSUCAT |  require MAC

Does the software "drop in":
Yes


How easy is the code to modify:
Z80 files fairly well documented in relevant areas




   CBIOS for Cromemco 4FDC/16FDC or CCS 2422 disk controller

FDCBIOS.Z8� an� FDCBOOT.Z8� ar� modification� o� 4FDCBIOS.Z8� an� �
4FDCBOOT.Z8� respectivel� fro� th� CPMU� Use� Grou� Library� The� �
hav� bee� modifie� t� correc� problem� i� th� origina� versio� �
wit� respec� t� us� o� th� Persc� singl� ar� voic� coi� dis� �
drives� Th� name� wer� als� change� t� indicat� tha� th� program� �
hav� bee� additionall� checke� ou� wit� th� 16FDC�� Th� majo� �
change� t� th� origina� cod� wer� a� follows:

    a) corrected PIP A:=B:filename.ext
       the original code improperly accessed the Persci 277/299
       single arm voice coil drives
    b) corrected current drive assignment on a warm boot
       the original code always reference drive A: after a
       warm boot

FDCBIOS.Z8��  an�  FDCBOOT.Z8� ar� th� bootstra� an� Cbio� fo� �
runnin� CP/� 2.� wit� � Cromemc� 4FDC/16FD� controlle�  board�  � �
Z8�  CPU��  an�  minimu�  20�  o�  RAM��   CP/�  1.�  ca� als� b� �
supporte� i� som� o� th� 2.x-onl� cod� i� removed�� Thi� cod� i� �
als� applicabl� to��  an� teste� upon��  th� Californi� Compute� �
System� dis� controlle� boar� mode� 2422�� i� � seria� por� a� � �
compatibl� wit� CDO� i� use� (� 3� � S�� o� � Cromemc� TUART�� o� �
th� seria� por� o� � Cromemc� Singl� Car� Computer.)

Thi� sourc� i� capabl� o� supportin� thre� type� o�  disks�� �  �
inc�  (suc�  a�  Wangco)��  �  inc�  (suc�  a�  Shugart)�� an� �
single-ar� voice-coi� � inc� (suc� a� Persci)��  Betwee� on� an� �
fou�  drive�  ar� supportable�� bu� n� intermixing��  Ther� i� n� �
curren� suppor� fo�  double-side�  drives��  bu�  i�  shoul�  b� �
easil� addable�� Ther� i� n� suppor� fo� th� doubl� densit�� mod� �
i� th� Cromemc� 16FDC�� o� th� CC� 2422�� Thi� bio� i� limite� t� �
12� byt� sectors.

Th�  ��  inc�  forma�  i�  compatabl� wit� al� CP/͠ an� CDO� �
version� currentl� known��  Th� � inc� forma�  (ske�  o�  5�  i� �
compatabl� wit� al� � inc� CDO� format� currentl� used.

I�  i�  assume�  tha�  th�  mai�  console�� a� por� zero�� i� �
alread� initialize� b� RDO� o� som� othe� program��  I� not�� yo� �
ca� inser� th� necessar� cod� int� FDCBOOT.Z80�� A� additiona� �
features�� th� routin�  contain�  a�  optiona� reader-punc�  an�  �
printe�  suppor�  routine� vi� TUAR� an� PR� boards�   Also� i� � �
commente� sectio� i� � smal� modificatio� s� th� DE� ke�� (07FH� �
i� change� t� � Control-� b� th�  CBIOS��  fo� thos� wh� hav� �
Backspac� o� th� terminal�  � d� no� lik� t� us� tw�  hand�  jus� �
t� b� abl� t� eras� � mistake�     Th� sourc� i� fo� Cromemc� Z8�  �
assembler�  an�  ther�  ar� fiv�  constant�  i�  th�  fron� t� b� �
change� t� selec� variou� options.

   First�� selec� th� typ� o� drive�� I�  �  inch�  LARGES�  an� �
PERSCIS�  shoul� b� 0��  I� � inc� Shugart�� LARGES� shoul� b� 1� �
PERSCIS� 0��  I� Persci�� PERSCIS� shoul� b� 1�   LARGES�  shoul� �
als� b� altere� i� FDCBOOT.Z80. �
   Next�� NUMDRIVE� shoul� b� � t� � fo� 5� an� 8� drives� an� � �
o� � fo� Persc� double-dis� drives.

   Then�� t� hav� suppor� fo� printe� an� TUART�� BIGIOS� shoul� �
b�  1��  otherwis� 0��  Yo� migh� als� wis� t� chang� BAUDRAT� t� �
th� desire� valu� fo� th� reader-punc� (11� bau� i� supplied)� �
Note�� i� th� CC� 242� i� used�� i� ma� b� necessar� t� suppl� a� �
initializatio� an� bootstra� routin� fo� th� consol� port�� i� �
tha� i� o� � TUAR� addresse� a� zero�� Th� curren� cod� doe� no� �
initializ� th� por� a� zero�� assumin� tha� ha� bee� don� befor� �
th� dis� wa� booted�� Th� cod� fo� th� TUAR� referre� t� her� i� �
fo� a� additiona� TUAR� port�� no� th� consol� port�� bu� i� i� �
eas�� t� ad� th� necessar� cod� t� initializ� th� consol� por� �
also.

   Finally�� se� BEGINAD� t� th� star� o�  th�  CBIOS��   I�  i� �
supplie� a� 0E400�� whic� i� fo� � 64� system��  Thi� shoul� als� �
b� altere� i� FDCBOOT.Z80.

   Th堠  switche�  o�  th� 4FDC/16FDà ar� se� exactl�� a� �
describe� i� th� boar� manual��  Fo� � syste�  ove�  48K��  th�  �
RO͠  mus�  b� disable�  upo�  bootstrapping��   Fo� � smalle� �
system�� th� RDO� ca� sta� in�� o� not� a� yo� desire�  Fo� � CC� �
242� controller�� th� sam� statemen� applies� excep� th� 242� RO� �
nee� no� b� disable� unles� th� syste� memor� exceed� 60K.

   FDCBOOT.HE� an� FDCBIOS.HE� ar� supplied�� assemble� fro� th� �
sourc� files� The� ar� se� fo� � 64� versio� o� CP/M� Yo� ca� us� �
the� i� anothe� syste� i� yo� ca� pu� abou� 8� a� th� uppe� en� �
o� memor� (E000� an� mayb� 16� a� th� lo� en� (0000� t� b� abl� �
t� re-assembl� th� files.

   Th� followin� instruction� shoul� assis� i� th� initia� �
start-up for a 64K CP/M system:

         1) modify FDCBIOS.Z80 where appropriate
         2) create a copy of CPM64.COM from MOVCPM
         3) reboot with CDOS generated at 48K
         4) ASMB FDCBIOS HEX=F200
            do not continue past this point if there are errors
         5) DEBUG CPM64.COM
         6� � FDCBIOS.HEX
         7) R 4000
         8) M 3200 34xx 1F80
         9) M 980 2500 DC00
        10) G F200
        11) SYSGEN

    subsequent updates

         1) modify FDCBIOS.Z80 where appropriate
         2) reboot CDOS
         3) ASMB FDCBIOS HEX=F200
         4) reboot CP/M �          5) MOVCPM 64 *
         6) SAVE 36 CPM64.COM
         7) DDT CPM64.COM
         8) IFDCBIOS.HEX
         9) R4000
         10� M320� 34x� 1F80
              pls note the value 34xx will vary
         11) IFDCBOOT.HEX
         12) R4000
         13) M4000 404F 900
              control ^C
         14) SAVE 36 CP/M64.COM
         15) DDT CP/M64.COM
         16) control ^C
         17) SYSGEN

    for other memory size systems

         1) ED FDCBIOS.Z80
         2) modify MEMSIZE
         3) ED FDCBOOT.Z80
               modify MEMSIZE
         4) reboot CDOS
         5) ASMB FDCBIOS HEX=(top of memory-E00)
         6) ASMB FDCBOOT HEX=0