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