å ÿåÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿåÿðÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿCONFIG LST€ CONFIG LST€ CONFIG LST€CONFIG LST€ !CONFIG LST€"#$%&'()CONFIG LST€*+,-./01CONFIG LST€23456789CONFIG LST€:;<=>?@ACONFIG LST€BCDEFGHICONFIG LST €JKLMNOPQCONFIG LST €RSTUVWXYCONFIG LST €Z[\]^_`aCONFIG LST €bcdefghiCONFIG LST €jklmnopqCONFIG LST€rstuvwxyCONFIG LST€z{|}~€�CONFIG LST€‚ƒ„…†‡ˆ‰CONFIG LST€Š‹Œ�Ž��‘CONFIG LST€’“”•–—˜™CONFIG LST€š›œ�žŸ ¡CONFIG LST€¢£¤¥¦§¨©CONFIG LST€ª«¬­®¯°±CONFIG LST€²³´µ¶·¸¹CONFIG LST€º»¼½¾¿ÀÁCONFIG LST€ÂÃÄÅÆÇÈÉCONFIG LST€ÊËÌÍÎÏÐÑCONFIG LST€ÒÓÔÕÖרÙCONFIG LST€ÚÛÜÝÞßàáCONFIG LST€âãäåæçèéCONFIG LST€êëìíîïðñCONFIG LST_òóôõö÷SYSCN1 DOCøSYSCN2 DOC=ùúûüåååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå TurboDOS Configuration Manual A Solution To The Integration Irritations Encountered With I.C.M. Products. Steve Rasmussen Don Shulz OCT 1985 Š T A B L E O F C O N T E N T S 1. TurboDOS SYSTEM OVERVIEW.................................1-1 2. TurboDOS SYSTEM START UP PROCEDURES......................2-1 2.1. S-100 Bus Voltage Verification......................2-1 2.2. CRT Terminal Set Up.................................2-2 2.3. Floppy Disk Drive Set Up............................2-4 2.4. Format and Contents of the Distribution Diskette....2-6 2.4.1. Procedures for Booting the Single User Syste.2-6 2.4.2. Making Backup Copies Of Your System Disk.....2-7 2.4.3. Formatting Double Sided Diskettes............2-8 3. SINGLE-USER PROCEDURES ..................................3-1 3.1. TurboDOS Command Summary............................3-1 3.2. Peripheral Devices Supported with ICM Drivers.......3-4 3.3. Relationship of TurboDOS Files .....................3-5 3.4. Loading a Text Editor...............................3-8 3.5. Default Single User Configuration...................3-8 3.6. System Re-Configuration with GEN...................3-10 3.7. Changing The Console (Terminal) Parameters.........3-12 3.8. Serial Printer Installation........................3-13 3.9. Clock/Calendar Board Installation..................3-15 3.9.1. Clock/Calender Board on CPZ-186.............3-16 3.10. Turbo-DISK Installation...........................3-17 3.11. The Monitor Dynamics MD1013/1016..................3-19 3.12. Formating the Hard Disk...........................3-20 3.13. Technical Description of the Disk Assignment Tabl.3-23 3.14. Boot from Hard Disk...............................3-24 3.15. Hard Disk Drive Via Parallel Port.................3-26 3.15.1. PRIAM Personality Board...................3-26 3.15.2. SASI/SCSI Personality Board(other than OM.3-27 4. INTEGRATING THE OMTI.....................................4-1 4.1. Introduction........................................4-1 4.1.1. Advantages...................................4-1 4.2. Integrating the OMTI Controller.....................4-3 4.2.1. Initial Setup................................4-3 4.2.2. What If It Doesn't Work the First Time???....4-8 4.3. Hardware Modifications.............................4-10 4.3.1. Hardware Modifications for CPZ-48000........4-10 Š 4.3.2. Hardware Modifications for CPZ-4800X........4-11 4.3.3. Hardware Modifications for CPZ-186..........4-12 4.3.4. Hardware Modifications for SASI-100.........4-13 4.3.5. The SASI-200................................4-14 4.4. Power Requirements for OMTI Series.................4-15 4.5. Setting up OMTI Board..............................4-16 4.6. Operating System Set-up............................4-18 4.7. Setting drive parameter bytes in .PAR file.........4-20 4.7.1. Step Pulse Width ...........................4-20 4.7.2. Step Period.................................4-20 4.7.3. Write Precompensation.......................4-21 4.7.3.1. Characteristics of WRTPx and WRTPx.4-22 4.7.3.2. Patching examples..................4-23 4.7.4. Special Drives..............................4-24 ii 4.7.4.1. The Syquest Removeable 10MB Hard D.4-24 5. THE SMC-200..............................................5-1 5.1. Overview............................................5-1 5.2. Integrating the SMC-200.............................5-2 5.2.1. Initial Setup................................5-2 5.2.2. Setting Up the Single-User Operating System..5-3 5.2.3. Formating the SMC-200........................5-5 5.2.4. Booting From Hard Disk and Setting Up a Mult.5-5 5.3. SMC-200 File Explanation............................5-6 5.4. Module Description..................................5-8 5.5. Source Information.................................5-11 5.6. Supported Drive's..................................5-12 6. MULTI-USER PROCEDURES....................................6-1 6.1. Adding Slave Processors.............................6-1 6.2. Printer on Slave....................................6-4 6.3. Remote or Physical Master Console...................6-4 6.4. Clock/Calendar on Slave.............................6-5 6.5. Clock/Calander on a 16-bit Slave....................6-6 6.6. Adding Banked Slaves................................6-7 6.7. 16 BIT MASTER (CPZ-186).............................6-8 7. CPZ-186 MASTER MULTI-USER SYSTEM CHANGES.................7-1 7.1. Software Modifications..............................7-1 7.2. Hardware Modifications..............................7-3 7.3. CALCULATING DISK BUFFERS FOR CPZ-186................7-4 7.4. 16 Bit Slaves.......................................7-6 7.4.1. One Megabyte 16 Bit Slaves...................7-8 7.4.2. Mixing 8 And 16 Bit Slaves..................7-10 Š 7.5. Automatic Logon....................................7-12 7.6. Batch Processing...................................7-15 7.6.1. Master Batching.............................7-17 8. LOCAL AREA NETWORK OVERVIEW..............................8-1 8.1. A Very Short Time Ago ..............................8-1 8.2. ARCnet Local Area Network...........................8-2 8.2.1. ARCnet Hardware Overview.....................8-3 8.2.2. S-100 ARCnet Interface.......................8-7 8.2.2.1. DISKLESS MASTER....................8-19 8.2.3. PC ARCnet Interface.........................8-23 8.2.3.1. PC NETWORKING OVERVIEW.............8-23 8.2.3.2. TPC Emulator.......................8-23 8.2.3.3. MATURE ............................8-24 8.2.3.4. TurboDOS/PC (T/PC) ................8-25 8.2.4. WS-80 (WorkStation) ARCnet Interface........8-26 8.3. CKTSER - Serial Modem Link.........................8-31 9. List of Appendixes.......................................9-1 ii A P P E N D I C E S A. Appendix A - Definitions of I.C.M.'s Utilities & Drivers.A-1 B. Appendix B - ICM's Drivers - Global Symbols and Defaults.B-1 B.1. Modules applying to both Z-80 and 8086 Versions.....B-1 B.1.1. Console Drivers..............................B-2 B.1.2. Printer Drivers..............................B-3 B.2. TurboDOS Driver Doc, Z-80 VER, REV 2, NOV 15 1984...B-4 B.3. TurboDOS Driver Doc, 8086 VER, REV 1, Nov 15 1984..B-28 C. Appendix C - Sample .GEN and .PAR Files..................C-1 D. Appendix D - Printers on Slaves Sample .GEN's and .PAR's.D-1 E. Appendix E - Patches for WordStar Ver. 3.0 and 3.3.......E-1 Š F. Appendix F - Monitor Dynamics Controller Heads/Cly Value.F-1 G. Appendix G - Sample Drive Characteristics................G-1 H. Appendix H - Baud Rate Table.............................H-1 I. APPLICATION NOTES........................................I-1 I.1. AP-note - TurboDOS Floppy Formats...................I-2 iii L I S T O F T A B L E S 3-1: GEN and PAR file Relationship to Output File ..........3-11 6-1: 8 and 16 Bit Slave I/O Port Jumpering...................6-3 6-2: File extensions used in 16-bit TurboDOS.................6-8 7-1: CPZ-186 Memory Usage Map................................7-3 Š 8-1: Passive ARCnet HUB (HUB-4P).............................8-3 8-2: Active ARCnet HUB (HUB-8A)..............................8-4 8-3: LANS100 LAN ID SWITCH (ID set for 2 hex)................8-7 8-4: Workstation (WS-80) set at 21 hex......................8-26 B-1: REL FILE EXPANDED DESCRIPTIONS..........................B-4 B-2: O FILE EXPANDED DESCRIPTIONS...........................B-28 iv Š TurboDOS SYSTEM OVERVIEW 1. TurboDOS SYSTEM OVERVIEW Thå operatinç systeí yoõ arå abouô tï instalì ió onå oæ  thå � mosô  advanceä anä flexiblå systemó knowî tï  microcomputers®  Iæ � yoõ  arå  aô alì familiaò witè assemblù languagå programminç  anä � thå  uså  oæ relocatablå .REÌ moduleó yoõ wilì bå righô  aô  homå � witè  TurboDOS®  Iæ  not¬  thå followinç sectionó wilì  helð  yoõ � understanä  thå  basicó  oæ  operatioî anä allo÷  yoõ  tï  "Thinë � TurboDOS¢  whilå configurinç youò system®  Thå  overvie÷  sectioî � giveó  [backgroundÝ informatioî abouô TurboDOS anä thå  remaindeò � oæ  thå  configuratioî  manuaì  wilì givå  yoõ  anù  step-by-steð � procedureó  thaô maù bå necessarù foò yoõ tï  configurå  TurboDOS � foò  youò  computer®  Pleaså uså thå referenceó to youò  TurboDOS � manuals¬  hardwarå  manualó  anä  appendixeó  foò  morå  in-deptè � informatioî anä examples® TurboDOS  ió builô arounä á corå oæ standarä prograí moduleó � whicè  arå  relocatablå anä "patchable"®  Usinç thå GEÎ oò  TLINË � commandó whicè comå witè youò TurboDOÓ distributioî diskette¬ yoõ � wilì  actuallù  reconfigurå thå variouó softwarå buildinç  blockó � intï  aî  executablå  operatinç  systeí  whicè  ió  designeä  tï � optimizå youò hardwarå anä operationaì requirements. TurboDOÓ ió verù similaò iî itó outwarä appearancå (operatoò � interface© tï CP/Í 2.² anä CP/M-8¶ anä wilì actuallù supporô mosô � CP/Í programó whicè yoõ maù bå runninç now® Therå ió alsï supporô � foò  MP/Í  anä  MP/M-8¶  functions®  Abovå  all¬  TurboDOÓ  ió  á � networkinç  operatinç systeí thaô allowó multiplå computeró tï bå � linkeä together®  ICÍ supportó tightlù coupleä linkó usinç thå S-� 10°  buó aó á higè speeä communicatioî  medium®  Looselù  coupled � linkó arå madå witè ARCnet protocoì oveò coaxiaì cable® Theså twï � techniqueó  oæ couplinç caî bå combineä intï á singlå LAÎ sucè aó � á  grouð oæ IBM-PC'ó oò disklesó WorkStationó whicè caî sharå  S-� 10° baseä masó storagå deviceó anä printers® Youò  TurboDOÓ  distributioî diskette froí ICÍ containó  alì � thå  necessarù operatinç systeí modules¬  hardwarå  drivers¬  anä � utilitieó  (tools© necessarù tï reconstrucô anä reconfigurå  youò � basiã operatinç systeí iî anù numbeò oæ possiblå  configurations® � Notå  - Thå  distributioî  diskettå aó  receiveä  wilì  "Boot-up¢ � singlå useò witè á minimuí systeí configuratioî whicè ió outlineä � iî  thå manual®  Thå addeä flexibilitù anä poweò oæ TurboDOÓ alsï � increaseó  thå  configurabilitù oæ thå operatinç systeí  anä  itó � versatilitù oæ installation. Š 1-1 TurboDOS SYSTEM OVERVIEW Thå  systeí  start-uð  procedurå  ió  á  stepping-stone-likå � affaiò  wherebù  severaì processeó occuò tï loaä  aî  operationaì � multi-useò system®  Aô power-on¬ thå booô PROÍ locateä oî thå CPÚ � wilì  executå  anä initializå thå micrï processoò anä  itó  locaì � supporô  circuitrù  (RAMS¬  I/O¬  etc.)®  Thå booô PROÍ  (loader© � prograí  wilì  alsï opeî á patè tï thå floppù disë  (oò  optionaì � harä  disk©  anä  searcè  foò  á  prograí  calleä  OSLOAD®   Youò � distributioî  TurboDOÓ booô prom lookó foò uð tï fouò floppieó tï � bå connecteä (A¬  B¬  C¬  ¦ D© tï thå systeí anä thå booô prograí � wilì  attempô tï looë sequentiallù througè eacè  drivå  directorù � seekinç  thå  OSLOAÄ program®  Iæ youò hardwarå configuratioî  ió � lesó thaî fouò floppies¬ thå systeí wilì onlù looë aô thoså whicè � arå  operativå anä thå procedurå wilì continuå untiì  thå  OSLOAÄ � prograí ió found®  Assuminç thå filå ió founä oî thå distributioî � diskettå  iî  onå oæ thå attacheä drives¬  thå booô prograí  wilì � loaä iô intï thå RAÍ oæ thå CPÚ anä theî execute. Thå  OSLOAÄ prograí ió iî itselæ á "mini-operatinç  system"® � Thå functioî oæ OSLOAÄ ió tï loaä thå reaì operatinç systeí whicè � existó  iî  á  filå  calleä  OSMASTER.SYÓ  oî  youò  distributioî � diskette® Thå make-uð oæ OSLOAÄ musô bå sucè thaô iô containó thå � propeò prograí moduleó tï supporô youò hardwarå configuration® Aó � supplied¬  thå  OSLOAÄ prograí onlù knowó abouô thå  fouò  floppù � driveó mentioneä above® Refeò  tï Appendiø à foò samplå listings oæ CPZLOAD.GEΠ anä � CPZLOAD.PAR¬  whicè  arå thå ICÍ fileó thaô arå useä tï construcô � OSLOAD.COM®  Yoõ wilì notå thaô thå driveró listeä iî CPZLOAD.GEÎ � arå    aî    accumulatioî   oæ    standarä    TurboDOÓ    moduleó � (STDLOADR,RTCNUL© and¬  ICÍ hardwarå driveró (i.e® CON96¬ NITCPZ¬ � SPDCPZ¬  DSKCPZ1¬  DST58I)¬  anä  otheò hardwarå relateä  driveró � (i.e®  MD131DRÖ foò harä disë driveó etc.)® Theså arå thå moduleó � whicè  wilì  bå  loadeä  bù thå bootproí anä  executeä  tï  starô � initializinç  thå computeò tï loaä youò fulì  TurboDOÓ  operatinç � system®  Thå CPZLOAD.PAÒ fileó arå thå parameteò fileó whicè musô � accompanù  thå  CPZLOAD.GEÎ fileó wheî yoõ re-generatå (GEN©  thå � loadeò  prograí  (OSLOAD.COM©  tï  meeô  youò  specifiã  hardwarå � requirements®  Wå  wilì coveò thió re-generatioî procedurå  aô  á � lateò time®  Thå OSLOAD.COÍ prograí yoõ eventuallù construcô wilì � bå  dependenô oî youò hardwarå anä thå waù iî whicè yoõ wanô youò � systeí tï initializå anä booô up. Š 1-2 TurboDOS SYSTEM OVERVIEW Thå distributeä ICÍ standarä configuratioî oæ OSLOAD.COÍ  ió � capablå  oæ  loadinç thå systeí froí floppù driveó only®  Iæ  yoõ � wanô youò systeí tï loaä youò TurboDOÓ operatinç systeí froí  thå � systeí harä disë yoõ wilì havå tï enablå harä disë boot-up®  Harä � disë  installatioî wilì bå covereä iî thå harä disë  installatioî � section®  Aó  supplied¬  thå  systeí wilì booô froí  floppieó  Aº � througè  Dº  only®  Simplù  stated¬  youò  OSLOAD.COÍ  filå  musô � initializå  enougè  oæ  youò  systeí  tï allo÷  iô  tï  loaä  thå � OSMASTER.SYÓ  filå  froí  á  floppù  oò  harä  disë  drive®   Thå � OSLOAD.COÍ doeó noô controì printers¬  clocks¬  slaves¬  etc® Itó � solå functioî ió tï loaä thå OSMASTER.SYÓ file¬  thuó thå overalì � sizå anä complexitù oæ OSLOAD.COÍ ió small®  Oncå thió OSLOAD.COÍ � filå  haó  beeî assembleä accordinç tï youò booô  needs¬  iô  caî � remaiî fixeä nï matteò whaô elså yoõ adä tï youò eventuaì system. Oncå  OSLOAÄ  ió loadeä intï thå CPÚ SBà iô  wilì  begiî  tï � execute®  Itó  purposå ió tï loaä thå operatinç systeí imagå filå � (OSMASTER.SYS©  froí  onå oæ thå floppù driveó  attacheä  tï  thå � system®  Youò  distributioî diskettå OSMASTER.SYÓ consistó oæ thå � moduleó  iî CPZDOS.GEÎ whicè ió listeä iî Appendiø  C®  Yoõ  wilì � notå  thaô thå fileó iî thió modulå relatå noô onlù tï thå  basiã � systeí hardwarå anä softwarå functions¬ buô alsï tï featureó likå � printers¬  automatiã clocë calendaò function¬ floppù harä anä RAÍ � disë drives® Thå samå basiã devicå driveró whicè werå includeä iî � thå  OSLOAD.COÍ  loadeò  arå alsï includeä  oî  thå  OSMASTER.SYÓ � systeí  imagå becauså theù arå stilì needeä tï operatå thå systeí � terminaì  anä  disë  devices®   Wheî  thå  operatinç  systeí   ió � reconfigureä  througè  additioî oò subtractioî oæ variouó  driveò � modules¬  thå entirå operatinç systeí (OSMASTER.SYÓ file© musô bå � re-generated® Eacè modulå useä tï construcô thå actuaì operatinç �Š systeí (i.e®  CON96¬  NITCPZ¬  SPDCPZ¬  DSKCPZ± anä DST58I)¬ ió á � relocatablå driveò modulå useä tï generatå thå completå operatinç � system® Thå re-generatioî ió completeä througè thå uså oæ thå GEÎ � prograí  provideä  oî youò distributioî diskette®  Morå  oî  thió � procedurå  lateò  iî  thió document®  Oncå  thå  OSMASTER.SYÓ  ió � loaded¬ yoõ arå "uð oî TurboDOS"® 1-3 TurboDOS SYSTEM START UP PROCEDURES 2. TurboDOS SYSTEM START UP PROCEDURES ICÍ  supplieó 8"¬  single-sided¬  double-densitù anä severaì � 51/4¢ floppù formatteä TurboDOÓ disketteó configureä tï  boot-uð � iî  á  single-useò mode®  Thió procedurå allowó yoõ  tï  minimizå � areaó  oæ  potentiaì  problemó bù runninç thå  leasô  complicateä � hardware/softwarå  configuratioî possiblå  durinç  start-up®  Thå � followinç  procedureó arå á step-by-steð methoä designeä tï allo÷ � yoõ  tï  brinç uð youò completå system,  firsô  aó  aî  optimizeä � single-user¬   anä   finallù  aó  multi-user®   Thå   single-useò � procedureó  begiî witè basiã motherboarä voltagå checkó tï insurå � propeò  supplù  voltages»  proceeä witè configuratioî  oæ  floppù � diskettes¬ CRÔ terminals¬ printers¬ batterù backed-uð clocks¬ RAÍ � disks» anä enä witè harä disks® Oncå thå masteò CPÚ SBà anä theså � peripheraì  deviceó arå operational¬  thå multi-useò capabilitieó � arå integrated®  Eacè useò (slavå processor¬  ¸ oò 1¶ biô CPS-MX¬ � CPS-BMØ oò CPS-16© ió theî broughô uð iî aî orderlù procesó untiì � alì useró arå "alivå anä well.¢ Thió procedurå wilì savå yoõ mucè � timå anä aggravatioî iæ strictlù adhereä tï durinç start-up® Beaò �Š iî  minä  thaô thió procedurå ió elementarù iî itó scopå  oæ  thå � availablå capabilitieó oæ TurboDOÓ features. 2.1. S-100 Bus Voltage Verification Thå  firsô thinç tï check wheî settinç uð thå systeí ió  thå � S-10°  Buó voltages®  *WARNINGª Failurå tï insurå propeò voltageó � caî voiä warranty oî I.C.M® supplieä cards. S-100 Bus Pin out: Solder Side 51::52:::::::::::::::::::::::::::::::::::::::::::::::::::::100 -------------------------------------------------------------- 1::::2::::::::::::::::::::::::::::::::::::::::::::::::::::::50 Component Side (Bus connector viewed from top) Pinó  5°  anä 10° arå grounä pins®  Witè alì boardó  removeä � froí thå chassis¬  measurå pinó ± anä 5± witè referencå tï piî 5° � anä  10° tï confirí thaô thå voltagå ió iî thå rangå oæ ¸ tï  9.5 � VDC®  Piî 2¬ witè respecô tï 50/100¬ shoulä bå iî thå rangå oæ 1¶ � tï  18  VDC®  Piî 5² shoulä bå iî thå rangå oæ -1¶  tï  -18  VDC® � (Noteº  reversinç  youò  meteò  probeó maù bå necessarù  oî  youò � voltmeter.© Theså opeî circuiô voltagå checkó wilì determinå anù � grosó over/undeò voltagå problemó thaô maù exisô iî youò chassis® � Witè CÖ (Ferroresonant© typå supplies¬  thå opeî circuiô voltageó � maù bå somewhaô higheò thaî thå rangeó indicated® Tï determinå iæ � therå ió grosó over/undeò voltage¬  iô maù bå necessarù tï  "loaä � thå bus¢ witè thå CPZ-18¶ oò CPZ-4800Ø SBC®  Afteò insertinç  thå � singlå board¬ perforí thå checkó again® Grosó over/undeò voltageó � indicatå chassió poweò supplù problemó whicè arå beyonä thå scopå � oæ thió document®  Refeò tï youò poweò supply/computeò manual¬ oò � vendoò BEFORÅ PROCEEDING. 2-1 TurboDOS SYSTEM START UP PROCEDURES No÷  pluç onlù thå CPÚ SBà boarä intï thå Bus¬  anä  measurå � thå  "loaded¢  voltages®  Remember¬  piî 5° anä piî 10°  arå  thå � grounä  pins®  Piî ± anä 5± shoulä botè bå betweeî ¸ anä 9.µ VDC® � Piî ² shoulä bå betweeî +1¶ anä +1¸ VDC® Piî 5² shoulä bå betweeî � -1¶  anä  -1¸  VDà (Noteº  reversinç youò  meteò  probeó  maù  bå � necessarù oî youò voltmeter.© Iæ thå voltageó arå toï higè oò toï � low¬  refeò  tï  youò  chassió poweò supplù manuaì  anä  possiblù � adjusô thå transformeò taps®  Higè oò lo÷ Buó voltageó maù resulô �Š iî  thermaì shutdowî oæ thå boards®  DÏ NOÔ proceeä untiì  propeò � buó  voltageó havå beeî confirmed! Oncå theså voltageó havå  beeî � confirmeä  yoõ  caî proceed®  Thió ió VERÙ IMPORTANÔ  foò  propeò � systeí operation® 2.2. CRT Terminal Set Up Connectioî  tï á CRÔ ió achieveä thougè thå supplieä RPB-100 � NÏ MODEM¬  RS-232¬ personalitù card® Foò thå CRÔ terminaì tï RPB-� 10°  personalitù  carä cable¬  uså twï malå DB2µ  connectoró  anä � connecô pins: 2 to 2 3 to 3 7 to 7 Optional: 1 to 1 Optional: 20 to 20 Seô  youò  terminaì foò ¸ datá bits¬  ²  stoð  bits¬  paritù � disableä (nï oò spacå parity© anä 960° baud. Referencå  thå CPÚ SBà manuaì foò thå NÏ  MODEÍ  personalitù � carä (RPB-100© set-uð instructions®  Pluç thå RPB-10° personalitù � boarä  cablå  intï J³ oî thå CPÚ SBC®  Connectionó arå  keyeä  tï � prevenô  impropeò  installation®  Connecô  thå  CRT-to-RP  cablå � betweeî  thå  CRÔ  communicatioî porô anä thå  RPB-10°  DB2µ  piî � connector® Common Problems with terminals: 1©  Thå signoî messagå appearó correctlù buô afteò  pressinç  thå � returî  keù  thå cursoò moveó tï thå lefô margiî oæ thå  terminaì � anä  hangó there®  Solutionº  Thå numbeò oæ stoð bitó neeä tï  bå � set. 2-2 Š TurboDOS SYSTEM START UP PROCEDURES 2©  Yoõ caî heaò thå floppù beinç accessed¬  buô nothinç appearó � oî thå crt®  Solutionsº a©  RPB-10°  ió iî wronç seriaì port(shoulä bå iî  porô  furthesô � froí floppù port)®  b© Faultù cablå froí RPB-10° tï terminal®  c© Baä  RPB-100 d© Iæ thå floppù respondó wheî yoõ typå iî á DIÒ ¬  probablù � thå  « oò - 1¶ voltó ió noô gettinç tï RPB-10° oò onå oæ  thå � twï  tantaluí capó oî thå RPB-10° ió shorted(thió probleí  ió � non-existanô witè RPB-200)® Iæ yoõ suspecô á shorteä cap., bå � carefuì  becauså  iæ  lefô on¬  theù  caî  accumulatå  enougè � pressurå  tï  smoke®  Theù caî bå checkeä bù á  voltmeteò  bù � puttinç thå meteò oî thå lowesô ohmó scale®  Iæ thå thå meteò � showó  nï  needlå  movement(displayó  nï  digits)¬  theî  itó � alright® Iæ thå needle(digits© movås oveò towardó ° ohms¬  iô � ió  shorteä  anä needó tï bå replaced®  Thå cað ió  á  commoî � 10uf(microfarad)¬  35volô  capacitoò  whicè  caî  bå  cheaplù � purchaseä  froí anù locaì electroniã partó  store(i.e®  Radiï � Shack)® Iæ yoõ arå goinç tï replacå iô yourself¬ makå surå tï � positioî  capacitoò  witè  thå « sidå tï thå «  sidå  oî  thå � silkscreen®  Otherwise¬  theù  caî  bå senô bacë tï  ICÍ  foò � replacement. 3©  Thå  terminaì loseó characteró wheî displayinç screenfuló  oæ � informatioî  aô fasô bauä rates®  Solutionº  loweò bauä  ratå  oò � enablå  DTÒ handshakinç oî piî 2° iæ supporteä bù youò  terminal® � Thå CPÚ SBà manuaì describeó thå jumpeò optionó useä tï implemenô � thå  clear-to-senä  hardwarå handshakå undeò  thå  RPB-10°  setuð � instructions®  Thå mosô commoî configuratioî witè terminaló ió tï � uså  thå  terminaló  DTÒ  signaì oî Piî 2°  tï  signaì  thaô  thå � terminaì ió busy®  Thió handshakå ió accomplisheä bù removinç alì � thå  jumperó  oî thå nï modeí personalitù carä  attacheä  tï  thå � printeò RS-23² port¬ anä installinç thå followinç jumpers: JA = 2-3 JB = 1A-2A/2C-3C JC = 1-2 Thå RPB-10° musô bå connecteä tï thå J³ (seå CPÚ SBà manual© � connectoò  oæ thå CPÚ SBà witè thå systeí powereä down®  Thå  PAÒ � filå wilì neeä thå patcè 'CONBÒ ½ C?'¬  wherå ¿ ió thå bauä ratå � codå defineä iî appendiø H. Š 2-3 TurboDOS SYSTEM START UP PROCEDURES 2.3. Floppy Disk Drive Set Up Thå  CPÚ SBà requireó á floppù disë personalitù boarä  (FPB-� 158©  tï bå connecteä betweeî J± oæ thå CPÚ anä thå 8¢ oò µ  1/4¢ � floppù  disë  drives®  Thå floppù disë personalitù boarä  caî  bå � mounteä tï thå bacë paneì oæ youò S-10° enclosure¬ oò iæ yoõ plaî � oî  layinç  iô  iî  thå  chassis¬  teaò ofæ  thå  bottoí  oæ  thå � antistatiã  packagå  thaô thå personalitù boarä waó  shippeä  in¬ � slidå  iô  oveò thå personalitù board¬  anä tapå iô iî  placå  tï � protecô thå circuitry® Pluç  thå FPB-15¸ cablå intï J± oî thå CPÚ SBà anä thå  FPB-� 15¸ personalitù carä connector® Thå femalå connectoò (oî thå FPB-� 15¸  personalitù board© anä J± arå keyeä sï yoõ can'ô pluç iô  iî � backwards® Iô ió no÷ timå tï connecô youò floppù drive(s© witè thå FPB-� 158®  Aligî  piî  ± oæ thå FPB-15¸ (reä stripå froí CPÚ  tï  FP � indicateó  thå  locatioî oæ piî 1© witè piî ± oæ thå floppù  disë � drivå  printeä  circuiô boarä (checë floppù PC artworë  foò  piî � numberó tï determinå piî ± location)® Refeò tï thå CPÚ SBà manuaì � foò floppù disë drivå jumpeò options. Makå  surå thå EPROÍ iî thå CPÚ SBà ió á TurboDOÓ BOOÔ PROM® � NOTEº  PROÍ  wilì bå labeleä witè onå oæ thå  followinç  titles¬ � witè thå exceptioî oæ thå firsô threå whicè arå incompatiblå CP/Í � promsº PROM TYPES DESCRIPTION ------------------------------------------------------------------ - - - CP/M single-user Bootproms - - - V2.1(CPZ-48000) 8" CP/M MONITOR PROM V2.1M(CPZ-48000) 5 1/4" CP/M MONITOR PROM 8"-5" MONITOR V2.3(CPZ-4800x) 8" & 5 1/4" CP/M PROM - - - 8" I.C.M. TurboDOS Bootproms - - - 8" Turbodos Boot Prom 8" FLOPPY BOOT PROM 1013/101¶ « 8¢ Booô Prom 8¢ FLOPPÙ ¦ MÄ1013/16 OMTI + 8" Boot Prom 8" FLOPPY & OMTI Š 2-4 TurboDOS SYSTEM START UP PROCEDURES - - - 5 1/4" I.C.M. TurboDOS Bootproms - - - 4°  TRË  BOOÔ  PROÍ µ 1/4¢ FLOPPÙ 4° TRACK 8°  TRË  BOOÔ  PROÍ µ 1/4¢ FLOPPÙ 8° TRACK 101°  « 4° TRË BOOÔ PROÍ MÄ101° ¦ µ 1/4",4° TRK 101°  « 8° TRË BOOÔ PROÍ MÄ101° ¦ µ 1/4",8° TRK 1013/16  « 4° TRË BOOÔ PROÍ MÄ1013/16 ¦ µ 1/4",4° TRK 1013/16  « 8° TRË BOOÔ PROÍ MÄ1013/16 ¦ µ 1/4",8° TRK OMTI + 40 TRK BOOT PROM OMTI & 5 1/4",40 TRK OMTI + 80 TRK BOOT PROM OMTI & 5 1/4",80 TRK For other proms, look on latest ICM price sheet or call ICM. ---------------------------------------------------------------- Oncå thå floppù drivå ió properlù optioneä anä connecteä anä � thå  propeò  proí verified¬  yoõ maù proceeä  witè  bootinç  youò � distributeä single-useò configuration® Common Problems with Floppy Disk Drives: 1)  Impropeò  proí  installeä  iî  CPÚ  SBC®  Solutionº  Instalì �      correcô proí oò iæ thaô ió noô possiblå calì I.C.M®  oò youò �      locaì distributoò anä reporô thå probleí tï Technicaì Sales® 2)  Thå drivå wilì noô boot®  Solutionº Yoõ probablù dï noô havå �      alì  thå  drivå optionó set®  Returî youò drivå  tï  factorù �      settingó  anä follo÷ thå jumpeò changeó outlineä iî thå  CPÚ �Š      SBà manual®  Iæ  yoõ dï noô havå á manuaì oî  youò  floppy¬ �      inquirå  firsô witè thå companù froí whicè yoõ purchaseä thå �      drive®  Theù  maù havå thå stocë factorù settingó  foò  youò �      drive® Alì floppù disë systemó requirå á terminatoò resistoò �      iî thå lasô drivå oæ thå chain® Iî thå caså oæ 8¢ anä µ 1/4¢ �      combination¬  onlù onå resistoò pacë ió required®  Oæ courså �      yoõ caî calì I.C.M®  anä asë foò Technicaì Saleó iæ yoõ neeä �      furtheò  assistancå  integratinç  youò  floppù  drives¬  buô �      pleaså  trù  checkinç everythinç includinç thå  cables¬  onå �      morå time. 2-5 TurboDOS SYSTEM START UP PROCEDURES 2.4. Format and Contents of the Distribution Diskette ICÍ sendó yoõ á distributioî diskettå whicè ió preconfigureä � tï  boot-uð iî á minimuí single-useò configuration®  Thå hardwarå � necessarù tï begiî operatioî ió aó followsº  ICÍ CPÚ SBC¬  floppù � disë drive¬  anä á CRT® Thå floppù disë interfacå musô bå viá thå � floppù  disë porô oî thå CPÚ SBà iî conjunctioî witè thå  FPB-15¸ � floppù  disë  personalitù  board®   Thå  CRÔ  terminaì  musô   bå � interfaceä  tï thå CPÚ SBà viá thå Channeì  seriaì porô (J3© anä � througè  á  RPB-10°  nï  modeí  personalitù  board®  Thå  set-up¬ � connection¬   anä   checkouô  oæ  thió  configuratioî  ió   fullù � documenteä iî thå followinç pages. WARNINÇ  - I.C.M®  distributioî disketteó havå á highlù optimizeä � formaô  anä wilì noô bå readablå oî anù otheò computer®  Thió  ió � truå  oî  alì µ 1/4¢ anä mosô 8¢ formats®  Wå currentlù  arå  noô � "like¢  anù  otheò  format¬  excepô wå dï  supporô  thå  industrù � standarä 8¢ CP/Í Singlå Sideä Singlå Densitù format® Š 2.4.1. Procedures for Bootinç thå Singlå Useò System Poweò uð thå systeí anä rechecë thå S-10° Buó voltages®  Yoõ � no÷  havå  á minimuí configuratioî capablå oæ  runninç  TurboDOS¬ � (anä communicatinç betweeî operatoò consolå (CRÔ terminal)¬  CPZ-� 4800X SBà master¬ anä floppù disks.) Placå  thå distributioî diskettå froí Intercontinentaì Micrï � Systemó iî drivå A:¬  closå thå door¬  anä presó thå systeí reseô � button® Thå  systeí  shoulä  searcè thå disketteó  lookinç  foò  thå � prograí OSLOAD.COM®  Iæ noô founä oî floppù drivå A¬  theî driveó � B¬  à anä  Ä wilì bå searched®  Thió ió thå searcè lisô  oæ  thå � TurboDOÓ  BOOÔ  PROM®  Thå OMTÉ « 8¢ Floppù proí oò MD101³  «  8¢ � Floppù PROÍ wilì looë oî thå floppù driveó connecteä first¬  theî � iô  wilì searcè thå Harä Disë Driveó tï finä OSLOAD.COM®  Iæ  thå � harä  disë  ió noô ready¬  thå floppieó wilì keeð beinç  searcheä � automatically®  Oncå  found¬  thå  prograí  OSLOAD.COÍ wilì bå  loadeä  intï � memorù  anä executed®  Thió wilì loaä thå filå OSMASTER.SYÓ  intï � memorù (thå operatinç systeí image© anä "jump¢ tï thå system® Thå � operatinç  systeí  wilì  sign-oî viá thå CRÔ  terminaì  witè  thå � TurboDOS sign-oî message. Thió ió aî examplå oæ thå TurboDOS sign-oî message: Copyrighô (C© 1984¬ Softwarå 2000¬ Inc® (24/###) A: OSMASTER.SYS loading from ???? to FFFF, size ???? TurboDOS 1.4x, copyright (C) 1984, software 2000, Inc. (24/###) 0A} 2-6 TurboDOS SYSTEM START UP PROCEDURES Typå  DIÒ tï reaä thå diskettå directorù � NOTEº  ¨  Enter density (Single/Double) : D Enter number of sides (1/2): 1 Enter format type (TurboDOS/CPM): T Insert disk to be formatted in drive B enter to begin formatting .................................................................. Starting verify pass .................................................................. Successful verify 0A} Yoõ  havå successfullù formatteä á floppù disë thaô haó  thå � samå  specificationó  aó youò masteò distributioî  diskettå  froí � I.C.M®  Verifù thaô youò masteò distributioî diskettå ió iî drivå � Aº anä thå newlù formatteä disë iî drivå B: Enter the command: 0A}BACKUP A: B: Thå  masteò anä ne÷ diskettå arå alreadù iî place¬  sï  typå � to begin formatting ................................................................ Starting verify pass ................................................................. Successful verify Thå distributioî diskettå iî drivå Á ió singlå sided¬ doublå � densitù  anä  thå diskettå iî drivå  ió  doublå  sided¬  doublå � density®  Thå  disë specificationó arå differenô anä  thå  BACKUÐ � prograí wilì noô work® Tï copù Aº tï Bº uså thå COPÙ command: 0A}COPÙ A:*.ª B:;N NOTEº  (1© *.ª meanó alì fileó oî referenceä drivå A® (2© Thå ;n � meanó  copù  alì  fileó  froí  Aº   tï  Bº   withouô  askinç  foò � confirmatioî oî eacè filå copied®  Afteò thå systeí haó returneä � tï thå prompt¬ removå thå masteò distributioî diskettå froí Á anä � storå  iô  iî á safå place®  Movå youò copù oæ  thå  distributioî � diskettå froí drivå Bº tï drivå Aº anä presó systeí reset. Yoõ shoulä agaiî seå thå TurboDOS sign-oî message. Wheî  thå  systeí  prompô 0Aý  returnó  tï  thå  screen¬  iô � indicateó  thaô yoõ havå successfullù copieä youò TurboDOÓ Masteò �Š Distributioî Diskette. 2-8 SINGLE-USER PROCEDURES 3. SINGLE-USER PROCEDURES 3.1. TurboDOS Command Summary Thå  .COÍ  anä  .CMÄ utilitù  programó  supplieä  witè  youò � TurboDOÓ  systeí  arå  verù similaò tï CP/Í 2.²  anä  MS-DOÓ  1.± � utilities® Thå followinç lisô ió foò easù reference® Foò completå � descriptions¬  refeò  tï  thå appropriatå Z-8° oò  808¶  TurboDOÓ � User'ó Guide® AUTOLOAD Thå AUTOLOAÄ commanä letó yoõ seô uð á commanä sequencå �           tï  bå  executeä  automaticallù aô eacè  cold-starô  oò �           warm-start. BACKUP Thå  BACKUÐ commanä performó á fasô copù oæ  aî  entirå �           disk onto another disk of the same type and format. BANK  Iî  á  bankeä Z-8° system¬  thå BANË commanä  letó  yoõ �           changå   froí   bank-switcheä   tï    non-bank-switcheä �           operation¬ anä vicå versa® BATCH Thå BATCÈ commanä provideó á convenienô waù oæ enterinç �           TurboDOÓ   commanä  stringó  intï  á  dedicateä   batcè �           processor in a networking system. BOOT   Thå   BOOÔ  commanä  ió  unnecessarù  iî   thå   I.C.M® �           implementatioî  aó  therå  arå nï Reserveä  Trackó  foò �           systeí bootuð operations® BUFFERS Thå BUFFERÓ commanä letó yoõ changå thå numbeò anä sizå �           of the disk buffers maintained by TurboDOS. CHANGE Yoõ  musô  uså thå CHANGÅ commanä prioò tï removinç  á �           disë froí anù drivå iî á multi-useò TurboDOÓ system® Iô �           ió also used before power down. COPY  Thå  COPÙ commanä letó yoõ copù individuaì disë  fileó �           oò groupó oæ files. DATE  Thå  DATÅ  commanä letó yoõ seô oò displaù  thå  systeí �           date and time. Š DELETE Thå  DELETÅ  commanä letó yoõ  deletå  individuaì  disë �           files or groups of files. DIR Thå DIÒ commanä displayó aî alphabetizeä disë directorù �           oî thå consolå oò printer. DO        Thå  DÏ commanä letó yoõ executå á pre-defineä sequencå �           oæ TurboDOÓ commandó whicè yoõ havå previouslù saveä iî �           a disk file.   DRIVE Thå DRIVÅ commanä displayó informatioî abouô thå formaô �           of a disk. 3-1 SINGLE-USER PROCEDURES DUMР Thå  DUMÐ commanä displayó á combineä hexadecimaì  anä � ASCII file dump on the console or printer. ERASEDIR Thå   ERASEDIÒ  commanä  letó  yoõ  eraså  thå   entirå �           directory of a disk. FIFO Thå  FIFÏ commanä letó yoõ creatå FIFÏ fileó whicè  arå �           useä iî conjunctioî witè AUTOLOAÄ anä BATCÈ commands. FIXDIR    Thå  FIXDIÒ  commanä  letó  yoõ  reorganizå  thå  disë �           directory for maximum directory access speed. FIXMAP    Thå  FIXMAP  commanä  letó  yoõ  reorganizå  thå  disë �           allocation map for maximum disk storage. FORMAT Yoõ  musô  uså  thå FORMAÔ oò FORMATµ commanä  tï  pre-�           recorä  formaô  informatioî oî eacè disë beforå  iô  ió �           used for the first time. LABEL Thå  LABEÌ  commanä letó yoõ puô á volumå  labeì  oî  á �           disk. LOGOFF Iî  á  multi-useò system¬  thå LOGOFÆ commanä letó  yoõ �           terminate your session. LOGON Iî  á  multi-useò system¬  thå LOGON commanä letó  yoõ �           start a new terminal session. MASTER Thå  MASTEÒ  commanä letó yoõ temporarilù  attacè  youò �           consolå tï thå "master¢ processoò iî á networë system. Š PRINT Thå PRINÔ commanä letó yoõ controì thå routinç oæ your �           print output. PRINTER Thå PRINTEÒ commanä letó yoõ controì de-spoolinç oî anù �           selecteä printer. QUEUE Thå  QUEUÅ commanä letó yoõ manuallù queuå prinô  fileó �           (or any text file) for despooled printing. RECEIVE Thå  RECEIVÅ  commanä readó onå recorä froí á FIFÏ  anä �           displays it on the console. RENAME Thå  RENAMÅ  commanä letó yoõ  rename  individuaì  disë �           fileó oò groupó oæ files. SEND The SEND command lets you write a message to a FIFO. SET The SET command lets you set and clear file attributes. SHOW Thå  SHO× commanä letó yoõ displaù thå settingó oæ  filå �           attributes. 3-2 SINGLE-USER PROCEDURES TYPE Thå  TYPÅ commanä displayó thå contentó oæ á texô  filå �           on the console or printer. USER Thå  USEÒ  commanä  letó yoõ changå  thå  currenô  useò � number®  NOTEº  USER.COÍ  doeó  noô  exisô  undeò  V1.´ � TurboDOS®  Tï changå users¬ simplù typå 1º oò 1Aº aó iæ � yoõ werå changinç drives® VERIFY Thå  VERIFÙ  commanä scanó á disë foò baä  blocks¬  anä �           (optionally©  markó  theí sï thaô TurboDOÓ  wilì  avoiä �           using them. Morå  completå  descriptionó caî bå founä iî thå  TurboDOÓ  Useró � guide®  Otheò  programó  thaô  arå  oî youò  disë  anä  arå  noô � mentioneä abovå arå supplieä bù ICÍ anä arå covereä iî AppendixA. Š 3-3 SINGLE-USER PROCEDURES 3.2. Peripheral Devices Supported with ICM Drivers I.C.M®  offeró  severaì differenô driveò diskó  foò  variouó � peripheraì support® Thå basiã networë driveró includå supporô foò � consolå   (terminal)¬    printers¬    floppies¬    clock/calendaò � personalitù board¬  anä CPÚ anä CPÓ networkinç supporô  circuits® � Thå driveró foò supportinç harä disë driveó includå botè á driveò � anä formaô programó foò thå controllers. Š PRODUCT USE DESCRIPTION ------- --- ----------- NETWORK DRIVERS FOR CPZ AND CPS MUTD-U1 TurboDOS 1.4x DRIVERS NETWORK DRIVERS FOR NET-82'S REL-MUSYS TurboDOS 1.4x Drivers(from SW 2000) SPECIALIZED DRIVERS           REL-SEMI TurboDOS SEMI-DISK DRIVER S-100 INTERFACE HARD DISK CONTROLLERS REL-MD13(on distr. disk) TurboDOS MD1013 DRIVER & FORMAT REL-KON TurboDOS KONAN SMC 200 DR. & FMT. REL-ADES TurboDOS ADES GYPSY DSK/TAPE/FMT. REL-9TK TurboDOS 9-TRACK TAPE AND KONAN ENHANCER SASI/SCSI INTERFACE HARD DISK CONTROLLERS REL-IOM TurboDOS IOMEGA DRIVER & FMT. REL-SYS TurboDOS SYSGEN DRIVER & FMT. REL-DTC TurboDOS DTC520A DRIVER & FMT. PRIAM SMART HARD DISK INTERFACE REL-PRI TurboDOS PRIAM SMART DRIVER & FMT. LOCAL AREA NETWORK DRIVERS TURBOLAN COMPLETE ARCNET DRIVERS TURBODOS/PC LAN DRIVER FOR PC/MS-DOS COMPUTER PC-CONFIG T-DOS CONFIG PROGRAM FOR TURBO/PC PC-START T-DOS INSTALL FOR PC FILESERVER WS-START T-DOS INSTALL FOR WS80 FILESERVER FORMATS AVAILABLE ON 8" OR 5-1/4" FLOPPY DISKETTES --------------------------------- 8" CP/M SSSD 8" TurboDOS, SSDD 8" ICM CP/M 512 BYTE SECTOR,SSDD 5-1/4" ICM TBDOS 40 TRK (48 TPI),DSDD 5-1/4" ICM TBDOS 80 TRK (96 TPI),DSDD 3-4 Š SINGLE-USER PROCEDURES 3.3. Relationship of TurboDOS Files Necessary for System Configuration *.MACº  Z-8° sourcå code®  ASCIÉ texô filå whicè ió thå  assemblù �      languagå versioî oæ thå driveró thaô arå useä tï configurå á �      TurboDOS  system®  ICÍ  writeó anä supportó  theså  drivers® �      Theså  fileó  caî bå typed¬  edited¬  anä printed»  buô  arå �      usuallù editeä bù experienceä system programmers. M-80 Z-8°  ASSEMBLERº  Assembleó  thå MAà fileó intï  RELocatablå �      objecô codå modules® Theså moduleó arå calleä REÌ files® Thå �      Microsofô M-8° assembleò ió noô supplieä bù ICÍ becauså mosô �      customeró  wilì noô bå editinç thå MAà files®  ICÍ useó  M8° �      Ver® 3.4´ oæ 09-12-8± foò compilinç thå .MAà sourcå code® *.RELº   Relocatablå   objecô  codå  moduleó  thaô  contaiî   thå �      peripheraì   driveró  anä  standarä  moduleó  necessarù   tï �      configurå á TurboDOS system®  REÌ fileó CANNOÔ bå  displayeä �      oî thå CRT¬ oò printed® DRIVERÓ arå thå codå thaô allowó onå �      tï  connecô variouó peripheraló tï á TurboDOÓ  system®  Theù �      "DRIVE¢ thå peripheral®  Aó á peripheraì ió selected¬ added¬ �      oò  changed¬  á  differenô driveò (REÌ file© ió  LINKEÄ  anä �      PATCHEÄ iî thå re-generatioî process¬ utilizinç thå .GEÎ anä �      .PAÒ files. *.A: 808¶  sourcå  code®  ASCIÉ texô filå whicè ió  thå  assemblù �      languagå versioî oæ thå driveró thaô arå useä tï configurå á �      TurboDOÓ  system®  ICÍ  writeó anä supportó  theså  drivers® �      Theså  fileó caî bå typed¬  edited¬  anä  printed»  buô  arå �      usuallù editeä bù experienceä systeí programmers. TASM.CMÄ 808¶ ASSEMBLERº  Assembleó thå .Á fileó intï relocatablå �      objecô codå modules®  Theså moduleó arå calleä .Ï files® *.O: Relocatablå   objecô   codå   moduleó   thaô   contaiî   thå �      peripheraì   driveró  anä  standarä  moduleó  necessarù   tï �      configurå  á  TurboDOÓ system®  Ï fileó CANNOÔ bå  displayeä �      oî thå CRT¬ oò printed® DRIVERÓ arå thå codå thaô allowó onå �      tï  connecô variouó peripheraló tï á TurboDOÓ  system¬  theù �      "DRIVE¢ thå peripheral®  Aó á peripheraì ió selected¬ added¬ �      oò  changed¬  á  differenô  driveò (Ï file©  ió  LINKEÄ  anä �      PATCHEÄ iî thå re-generatioî process¬ utilizinç thå .GEÎ anä �      .PAÒ  files®   Thå  re-generatioî  foò  808¶  productó   ió �      accomplisheä witè thå TLINK.CMÄ program. Š 3-5 SINGLE-USER PROCEDURES *.GENº  Á  lisô oæ Z-8° REÌ filå nameó useä bù GEN¬  oò á lisô oæ �      808¶  Ï  fileó  useä bù TLINK¬  froí whicè  selecteä  driveò �      moduleó arå enableä tï supporô youò selectioî foò boardó anä �      peripherals®   Enablinç   oò  Disablinç  á  driveò  caî   bå �      accomplisheä  iî  thå  appropriatå GEΠ file®  Tï  enablå  á �      driver¬  removå thå »  aô thå beginninç oæ thå linå oî whicè �      thå filenamå oæ thå REÌ (oò O© modulå appears®  Tï disablå á �      driver¬  placå á » aô thå beginninç oæ thå linå oî whicè thå �      filenamå oæ thå REÌ modulå appears. *.PARº Á PAÒ filå ió useä tï changå thå defaulô valueó oæ variouó �      PARameteró  foò thå peripheraló anä thå systeí  itself®  Foò �      example¬  thå  bauä ratå foò á seriaì printeò caî bå changeä �      bù enterinç thå appropriatå valueó intï thå thå  appropriatå �      PAÒ file® Thå physicaì tï logicaì translatioî oæ disë driveó �      ió  donå iî thå .PAÒ filå bù patchinç thå DSKASÔ label®  Thå �      uså  oæ  thå GEÎ prograí thaô readó .GEÎ anä .PAÒ  fileó  tï �      generatå  thå  operatinç  systeí  wilì  bå  covereä  iî  thå �      sectionó  thaô follow®  Alì REÌ fileó havå built-iî  defaulô �      parameteró thaô caî bå changeä bù PATCHINÇ iî thå PAÒ file. GEN.COÍ anä TLINK.CMDº  Arå programó bù Softwarå 200° thaô  linkó �      anä patcheó thå selecteä GEÎ anä PAÒ filå intï RAÍ  memory¬ �      anä  theî  writeó  thió executablå filå  ouô  tï  disk®  Thå �      executablå    fileó   arå   normallù   nameä   OSMASTER.SYS¬ �      OSSLAVE.SYS¬ oò OSLOAD.COM® Thió ió thå systeí re-generatioî �      utilitù foò thå system¬ anä can'ô bå changeä bù thå user. *.COM: Z-8° (8-bit© executablå programó thaô conforí tï CP/Í 2.² �      systeí  calì  conventions®  Theså arå executeä aô  thå  0Aý �      prompô  bù  enterinç  thå namå oæ thå prograí  anä  pressinç �      return® Examplå 0A}DIÒ . *.CMD: 808¶ (16-bit© executablå programó thaô conforí tï CP/Í 8¶ �      systeí  calì  conventions®  Theså arå executeä aô  thå  0Aý �      prompô  bù  enterinç thå namå oæ thå  prograí  anä  pressinç �      return® Examplå 0A}DIÒ . Š 3-6 SINGLE-USER PROCEDURES OSMASTER.SYSº  Á filå witè alì thå previouslù linkeä driveró  anä � standarä  moduleó  necessarù tï allo÷ thå MASTEÒ CPÚ SBà tï �      operatå  iî  á singlå useò TurboDOÓ  environment®  Yoõ  caî �      regeneratå   thió   filå  tï  optimizå  TurboDOÓ   foò   thå �      peripheraló anä slaveó thaô yoõ have. OSSLAVE.SYSº  Á  filå witè alì thå previouslù linkeä driveró  anä �      standarä moduleó necessarù tï allo÷ thå SLAVÅ SBà (CPS-MØ oò �      CPS-BMX© tï operatå iî thå TurboDOÓ environment®  Thió filå �      ió generateä bù thå systeí integrator. OSSLAVEZ.SYSº  Á  ICÍ  pre-TLINKEÄ  filå  witè  alì  driveró  anä �      standarä  moduleó necessarù tï allo÷ thå CPS-1¶ SLAVÅ SBà tï �      operatå iî thå TurboDOÓ environment at 9600 baud®  OSLOAD.COMº  Thå  commoî  prograí tï Single-useò  anä  Multi-useò � TurboDOS®  Iô  ió  thå  entrù poinô foò alì  systeí  boot-uð �      functions®  Aó aî example¬  wheî thå systeí ió firsô booted¬ �      thå booô PROÍ telló thå Masteò tï finä OSLOAD.COM¬  loaä  iô �      intï memory¬  anä executå it®  OSLOAD.COÍ wilì theî displaù �      thå  firsô linå oæ thå log-on¬  anä theî gï bacë tï thå disë �      tï  finä  OSMASTER.SYS®  OSMASTER.SYÓ ió  theî  loadeä  intï �      memory¬  anä  executed®  OSMASTER.SYÓ wilì theî displaù  thå �      lasô  linå  oæ thå sign-oî anä activatå thå systeí witè  thå �      prompô  0A}®  Thió  filå caî bå re-generateä bù  thå  systeí �      integrator. Š 3-7 SINGLE-USER PROCEDURES 3.4. Loading a Text Editor No÷ thaô yoõ havå á workinç copù oæ youò TurboDOS disk¬  yoõ � neeä tï loaä á texô editoò tï continuå configurinç thå system® Tï � optimizå  thå  systeí yoõ wilì neeä á texô editoò thaô  wilì  noô � introducå anù characteró witè thå higè ordeò biô seô iî anù ASCIÉ � characteró  iî  thå PAÒ or GEÎ fileó thaô yoõ  wilì  bå  editing® � Reliablå editoró are: CP/M's ED Micro Pro's WORDMASTER MicroPro'ó  WORDSTAÒ (Noî documenô  mode¬  aó �                          documenô modå wilì introducå errors© Seå �                          appendiø foò patcheó foò WordStaò  Veò �                          3.° anä Veò 3.3. Placå á copù oæ youò favoritå editoò oî á CP/Í singlå sided¬ � singlå densitù diskettå iî drivå B¬ (refeò tï Appendiø Ç foò SSSÄ � drivå  characteristics© anä bù usinç thå copù command¬  copù  thå �Š editoò fileó tï A: i.e. COPY B:ED.COM A: or COPY B:WM.COM A: or COPY B:WS*.* A:;N Removå youò singlå sided¬  singlå densitù disë froí B:® (Yoõ � maù  formaô  anä backuð oò copù youò workinç diskettå iæ  yoõ  sï � desire.) No÷  thaô yoõ havå madå á workinç copù oæ youò TurboDOS disë � anä havå placeä youò favoritå editoò oî thå disk¬  yoõ arå  readù � tï  generatå  thå  TurboDOS operatinç systeí  foò  youò  hardwarå � configuration. Thå  firsô steð ió settinç uð alì youò peripheraló undeò thå � defaulô single-useò TurboDOS®  Thió offeró simplicitù anä  direcô � interfacå  tï  youò peripherals®  Thió sectioî wilì acquainô  yoõ � witè thå setuð procedureó foò harä disks¬ printers¬ terminaló anä � TurboDISK® 3.5. Default Single User Configuration The system is supplied in the following default configuration: 1. Single User 2. Console: 9600 BAUD, 2 Stop Bits, No Parity (CPZ cntr J3) 3. Printer: 1 Printer, Serial, Clear to Send Protocol, 9600 Baud (CPZ connector J2) 4® Floppù Disë Drivesº  ´ - 8" Floppy Drives¬ 6 Msec Steð Ratå (CPÚ connector J1) 5. Hard Disk: No configuration selected. 3-8 SINGLE-USER PROCEDURES Wheî  settinç uð thå operatinç systeí configuration¬  iô  ió � importanô  tï revie÷ thå defaulô configurationó anä optimizå  thå � peripheraì parameters®  Optimizinç oò changinç thå parameteró caî � bå accomplisheä bù enablinç anä disablinç thå variouó  peripheraì � driveró provideä witè youò I.C.M® supplieä TurboDOS. Oncå thå basiã peripheraì interfaceó havå beeî installeä anä � tested¬  thå seconä phaså ió tï seô uð thå hardwarå anä  softwarå �Š foò Multi-Useò TurboDOS witè thå slavå processors. Thå  TurboDOÓ  USER'Ó  GUIDE anä IMPLEMENTER'Ó  GUIDE  giveó � additionaì  informatioî  thaô  maù bå vitaì  tï  youò  particulaò � configuratioî needs®  Also¬  becomå familiaò witè Appendixeó  A, � anä à oæ thió documenô aó theù describå I.C.M®  supplieä drivers¬ � globaì  symboló anä defaulô systeí .GEÎ anä .PAÒ fileó whicè  arå � noô covereä iî thå standarä TurboDOÓ documentation. Enablinç oò Disablinç peripheraì driveró caî bå donå iî  thå � appropriatå  .GEΠ files®  Tï  enablå  á  driver¬  removå  thå » � (semicolon©  aô thå beginninç oæ thå linå wherå thå filenamå  oæ � thå  modulå  appears®  Tï disablå á driveò module¬  placå  á    ; � (semicolon© aô thå beginninç oæ thå linå oî whicè thå filenamå oæ � thå modulå appears. Tï displaù á file¬ either: 1® 0A}TYPÅ FILENAMÅ or 2®  Enteò  thå  editoò prograí (WordStar¬  etc.© anä calì uð  thå � file. example: 0A}WS N (For Non-Document editing) CPZDOS.GEN (File to edit) Tï EDIÔ á file¬ yoõ musô enteò thå editoò prograí (WordStar¬ � etc.©  anä  ediô  thå filå iî accordancå witè  thå  ediô  prograí � procedures. NOTEº  EDIÔ onlù á backup!¬  (workinç copy© oæ youò files¬  neveò � thå originaì distributioî diskette® 3-9 Š SINGLE-USER PROCEDURES 3.6. System Re-Configuration with GEN Thå  TurboDOS  operatinç  systeí consistó  oæ  á  serieó  oæ � relocatablå  moduleó  whicè  relatå tï thå variouó  hardwarå  anä � softwarå  functionó  oæ  á  particulaò  systeí  environment®   Tï � successfullù construcô aî operatinç systeí foò anù combinatioî oæ � features¬  yoõ  musô builä thå operatinç systeí usinç thå variouó � buildinç blockó provideä oî thå distributioî diskette. Firsô  iî thió procedurå ió tï enablå (oò adä iæ  necessary© � thå  appropriatå  REÌ driveò fileó tï thå appropriatå  .GEΠ filå � (i.e®   STDLOADÒ   iî  thå  CPZLOAD.GEΠ filå  oò  CON9¶  iî  thå � CPZLOAD.GEΠ file)®  Havinç accomplisheä that¬  determinå iæ  anù � parameteró  wilì bå needeä bù thaô modulå tï  functioî  properly¬ � .i.e®  CON9¶ iî thå CRÔ driveò needó tï kno÷ whaô communicationó � protocoì  (bauä rate¬  stoð bit¬  parity© tï uså tï enablå iô  tï � successfullù  communicatå  witè thå CRT®  Referencå thå  TurboDOÓ � configuratioî Guidå anä thå ICÍ REÌ filå explanationó (Appendixeó � A, anä C© tï determinå whicè parameteò  symbols¬  defaults¬  anä � optionó  arå  requireä  bù thå variouó  .GEΠ filå  modules®  Foò � instance¬  thå  CON9¶  driveò  caî bå founä iî thå ICÍ  REÌ  filå � documentatioî containinç thå parameteró CONBR¬ SHFIN¬ anä SHFOUT® � Theiò  defaulô  (ICÍ factorù set© valueó arå  alsï  indicateä  iî � Appendiø B®  Theù neeä noô appeaò iî thå associateä x.PAÒ filå iæ � yoõ arå satisfieä witè thå defaulô values®  If¬ however¬ yoõ neeä � tï  modifù  thoså valueó yoõ musô ediô thå associateä  .PAÒ  filå � (i.e®  CPZLOAD.PAR©  tï  includå  thå ne÷ valuå  durinç  thå  re-� assemblù  viá  thå GEÎ command®  Oncå thå propeò .PAÒ fileó  havå � beeî eitheò enabled¬  added¬  oò modified¬  yoõ arå readù tï  re-� assemblå thå associateä executablå filå (.COÍ oò .SYS)® Uså thå followinç procedurå tï re-assemblå thå executablå fileº 0A}GEΠ (inpuô  .GEN/.PAÒ  file©  (outpuô  loaded .COÍ  oò  Systeí Image .SYS) Š 3-10 SINGLE-USER PROCEDURES T A B L E 3-1: GEN and PAR file Relationship to Output File Input .GEN/.PAR Output Loader/ Multi-useò Single-user System Image --------------- ------------- ---------- ----------- CPZLOAD.GEN CPZLOAD.PAR OSLOAD.COM ........ X ....... X(8-bit) CPZLD16.GEN CPZLD16.PAR OSLOAD.CMD ........ X ....... X(16-bit) CPZDOS.GEN CPZDOS.PAR OSMASTER.SYS (1) ............ X(8-bit) CPZSGL16.GEN CPZSGL16.PAR OSMASTER.SYS (1) ............ X(16-bit) CPZMASTR.GEN CPZMASTR.PAR OSMASTER.SYS (1) .. X (8-bit) CPZMST16.GEN CPZMST16.PAR OSMASTER.SYS (1) .. X (16-bit) CPSSLAVE.GEN CPSSLAVE.PAR OSSLAVE?.SYS ...... X (CPS-MX) SLVBNK.GEN SLVBNK.PAÒ  OSSLAVE?.SYÓ .....® Ø (CPS-BMX) CPSSLV16.GEN CPSSLV16.PAR OSSLAVE?.SYS ...... X (CPS-16) CPS186.GEN CPS186.PAR OSSLAVE?.SYS ...... X (CPS-186) (1©  OSLOAD.COÍ useó á defaulô filenamå OSMASTER.SYÓ tï loaä  thå � operatinç systeí imagå foò botè singlå ¦ multi-useò applications® � Iæ yoõ neeä tï changå this¬ checë SOFTWARÅ 2000'ó TurboDOÓ manuaì � undeò  thå  "SYSTEÍ  GENERATION¢ sectioî anä  looë  aô  parameteò �Š LOADFN. 3-11 SINGLE-USER PROCEDURES 3.7. Changing The Console (Terminal) Parameters Thå  consolå bauä rate caî bå changeä froí 960° bauä tï 19.² � kilobauä  bù editinç thå filå CPZDOS.GEÎ anä enablinç thå  CON19² � driveò anä disablinç thå CON9¶ driveò (Seå Appendiø à foò  samplå � .GEΠ anä  .PAÒ fileó anä Appendiø È foò otheò  bauä  rates)®  Á � .REÌ  driveò  calleä  CON19² ió includeä buô disableä bù  thå  » � characteò precedinç iô tï indicatå tï thå GEÎ operatoò thaô iô ió � á "comment¢ only®  Tï activatå thió driver¬  simplù removå thå  » � characteò froí thå fronô oæ thå CON19² filename. Thió  ió  á subsectioî oæ thå filå listinç foò  CPZDOS.GEΠ aó � supplied: STDSINGL ;standard single w/o spooler ;configuration ;CON192 ;Null 19.2 Kbaud console driver CON96 ;Null 9600 baud console driver Thå  bauä ratå aó supplieä ió 9600®  Tï changå thå bauä ratå � tï 19.² Kbaud¬ makå thå filå appeaò aó below® (Onlù onå bauä ratå � maù bå active¬  disablå thå CON9¶ bù placinç á » aô thå beginninç � oæ thå line© STDSINGÌ ;standarä singlå w/ï spooler ;configuration CON192 ;Null 19.2 Kbaud console driver ;CON96 ;Null 9600 baud console driver Iî  ordeò tï updatå thå operatinç systeí witè theså changes¬ Š iô ió necessarù tï re-GEÎ anä reloaä thå systeí via: 0A}GEN CPZDOS OSTEST.SYS You can now selectively load your test system by typing: 0A}OSLOAD OSTEST.SYS Makå surå youò CRÔ setuð ió changeä accordingly® Iæ yoõ havå � tï changå switcheó oî youò terminal¬ iô wilì bå necessarù tï turî � thå  terminaì  ofæ anä waiô á fe÷ secondó beforå turninç iô  bacë � on®  Iô  ió noô usuallù necessarù tï perforí á hardwarå reseô viá � reseô buttoî oî thå chassió afteò changinç thå CRÔ setup. Yoõ  alsï  havå tï changå thå bauä ratå iî  thå  CPZLOAD.GEÎ � filå  iî  ordeò tï havå thå righô consolå display®  Oncå  similaò � editó  havå  beeî madå tï thå fileó  CPZLOAD.GEΠ anä  .PAR¬  thå � loadeò caî bå gen'eä intï á tesô loaä bù typing» 0A}GEΠ CPZLOAÄ TOSLOAD.COÍ anä thå systeí caî bå testeä  bù � simplù typinç 0A}TOSLOAÄ OSTEST.SYÓ . No÷ thå ne÷ TOSLOAD.COÍ � anä  thå ne÷ OSTEST.SYÓ arå uð tï 19.2ë bauä operation®  Oncå yoõ � havå becomå satisfieä witè thå operation¬ type: 0A}RENAMÅ OSTEST.SYÓ OSMASTER.SYÓ 0A}RENAMÅ TOSLOAD.COM OSLOAD.COM 3-12 SINGLE-USER PROCEDURES 3.8. Serial Printer Installation Thå CPÚ SBà manuaì describeó thå jumpeò optionó tï implemenô � thå  cleaò-tï-senä hardwarå handshakå undeò thå  RPB-10°  setuð � instructions®  Thå  mosô  commoî  configuratioî  wheî  usinç  thå � printeò  tï signaì thaô thå printeró DTÒ signaì oî Piî 2° oæ  thå � printeò  tï  signaì  thaô  thå  printer'ó  buffeò  ió   full.Thió � handshakå accomplisheä bù removinç alì thå jumperó oî thå RPB-10° � personalitù   carä  attacheä  tï  thå  printeò  RS-23²   port,anä � installinç thå followinç jumpers: JA = 2-3 NOTE: refer to CPZ SBC manual JB = 1A-2A/2C-3C JC = 1-2 Thå RPB-10° musô bå connecteä tï thå J² (seå CPÚ SBà manual© � connectoò oæ thå CPÚ SBà witè thå systeí powereä down®  Thå cablå � connectinç   thå  RPB-10°  witè  thå  printeò  useó  DB2µ   malå � connectoró anä iô onlù requireó pinó 2-2¬  3-3¬  7-7¬ 20-2° tï bå �Š connected®  Bå  awarå  thaô  non-standarä  printeró  maù  requirå � speciaì cableó oò modificatioî tï thå RPB-10° carä signals. Thå  distributioî  diskettå MUTD-Å ió alreadù seô uð  foò  á � Clear-To-Senä  printeò  oî seriaì porô ° witè 960° bauä knowî  aó � printer A. Print the directory to test the printer. Type : 0A}DIR ;L Thå  printeò  shoulä  responä  witè  thå  directorù  oæ  thå � diskette. (Printeò  musô  bå ON-LINE© (8° columî machineó maù  bå  seô  foò � compressed print to prevent line wrap) Changing The Printer Parameter The drivers available are: For serial printers... LSTCTS ... Clear-to-send hardware handshake LSTETX ... ETX software handshake LSTXON ... XON/XOFF software handshake LSTSER ... generic serial driver For parallel printers... LSTPAR ... Parallel driver NOTÅ - Iî Multi-user¬ thå LSTCTS¬ LSTXON¬ anä LSTETØ driveró � can be placed on either serial port in any combination. 3-13 SINGLE-USER PROCEDURES Aó supplied¬ thå printeò driveò ió seriaì aô 960° bauä usinç � thå  LSTCTÓ  driver®  Enablå  oò adä thå patcheó  tï  matcè  youò � printer®  Appendiø Á anä  listó alì thå driveró anä patcè pointó � available®  Anù  driveò changå oò patcè poinô changå wilì requirå � thå systeí tï bå rebuilô bù usinç thå GEÎ command. Thå  followinç  ió aî examplå oæ changinç thå Cleaò tï  Senä � seriaì printeò bauä ratå tï 120° froí thå defaulô oæ 9600: Š Edit CPZDOS.GEN using your non-document editor it shows: LSTCTS is enabled (default value = 9600 baud as supplied) To change to 1200 baud Edit CPZDOS.PAR: Adä oò enablå CTSBÒ patch value.      (Refeò  Appendix H - Baud Rate Table, for the value you need) CTSBR = 067 ; CTS ON, 1200 baud Thå followinç ió aî examplå oæ usinç differenô baud-rateó oî � different serial channels: CTSBR = 067 ; CTS ON, 1200 baud on serial port 0 CTSBR+1 = 06E ; CTS ON, 9600 baud on serial port 1 Iæ  usinç  twï LSTXOÎ oò twï LSTETØ printeró oî thå  master¬ � onlù onå bauä ratå caî bå specifieä sincå therå ió onlù onå patcè � entry into the module: XONBR = 067 ; XON ON, 1200 baud or ETXBR = 067 ; ETX ON. 1200 baud or SERBR = 067 ; SERIAL, 1200 baud Rebuilä  thå  ne÷ operatinç systeí witè thå  ne÷  .PAÒ  filå value: 0A}GEN CPZDOS OSTEST.SYS Noteº   Uså   á  differenô  filenamå  tï  prevenô  writinç   oveò the functionaì OSMASTER.SYÓ file supplied. Typeº 0A}OSLOAÄ OSTEST.SYS Noteº Timå ió kepô iî military¬ 2´ houò clocë format¬ anä 198´ ió � á leað year. Edit CPZDOS.GEN. Á .REÌ driveò calleä MSTRCLË ió includeä buô disableä bù thå � »  characteò  precedinç iô tï indicatå thaô iô ió á  comment®  Tï � activatå  thió driver¬  simplù removå thå »  characteò  froí  thå � fronô oæ thå MSTRCLË driver®  Makå surå thaô thå LSTPAÒ filå aó á � ";¢ iî fronô oæ it¬ otherwiså thå clocë wilì noô updatå properly® � Savå thå editeä filå anä exiô thå editoò program® Re-assemblå thå � systeí masteò filå bù performinç á GEÎ aó followsº 0A}GEÎ CPZDOÓ OSTEST.SYÓ Thå  GEÎ prograí wilì makå twï passeó readinç thå REÌ  fileó � froí  thå disë anä theî wilì reaä thå PAÒ filå tï seô thå  systeí � PARAMETERÓ  anä  upoî  completioî returî witè á  TurboDOÓ  systeí � prompt¬ 0A}. To load thå ne÷ operatinç systeí, type: 0A}OSLOAÄ OSTEST.SYÓ Tï  tesô thå operatioî oæ thå CCB-10° modulå enteò thå  DATÅ � prograí  aó  followsº  0A}DATÅ ®  Thå datå anä timå wilì bå displayed® Š 3-15 SINGLE-USER PROCEDURES 3.9.1. Clock/Calender Board on CPZ-186 Tï enablå thå clocë oî thå CPZ-186¬  LDCOLÄ shoulä bå seô tï � 0xFÆ  anä  COLDFÎ shoulä bå bå seô tï executå  TDTIMEM.CMD®  Thió � commanä caî bå founä oî ICM'ó utilitieó diskette¬  whicè ió  parô � oæ  Operatinç  Systeí  Distributioî set®  Thå onlù  changeó  wilì � appeaò iî thå CPZSGL1¶ oò CPZMST1¶ Paò file: SRHDRV = 0xFF ; Search Default System Drive COMPAT = 0xF8 ; Compatability Flags AUTUSR = 0x80 ; Auto Logon to User 0 Privileged ; CONAST = 0x01,CONDRA ; Assign Console to channel 1 serial ; PATCSA = 0x7F,0x7E,0x7D,0x7C ; Status port table for CPS-MX) 0x7B,0x7A,0x79,0x78 ; (default values) 0x3F,0x3E,0x3D,0x3C ; Status port table for CPS-16 0x3B,0x3A,0x39,0x38 ; (default values) ; SSTCSA = " " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-16 PTRAST = 0x00,LSTDRA ; assign printer to port 00 QUEAST = 0x00,(0x0000) ; LDCOLD = 0xFF ; Cold start autoload flag COLDFN = 0,"TDTIMEM CMD"; Init TurboDOS Date/Time function LDWARM = 0x00 ; Warm start autoload flag ; OSMLEN = (1024) ; allow 16K for Dynamic expansion ; NMBUFS = 128 ; Number of disk buffers BUFBAS = (0x2000) ; 16K memory segment reserved BUFLEN = (8192) ; paragraphs to reserve MEMTBL+3 = (0x1FFF-0x0050) ; define how much memory for O/S ; BFLDLY = (0x64) ; Flush buffers every 2 seconds ; DRVTBL = 0x41,0x41,0x41,0x41 ; 6ms step rate, Tandon bit set ; DSKAST = 0x01,DSKDRB,0x00,DSKDRA,0X01,DSKDRA,0X02,DSKDRA Š 0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000), 0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000), 0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000) Makå  surå  thaô thå TDTIMEM.CMÄ filå ió dowî oî useò °  anä � set global. Thå  timå  anä datå maù kno÷ bå accesseä bù thå DATE.CMÄ  oò � DATE.COM files. 3-16 SINGLE-USER PROCEDURES 3.10. Turbo-DISK Installation Thå  nexô possibilitù ió tï enablå thå TurboDisë (RAÍ  disk© � driveró TURBÏ anä TURDSK® TURDSË ió supplieä iî sourcå sï yoõ caî � seô thå numbeò oæ 64Ë bankó anä thå directorù size tï bå useä. Pleaså reaä thå commentó iî TURDSK.MAC®  Makå anù  necessarù � alterationó  anä iæ necessarù re-assemblå usinç thå M8° assembleò � bù Microsofô aó follows: 0A}M8° ½TURDSË Thå  memorù  carä requireó thaô thå patcè MPAGÅ ½ 0µ iî  thå � CPZDOS.PAÒ file. Thå  baså  addresó ió seô bù jumpeò positioî oî  thå  256KM � card® Seå 256KMB-10° manuaì pagå 17. JN Configuration Free space above 256KMB Card # Page JN CPZ memory space 1 5 11010 2 6 11001 3 7 11000 4 8 10111 Š 1 = Jumper Note: 256KMB manual 0 = Open defines: jumper = 0 no jumper = 1 NOTEº Turbo-disë wilì supporô á maximuí 512K addresó spacå (i.e® � twï 256KM cards). Uså  youò editoò tï enablå anä disablå thå driveró yoõ  wilì � neeä foò thå hardwarå yoõ havå bù editinç thå filå CPZDOS.GEN. Noteº  iæ  usinç  ICÍ slaveó yoõ MUSÔ movå Turbo-Disë uð tï  makå � rooí foò slavå memory® MPAGÅ ½ 05H 3-17 SINGLE-USER PROCEDURES Use the editor to enable the following: in CPZDOS.PAR set: MPAGE = 05 ;enable page boundary above slaves Tï  construcô á disë assignmenô tablå DSKASÔ allowinç uså oæ � ² floppieó Aº  anä B:¬  anä Turbodisë aó Cº  creatå thå followinç � usinç youò editor: DSKAST = 00,DSKDRA, 01,DSKDRA, 00,DSKDRB 1st floppy 2nd floppy 1st Turbodisk (only 1 allowed) ---------- ---------- ------------- A: B: C: Enablå  thå Turbo-disë driveró TURDSË anä TURBÏ  accordinglù � iî thå .GEÎ files. Š CPZDOS.GEN TURBO ; Turbo-Disk driver module TURDSK ; Turbo-Disk definition module Afteò editinç thå fileó thå systeí musô bå re-GEN'ED: 0A}GEÎ CPZDOÓ OSTEST.SYS Upoî completioî oæ thå GEÎ, re-loaä thå ne÷ systeí by: 0A}OSLOAÄ OSTEST.SYS Oncå  thå ne÷ operatinç systeí ió loaded¬  checë thå storagå � systeí bù performinç á DRIVÅ commanä 0A}"DRIVÅ A;L¢ (;Ì  onlù � foò echï tï printer© oî eacè drivå A:¬ B:¬ C:. Thå  DRIVÅ  commanä shoulä responä aó showî iî  Appendiø  G¬ � dependinç oî thå numbeò oæ 256KBÍ boardó installed. (Noteº  á formatteä floppù musô residå iî botè thå Á anä  driveó � tï perforí thió check.) Tï fullù tesô thå TURBO-DISKº  Copù á numbeò oæ fileó froí Á � oò  drivå tï thå à anä theî geô á DIÒ oæ Cº 0A}DIÒ Cº The files should be identical to the original files. 3-18 SINGLE-USER PROCEDURES 3.11. The Monitor Dynamics MD1013/1016 Monitor Dynamics (S-100) Hard Disk Controller Thå  driveró  foò  thå  Monitoò Dynamicó  MD101³  oò  MD101¶ � controlleró arå includeä iî thió section®  Selecô thå appropriatå � driveò foò thå numbeò oæ physical drives in the system. Tï  ruî �Š thå  Monitoò  Dynamicó  controller¬   yoõ  musô  enablå  thå  buó � interrupô ¶ oî thå CPZ-4800ø SBà bù jumperinç JÆ 3B-3C® (seå CPZ-� 4800Ø  manuaì Veò 1.° pagå 35)®  Tï operatå thå Monitoò  Dynamicó � controlleò undeò TurboDOS¬  yoõ musô seô thå baså porô addresó tï � 1°  heø  anä enablå thå buó interrupô #6¬  P1-¶  oî  thå  Monitoò � Dynamicó  controlleò card®  Thå Monitoò Dynamicó controlleò workó � besô  undeò  TurboDOÓ wheî thå controlleò ió seô  foò  102´  bytå � sectors¬ ¹ sectors/track¬ witè buffereä step. See CPZ-4800X manual for Monitor Dynamics 1013 set up. Tï  includå thå propeò driveró foò thå Monitoò Dynamicó disë � yoõ musô selecô thå propeò configuratioî froí thå CPZDOS.GEΠ anä � PAÒ files. Ediô  anä  disablå  anù otheò DSKASÔ filå  presentlù  iî  uså  bù � placinç á » iî fronô oæ it. Tï  construcô á disë assignmenô tablå tï includå ²  floppieó � Aº anä Bº anä ± Winchesteò Cº, enteò thå following: DSKAST = 00,DSKRA,01,DSKDRA,01,DSKDRB Thå  ordeò oæ thå nameó DSKDRA,DSKDR etc®  musô matcè  witè  thå � ordeò oæ thå driveró iî thå CPZDOS.GEÎ file. For example: DSKCPZ is found first and becomes DSKDRA MD131DRV is found next and becomes DSKDRB This DSKAST patch will assign: A: 1st floppy B: 2nd floppy C: 1st Hard Drive Thå nexô sectioî coveró thå DSKASÔ iî á morå technicaì manner. Now re-GEN the system: 0A}GEN CPZDOS OSTEST.SYS Loaä  thå  ne÷ operatinç systeí bù 0A}OSLOAÄ  OSTEST.SYS  anä � verify proper floppy disk operation. Iæ   yoõ  arå  planninç  oî  usinç  thå   Monitoò   Dynamicó � controller¬  yoõ shoulä uså thå prograí TESTMD1.COÍ tï formaô anä � verifù  youò  harä disk®  Thió prograí ió availablå  oî  8¢  SSSÄ � floppù  diskettå froí Monitoò Dynamics (oò ICÍ wheî orderinç youò � hardware). 3-19 Š SINGLE-USER PROCEDURES 3.12. Formating the Hard Disk Insert the Monitor Dynamics disk into drive B: 0A}B: 0B>TESTMD1 Enter the number of heads in decimal Enter the number of cylinders in decimal Refeò  tï Appendiø F foò thå numbeò oæ headó anä  cylinders® Oncå  yoõ  havå  entereä  thå propeò  numbeò  oæ  headó  anä � cylinders¬   thå  tesô  prograí  shoulä  displaù  thå  controlleò � settings®  Iæ  yoõ geô aî error¬  checë thå poweò supplù foò youò � drives¬ S-10° buó anä cablinç prioò tï calling® Therå  shoulä appeaò oî thå screeî á menõ oæ commands®  Wheî � installinç  á ne÷ drive¬  á recommendeä procedurå ió tï  ruî  thå � destructivå  randoí  tesô  foò 1/² houò tï warí uð thå  drivå  bù � pressinç T menõ selection®  Witè á ne÷ drivå yoõ wilì geô recorä � noô founä erroró untiì thå drivå ió formatted®  Presó anù keù  tï � terminatå randoí accesó testing. Thå  nexô  steð ió tï formaô thå drivå bù  pressinç  F®  Thå � prograí wilì asë yoõ iæ yoõ wanô tï formaô alì cylinders®  Iæ yoõ � saù Yes¬  thå wholå drivå wilì bå formatted®  Iæ yoõ saù No¬  thå � prograí wilì prompô yoõ tï enteò thå head¬ cylindeò anä numbeò oæ � trackó tï format. Theså  numberó shoulä bå giveî iî DECIMAÌ oî thå  samå  linå � separateä bù spaceó endinç witè á . Thå  formaô prograí wilì sho÷ á capitaì Æ foò everù cylindeò � formatted®  Bå  carefuì  noô tï enteò anù characteró oî  thå  CRÔ � terminaì  durinç  thå formaô procesó sincå thió  wilì  aborô  thå � procesó  anä yoõ wilì bå forceä tï starô over®  Somå driveó  wilì � sho÷  sectoró beinç remapped¬  indicatinç sectoró whicè wilì  noô � format® Iæ thió happenó oî youò drives¬ re-formaô thå drivå agaiî � tï geô riä oæ thå stubborî sectors. Wheî   somå  sectoró  refuså  tï  format¬   theù   wilì   bå � automaticallù  mappeä ouô oæ thå directory®  Iô ió permisablå  tï � havå  aó  manù aó µ oò ¶ remappeä sectoró oî á harä  disë  drive® � Oncå remapped¬ thå defectivå mediá wilì neveò bå used. Š 3-20 SINGLE-USER PROCEDURES Wheî thå formattinç ió completed¬  enteò SKE× followeä bù á "V¢ tï verifù thå drive. Thå  verifù  showó eitheò á capitaì Ö foò  everù  successfuì � cylinder¬  oò  thå  numbeò oæ retrys¬  oò thå heaä  anä  cylindeò � numberó oæ á remappeä sector® Oncå yoõ havå completeä thå verifù process¬ yoõ musô instalì � á disë parameteò block®  Thió ió donå bù usinç á PB command®  Thå � prograí wilì prompô yoõ foò allocatioî size® Wå commonlù uså á 4Ë � allocation®  Thå  prograí wilì alsï prompô yoõ foò thå numbeò  oæ � 12¸ directorù entrù blocks® Wå uså thå maximuí oæ 1¶ foò CP/Í buô � TurboDOÓ wilì allo÷ aó manù aó 255®  Bå awarå thaô thå largeò thå � directorù size¬ thå longeò thå searcè time. Thå  prograí wilì alsï prompô yoõ foò thå  targeô  operatinç � systeí (CP/Í oò TurboDOS)® Selecô Ô foò TurboDOS® Foò thå versioî � number¬ selecô ² foò 1.22¬ 1.³ oò 1.´x TurboDOS. The parameters will be written to the disk. Deselecô  thå drivå bù pressinç Ä foò drivå selecô  anä � theî 0 tï deselecô drive(s)® Thió completeó thå harä disë set-uð � anä formaô requirements. Tï  tesô  thå harä drive¬  copù somå fileó froí youò  systeí � disë tï thå harä disë anä comparå thå directorù tï confirí propeò � operation: 0A}DRIVE C: 0A}ERASEDIR C: CREATE HASHED DIRECTORY (Y/N) ? Y OK TO ERASE DIRECTORY OF C: (Y/N) Y 0A}COPY A:*.* C: 0A}C: 0C}DIR Š Iæ yoõ dï noô havå á sequencinç poweò supply¬ (wherå thå +1² � anä +µ foò thå harä disë ió turneä ofæ first¬ theî á seconä lateò � thå  S-10°  poweò  goeó off)¬  yoõ shoulä  assemblå  thå  prograí � HALT.MAà foò youò driveó anä ruî iô prioò tï eacè power-down®  Tï � executå thå prograí oî á multi-useò system¬  attacè tï thå masteò � usinç  thå  MASTEÒ commanä anä theî ruî HALT®  Thió  deselectioî � sequencå  ió  necessarù oò thå directorù oæ thå harä disë maù  bå � damaged. 3-21 SINGLE-USER PROCEDURES Foò  firsô  timå  useró oæ ouò implementatioî  oæ  TurboDOS¬ � simplù  enablå  thå disë assignmenô tablå iî thå .PAÒ  filå  thaô � matcheó  youò hardware®  Thå mosô importanô consideratioî iî  thå � PAÒ filå ió thå disë assignmenô tablå (DSKAST)® Thå symboì DSKASÔ � defineó thå logicaì tï physicaì relationshið oæ thå logicaì  disë � driveó (Aº  tï P:© witè thå particulaò physicaì drives®  Thå nexô � sectioî haó morå technicaì descriptioî oæ whaô ió involveä iî thå � disë assignmenô table. Š 3-22 SINGLE-USER PROCEDURES 3.13. Technicaì Descriptioî oæ thå Disë Assignmenô Table Alì  driveró  foò randoí accesó storagå havå aî entrù  poinô � DSKDR@::® Thå GEÎ commanä readó thå filå CPZDOS.GEÎ sequentially¬ � anä aó driveró containinç DSKDR@:º  arå found¬ thå characteò À ió � replaceä witè á letteò startinç aô Á anä workinç towardó P. As an example: Thå CPZDOS.GEÎ file¬ aó supplied¬ haó onlù onå randoí accesó � storagå  typå driveò containinç thå globaì entrù poinô  DSKDR@::® � Thió ió thå floppù disë driver®  Thå symboì DSKDR@:º ió converteä � durinç  thå GEÎ procesó tï DSKDRA::®  Thå ordeò oæ thå driveró iî � thå  GEΠ filå determineó thå characteò thaô wilì replacå  thå  À � character¬ thuó floppù driveró arå defineä aó DSKDRA. Thå  disë  assignmenô tablå (DSKAST)¬  locateä iî  thå  filå � CPZDOS.PAR¬  havå threå bytå entrieó foò eacè logicaì drive®  Thå � firsô bytå ió á numbeò passeä tï thå driver¬ thå seconä anä thirä �Š byteó  arå thå addresó oæ thå driver¬  usuallù iî symboliã  form¬ � eg. DSKAST = 00,DSKDRA,01,DSKDRB,00,DSKDRC Thå  floppù  driveò DSKDRÁ caî handlå fouò floppù driveó  bù � beinç passeä á 00¬  01¬  02¬  oò 03®  Thå Monitoò Dynamicó driveò � acceptó  thå followinç controì bytesº  0° ió foò deselecô  driveó � foò  singlå useò system¬  0± ió foò firsô harä disk¬  0²  ió  foò � seconä harä disk® Thå TurboDisë onlù acceptó á 00. Thå followinç describeó thå procedurå necessarù tï construcô � á disë assignmenô tablå sï thaô therå wilì bå twï floppieó Aº anä � B:¬  Monitoò Dynamicó harä disë C:¬  anä TurboDisë D:® Iî thå GEÎ � file¬  enablå thå floppù disë driver¬ thå Monitoò Dynamicó driveò � anä  thå  TurboDisë  driver®  Thå GEÎ wilì associatå  thå  floppù � driveò  witè thå symboliã addresó DSKDRA¬  thå  Monitoò  Dynamicó � driveò  witè DSKDR anä thå Turbï Disë driveò witè DSKDRC®  Usinç � thå  controì byteó froí thå previouó paragraph¬  builä  thå  disë � assignmenô tablå aó follows: DSKAST = 00,DSKDRA,01,DSKDRA,01,DSKDRB,00,DSKDRC A: B: C: D: Adä thió DSKASÔ filå tï thå CPZDOS.PAÒ filå viá youò editor® Makå � surå tï disablå anù otheò DSKASÔ alreadù iî use® 3-23 SINGLE-USER PROCEDURES 3.14. Boot from Hard Disk Harä  Disë  Boot-up  ió possiblå oî thå  System¬  anä  aó  á � result¬  thió  allowó  thå computeò tï bå turneä oî withouô  thå � neeä oæ placinç á systeí disë iî thå floppù drivå everù time®  Iô � wilì  alsï  causå thå harä disë tï bå classifieä aó  thå  "systeí � disk¢  anä alì non-specificallù directeä disë accesó wilì  bå  tï � thaô drive®  Tï accomplisè this¬  yoõ wilì neeä tï havå á speciaì �Š BOOÔ PROÍ oî thå CPZ-4800Ø SBC® Thå proí foò thió examplå wilì bå � labeleä  101° « 8¢ floppù oò 101³ « 8¢ floppy®  Thå 101° anä 101³ � shoulä bå correlateä witè thå modeì oæ Monitoò Dynamicó harä disë � controlleò yoõ arå using® Oncå yoõ havå thå propeò BOOÔ PROM¬ yoõ � musô creatå á ne÷ OSLOAD.COÍ prograí tï providå thå propeò devicå � driveró  tï booô froí thå harä disk®  Enablå thå propeò harä disë � driveró  iî  thå CPZLOAD.GEÎ filå bù removinç thå  semicoloî  (;© � froí thaô line® Ediô thå CPZLOAD.PAÒ filå bù disablinç thå activå � DSKASÔ anä enablinç thå DSKASÔ whicè ió identifieä iî thå commenô � fielä aó beinç ablå tï booô froí thå 1sô MÄ harä disk¬ i.e. DSKAST= 01,DSKDRB,00,DSKDRA,01,DSKDRA,02,DSKDRA,03,DSKDRA Ediô thå CPZDOS.GEÎ ¦ .PAÒ fileó tï duplicatå thå harä  disë � driveró anä DSKASÔ tablå aó yoõ havå enableä iî thå CPZLOAD.GEÎ ¦ � PAÒ  files®  Oncå theså operationó arå complete¬  re-GEÎ botè thå � OSLOAD.COÍ  anä  OSTEST.SYÓ  fileó througè thå  uså  oæ  thå  GEÎ � commanä aó follows: 0C}GEN CPZLOAD OSLOAD.COM 0C}GEN CPZDOS OSTEST.SYS Removå  anù  mediá  froí youò floppù driveó  anä  poweò  thå � systeí  down®  Restorå  poweò anä thå systeí shoulä booô afteò  á � shorô   delaù  whilå  thå  harä  disë  comeó  uð  tï  speeä   anä � recalibrates. � Youò disë assignmentó arå no÷ aó followsº Aº Harä disk B: through E: floppy disk Iæ  yoõ arå usinç thå oldeò MD101³ « 8¢ floppy(AM2716©  booô � proí  anä  wanô  tï booô froí floppù insteaä oæ youò  harä  disk¬ � simplù  starô thå systeí froí power-uð witè thå harä  disë  poweò � disableä  anä  placå  youò systeí diskettå iî anù oæ  thå  floppù � drives®  Thå  booô proí wilì searcè thå driveó iî á  rounä  robiî � fashioî  lookinç foò á "Ready¢ devicå anä theî á directorù  whicè � listó OSLOAD.COM®  Iæ youò harä disk'ó poweò ió noô separate¬ yoõ � caî  stilì "fool¢ thå systeí bù havinç á floppù inserteä anä theî � quicklù  closinç  thå drivå dooò tï allo÷ thå  booô  froí  floppù � whilå thå harä disë ió stilì spinninç uð tï speed® Iæ  yoõ arå usinç thå neweò MD1013/101¶ « 8¢  floppy(AM2732© � booô  prom¬  iô  wilì searcè thå floppù driveó firsô afteò  reseô � anyway. 3-24 Š SINGLE-USER PROCEDURES Iæ youò systeí diä noô booô froí thå harä disk¬  yoõ caî uså � youò  operatinç systeí oî floppù tï geô bacë intï youò fileó  anä � correcô youò configuration. Oncå  yoõ havå booteä froí thå harä disë thå drivå  musô  be � deselecteä oò thå directorù maù becomå irreparablù damaged®  Thió � deselectioî   ió  accomplisheä  bù  runninç  thå  prograí   HALT® � Customizå  HALT1.MAà foò foò thå numbeò oæ headó anä cylinderó oî � youò drives® Re-assemblå anä re-linë HALT.COÍ froí HALT1.MAC. Š 3-25 SINGLE-USER PROCEDURES 3.15. Hard Disk Drive Via Parallel Port Note: iæ yoõ intenä tï uså anù otheò paralleì �                           deviceó, yoõ  neeä tï connecô  tèe harä �                           disë viá aî S-10° harä disë controller¬ �                           (seå S-10° harä disë section). Thå  paralleì  porô allowó thå uså  oæ  variouó  personalitù � boardó (PRI-10° oò SAS-100© tï interfacå tï intelligenô harä disë � controlleró froí variouó manufactureró withouô utilizinç  anotheò � S-10°  carä  slot®  Tï seå whaô youò systeí caî supporô refeò  tï � Appendiø A wherå alì ICM driveró availablå arå listed® 3.15.1. PRIAM Personality Board Thå  followinç  PRIAÍ Harä disë driveó usinç  á  PRIAÍ  SMARÔ � Interface ONLY are supported: Model Capacity ------- ---------- 1070 10 Megabytes (1 Logical Drive) 3450 35 Megabytes (Split as 4 Equal Drives) 7050 70 Megabytes (Split as 4 Equal Drives) 3350 33 Megabytes (Split as 4 Equal Drives) 6650 66 Megabytes (Split as 4 Equal Drives) Pleaså  Consulô  thå  Factorù foò thå Softwarå  Driveró  foò � TurboDOS¬  aó  theså  driveró arå noô shippeä  witè  thå  regulaò � packages. Thå  Priaí  Personalitù Carä (PRI-100© ió connecteä  tï  thå � paralleì  porô oî thå CPZ-4800ø CPÕ board®  Thå Softwarå  driveró � foò  TurboDOÓ  alsï expectó Interrupô Vectoò £ µ tï bå iî  place® � Thió vectoò ió aî Internaì Interrupô Vectoò whicè comeó froí  thå � Parallel Port, NOT the S-100 Bus. Š 3-26 SINGLE-USER PROCEDURES 3.15.2. SASI/SCSI Personality Board(other than OMTI) Thå  SASI/SCSÉ Interfacå plugó intï thå Paralleì Porô oî thå � CPZ-4800x CPU Board. Uså thå appropriatå fileó. NO interrupô vectoró arå needed. Controller Rel Formaô Program Module ---------- --------- -------------- SYSGEN DSKSYS DSTSYS1 DSTSYS2 FMTSYS DSTSYS3 DSTSYS4 DTC-520 CPZDTC FMTDTC IOMEGA DSKIOM FMTIOM       DSTIOM1 Š 3-27 SINGLE-USER PROCEDURES 4. INTEGRATING THE OMTI Dated 09/19/85 4.1. Introduction Thå   OMTÉ  controlleò  ió  á  Harä  Disë  controlleò  whicè � communicateó  witè  thå masteò througè á SASI/SCSÉ  interfacå  tï � providå  supporô foò standarä ST-50¶ Harä Disë driveó anä  QIC-0² � tapå drives® Thió ió accomplisheä bù attachinç iô tï thå paralleì � porô   througè  thå  SASI-10°  oò  SASI-20°  paddlå  card®   Thió � controlleò  maù bå useä iî conjunctioî witè thå MD101³ Harä  Disë � controlleò baord®  Thió ió handù iæ yoõ arå convertinç thå systeí � froí aî MD101³ tï aî OMTI. 4.1.1. Advantages Š Thå  OMTÉ controlleò haó severaì advantageó oveò thå MD1013® � Thå firsô ió thaô iô haó haó á tapå backuð controlleò builô  intï � it®  Thió wilì accepô mosô anù QIC-0² drive®  Thå tapå wilì  onlù � communicatå witè thå driveó locaì tï thå OMTÉ controller® Thå  OMTÉ  controlleò ió noô aî S-10°  buó  interfacå  card® � Iô alsï useó CMOÓ anä otheò lo÷ poweò consuptioî chips® Thereforå � iô  maù  bå mounteä anywherå withouô havinç tï worrù  abouô  heaô � problems®  Iô  useó thå samå poweò aó thå Harä Disë drivå sï  yoõ � wilì  havå  tï makå surå thå poweò supplù haó enougè  currenô  tï � handlå aî addeä 1.µ ampó oæ thå OMTÉ controller(tï figurå ouô ho÷ � mucè stresó wilì bå placeä oî thå poweò supply¬  refeò tï sectioî � "POWEÒ REQUIREMENTÓ FOÒ OMTÉ SERIES")®  Sï no÷ yoõ havå twï addeä � slotó iî thå S-10° bus. Thå  OMTÉ  alsï featureó aî optioî foò á Floppù  controller® � Undeò  normaì  integrations¬  thió wilì noô bå needeä  sincå  thå � masteò  alreadù haó á floppù controller®  Thå advantagå  thaô  iô � wilì  havå  ió  wheî  iô ió useä oî á  workstatioî  tï  creatå  á � stand alone single user system or file server. 4-1 SINGLE-USER PROCEDURES Thå  OMTÉ  softwarå alsï provideó  partitioning¡  Uð  tï  1¶ � partitionó  ió alloweä peò drive®  Alì thå disë parameteò wilì bå � containeä withiî á datá file®  Thió filå ió createä usinç á Menu-� driveî prograí whicè promptó foò heads¬ cylinders¬ partitionó anä � directorù  parameters®  Oncå thió filå ió created¬  thå  formateò � program will pick it up and use it to format the Hard Disk. Thå  OMTÉ softwarå waó alsï designeä tï deselecô  thå  drivå �Š wheî noô iî use®  Thió wilì elimenatå thå chanceó oæ writinç oveò � thå  directorù  durinç  poweò  failurå anä  heaä  parkinç  beforå � powerinç  down®  Yoõ  simplù  executå á changå oî thå  driveó  tï � ensurå data is flushed properly iô anä poweò iô dowî. Thå biggesô advantagå oæ thå thå OMTI-controlleò ió thaô thå � softwarå waó completelù writteî inhouse® Anù problemó encountereä � bù  thå  integratoò maù bå reporteä tï ICÍ anä  thå  problemó  bå � resolved without going to an outside source. 4-2 Š SINGLE-USER PROCEDURES 4.2. Integrating the OMTI Controller 4.2.1. Initial Setup 1) Thå  firsô steð iî settinç uð thå OMTÉ ió tï providå cablinç � froí thå Harä Disë poweò supplù tï thå OMTI®  Iô needó á standarä � 4-piî  AMÐ connectoò usinç thå samå voltagå oî thå samå  pinó  aó � the Hard Disk drive.(see section "SETTING UP OMTI BOARD") Yoõ  wilì  alsï havå tï checë thå Hardwarå tï makå surå  thå � boardó  havå beeî modifieä correctly®  Iæ yoõ havå  á  CPZ-48000¬ � refeò  tï sectioî "HARDWARÅ MODIFICATIONÓ FOÒ CPZ-48000"®  Iæ yoõ � havå  á CPZ-4800X¬  refeò tï sectioî "HARDWARÅ MODIFICATIONÓ  FOÒ � CPZ-4800X"®  Iæ  yoõ havå á CPZ-186¬  refeò tï sectioî  "HARDWARÅ � MODIFICATIONS FOR CPZ-186". Thå  SASÉ paddlå boardó shoulä alreadù bå modifieä  foò  thå � OMTI¬  buô  yoõ shoulä checë sectionó "HARDWARÅ MODIFICATIONÓ FOÒ � SASI-100" or "SASI-200" before going any further. 2© Thå seconä steð ió tï mounô thå OMTÉ iî á convenianô spoô iî � thå system® Therå arå reallù nï restrictionó oî wherå iô ió tï bå � mounted®  Onå  waù ió tï mounô thå Harä Disë drivå verticallù anä � attacè thå OMTÉ ontï thå bacë usinç 1/4¢ plastiã stand-offs®  Thå � desigî  oæ thå OMTÉ makeó thió easù sincå thå holeó iî thå  boarä � matcè  thå holeó oî thå bottoí oæ thå Harä Disë  Drive®  Iæ  thió � setuð wilì noô work¬  yoõ caî alwayó mounô thå OMTÉ oî onå oæ thå � inside panels of the chassi. 3© Thå thirä steð ió tï ruî thå cabling®  Thå SASI-100/20° witè � itó sheildeä cablå wilì havå tï bå connecteä tï thå paralleì porô � oæ thå master® Wheî mountinç thå SASÉ paddlå board¬ makå surå thå � sheildeä  cablå isn'ô twisteä toï much®  Thå 5° piî cablå wilì bå � connecteä froí thå SASÉ paddlå boarä tï thå OMTÉ 50-piî connectoò � towardó  thå  middlå oæ thå board(seå sectioî  'SETTINÇ  UР OMTÉ � BOARD')®  Theî thå 20-piî anä 34-piî cableó caî bå connecteä froí � thå drivå tï thå edgå oæ thå OMTÉ board® Iæ á tapå drivå ió tï bå � used¬  á  50-piî  cablå wilì alsï havå tï bå connecteä  froí  thå � tapå drivå tï thå tï thå 50-piî connectoò oî thå edgå oæ thå OMTÉ � board®   Alì   fouò   oæ  theså  cableó  wilì  bå   supplieä   bù � Intercontinental Micro and should be used. 4©  Thå  nexô steð ió tï booô uð anä reconfigurå thå  operatinç � systeí  tï  includå thå OMTÉ driver®  Thå drivå wilì  noô  formaô � unlesó onå oæ thå OMTÉ driveró ió installed®  Thå single-useò GEÎ � filå wilì includå eitheò thå DSKOM1(onå drive© oò thå  DSKOM2(twï � drives)®  Iî thå paò file¬  yoõ wilì havå tï includå thå drivå iî � thå  disë assignmenô table®  Foò partitioning¬  thå paò filå musô � Š 4-3 SINGLE-USER PROCEDURES includå alì partitionó iî thå DSKASÔ table.� Herå ió aî examplå oæ á single-useò geî ¦ paò using two drives: SAMPLE SINGLE-USER GEN FILE FOR OMTI Here ió  aî  examplå oæ á single-useò systeí witè  ²  harä  disë driveó anä onå floppy®  Thå firsô Harä disë ió seô uð aó Aº  anä B:¬ seconä Harä disë aó Cº anä D:¬ anä Floppù aó E:. CPZDOS.GEN STDSINGL ; Standard single-user w/o spooling configuration ;STDSPOOL ; Standard single-user w/ spooling configuration USRSUP ; User Function Support Module SOMCPZ ; Single User Signon Message PATCH ; Include PATCH module for V1.4x TurboDOS FASLOD ; Use fast disk loader module ;CON192 ; Null 19.2 Kbaud Console Driver CON96 ; Null 9600 Baud Console Driver NITCPZ ; CPZ-48000 hardware initialization SPDCPZ ; CPZ-48000 Serial and Parallel I/O ;LSTCTS ; Clear to Send driver module LSTPAR ; Parallel Null List driver for CPZ-48000 RTCCPZ1 ; CPZ-4800x real time clock driver ;MSTRCLK ; Include extnl clk board (CCB-100 clock board) DSKCPZ1 ; CPZ-48000 floppy disk driver DST58I ; Include 48 TPI disk specs DSKOM2 ; OMTI-5300 with 2 drives and Quick-02 ;TURDSK ; Use Turbo-Disk drive defination file ;TURBO ; Use Turbo-Disk operation **** NOTICE ******* NOTICE ******* NOTICE ******* NOTICE ******** Š Iî  thå masteò geî fileó distributeä bù ICM¬  thå USRSUР ió  noô included®  IÔ MUSÔ BÅ ADDED!!¡ Thió ió needeä onlù iî thå masteò anä noô iî thå slaves®  Iæ noô iî place¬ thå QIà prograí wilì noô run properly from a slave. **** NOTICE ******* NOTICE ******* NOTICE ******* NOTICE ******** 4-4 SINGLE-USER PROCEDURES SAMPLE SINGLE-USER PAR FILE FOR OMTI CPZDOS.PAR SRHDRV = 0FF ; System Disk Drive F AUTUSR = 80 ; Auto Log-on to user one, privileged ; CONAST = 01,CONDRA ; Console on port 1 of CPZ-48000 STOPBB = 44 ; Define 1 stop bit ; PTRAST = 00,LSTDRA ; List assignment table ; STOPBA = 44 ; Define 1 stop bit ; ATNCHR = "^@" ; New attention character NMBUFS = 2 ; Use only two buffers PRTMOD = 0 ; Print mode ; LDCOLD = 0FF COLDFN = 0,"SETUP ","AUT" ; DRVTBL = 41,41,41,41 ;All tandon drives assumed, step = 6ms ; ;the following defines the starting bank for TURBO-DISK ; ;MPAGE = 02 ; Start with bank above slaves ; Š ;--------------------------------------------------------------- ;The following defines Physical hard disk Constants for the OMTI. ;These parameters normally don't need to be added. For more details, ;see section "SETTING DRIVE PARAMETER BYTES IN .PAR FILE". ;These are default values: ; (Physical Drive 0) STPW0 = 3 ; Drive step pulse width constant STPR0 = 1 ; Drive step period WRTP° ½ 8° » Writå pre-comð cylindeò (iî heø foò 8- ; bit systems, 0x80 in 16-bit sys.) ; ; (Physical Drive 1) STPW1 = 3 STPR1 = 1 WRTP1 = 80 ;-----------------------------------------------------------------� ; ; The following defines floppy disk drives ; DSKAST = 000,DSKDRB,001,DSKDRB ; 1st Hard Disk(2 partitions) 010,DSKDRB,011,DSKDRB ; 2nd Hard Disk(2 partitions) 000,DSKDRA ; Floppy Drive ; 4-5 SINGLE-USER PROCEDURES Eacè Harä disë maù bå partitioneä intï aó manù aó 1¶ logicaì driveó maximum®  Thå softwarå requireó thaô USRSUÐ bå includeä iî thå  GEΠ file®  Beforå formatting¬  seô uð aî  operatinç  systeí witè  thå  appropriatå  OMTÉ modulå included®  Iæ  yoõ  arå  onlù runninç onå physicaì drive¬  uså thå DSKOM± iî thå GEΠ file®  Iæ yoõ  neeä tï ruî twï physicaì drives¬  ruî thå DSKOM2®  Herå ió á listinç  oæ thå entrieó requireä foò thå DSKASÔ tablå iî thå  PAÒ file: DSKAST = 000,DSKDRB ; First drive, First partition 001,DSKDRB ; First drive, Second partition 002,DSKDRB ; First drive, Third partition 003,DSKDRB ; First drive, Fourth partition . . . . . . 00E,DSKDRB ; First drive, Fifteenth partition 00F,DSKDRB ; First drive, Sixteenth partition Š 010,DSKDRB ; Second drive, First partition 011,DSKDRB ; Second drive, Second partition 012,DSKDRB ; Second drive, Third partition 013,DSKDRB ; Second drive, Fourth partition . . . . . . 01E,DSKDRB ; Second drive, Fifteenth partition 01F,DSKDRB ; Second drive, Sixteenth partition Theså entrieó caî bå placeä iî anù order®  Oæ course¬ yoõ woulä  neveò makå uså oæ alì thå partitionó sincå therå arå  onlù sixteen table entries in the DSKAST. 4-6 SINGLE-USER PROCEDURES 5© Afteò yoõ booô uð thå ne÷ single-useò system¬ yoõ arå almosô � readù tï formaô thå drive® Firsô á drivå specificatioî tablå musô � bå seô up® Tï dï this¬ yoõ musô ruî thå prograí 'OMTIDST.COM'® Iô � wilì prompô yoõ foò ho÷ manù physicaì driveó therå are¬ anä whicè � partitioninç schemå yoõ wisè tï chooseº 5A©  Iæ  yoõ  chooså  tï partitioî thå drivå  intï  equaì  parts¬ � OMTIDSÔ wilì asë yoõ thå parameteró foò onå oæ thå partitionó anä �Š automaticallù  dividå thå drivå uð witè equaì  specs®  Thå  firsô � thinç  iô  wilì  asë  yoõ tï inpuô ió thå  amounô  oæ  headó  anä � cylinderó  foò thaô drive®  Theî iô wilì telì yoõ thå recommendeä � amounô  oæ  sparå  trackó tï seô asidå foò  thaô  drive®  Iæ  yoõ � believå thå drivå wilì havå morå thaî that¬ yoõ caî increaså thió � number®  Thå nexô thinç iô wilì asë ió thå allocatioî blocë size® � Iô wantó yoõ tï enteò thå wholå numbeò iî decimal(Iæ yoõ wanô 4k¬ � enteò  4096)®  Lasô  oæ alì iô wilì asë yoõ  ho÷  manù  directorù � entrieó  yoõ  wanô  eacè  partitioî tï  have.(Iæ  yoõ  wanô  204¸ � entries¬ enteò 2048). 5B©  Iæ  yoõ  don'ô wisè tï dividå  iô  intï  equaì  partitionó � individuallù  gï througè eacè partitioî anä asë yoõ tï enteò  thå � specó oî eacè onå untiì therå ió nï rooí left® Thå firsô thinç iô � wilì  asë yoõ tï inpuô ió thå ammounô oæ headó anä cylinderó  foò � thaô drive® Iô wilì theî telì yoõ thå recommendeä amounô oæ sparå � trackó tï seô asidå foò thaô drive® Iæ yoõ beleivå thå drivå wilì � havå morå baä trackó thaî that¬  yoõ maù increaså thió number® Iô � wilì  theî individuallù gï througè eacè partition®  Eacè timå yoõ � gï througè á partition¬ iô wilì asë yoõ thå following: a©  Firsô  iô wilì asë yoõ tï enteò thå  allocatioî  blocë � size in decimal(if you want 4k, enter 4096). b©  Next, iô wilì inforí yoõ oî ho÷ manù kilobyteó arå lefô oî thaô drive. Then it will ask you how many kilobytes you want to allocate for that partition. On the last partition, enter 0 to take all the remaining kilobytes. If no partitioning is desired, enter a 0 the first time it asks you this. c©  Theî iô wilì asë yoõ tï inpuô thå numbeò oæ  directorù � entrieó  foò  thaô  partitioî iî decimal(iæ  yoõ  wanô  204¸ � entries, enter 2048). Iô  wilì  gï  througè theså stepó foò eacè  partitioî  untiì  yoõ � eitheò ruî ouô oæ kilobyteó oò yoõ puô á "0¢ iî foò thå amounô oæ � kilobytes. Theî  iô  wilì  savå thió configuratioî intï á  filå  calleä � "OMTIDST.DAT"®  Thió  shoulä  bå kepô oî thå disë whicè  haó  thå � formatter since it will be used by the OMTI formatter. 4-7 Š SINGLE-USER PROCEDURES 6©  No÷  itó  timå tï formaô thå harä  disk®  Yoõ  dï  thió  bù � executinç  thå  filå "FMTOMT.COM¢ oò  "FMTOMT.CMD"®  Firsô enteò whicè physicaì drivå yoõ wisè tï format® Next iô wilì asë yoõ iæ yoõ onlù wisè tï writå ouô thå  disë � parameters®  Yoõ shoulä enteò "N¢ sincå therå ió nothinç tï writå � theí  ontï  yet®  Theî    iô   wilì   asë   yoõ   iæ   yoõ   wanô   continuouó � format/verifying® Iô woulä bå wiså tï saù yeó tï thió onå anä leô � iô  ruî  á fe÷ timeó tï catcè anù flackù characteristicó  oæ  thå � drive®  Iæ timå permits¬ yoõ shoulä leô iô ruî overnighô tï bå oî � thå safå side® Whilå itó runninç througè itó passes¬ hiô á returî � oncå anä waiô foò iô tï finisè itó pass® Lasô oæ alì iô wilì stoð anä asë iæ yoõ wanô tï adä anù  baä � trackó  froí  thå  defectivå  lisô  provideä  bù  thå  harä  disë � manufacturerer® Iæ nï defectivå lisô waó giveî tï you¬ jusô hiô á � return®   Theî  thå  formatteò  wilì  procedå  witè  writinç  thå � parameteró  ouô tï eacè drivå partitioî anä brinç yoõ bacë tï thå � main menu. 4.2.2. What If It Doesn't Work the First Time??? Thå Hardwarå set-uð ió fairlù straight-forward®  Alì  cableó � anä  SASI-100/20° arå supplieä bù ICM®  Thå packagå senô tï  thå � customeò  wilì bå testeä aó á wholå beforå iô ió senô out®  Iæ iô � doesn'ô  ruî thå firsô time¬  checë tï makå surå thå  cableó  arå � pluggeä  iî  thå righô waù anä thaô theù arå pluggeä iî  alì  thå � way®  Doublå checë tï makå surå thaô piî onå oî thå CPÚ  paralleì � porô matcheó piî onå oî OMTÉ controller® Sometimeó thå stripeó oî � thå cableó arå misleadinç anä thå signaló becomå crossed® Alsï bå � carefuì  witè thå shieldeä cable®  Thå sheilä ió fragilå anä  toï � mucè twistinç maù causå iô tï open®  Iæ yoõ suspecô iô ió faulty¬ � trù swapinç iô witè á non-shieldeä 26-piî cable® Iæ yoõ don'ô ruî � iô  neaò Aà oò á poweò supply¬  iô wilì worë untiì yoõ caî geô iô � replaced. 7© Iæ formatinç froí á single-useò master¬ yoõ maù directlù formaô thå Harä disë anä proceeä witè aî ERASEDIÒ tï cleaî uð thå directorù anä HASÈ iô beforå yoõ puô datá oî it. Iæ donå froí á slave¬ yoõ musô attacè youò consolå tï thå masteò runninç thå MASTER command¬ anä theî formaô it® Iæ thå drivå formateä haó differenô parameteró thaî thå originaì drive¬ thå systeí musô bå reseô tï brinç iî thå ne÷ ones® Oncå thió ió complete¬ yoõ shoulä run ERASEDIR tï cleaî uð thå directorù anä HASÈ iô beforå placinç datá oî it. Š 4-8 SINGLE-USER PROCEDURES No÷  thå  drivå  ió  readù  tï  havå  alì  thå  distributioî � diskettes copied over to it. 8©  No÷ yoõ maù reconfigurå thå geî ¦ paró oî thå harä disë  tï � boot from the hard disk. Tï Booô froí thå Harä disë oî aî 8-bit master¬  jusô seô  uð � thå CPZLOAD geî anä paò fileó tï looë likå thå CPZDOÓ geî anä paò � files(oò  CPZMASTÒ geî anä pars)®  Thå booô proí wilì firsô  scaî � thå  floppù drives¬  anä theî thå Harä Disë driveó oncå theù comå � uð tï speed® Iô maù booô oî anù oæ thå firsô ´ partitionó oî botè � thå Harä Disë Drives. Tï Booô froí thå Harä disë oî á 16-bit master¬ yoõ musô onlù � uså thå "DSKOMTB.O¢ iî thå CPZLD16.GEN file®  Thió ió tï keeð thå � sizå  oæ OSLOAD.CMÄ undeò 16K®  Yoõ maù stilì booô ofæ thå  firsô � four partitions of both Hard Disk Drives. 9) Using the OMTI under Multi-User Thå  Multi-Useò operatinç systeí wilì bå seô uð iî thå exacô � samå  waù  thaô thå single-useò was®  Iî Multi-User¬  thå  USRSUP � modulå neeä onlù bå placeä iî thå master®  Thå QIà utility¬ whicè � ió  á menu-driveî prograí tï controì thå Tapå  Backuð  utilities¬ � maù  theî bå ruî oî anù oæ thå slaves®  Theså utilitieó wilì locë � ouô alì thå driveó oî thå OMTÉ tï insurå safety. 10© Afteò thå harä disë drivå haó beeî formatted¬ yoõ maù changå � thå drivå parameteró withouô havinç tï reformaô it®  Alì yoõ neeä � tï dï ió ruî thå OMTIDSÔ prograí oveò again®  Theî ruî thå FMTOMÔ � prograí  anä  wheî iô asë yoõ iæ yoõ wanô tï onlù writå  ouô  thå � drivå parameters¬  enteò "Y"®  Thió musô bå donå oî thå masteò oò � whilå  attacheä  tï thå master®  Theî yoõ wilì neeä tï rebooô  sï � Turbodoó  wilì  recognizå thå ne÷ parameters®  Iæ thå  drivå  haó � changeä  iî thå numbeò oæ partionó iô haó oò haó changeä  iî  thå � sizå  oæ thå partitions¬  aî ERASEDIÒ wilì havå tï bå ruî oî eacè � partitioî oæ thå drive® Š 4-9 SINGLE-USER PROCEDURES 4.3. Hardware Modifications 4.3.1. Hardware Modifications for CPZ-48000 (all rev's) Thå  CPZ-4800° ió ouò originaì 8-biô masteò whicè onlù haä á 4-MHÚ  option®  Thió boarä maù bå useä witè thå OMTÉ serieó iæ  á fe÷  modificationó arå madå tï thå boards®  Thå  followinç  stepó will enhance the DMA to the parrallel port of the CPZ-48000: MODIFICATION TO CPZ-48000 FOR DMA TO PARALLEL PORT 1. Pull out device U16 (9517-4) and bend out pin 6. 2. Insert device back into socket. 3®  Takå  á separatå 74LS7´ chið anä soldeò iô intï locatioî U6³ with the chip's pin 7 in the 8th position on the board. 4® Jumpeò froí thå (U63© chip'ó piî 1´ tï thå piî 1¶ positioî oî the board to ensure +5VDC to the chip. 5. Jumper LS74-1 to LS74-4 to LS74-10 to LS74-13 to LS74-14. 6. Jumper LS74-2 to U13-6. 7. Jumper LS74-11 to LS74-3 to U17-4. Š 8. Jumper LS74-6 to LS74-12. 9. Jumper LS74-9 to the bent out pin on U16 pin 6. Thå OMTÉ driveò makeó uså oæ Interupô Linå 4® Thió linå musô be strapped internally on the CPZ-48000 at JC: If using OMTI--+ v 0 1 2 3 4 5 6 7 O O O O O O O O O | | | JUMPER JC O O O O O O O O O | O O O O O O O O O ^ +-- If using MD1013 4-10 SINGLE-USER PROCEDURES 4.3.2. Hardware Modifications for CPZ-4800X ( For Revisions A and B ) Tï  takå  advantagå  oæ DMÁ communicationó tï  thå  paralleì port¬ thå followinç enhancements musô bå madå tï thå CPZ-4800X. Iæ   thå  modificationó  havå  noô  alreadù  beeî  madå  bù   thå manufacturer¬  theù  musô bå added®  Theså modificationó wilì  bå madå  bù  ICM(aô  nï charge© iæ thå integratoò  cannoô  makå  thå changes. MODIFICATION TO CPZ-4800X FOR DMA TO PARALLEL PORT 1. Pull out device U30 (74S74) and bend out pins 2 & 4. 2. Insert device back into socket. Š 3. On device U30 jumper pin 4 to pin 14 on the chip itself. 4. Jumper from U30 pin 2 (on the chip) to U35 pin 9. 5. Jumper U35-12 to U30-3. 6. Jumper U35-13 to U35-14 to U14-11. 7. Jumper U35-11 to U35-15 to U35-16. Thå OMTÉ driveò makeó uså oæ Interupô Linå 4® Thió linå musô be strapped internally on the CPZ-4800X at JF: JF O O O 7 O O O 6 O O--O <--If using MD1013/16 5 O O O If using OMTI--> 4 O--O O 3 O O O 2 O O O 1 O--O O 0 O--O O 4-11 SINGLE-USER PROCEDURES 4.3.3. Hardware Modifications for CPZ-186 ( For Revisions A and B ) Tï enhancå DMÁ communicationó tï thå Paralleì port¬ thå Š following modifications must be made: MODIFICATIONS TO CPZ-186 FOR OMTI USE 1. On the solder side of the CPZ-186, locate a pattern O-O O in the upper left corner of U39 the 80186 device (PJE). 2. Cut the trace between the two horizontal pads. 3. Add a jumper from the left topmost pad of PJE to U6 pin 20. 4-12 Š SINGLE-USER PROCEDURES 4.3.4. Hardware Modifications for SASI-100 ATTENTION!!¡ -Therå ió á SASI-20° availablå foò uså witè botè ¸ and 16 bit masters. Eveî thougè therå arå SASI-200'ó available¬ therå wilì bå nï trade-in'ó foò thå SASI-100®  Thå modificationó belo÷ wilì enablå thå  SASI-10° tï functioî witè thå OMTÉ series®  Iæ theù  haven'ô alreadù beeî made¬  ICÍ wilì upgradå theí aô nï charge®  Herå arå the changes needed to run the SASI-100 on 8-bit masters: MODIFICATION TO SAS-100 FOR DMA TO PARALLEL PORT FOR CPZ-48000 AND CPZ-4800X 1® Cuô thå tracå leadinç uð tï piî ² oæ thå 26-piî boø connector. 2. Jumper from U4-18 to pin 2 of the 26-pin box connector. Duå  tï  thå differenceó betweeî thå CIÏ oî thå CPS-18¶  anä the PIO on the CPZ-4800x, the follows modifications are needed: MODIFICATIONS TO SAS-100 FOR CPZ-186 Note: If there is a wire jumper from U4 pin 18 to J1-02, remove it. 1. Cut trace leading to J1 pin 1. 2. Cut trace leading to J1 pin 2. 3. Glue a 74LS86 chip upside down on the component side. 4. Tie LS86 pin 14 to +5VDC. 5. Tie LS86 pin 7 to GND. 6. Tie LS86 pin 4 to U4 pin 18. 7. Tie LS86 pin 5 to U4 pin 15. 8. Tie LS86 pin 6 to J1 pin 2. 9. Tie LS86 pin 2 to U4 pin 13. 10. Tie LS86 pin 1 to J1 pin 1. Š 11. Tie LS86 pin 3 to U6 pin 11. 4-13 SINGLE-USER PROCEDURES 4.3.5. The SASI-200 Thå SASI-20° waó designeä tï ruî thå OMTÉ serieó oî botè thå 8-biô  anä 16-biô masters®  Nï changå haó beeî madå iî  thå  SASÉ adapteò  board®  Thå  onlù  changeó requireä arå twï  jumperó  tï choose which master it is used on: SASI-200 +--------------------------------+ | +--+ +--+ +--+ +--+ o o3| | | | | | | | | | o o2| <--jumpers | |U1| | | |U5| |U7| o o1| ---+ | | |U4| | | | | A B | +--| | | | | | | | | | | | | | +--+ | | +--+ +--+ +++ | | | | +--+ | | +--+ | | |<------------------------- | | | | | +--+ | | | | | | | | |U2| |U8| | | | | | | | | | | | | | To Parallel Port | | | | | +--+ | | | | | | | | +--+ | | +--+ | | | | | | +--+ | | +--+ | | |<-------------------------- +--| | | | |U6| | | +++ | ---+ |U3| | | |U9| | | | | | | | | | | | | | | | | | | +--+ +--+ +--+ | +--------------------------------+ For CPZ-48000 or CPZ-4800X: O O 3 | | Š O O 2 O O 1 A B For CPZ-186: O O 3 O O 2 | | O O 1 A B 4-14 SINGLE-USER PROCEDURES 4.4. Power Requirements for OMTI Series DEVICE +5v max. +12v max. OMTI 5100 1.5 Amp. N/C OMTI 5200 1.8 Amp. N/C OMTI 5300 1.8 Amp. N/C OMTI 5400 2.0 Amp. N/C TANBURG TAPE 2.1 Amp. 1.1 Amp. 2.5 Amp.(start-up) RODIME 202E 1.0 Amp. 1.37 Amp. 2.00 Amp.(start-up) CDC 20 1.0 Amp. 1.37 Amp. 3.00 Amp.(start-up) CDC 36 1.0 Amp. 1.37 Amp. 3.00 Amp.(start-up) FUJITSU 1.0 Amp. 1.37 Amp. 3.00 Amp.(start-up) MAXTOR 1.0 Amp. 1.37 Amp. 4.50 Amp.(start-up) Š 4-15 SINGLE-USER PROCEDURES 4.5. Setting up OMTI Board Thå  OMTÉ  boarä witè alì optionó ió equippeä tï  supporô  ² Harä  Disë driveó ,± Quick-0² Streaminç Tapå Back-uð Drivå or   4 floppù  drives(floppù  useä  iæ foò á workstation)®  Uð  tï  fouò � physicaì  driveó caî bå choosen®  Sï yoõ coulä havå ²  Harä  Disë � drives¬  ± tapå back-uð anä onå floppù iæ yoõ wanted® Showî belo÷ � arå thå suggesteä jumpeò straps: +5-+ +-ground | | +----------------------------------------------v-v----+ | J3[========] J2[=================] O O O O| | J4[========] pin 1 ^ 4 3 2 1| | pin 1 ^ J10 | | | |[=======================] J1 | | pin 1 ^ | Š | +-+ | | | | W0 | | | | | | | | | | o +-+ | | p W1 | | b | | +--------+ | | | | | | | | | | | | | | +--------+ | | +--------+ | | | | | | | | | | | | | | +--------+ | | | | | | | | o | | W 348765 W2 p | | ppoooo b | | bboooo [==================] J8 | +-----------------------------------------------------+ pin 1 ^ Fig. 1 Connectors J1 = SASI/SCSI Interface to SASI personality card J2+J3= Hard Disk Drive #1 J2+J4= Hard Disk Drive #2 J7 = Floppy Drive (used on 5200,5400) J8 = Tape Backup Interface (used on 5300,5400) 4-16 SINGLE-USER PROCEDURES Jumpers W0 = SCSI Conroller ID (jumper to 0) W0 Š +------+ 0 | O--O | 1 | O O | 2 | O O | 3 | O O | (In Fig. 1) 4 | O O | 5 | O O | 6 | O O | 7 | O O | +------+ W1 = Host Parity disabled (jumper 2-3) O W1 O (In Fig. 1) | O W2 = QIC-02 Parity disabled (jumper 2-3) O W2 O (In Fig. 1) | O W3-W4= 1024 byte Sector Size (both shorted) W5-W8= Logical Unit Number assignments (leave all open) W W W W W W 3 4 8 7 6 5 O O O O O O | | (In Fig. 1) O O O O O O 4-17 Š SINGLE-USER PROCEDURES 4.6. Operating System Set-up Thå  OMTÉ  diskettå  wilì providå  thå  followinç  operatinç system and utility files: OMTI Disk Controller Files 8-bit/16-bit 1.) DSKOM1.O - (16-bit master version) DSKOM1.REL - TurboDOS Driver for 1 Hard Disk drive on an OMTI-5300 controller. (Tape support included) (8-bit) 1st drive: TurboDOS "DSKAST" = 000,DSKDRA,001,DSKDRA,... etc. (16-bit) 1st drive: TurboDOS "DSKAST" = 0x0,DSKDRA,0x1,DSKDRA, .. etc. 2.) DSKOM2.O - (16-bit version) DSKOM2.REL - TurboDOS Driver for 2 Hard Disk Drives on an OMTI-5300 controller. (Tape support included) (8-bit) 1st drive: TurboDOS "DSKAST" = 000,DSKDRA,001,DSKDRA,... etc. 2nd drive: TurboDOS "DSKAST" = 010,DSKDRA,011,DSKDRA,... etc. (16-bit) 1st drive: TurboDOS "DSKAST" = 0x0,DSKDRA,0x1,DSKDRA,... etc. 2nd drive: TurboDOS "DSKAST" = 0x10,DSKDRA,0x11,DSKDRA,..etc. 3.) DSKOM1S.O - (16-bit CPS-16 Slave version) DSKOM1S1.O - (16-bit CPS-186 Slave version) DSKOM1S.REL - TurboDOS Driver for 1 Hard Disk Drive on an OMTI-5300 controller, (Tape support included) For either a Non-Banked, A Banked, or the 8-Bit Workstation for use as local disk or remotå  disë  drives®  (16-biô versioî foò  thå CPS-16 Slave only) 4.) DSKOM2S.O - (16-bit CPS-16 Slave version) DSKOM2S1.O - (16-bit CPS-186 Slave version) DSKOM2S.REL - TurboDOS Driver for 2 Hard Disk Drives on an OMTI-5300 controller, (Tape support included) for either a Non-Banked, A Banked, or the 8-Bit Workstation for use as local disk or remotå  disë drives®  (16-biô versioî  foò  thå CPS-16 Slave only) 5.) DSKOMTB.O - (16-bit CPZ-186 Master version) DSKOMTB.REL - TurboDOS Bootprom driver module. (Must have boot- prom support drivers to complete). N O T E ! ! Yoõ  musô uså DSKOMTB.Ï wheî yoõ creatå youò OSLOAD.CMÄ  file® Š DÏ  NOÔ  USÅ  THÅ STANDARÄ DRIVEÒ SUCÈ AÓ DSKOM2.Ï  becauså  youò OSLOAD.CMÄ filå wilì enä uð beinç greateò thaî 16Ë byteó iî size¬ which means that the bootprom will not be able to read that file. 4-18 SINGLE-USER PROCEDURES 6.) FMTOMT.CMD - (16-bit version) FMTOMT.COM - OMTI disk formatter program. "N O T E" Your TurboDOS system must be running one or the other of the drivers before you can format your drives. FMTOMT.COM checks the see if the driver is in place in the O/S before you are allowed to format. You must also create your disk parameters using the program "OMTIDST.COM" before you are allowed to format the drive. The file "OMTIDST.DAT" must exist on the same drive as the formatter, or you will not be allowed to format the drive. 7.) OMTIDST.COM - Parameter generator program for the OMTI disk controller. (Multiple partitions supported). (8-Bit version) 8.) OMTIDST.CMD - Parameter generator program for the OMTI disë controller® (Multiplå partitionó supported). (16-Bit version) 9.) QIC.COM - Tape Backup/Restore utility for the OMTI controller. NOTE... this program will run on a 16-bit slave using TZ80.CMD or directly from a 8-bit slave. You DO NOT HAVE TO BE ON A MASTER to run QIC, as it communicates with the master through TurboDOS's User-Function calles. 10.) QIC.DOC - Tape Backup/Restore utility documentation. 11.) OMTI.DOC - (This document file). 12.) OMTI.LST - Formated OMTI.DOC file. To print, type: "TYPE OMTI.LST;L". Š 4-19 SINGLE-USER PROCEDURES 4.7. Setting drive parameter bytes in .PAR file Thå drivå parameteró showî iî thå .PAÒ fileó arå determineä aó � follows: 4.7.1. Step Pulse Width (normally this parameter can be left at default) STPWx - Steð Pulså Widthº Thå lengtè oæ timå thå steð pulså widtè � ió  asserted®  Thå valuå oæ thió bytå specifieó thå widtè oæ  thå � steð pulså iî ± microseconä increments®  Thå minimuí valuå oæ thå � steð pulså widtè ió ´ microseconds. 4.7.2. Step Period (normally this parameter can be left at default) STPRx - Steð Periodº  Thå lengtè oæ timå betweeî thå trailinç anä � leadinç edgeó oæ steð pulses® Á zerï valuå iî thå bytå resultó iî � á 1± microseconä steð period® á non-zerï valuå specifieó thå timå � iî 5° microseconä increments. Š 4-20 SINGLE-USER PROCEDURES 4.7.3. Write Precompensation WRTPx  - Writå  Precompensatioî  Cylinder/Reduceä  Writå  Currenô � Addressº  Thió  bytå defineó thå cylindeò addresó  wherå  reduceä � writå  currenô and/oò precompensatioî ió firsô  applied®  Reduceä � writå  currenô ió applieä tï alì cylinderó greateò thaî oò  equaì � tï  thå valuå oæ thió byte®  Á valuå oæ ° iî thió byteó  disableó � anù  writå precompensatioî oî thaô drive®  Thå valuå oæ thió bytå � ió thå cylindeò numbeò tï starô thå writå precompensation. x = physical drive(0 or 1); WRTPø  actuallù controló twï parameters®  Iô useó  addresseó � WRTPx and WRTPx+1 to form a 10 bit value: Š BYTE WRTPx+1 | BYTE WRTPx | --------+---------------------------------- address bits 1 0 | 7 6 5 4 3 2 1 0 --------+---------------------------------- data bits 0 0 | 0 0 0 0 0 0 0 0 ------------------------------------------- ^ ^ ^ | +----Reduced Write Current--+ | | +-------Write Precompensation-----------+ 4-21 SINGLE-USER PROCEDURES 4.7.3.1. Characteristics of WRTPx and WRTPx+1 1©  Thå valuå iî WRTPø specifieó whicè cylinder(iî hex© reduceä � writå currenô starts®  Iæ thió valuå ió seô tï á zero¬  nï matteò � whaô WRTPx+± is¬  thå reduceä writå currenô wilì bå disabled® Thå � maximuí  valuå  foò thió eighô biô parameteò ió  FÆ  hex(cylindeò �Š 255). 2© Thå valuå iî WRTPx+± anä WRTPø specifieó whicè  cylinder(iî � hex© writå precompensatioî starts®  Iæ thió wholå valuå ió seô tï � á zero¬  noô onlù writå precompensatioî ió disabled¬  buô reduceä � writå  currenô  ió disabled®  Thå maximuí valuå foò thió teî  biô � parameter is 3FF hex(cylinder 1023). 3©  Iô  shoulä  bå  madå cleaò thaô witè mosô  driveó  oî  thå � market¬  reduceä  writå  currenô anä  writå  precompensatioî  arå � defineä aó thå samå thing®  Wheî thå manuaì foò thå drivå giveó á � valuå  foò  eitheò oæ theså tï bå set¬  uså oæ thå wholå  1°  biô � value may be used. 4) If you use WRTPx+1, make sure bits 2-7 are set to zeros. Examples: WRTPx | WRTPx | +1 | | | | 1 0 | 7 6 5 4 3 2 1 0 | PRECOMPENSATION ------+--------------------------+------------------------------- | | No reduced wr. cur. 0 0 | 0 0 0 0 0 0 0 0 | No precompensation ------+--------------------------+------------------------------- | | red. wr. cur. starts at 0F hex 0 0 | 0 0 0 0 1 1 1 1 | precomp starts at 00F hex ------+--------------------------+------------------------------- | | No reduced wr. cur. 0 1 | 0 0 0 0 0 0 0 0 | precomp starts at 100 hex ------+--------------------------+------------------------------- | | red. wr. cur. starts at 90 hex 0 1 | 1 0 0 1 0 0 0 0 | precomp starts at 190 hex ------+--------------------------+------------------------------- 4-22 Š SINGLE-USER PROCEDURES 4.7.3.2. Patching examples 1©  Iæ precompensatioî ió needeä aô á valuå lesó thaî  255¬  onlù � WRTPø haó tï bå patched®  Herå ió aî examplå oæ thå defaulô valuå � of cylinder 128 (80 hex) on the first physical drive: WRTP0 = 80 ; Write precomp starting at cylinder 128 ; for CPZ4800x or WRTP0 = 0x80 ; Write precomp starting at cylinder 128 ; for CPZ-186 2© Iæ precompensatioî ió needeä aô á valuå greateò thaî 255¬ botè � WRTPø  anä  WRTPxP+±  haó  tï bå  patched®  Herå  ió  aî  examplå � precompensatioî  startinç aô cylindeò 400(19° hex© oî thå  seconä � drive: WRTPx+1 | WTTPx | ------------+--------------------------------- 1 0 | 7 6 5 4 3 2 1 0 ------------+--------------------------------- 0 1 | 1 0 0 1 0 0 0 0 ^ ^ ^ ^ ^ ^ \ / \ / \ / 01 hex 09 hex 00 hex WRTP1 = 90 ; Write precomp staring at cylinder 400 WRTP1+1 = 1 or WRTP1 = 90,1 ; Write precomp starting at cylinder 400 Š 4-23 SINGLE-USER PROCEDURES 4.7.4. Special Drives Somå oæ thå neweò driveó (Maxtor's,Fujitsu's,etc.© dï noô requirå � á  writå  precompensatioî  anä maù bomâ ouô  afteò  thå  formateò � reacheó thå 128tè cylinder® Thió ió becauså WRTPø ió defaulteä tï � 8° hex®  Tï disablå it¬  changå thió valuå tï á ° heø iî botè thå � CPZLOAD.PAR(CPZLD16.PAR) and CPZDOS.PAR,CPZMASTR.PAR(CPZLD16.PAR, CPZMST16.PAR) files. 4.7.4.1. The Syquest Removeable 10MB Hard Disk Thå  syquesô  drivå ió á littlå biô differenô becauså iô needó  á � littlå morå delaù timå wheî switchinç heads®  Thió caî bå madå uð � foò bù usinç thå latesô firmwarå revision(#1002406-D.µ oî proí oî � OMTÉ  board©  anä  placinç thå followinç parameteró  iî  thå  paò � files®  Alì OMTI'ó solä froí ICÍ froí 9-1-8µ anä lateò wilì  havå � thió  firmwarå  revision¬  iæ not¬  contacô ICÍ foò á  nï  chargå � revision®  Thió  drivå waó designeä aó á reliablå back-uð device¬ � althougè itó performancå ió closå enougè tï thaô oæ anù otheò ST-� 50¶  iî  itó cosô range®  Thå onlù functioî  iô  doesn'ô  perforí � correctlù ió bootinç froí iô sincå thå operatinç systeí expectó á � quickeò  responcå  ouô oæ á drivå anä comeó uð witè á  noô  readù � message® Alì yoõ neeä tï dï ió hiô retrù tï leô iô gï oî itó way® � Normally¬  thió  wilì bå oæ nï concerî sincå itó primå purposå ió � tï  bå useä aó á quicë back-uð devicå ratheò thaî á systeí  disk® � Herå ió aî examplå oæ thå parameteró needeä iæ thå drivå ió beinç � used as the second drive in the system: Place in the master par file: STPW1 = 0 STPR1 = 0 WRTP1 = 0,30 Š 4-24 SINGLE-USER PROCEDURES 5. THE SMC-200 5.1. Overview Thå  KONAΠ SMC-200 (oò SMC-100© ió á statå oæ thå arô  harä � disë  controlleò  featurinç aî SMÄ typå interfacå foò uð  tï  twï � drives®  DSKSMà ió thå TurboDOÓ driveò enablinç thió producô  tï � bå  parô  oæ thå Intercontinentaì Micrï Systemó  distributioî  oæ � TurboDOS® DSKSMC ió availablå iî botè Z-8° anä 808¶ codå foò uså � witè alì ICÍ singlå boarä masteò processors. Theså  TurboDOÓ driveò supporô moduleó arå designeä foò  uså � witè  thå KONAÎ SMC-200 (oò SMC-100© harä disë  controller®  Thå � SMC-20°  (oò SMC-100© controlleò ió aî S10° buó orienteä boarä tï � interfacå  tï thå SMÄ bus®  Onå oò twï harä disë driveó  caî  bå � attacheä  tï  thå  controlleò offerinç oveò ±  GigaBytå  oæ  disë � storage®  Harä  disë datá transferó arå performeä aô higè  speeä � betweeî  thå  drivå anä aî oî boarä sectoò buffeò 51² byteó  (51¶ � includinç  preamble©  iî length®  Oî boarä  buffeò  transfeò  tï � systeí  memorù arå performeä programmeä I/O®  Disë read¬  write¬ � anä seeë operationó arå polleä bù thå driveò foò completion. Š 5-1 SINGLE-USER PROCEDURES 5.2. Integrating the SMC-200 5.2.1. Initial Setup Herå  ió á diagraí oæ thå waù thå jumperó shoulä bå seô uð oî thå � SMC-200: --> Diasy-chain to Drive 0 & 1 / / --> Drive 1 / / | / --> Drive 0 | | / | | | \ / +---+|||||||||||||||||||||||||||+-----||||||----||||||----------+ | +---------------------------+ ++++++ ++++++ | | J3 J2 J1 | Š | ox | | o | | oy | | | | | | | | | | | | ooF | | ooH | | ooJ | | Aoo ooK | | Boo ooL | | Coo ooM | | PSTVW Doo ooN | | ooooo Eoo | | o ooooo | | AAo | +----+ +----------+ ||||||||||||||||||||||||||||||||||||||||||||||||| +-----------------------------------------------+ Remove all shunts and place plugs in the following: V T E AA P W M S D N The port address is now set at 40 hex. 5-2 SINGLE-USER PROCEDURES 5.2.2. Setting Up the Single-User Operating System Beforå  formattinç thå harä disk¬  seô uð thå single-useò  geî  ¦ � paró  tï includå thå SMà drives®  Nï matteò whicè driveó yoõ use¬ � alwayó  placå DSKSMà iî thå geî file¬  anä afteò  it¬  placå  thå � correcô  'speã  table§ filå whicè matcè thaô oæ thå drive(s©  yoõ � arå  usinç  (refeò tï sectioî "MODULÅ DESCRIPTION")®  Iæ yoõ  arå �Š usinç thå Amcodynå Arapahoå drive¬  thå SMà distributioî diskettå � wilì  providå  alì thå tableó needed®  Iæ yoõ  havå  á  differenô � drive¬  therå ió á "DSTSMC1¢ anä "DSTSMC2¢ examplå sourcå filå tï � modify®  Alì  yoõ havå tï dï ió re-assemblå thå drveò usinç  TASÍ � anä  thå  assembleò  wilì  prompô thå  useò  foò  drivå  specifiã � parameters®   Therå   arå   alreadù  manù  ICÍ  useró  whï   havå � successfullù modifieä variouó driveó witè theså examples®  Foò  á � listinç  oæ  somå  oæ thå drives¬  refeò  tï  sectioî  "SUPPORTEÄ � DRIVE'S¢  oò  calì ICÍ tï finä ouô iæ thå drivå yoõ havå  caî  bå � used®  Herå  ió aî examplå 16-biô master¬  single-useò geî ¦  paò � usinç  á  Megavaulô drivå aó drivå A:¬  anä aî Amcodynå  Arapahoå � fixed/removeablå Harä Disë drivå aó driveó Bº ¦ C:. ; ;CPZ-186 Single User GEN file example of 02/06/85 ; STDSINGL ; Standard Single-User O/S ;STDSPOOL ; Standard Single User with Spooler (if you have it) SOMCPZ ; CPZ-186 Signon area PATCH ; System Patch Area RTCCPZ ; RTC Driver Module CPMSUP ; CP/M-86 Support Module MSTCPZ ; Memory Descriptor Table NITCPZ ; CPZ-186 Hardware Init section CON192 ; NULL 19.2K Baud Console Driver ;CON96 ; NULL 9600 Baud Console Driver SPDCPZ ; CPZ-186 Serial/Parallel I/O Driver Module LSTCTS ; List Clear-to-Send Driver module ;LSTPAR ; List Parallel Driver Module DSKCPZ1 ; CPZ-186 Floppy disk driver module DST58I ; 8"/5" TurboDOS disk format tables DSKSMC ; SMC-200 Controller module DSTSMC1 ; modified DSTSMC1 for Megavalt DSTAK12 ; Amcoydyne Arapahoe Spec. table ;MD131DRV ; MD-1013 Hard Disk controller (1 drive) ;MD132DRV ; MD-1013 Hard Disk controller (2 drives) 5-3 Š SINGLE-USER PROCEDURES ; ;CPZ-186 Single User PAR file example of 02/06/85 ; USRSOM = 0X0D,0X0A,"ICM CPZ-186 Master CPU Board." ; SRHDRV = 0xFF ; Search Default System Drive COMPAT = 0xF8 ; Compatability Flags AUTUSR = 0x80 ; Auto Logon to User 0 Privileged ; ATNCHR = 0x00 ; Define Attention Char as BREAK Key CONAST = 0x01,CONDRA ; Assign Console to channel 1 serial FFCHR = 0x1A ; Console form feed character ; PTRAST = 0x0,LSTDRA ; assign printer port ; LDCOLD = 0x00 ; Cold start autoload flag LDWARM = 0x00 ; Warm start autoload flag ; NMBUFS = 16 ; Number of disk buffers BUFBAS = (0x3C00) ; 16K segment reserved BUFLEN = (1024) ; paragraphs to reserve MEMTBL+3 = (0x3BFF-0x0050) ; define memory we have ; DRVTBL = 0x00,0x00,0x00,0x00 ; Cover 8" drives, 3ms step rate ; DSKAST = 0x08,DSKDRB ; Megavault (fixed) 1st drive 0x18,DSKDR » Amcodynå (fixed© 2nd drive,1st part. 0x10,DSKDRB ; Amcodyne (remov) 2nd drive,2nd part. 0x00,DSKDRA ; 1st floppy 0x01,DSKDRA ; 2nd floppy ; Š 5-4 SINGLE-USER PROCEDURES 5.2.3. Formating the SMC-200 Afteò thå single-useò operatinç systeí haó beeî reconfigureä � anä booted¬  uså thå FMTSMà commanä tï formaô eacè Logicaì drive® � If formatting drive A:, type in at prompt: 0D}FORMAT A: Ruî  aî "ERASEDIR¢ oî eacè logicaì harä disë drivå  anä  seô � thå directorù "HASHED". Afteò  formatting¬  yoõ musô creatå á temporarù  single-useò � operatinç  systeí  usinç thå geî anä paró abovå anä  jusô  addinç � this to the par file: SMCRTY = 0 ; Set SMC retries down to zero(default is 4) Thió  wilì cuô ouô thå amounô oæ reaä retrieó tï  executå  á � reliablå verify® Verifù alì Harä Disë logicaì driveó thió way® Iæ � verifying drive A:, type in at prompt: 0D}VERIFY A: Wheî  thå  commanä  comeó bacë anä askó yoõ iæ yoõ  wanô  tï � write out the bad blocks, type in "Y". No÷  yoõ maù takå ouô thå "SMCRTY¢ parameteò ouô oæ thå  paò � file¬  otherwiså  yoõ  wilì geô unnescisarù  reaä  erroró  durinç � system operation. 5.2.4. Booting From Hard Disk and Setting Up a Multi-User System Š Tï Booô froí thå SMC-20° Harä DIsk¬  seô uð thå geî anä paró � tï  imitatå thå oneó giveî abovå exactlù (aó faò aó thå one'ó  wå � added)®  Yoõ wilì havå tï havå á Booô proí supplieä bù ICÍ unlesó � yoõ arå goinç tï uså youò own Foò á multi-useò system¬ yoõ maù alsï uså thå samå additionó � made to the above gen and pars without any further additions. 5-5 SINGLE-USER PROCEDURES 5.3. SMC-200 File Explanation Thå  followinç ió á lisô oæ fileó associateä witè thå KONAΠ SMC-� 20° controller: DSKSMC.REL Thå  basiã  driveò modulå thaô ió GEN'eä intï  thå �                masteò (DSKSMC.O© processoò operatinç system® Thå �                sourcå tï thió modulå ió DSKSMC.MAà (DSKSMC.A). BPDSMC.REL Thå booô PROÍ driveò modulå thaô ió useä tï creatå �                thå TurboDOÓ compatiblå booô PROM®  Thå sourcå tï �                thió  modulå ió BPDSMC.MAC®  Foò  1¶  bit¬  DSKSMà �                itselæ ió useä foò booô proí generation. DISK SPEC'S Disë  specificatioî  moduleó arå includeä  iî  thå �                masteró  .GEÎ filå tï definå thå parameteró oæ thå �                drive(s©   attacheä  tï   thå   controller®   Thå �                following disk paramter modules are included. 1) DSTSMD.REL Parameters for the Fujitsu M2312K. 2) DSTAK1.REL  ¸  biô  Paramteró foò thå Amcodynå  Arapahoå  con                figureä  aó firsô anä onlù physicaì drivå  witè  ±                logicaì  drivå  oî thå removablå cartridgå  anä  ±                logicaì drivå oî thå fixeä portion. 3) DSTAK1.O    Same as (2) for 16 bit. 4) DSTAK11.REL Samå  aó  (2)  excepô configureä aó firsô  oæ  twï                phyciaì units. Š 5) DSTAK11.O Same as (4) for 16 bit. 5-6 SINGLE-USER PROCEDURES 6) DSTAK2.REL Samå  aó  (2©  excepô configureä foò  twï  logicaì �                units each on the removable and fixed portions. 7) DSTAK2.O    Same as (6) for 16 bit. 8) DSTAK22.REL Samå  aó  (6© excepô configureä aó seconä  oæ  twï �                physical drive units. 9) DSTAK22.O   Same as (8) for 16 bit. 10© DSTAK1².O Samå  aó  (3©  excepô configureä  aó  2nd oæ  ² � physicals. 11) DSTAK21.O Same as (7) except configured as 1st of 2 physicals. 12) DSTSMC1.O  Generiã   specificatioî  tablå   foò   symmetricaì �                allocatioî  oæ  logicaì unitó oî  uniformlù  fixeä �                media®  Drivå specifiã paramteró arå prompteä foò �Š                aô  assemble-time®  Configureä foò firsô physicaì �                unit. Available in 16 bit only. 13) DSTSMC2.O  Samå  aó (12© excepô configureä aó seconä  oæ  twï �                physical units. FMTSMC.COM     Drive formatting program for 8 bit. FMTSMC.CMD     Drive formatting program for 16 bit. EQUATE.MAC Source include file for common OS equivalences. DREQUATE.MAC Source include file for common driver equivalences. NOTE: For DSTAKxy files: x = the number of logical partitions(1 or 2) ù ½ thå physicaì drivå iô represents(1, 2 or nothing. Iæ nothing¬ itó thå onlù drive.) 5-7 SINGLE-USER PROCEDURES 5.4. Module Description DSKSMC Thå  maiî disë driveò modulå ió includeä intï  thå �                masteró operatinç system® Thió modulå defineó thå �                driveò initializatioî anä functionaì entrù points¬ �Š                DSKINÀ anä DSKDRÀ (DSKINß anä DSKDRß foò  TurboDOÓ �                8086)®   Á  disë  specificatioî  modulå  musô  bå �                includeä  witè thió modulå (seå below© foò  propeò �                operation of the driver.                Thå  masteò operatinç systeí parameteò filå  whicè �                ió responsiblå foò defininç thå driveò entrù poinô �                musô  alsï configuò thå logicaì drivå tï  physicaì �                devicå  mapping®  Thå  drivå numbeò iî  thå  disë �                assignmenô  tablå haó beeî divideä intï fieldó  tï �                specifù thå SMC-20° physicaì drive¬  cartridgå  oò �                fixed, and possible partitioning.                 7 6 5 4 3 2 1 0                +---+---+---+---+---+-----------+                | 0 | 0 | 0 | D | M | PARTITION | <-- PDRDRV                +---+---+---+---+---+-----------+                Bit ´  (D© selectó thå physicaì drivå oî thå  SMC-�                20° controller®  D=° selectó drivå 0¬  D=± selectó �                drive 1.                Bit ³ (M© selectó thå fixeä oò cartridgå mediá oæ �                thå  CMÄ drive®  M=° selectó thå cartridgå media¬ �                anä M=± selectó thå fixed media.                Bitó   ²   througè  °   (PARTITION©   selecô   thå �                partitioninç    supporteä    througè   thå    disë �                specificatioî module® Onå oæ eighô partitionó peò �                physicaì  drive/mediá maù bå defineä bù  thå  disë �                specificatioî  modulå  (Seå  belo÷  foò  supporteä �                partitionó witè "DST¢ modules). ----------------------------------------------------------------- DSTAK1 Disë  specificatioî modulå foò thå Amcodynå  Modeì �                711°   Cartridgå   Modulå   Drive®   Theså   disë �                specificationó definå onå 20M cartridgå mediá anä �                onå 20M fixeä media per drive. 5-8 Š SINGLE-USER PROCEDURES Example: Thå followinç examplå showó whaô ió includeä  intï �                thå  masteò  OÓ GEÎ anä PAÒ fileó tï  supporô  twï �                physicaì  driveó  witè cartridgå anä fixeä  media® �                These are mapped into four logical system devices.                Included in master OS GEN file                ------------------------------                DSKSMC ; KONAN SMC-200 driver                DSTAK1 ; Disk specifications for DSKSMC                Included in 8-bit master OS PAR file                ------------------------------------                DSKAST = 000,DSKDRA ; A = Drive 0, cart                 008,DSKDRA ; B = Drive 0, fixed                 010,DSKDRA ; C = Drive 1, cart                 018,DSKDRA ; D = Drive 1, fixed                Included in 16-bit master OS PAR file                -------------------------------------                DSKAST = 0x00,DSKDRA, ; A = Drive 0, cart                 0x08,DSKDRA, ; B = Drive 0, fixed                 0x10,DSKDRA, ; C = Drive 1, cart                 0x18,DSKDRA ; D = Drive 1, fixed ----------------------------------------------------------------- DSTAK2 Disë  specificatioî modulå foò thå Amcodynå  Modeì �                711°   Cartridgå   Modulå   Drive®   Theså   disë �                specificationó  definå twï partitionó oæ 10M eacè �                oî thå cartridgå mediá anä twï partitionó oæ  10M �                eacè oî thå fixeä mediá peò drive. Example: Thå followinç examplå showó whaô ió includeä  intï �                thå  masteò  OÓ GEÎ anä PAÒ fileó tï  supporô  twï �                physicaì  driveó  witè cartridgå anä fixeä  media® �                Theså   arå  mappeä  intï  eighô  logicaì   systeí �                devices.                Included in master OS GEN file                ------------------------------                DSKSMC ; KONAN SMC-200 driver                DSTAK2 ; Disk specifications for DSKSMC Š 5-9 SINGLE-USER PROCEDURES                Included in 8-bit master OS PAR file                ------------------------------------                DSKAST = 000,DSKDRA ; A = Drive 0, cart ptn #1                 001,DSKDRA ; B = Drive 0, cart ptn #2                 008,DSKDRA ; C = Drive 0, fixed ptn #1                 009,DSKDRA ; D = Drive 0, fixed ptn #2                 010,DSKDRA ; E = Drive 1, cart ptn #1                 011,DSKDRA ; F = Drive 1, cart ptn #2                 018,DSKDRA ; G = Drive 1, fixed ptn #1                 019,DSKDRA ; H = Drive 1, fixed ptn #2                Included in 16-bit master OS PAR file                -------------------------------------                DSKAST = 0x00,DSKDRA, ; A = Drive 0, cart ptn #1                 0x01,DSKDRA, ; B = Drive 0, cart ptn #2                 0x08,DSKDRA, ; C = Drive 0, fixed ptn #1                 0x09,DSKDRA, ; D = Drive 0, fixed ptn #2                 0x10,DSKDRA, ; E = Drive 1, cart ptn #1                 0x11,DSKDRA, ; F = Drive 1, cart ptn #2                 0x18,DSKDRA, ; G = Drive 1, fixed ptn #1                 0x19,DSKDRA ; H = Drive 1, fixed ptn #2 ----------------------------------------------------------------- FMTSMC Formaô prograí foò thå KONAÎ SMC-20° driver® Thió �                prograí  useó  thå  formaô tracë functioî  oæ  thå �                DSKSMà driveò anä assumeó thaô thå  driver¬  disë �                specifications¬  anä  logicaì  devicå mappinç  haó �                beeî installeä intï thå TurboDOÓ masteò  operatinç �                system®  FMTSMà musô bå executeä froí banë °  oæ �                thå  masteò operatinç systeí buô doeó noô  requirå �                bufferó  tï  bå released®  Thå commanä  linå  foò �                FMTSMC is as follows:                FMTSMC d: {;v}                Wherå  "d:¢  ió thå specifieä TurboDOÓ  devicå  tï �                formaô (Aº  througè P:)® Thió wilì depenä oî youò �                disë  assignmenô tablå configuratioî anä thå  disë �                specification module you are running. Š                Thå  optionaì  ";v¢ wilì perforí onlù  thå  verifù �                pasó oæ thå formatter®  NOTEº  Thå verifù pasó ió �                alwayó  performeä afteò thå formaô pasó tï  inforí �                the operator of defective tracks on the media.                Iæ  mediá flawó arå founä witè thå verifù pasó  oæ �                thå formatter¬  thå TurboDOÓ verifù utilitù shoulä �                bå  ruî  nexô  tï marë flawó iî thå  directorù  sï �                attemptó  tï writå datá intï theså areaó  wilì  bå �                avoided® Thå TurboDOÓ eraså directorù utilitù maù �                bå  ruî eitheò beforå oò afteò thå verifù  utilitù �                to convert the directory into the hashed format. 5-10 SINGLE-USER PROCEDURES 5.5. Source Information Thå  sourceó  tï  alì thå moduleó supportinç  thå  KONAΠ SMC-20° � controlleò   anä  drivå  specificationó  arå  provideä  tï  allo÷ � reconfiguration for the system integrators specific needs. SMC-200 Base I/O Address: Thå  SMCEQÕ filå containó thå equatå foò thå baså I/Ï addresó  oæ � thå SMC-20° controller®  Thió equatå haó á defaulô settinç oæ 4° � hex¬  buô  maù bå changeä tï anù otheò valiä baså anä thå  driveò � module re-assembled. Š 5-11 SINGLE-USER PROCEDURES 5.6. Supported Drive's Herå  ió  á listinç oæ somå oæ thå Driveó alreadù useä  witè  thå � SMC-200: Amcodyne Arapahoe fixed/removable(20MB fixed/20MB removeable) -For info. call Dick Langhan at S-100 (602)991-7870 Amcodyne Comanche(160 MB) -For info. call Dick Langhan at S-100 (602)991-7870 Megavault(older models-50 MB) Š -For info. call Marc at ICM CDC 9771/800(800MB) -For info. call Al Pease at IBS (415)443-3131 CDC 9766(300MB) -For info. call Rick Surwillo at JBS (201)962-9000 CDS AMS 513-1(513MB) -Set jumpers on drive to know about 59 sectors -Set software to know about 58 sectors -For info. call Eric Lennington at Southwest Computers (214)522-1512 6. MULTI-USER PROCEDURES No÷  thaô  youò single-useò implementatioî  oæ  TurboDOS  ió � completå  anä functional¬  yoõ arå readù tï begiî thå upgradå foò � multi-useò operation. 6.1. Adding Slave Processors Basically¬  thå  changeó  wilì  bå  thå  additioî  oæ  slavå � hardwarå  anä  softwarå driveró tï thå alreadù  existinç  system® � Agaiî  wå  suggesô  thaô yoõ starô witè á  "minimuí  system¢  anä � progresó step-by-steð througè thå additioî oæ variouó peripheraló � anä softwarå driveò capabilities. Thå followinç procedurå wilì takå yoõ step-by-steð froí  thå � 6-1 MULTI-USER PROCEDURES enä  oæ  thå single-useò configuratioî througè á multiplå  slave¬ � fairlù sophisticateä multi-useò system®  Thió procedurå doeó  noô � explaiî alì possiblå capabilitieó oæ thå hardwarå oò software® Aó � witè  thå single-useò section¬  á continuouó referencå tï thå ICÍ � hardwarå  manuals¬  appendixeó anä thå TurboDOS softwarå  manualó � arå required. STARTING CONFIGURATION ASSUMED: Š Single-user OSMASTER.SYS including: 1. 2 floppies (B: & C:) (via FPB-158-xx) 2. 1 CRT (console) (via Stock NO MODEM RPB-100) Yoõ  wilì notå thaô therå arå á numbeò oæ additionaì oò  ne÷ � driveró  listeä  iî thå CPZMASTR.GEN®  Theså arå thå  differenceó � betweeî   single-useò  anä  multi-useò  configuratioî   foò   thå � operatinç system. MCDCPÓ   ió   thå  Masteò  Circuiô  Driveò   thaô   controló � communicationó  tï botè ¸ anä 1¶ biô slavå processors®  Thió  ne÷ � driveò  (Ö 1.4X© differó froí thå previouó versionó iî  thaô  yoõ � don'ô  neeä  tï specifù thå numbeò oæ slaveó iî  thå  network.Thå � driveò  wilì  no÷  scaî  thå  buó  tï  re-configurå  thå  Circuiô � Initializatioî  routinå (cktin@© accordinç tï ho÷ manù slaveó  iô � findó active®  Thió modulå MUSÔ bå thå lasô activå driveò iî thå � CPZMASTR.PAÒ  filå witè thå exceptioî oæ aî ARCNEÔ driver®  Therå � arå  numerouó  ne÷  parameteò nameó whicè  relatå  tï  slavå  anä � master-slavå  operation®  Refeò tï thå ICÍ softwarå documentatioî � anä thå TurboDOÓ manuaì foò furtheò detailó oî theså  parameters® � Yoõ  musô  no÷  creatå á ne÷ operatinç systeí imagå viá  thå  GEÎ � operation®  Therå ió nï neeä tï re-GEÎ thå OSLOAD.COÍ filå aó  iô � wilì  remaiî fixed®  Yoõ wilì neeä tï GEÎ thå CPZMASTR.GEÎ ¦ PAÒ � fileó  anä  targeô  thå outpuô filå tï á  ne÷  texô  filå  calleä � OSTESTM.SYS®  (Thå defaulô valueó foò thå CPZMASTR.GEÎ ¦ .PAÒ arå � iî appendiø C:) 0A}GEN CPZMASTR OSTESTM.SYS 6-2 Š MULTI-USER PROCEDURES Thå  CPSSLAVE.GEÎ ¦ PAÒ fileó arå minimaì configurationó  aó � shippeä  oî thå ICÍ distributioî diskette¬  anä yoõ wilì neeä  tï � GEÎ theí tï á targeô filå OSSLAVE.SYS®  Aó therå haó beeî nï Z-8° � slavå  systeí  fileó provided¬  yoõ shoulä  uså  thå  OSSLAVE.SYÓ � filenamå  tï precludå havinç tï changå thå TurboDOÓ  patcè  poinô � SLVFΠ  locateä  iî  thå  modulå  NETSVà requireä  foò  start-uð � operation® Thå  CPSSLAVE.PAÒ filå setó thå masteò anä slavå consolå  aô � 960°   bauä  witè  á  "privilegeä  user¢  logoî  capabilitù   (Nï � password). Gen the OSSLAVE.SYS file thus: 0A}GEN CPSSLAVE OSSLAVE.SYS Thå systeí shoulä bå shuô dowî anä á singlå ICÍ slavå  boarä � inserteä iî thå S-10° Bus®  Power-uð anä perforí thå samå voltagå � checkó  suggesteä aô thå beginninç oæ thå single-useò procedures® � Assuminç  alì voltageó arå OK¬  power-down anä attacè á NÏ  MODEÍ � personalitù  carä  (RPB-100© betweeî connectoò J³ oî  thå  CPS-MØ � slavå  carä  anä  á  CRÔ terminaì viá  thå  samå  typå  cablå  aó � suggesteä foò thå masteò consolå iî thå single-useò section®  CRÔ � set-uð ió alsï identicaì tï thå masteò console. Thå CPÓ slavå carä musô bå configureä tï responä tï á uniquå � addresó  oî  thå  S-10° bus®  Alì CPS-MØ  oò  CPS-BMØ  cardó  arå � strappeä tï I/Ï addresó 7Æ Heø wheî theù leavå ICM® Alì CPS-1¶ oò � CPS-18¶ cardó arå strappeä tï I/Ï addresó 3Æ Heø wheî theù  leavå � ICM®  Eacè  CPÚ SBà caî addresó slaveó (7FÈ thrõ 70H© oò (3Æ thrõ � 30H)® Thå CPSSLAVÅ anä CPZMASTÒ fileó arå setuð tï communicatå tï � slaveó iî anù I/Ï addresó order® However¬ therå ió nï restrictioî � regardinç  slaveó excepô thaô therå caî bå onlù onå slavå enableä � aô  eacè I/Ï porô addresó location®  Referencå thå CPS-MØ  manuaì � pageó 1¸ ¦ 1¸ 1/² oò thå tablå below: Š 6-3 MULTI-USER PROCEDURES T A B L E 6-1: 8 and 16 Bit Slave I/O Port Jumpering 8 Bit Physical 16 Bit Physical Slave I/O Port Representation I/O Port Representation 1 7F 10000000 3F 00000011 2 7E 10000001 3E 10000011 3 7D 10000010 3D 01000011 4 7C 10000011 3C 11000011 5 7B 10000100 3B 00100011 6 7A 10000101 3A 10100011 7 79 10000110 39 01100011 8 78 10000111 38 11100011 9 77 10001000 37 00010011 10 76 10001001 36 10010011 11 75 10001010 35 01010011 12 74 10001011 34 11010011 13 73 10001100 33 00110011 14 72 10001101 32 10110011 15 71 10001110 31 01110011 16 70 10001111 30 11110011 1 = Short 0 = Open Thå  CPS-MØ slaveó eacè carrù 64Ë oæ RAM®  Alì slavå RAÍ  iî � thå systeí resideó iî thå samå 64Ë addresó spacå anä ió addresseä � froí thå masteò usinç thå slaveó I/Ï Porô selecô signal® Thió 64Ë � blocë  ió  placeä  immediatelù abovå thå  CPZ-4800Ø  Masteró  64Ë � Memorù Space® Re-applù  poweò  tï  thå systeí anä  allo÷  thå  single-useò � "default¢ systeí tï re-load®  Perforí á ne÷ operatinç systeí loaä � aó follows: 0A}OSLOAD OSTESTM.SYS Thå  masteò consolå CRÔ shoulä indicatå thå normaì  TurboDOS � messagå  anä  thå consolå wilì terminatå sincå CONREÍ ió  enableä � iî thå masteò paò file®  Thå slavå consolå shoulä no÷ displaù thå � samå messages®  Iæ thå slavå doesn'ô boot¬  replacå thå CONREÍ iî � thå masteró paò filå witè CON9¶ anä trù tï loaä thå slavå  again® �Š Iæ  thå  masteò  comeó  bacë witè á  0Aý  prompt¬  thå  softwareó � probablù  alright¬  anä yoõ maù havå tï gï bacë á fe÷  stepó  anä � make sure the hardware is set up correctly. Tesô foò propeò operatioî aô eacè slavå consolå througè DIR¬ � COPY¬  TYPE¬  etc®  operations®  Makå  surå thaô eacè consolå caî � accesó  eacè  disë device®  Yoõ havå  successfullù  starteä  youò � TurboDOÓ Multi-Useò system. 6-4 MULTI-USER PROCEDURES 6.2. Printer on Slave Botè paralleì anä seriaì printeò driveró arå provideä iî thå CPSSLAVE.GEΠ file®  Enablå thå desireä driveò dependinç oî  youò devicå  interfacå  capabilities®  Ediô thå CPSSLAVE.PAÒ  filå  tï includå á PTRAST® Thió parameteò filå wilì assigî thå lisô devicå tï thå propeò driveò durinç thå GEN process. For SERIAL printer on serial port: PTRAST = 00,LSTDRA (assigns serial device to 1st serial port or slave CPS or Masters CPZ) For PARALLEL printer on parallel port: PTRAST = 00,LSTDRA (defaultó tï paralleì porô regardlesó  oæ                         1st byte entry). Iî thió configuration¬ thå slavå knowó abouô thå printeò buô � nï  otheò  useró  arå  awarå thaô iô  exists®  Tï  assigî  shareä � devices¬  refeò tï Appendiø Ä foò exampleó oæ shareä printeró  oî � slaves. 6.3. Remote or Physical Master Console Aó  mentioneä earlier¬  iô ió preferablå tï havå thå  masteò � SBà configureä withouô á consolå (i.e®  NÏ user)®  Thió ió duå tï � thå  reductioî iî systeí performancå whicè ió experienceä bù  thå � slaveó  wheî  thå  masteò  ió beinç useä foò  otheò  thaî  systeí � supporô  functions®  Therå is¬  however¬  thå neeä tï bå ablå  tï � accesó thå masteò viá á console® CONREÍ whicè ió meanô tï replacå � thå CON9¶ oò CON19² driveò iî thå CPZMASTR.GEÎ filå provideó thió Š function® CONREÍ enableó á useró slavå tï communicatå directlù tï � thå masteò oî hió owî terminaì viá thå MASTER command®  Onlù  onå � useò ió alloweä tï hooë tï thå masteò aô á time. i.e. 0A}MASTER Console attached to master processor 0A} Thå  MASTEÒ  commanä  caî  bå useä tï  perforí  direcô  disë � commandó sucè aó FORMAT¬  VERIFY¬ BACKUÐ oò HALT® Afteò executinç � theså  commands¬  detacè  froí  thå masteró  consolå  bù  hittinç � BREAK,^C®  Thió  wilì  enablå  otheò useró tï accesó  thå  masteò � console®  Ediô  thå  CPZMASTR.GEΠ anä  disablå  thå  operationaì � consolå driveró anä enablå thå CONREÍ module. 6-5 MULTI-USER PROCEDURES 6.4. Clock/Calendar on Slave Iî multi-useò TurboDOS thå CPZMASTR.GEÎ filå musô bå  editeä tï  enablå thå MASTRCLK.REÌ driveò onlù iæ iô ió tï  bå  attacheä directlù tï thå masteò SBC anä noô placeä oî á slave. Tï  allo÷ thå masteò paralleì porô tï bå useä foò á  centraì � printeò  oò possiblù tï accesó thå disë driveó viá á  personalitù � boarä  anä  stilì  havå thå systeí clocë available¬  therå  ió  á � provisioî madå tï connecô thå clocë board¬ CCB-100¬ tï anù onå oæ � thå  slaveó  iî thå systeí anä havå thå  TIME/DATÅ  automaticallù � forwardeä  tï  thå  masteò foò uså  bù  alì  otheò  slaves®  Thió � operatioî occuró aô power-up/boot® Foò  thå  slavå whicè wilì havå thå CCB-10°  installed¬  thå � CPSSLAVE.PAÒ  filå  musô bå modifieä tï enablå thå  LDCOLÄ  (i.e® � LDCOLÄ  ½  0FF)®  COLDFΠ musô alsï bå enableä  bù  removinç  thå � semicoloî  (;©  froí  iî fronô oæ thå  filename®  Notå  thaô  thå � SLVCLK.AUÔ  filå  ió NOÔ includeä iî thå CPSSLAVE.GEΠ file.  Thå �Š filå SLVCLK.AUÔ musô bå copieä tï useò ° witè thå copù commanä iæ � thå  systeí  ió  fullù privileged®  Iæ usinç á  LOGOΠ systeí  (á � passworä  systeí covereä lateò iî thió section)¬  thå  SLVCLK.AUÔ � musô bå copieä tï useò 31® Remembeò thaô wheneveò anù GEÎ oò PAÒ fileó arå altered¬ yoõ � musô  re-geî  theí  witè thå GEÎ commanä anä thå systeí  musô  bå � reloaded®  Iî thió case¬  therå ió nï neeä tï re-booô thå system¬ � onlù á neeä tï reloaä thå masteò sï iô wilì re-loaä thå slaveó tï � causå thå date/timå tï bå reaä intï thå system. 0A}OSLOAD OSTESTM.SYS Afteò  reloadinç thå masteò anä slavå operatinç systemó  thå � clock/datå   informatioî  shoulä  bå  availablå  oî  (all©  slavå � consoles®  Thió caî bå testeä bù typinç 0A}DATE oî alì thå  slavå � consoles® 6-6 MULTI-USER PROCEDURES 6.5. Clock/Calander on a 16-bit Slave Tï  enablå á CCB-10° oî á 16-biô slave¬  LDCOLÄ needó tï  bå � changeä tï 0xFÆ anä COLDFÎ wilì executå TDTIMES.CMD® Thió commanä � caî bå founä oî thå ICÍ Utilitieó diskette®  Iæ thå slavå ió  seô � uð foò logoî security¬ copù thió commanä uð tï useò 31¬ otherwiså � iô shoulä bå kepô oî useò 0. Š USRSOM = 0x0D,0x0A,"Intercontinental Micro Systems, Corp." 0x0D,0x0A,"8086 Slave." ; SRHDRV = 0xFF ;Search Default System Drive COMPAT = 0xF8 ;Compatability Flags AUTUSR = 0x80 ;Auto Logon to User 0 Privileged ; ATNCHR = 0x00 ;Define Attention Char as "BREAK" Key CONAST = 0x01,CONDRA ;Assign Console to Port B Serial ; MAXMBS = 0x03 MAXRPS = 0x03 ; MEMTBL+3 = (0x3FFF-0x0050) ; 256 Kbyte Slave memory specs ;MEMTBL+3 = (0x7FFF-0x0050) ; 512 Kbyte Slave memory specs ;MEMTBL+3 = (0xFFFF-0x0050) ; 1 Mbyte Slave memory specs ; LDCOLD = 0xFF ;Enable Cold Load function COLDFN = 0,"TDTIMES CMD";Init TurboDOS Data/Time using CCB-100 LDWARM = 0x00 ;Disable Warm Load function 6-7 Š MULTI-USER PROCEDURES 6.6. Adding Banked Slaves Bankeä slaveó wilì havå tï bå Gen'eä uð froí thå  SLVBNK.PAÒ � anä  SLVBNK.GEΠ samplå  files®   Thå  SLVBNË  fileó  arå  almosô � identicaì  tï  thå CPSSLAVÅ fileó excepô thaô iô haó alì  oæ  thå � Banë Manageò moduleó included® Modificationó madå tï theså slaveó � wilì bå donå iî thå exacô samå wayó aó thå CPSSLAVÅ slaves¬ sï iô � wilì noô bå discusseä iî thió section®  Therå ió onlù onå  changå � tï bå madå wheî generatinç thió file: 0A}GEN SLVBNK OSSLAVEB.SYS;KFC00 Thå suffiø "B¢ waó addeä tï OSSLAVÅ tï distinguisè iô froí á � 64Ë  slavå  whicè maù bå iî thå system®  Thå ;KFC0°  defineó  thå � commoî  areá  betweeî thå bankó oî thå slavå anä iæ noô  includeä � thå slavå wilì crash¡  Thå slavå suffiø tablå iî thå CPZMASTR.PAÒ � filå waó alsï havå tï reflecô this: SSTCSA = " BB B " ; O/S Suffix table for CPS-MX "ZZZZZZZZ" ; O/S Suffix table for CPS-16 PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 3B,3A,39,38 No÷   thå  samplå  filå  ió  seô  uð  64K-Slaveó  oî   portó � 7F,7E,7B,7¹ anä 78® Thå 128-Bankeä Slaveó arå seô oî portó 7D,7C¬ � anä  7A®  Tï implemenô morå thaî eighô Z-8° slaves¬  changå  thå � porô  anä suffiø tableó foò thå amounô yoõ require®  Thå  driveò � caî  bå  includeä morå thaî oncå iî thå GEÎ filå tï supporô  morå � thaî  1¶ slaves®  Thå GEÎ wilì producå á duplicatå  symboì  erroò � whicè caî bå ignored® Š 6-8 MULTI-USER PROCEDURES 6.7. 16 BIT MASTER (CPZ-186) Thå  16-biô  masteò  useó  á  powerfuì  8018¶  processoò  tï � orchestratå  thå  S-10° network®  Iô operateó aô  8-Mhú  witè  nï � onboarä  wait-stateó  required®  Iô comeó standarä witè  256Ë  oæ � memory¬  whicè  ió expandablå tï ± megabytå witè thå additioî  oæ � 256*1Ë  dynamiã RAÍ chipó anä á prom®  Itó advantagå aó á networë � serveò  oveò aî 8-biô masteò ió noô onlù the increaseä worä  sizå � anä speed¬  buô alsï itó abundancå oæ onboarä memory®  Iô caî no÷ � handlå  anù sizå operatinç systeí withouô sacraficinç TPÁ  space® � Thå  onboarä cachinç bufferó caî alsï bå increaseä tï  aî  amounô � whicè  ió  morå suitablå foò systeí disë buffering®  Witè  thå  ± � megabytå  option¬  700ë caî bå alotteä foò buffers®  Aó witè  thå � resô  oæ ICM'ó products¬  thå 16-biô masteò caî bå useä witè  thå � resô oæ ouò existinç products¬ includinç 8-biô slaves. Beforå bringinç uð thå system¬ gï oveò thå Buó Voltagå Checë � discusseä aô thå beginninç oæ thå manual®  Thå boarä wilì booô uð � usinç  thå  configuratioî  'I§ 8018¶ booô diskette®  Iæ  usinç  á � Monitoò Dynamicó Harä Disë controller¬  therå ió á 16-biô versioî � oæ  thå  formaô prograí availablå oî thå  ICM-UTILITIEÓ  diskettå � nameä TESTMD.CMD®  Thå configuratioî 'I§ diskettå alsï comeó witè � á 16-biô assembler(TASM.CMD© anä á linkeò prograí whicè  replaceó � thå  8-biô  GEÎ command(TLINK.CMD)®  T A B L E 6-2: Filå extensions used in 16-bit TurboDOS ??????.CMD --------> 16-bit executable commands ??????.O --------> 16-bit relocatable files ??????.A --------> 16-bit source files Botè  ¸ anä 16-biô fileó caî exisô oî thå samå  drivå  sincå � botè operatinç systemó wilì defaulô tï their owî extensions® Onlù � thå  16-biô  operatinç  systeí wilì looë  foò  .CMÄ  fileó  wheî � executinç á command®  Foò gooä housekeeping¬ iô ió á gooä ideá tï � keeð thå .REÌ anä .Ï fileó oî seperatå users. Š 6-9 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES 7. CPZ-186 MASTER MULTI-USER SYSTEM CHANGES 7.1. Software Modifications Thå GEÎ fileó foò thå CPZ-18¶ baseä systeí arå verù  similaò � tï thå 8-biô versionó presenteä earlier®  Thå PAÒ fileó arå verù � similaò  aó well®  Thå majoò differencå betweeî thå 8-biô anä thå � 16-biô  versionó  ió thaô tï denotå á HEØ (baså 16©  number¬  thå � numbeò  haó tï bå precedeä witè á 0x®  Iî thå patcè table¬  iô ió � requireä  tï  seô  "[¢ anä "]¢ arounä  variablå  declarationó  aó � defineä  iî  thå  exampleó  giveî  bù  Softwarå  200°  witè   thå � distribution diskettes. Listeä  belo÷ ió aî examplå oæ thå porô assignmenô tablå foò  thå � slaves: 8-bit PATCSA = 7F,7E,7C 16-bit PATCSA = 0x7F,0x7E,0x7C Thå  0ø  telló thå linkeò TLINË tï takå thå nexô numbeò aó á  heø � value®  Iæ  thå 0ø ió noô supplied¬  thå numbeò ió assumeä tï bå � decimal. Belo÷  ió aî examplå oæ thå CPZ-18¶ aó á  multi-useò  masteò � supportinç 8-biô anä 16-biô slaves: ;CPZMST16.GEN CPZ-186 NETWORK MASTER STDMASTR ; STANDARD 16-Bit Multi-User OS ;NETREQ ; Support module for Despooling/Networking Š ;MSGFMT ; " " " " " ;NETLOD ; " " " " " ;NETFWD ; " " " " " PATCH ; SYSTEM PATCH AREA RTCCPZ ; RTC DRIVER MODULE CPMSUP ; CP/M-86 SUPPORT MODULE MSTCPZ ; MEMORY DESCRIPTOR TABLE NITCPZ ; HARDWARE INITIALIZATION CONREM ; Use remote console for slaves ;CON192 ; NULL 19.2K BAUD CONSOLE DRIVER ;CON96 ; NULL 9600 BAUD CONSOLE DRIVER SPDCPZ ; SERIAL/PARALLEL I/O DRIVER LSTCTS ; LIST CLEAR-TO-SEND DRIVER ;LSTPAR ; LIST PARALLEL DRIVER DSKCPZ1 ; CPZ-16 Floppy disk driver module DSK58I ; 8"/5" TurboDOS disk format tables MD131DRV ; Monitor Dynamics MD-1013 with 1 drive ;MD132DRV ; Monitor Dynamics MD-1013 with 2 drives MCDCPS ; 16 Bit Master/Slave circuit driver module ;LANCPZ ; TurboLAN Network Driver Module 7-1 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES ;CPZMST16.PAR CPZ-186 NETWORK MASTER SRHDRV = 0xFF ; Search Default System Drive COMPAT = 0xF8 ; Compatibility Flags AUTUSR = 0x80 ; Auto Logon to User 0 Privileged ; CONAST = 0x01,CONDRA ; Assign Console to channel 1 serial ; ; PATCSA = 0x7F,0x7E,0x7D,0x7C ; Status port table for CPS-MX) 0x7B,0x7A,0x79,0x78 ; (default values) 0x3F,0x3E,0x3D,0x3C ; Status port table for CPS-16 0x3B,0x3A,0x39,0x38 ; (default values) ; SSTCSA = " B " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-16 PTRAST = 0x00,LSTDRA ; assign printer to port 00 QUEAST = 0x00,(0x0000) ; LDCOLD = 0x00 ; Cold start autoload flag Š ;COLDFN = 0,"TDTIMEM CMD"; Init TurboDOS Date/Time function LDWARM = 0x00 ; Warm start autoload flag ; OSMLEN = (1024) ; allow 16K for Dyn. expansion ; NMBUFS = 128 ; Number of disk buffers BUFBAS = (0x2000) ; 16K memory segment reserved BUFLEN = (8192) ; paragraphs to reserve MEMTBL+3 = (0x1FFF-0x0050) ; define memory we have for O/S ; BFLDLY = (0x64) ; Flush buffers every 2 seconds ; DRVTBL = 0x41,0x41,0x41,0x41 ; 6ms step rate, tandon bit set ; DSKAST = 0x01,DSKDRB,0x00,DSKDRA,0X01,DSKDRA,0X02,DSKDRA 0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000), 0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000), 0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000) 7-2 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES 7.2. Hardware Modifications Thå  CPZ-18¶  ió seô uð tï occupù thå firsô ´ 64Ë  pageó  oæ � memory¬  whicè ió equaì tï ± megabytå iî length® Iî á systeí thaô � haä  beeî usinç thå 8-biô CPZ-48000¬  thå slaveó wilì havå tï  bå � re-addresseä  sincå theiò olä settingó wilì conflicô witè thå ne÷ � master'ó addresó spacå usage® Thå CPZ-18¶ deticateó thå firsô MEÇ �Š oæ  raí  tï  internaì uså eveî iæ thå largeò RAÍ  chipó  arå  noô � installed®  Commencinç aô thå ± MEÇ boundry¬  á CPS-MØ 8-biô wilì � occupù thå nexô 64K¬  anä thå CPS-1¶ wilì starô aô thå samå  baså � address¬  buô  extenä oveò thå nexô ´ 64Ë pages®  Havinç alì thå � slaveó  aô thå samå addresó ió possiblå sincå onlù onå  slavå  ió � activå  aô á time®  Thå activatioî tï triggereä viá theiò  uniquå � I/Ï porô number. 4 Megabytes Total Address Lines >+--------------------+ / | | / | | 1 Meg -< | | \ | | \ | | >+--------------------+ 11 0000 0000 0000 0000 0000 |- - - - - - - - - - | | ARCNET | |- - - - - - - - - - | 10 1111 1111 1000 0000 0000 | | | | A21 +--------------------+ 10 0000 0000 0000 0000 0000 | | | | | SLAVES | | | | | A20 +--------------------« 01 0000 0000 0000 0000 0000 | | | | | CPZ-186 | | | | | A°  +--------------------« 00 0000 0000 0000 0000 0000 T A B L E 7-1: CPZ-186 Memory Usage Map 7-3 Š CPZ-186 MASTER MULTI-USER SYSTEM CHANGES 7.3. CALCULATING DISK BUFFERS FOR CPZ-186 Thå  CPZ-18¶  haó  thå  memorù  divideä  betweeî  DISË   BUFFERS¬ � OPERATINÇ SYSTEÍ anä TPA®  Tlinë ió useä foò 16-biô TurboDOÓ anä � acceptó  decimaì  values®  Alì oæ theså calculationó arå donå  iî � decimal®  NOTEº Parenthesió ¨ © arå aô timeó requireä tï siginifù � a 16-bit value. Tï calculatå thå patheó foò thå masteò PAÒ filå uså thå followinç � formulas: NMBUFS Ió  thå  numbeò  oæ  disë bufferó  anä  caî  rangå �                betweeî ± anä 25µ decimal. BUFSIZ Takes on the following values: 3 to mean 1024 byte buffers 4 to mean 2048 byte buffers 5 to mean 4096 byte buffers BUFLEN Thå  buffeò lengtè ió NMBUFS timeó BUFSIÚ  divideä �                by 16. Example 8193 = (128 * 1024) / 16 BUFBAS Ió  thå amounô oæ memorù minuó thå buffeò  length® �                BUFBAS = MEMMAX - BUFLEN Where MEMMAX = 16,384 for 256K 32,768 for 512K 65,535 for 1-MEG MEMTBL+3 = (BUFBAS - 0x0050) Example MEMTBL+3 = (8193 - 0x0050) Sincå  thå NUMBUÆ caî onlù gï uð tï 25µ tï geô morå theî 255Ë  oæ � disë bufferó yoõ havå tï increaså thå bufferó sizå anä  recomputå � thå buffeò informatioî anä instalì iô intï thå PAÒ file® DOUBLÅ  CHECË YOUÒ MATÈ ¡  ¡  Buffeò allocatioî ió criticaì  anä � musô bå donå corectly. Š 7-4 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES Yoõ  wilì neeä á de-wirå wrappinç tooì oò á paiò oæ tweezeró  anä � somå jumperó tï makå the Extendeä Addressinç Selecô changes: ________________________________________________________________ 8-BIÔ SLAVES CPS-MX or CPS-BMX Using CPZ4800x: Using CPZ-186: A23 A16 A23 A16 O O O O O O O O O O O O O O O O | | | | | | | | | | | | | | O O O O O O O O O O O O O O O O ________________________________________________________________ 16-Bit SLAVES CPS-16 Using CPZ4800x: Using CPZ-186: A16 A20 A16 A20 O O O O O O O O O O | | | | | | | | O O O O O O O O O O ________________________________________________________________ LANS100 S-100 ARCnet controller in memory mapped mode Using CPZ4800x: Using CPS-16: Š O----O A23 O----O A23 O----O O----O O----O O O O----O O----O O O O O O O O O O O O O O O A16 O O A16 ________________________________________________________________ 7-5 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES 7.4. 16 Bit Slaves Configurinç  á systeí witè 16-biô slaveó ió verù similaò  tï � 8-biô slaves®  Thå maiî differencå ió thå Relocatablå moduleó arå � calleä  *.O fileó insteaä oæ *.REL files®  Anotheò differencå  ió � thaô alì valueó iî thå parameteò fileó havå tï bå precedeä witè á � 0x  tï distinguisè iô aó á HEØ valuå; thå defaulô baså ió decimal® � Alì  16-biô executablå commandó havå á taiì defaultinç aô  *.CMD® � Therå ió á Z8° emulatoò oî thå MUTD-Ç disë calleä TZ80.CMD®  Thió � wilì enablå yoõ tï ruî mosô CP/M-8° programó froí á 16-biô slave® � Becauså eacè commanä needó tï ruî througè thå emulator¬  yoõ  caî � expecô  á  substantiaì decreaså iî speeä especiallù  witè  screeî � intensivå programs®  Tï exiô thå emulator¬  presó thå "break¢ anä � "^C¢ keys. Thå  16-biô  slavå  useó thå "CPSSLV16¢ Geî  anä  Paò  fileó � availablå oî thå MUTD-Ç diskette®  Thió caî be modifieä oî eitheò � aî  8-biô  editoò  oò á 16-biô editor®  Sincå thió  ió  á  16-biô � operatinç system¬ iô caî onlù bå linkeä oî á 16-biô processor® Iô � ió  á gooä rulå oæ thumâ tï linë thió filå beforå  modifyinç  thå � masteò  Geî anä Paò files®  TLINK.CMÄ wilì replacå thå GEN.COÍ oî � thå 16-biô slave: 0A}TLINK CPSSLV16 OSSLAVEZ.SYS Thå diskettå alreadù haó aî "OSSLAVEZ.SYS¢ filå oî iô  whicè � onlù assumeó á 960° bauä terminaì witè ¸ datá bits¬  ² stoð bits¬ � anä  nï  parity®  Thå  "CPZMASTR.PAR¢  alreadù  haó  thió  suffiø � includeä   iî   itó   slavå  suffiø   tablå   aô   porô   addresó � 3F,3E,3D,3C,3B,3A,3¹ anä 38: Š PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 3B,3A,39,38 ; SSTCSA = " " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-16 7-6 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES Belo÷  ió aî examplå CPSSLV1¶ Geî anä Paò Filå witè á Direcô � Printinç Locaì Seriaì Printer: CPSSLV16.GEN STDSLAVE ; Standard 16 Bit Slave O/S Module PATCH ; Include system patch area SOMCPS ; I.C.M. Slave Sign-on Module RTCNUL ; Null RTC driver module CPMSUP ; CP/M-86 Support Module MSTCPS ; 16 Bit Memory Descriptor Table NITCPS ; 16 Bit Slave hardware init module ;CON192 ; Include Null 19.2K baud Terminal Driver CON96 ; Include Null 9600 baud Terminal driver SPDCPS ; Include Serial I/O driver LSTCTS ; Include Serial List Clear to Send driver ;LSTPAR ; Include Parallel List Null Driver RESCPS ; 16 Bit Slave Keyboard Reset Module SCDCPS ; 16 Bit Slave Circuit Driver Module Š CPSSLV16.PAR USRSOM = 0X0D,0X0A,"ICM CPS-16 SLAVE" SRHDRV = 0xFF ; Search Default System Drive COMPAT = 0xF8 ; Compatibility Flags AUTUSR = 0x80 ; Auto Logon to User 0 Privileged ; ATNCHR = 0x00 ; Define Attention Char as BREAK Key RESKEY = 0X00 ; Define the reset detection key CONAST = 0x01,CONDRA ; Assign Console to channel 1 serial FFCHR = 0x1A ; Console form feed character ; PTRAST = 0x00,LSTDRA ; Local printer as A PRTMOD = 0 ; Print Mode = Direct ; LDCOLD = 0x00 ; Cold start autoload flag (0=disabled,FF=enabled) LDWARM = 0x00 ; Warm start autoload flag (0=disabled,FF=enabled) ; ; If using TurboDos Ver. 1.41, include ; patches 2,3 7-7 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES 7.4.1. One Megabyte 16 Bit Slaves Witè thå availabilitù oæ thå 256k*± dynamiã RAÍ  chips¬  thå � CPS-1¶  caî  holä uð tï ± Megabyte¬  witè thå additioî oæ  á  PAÌ � #(310-04©  iî Ià locatioî U66®  Foò thió example¬  we'lì uså  thå � namå OSSLAVE1.SYÓ foò thå ± Megabytå Slave. Š CPZMASTR.PAR AUTUSR = 80 ; Auto Log-on to user one, privileged SRHDRV = 0FF ; Search system disk for command files ; ;------- If Using CB-80 V1.3 Only ---------------+ ; Must be the same in Slave files | ;COMPAT = 0B8 ; If using CB-80 V1.3 | ;CPMVER = 22 ; Inhibit CB-80 Record Locking | ;-------- ELSE using CB-80 V1.4 -----------------+ ; Must be the same in Slave files | COMPAT = 0F8 ; File/Record Locking Flags | ;CPMVER = 30 ; Allow CB-80 Record Locking | ;------------------------------------------------+ ; NMBUFS = 0A ; Default number of Disk Buffers (hex) BUFSIZ = 03 ; Default disk buffer size MEMRES = (0400) ; Dynamic Memory Expansion of TurboDOS ; PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 3B,3A,39,38 ; SSTCSA = " " ; O/S suffix table for CPS-MX "1Z1ZZZZZ" ; O/S suffix table for CPS-16 ; CONAST = 01,CONDRA ; Console on port 1 of CPZ-48000 STOPBB = 44 ; PTRAST = 00,LSTDRA ; List assignment table STOPBA = 44 ; (Rest of File omitted) 7-8 Š CPZ-186 MASTER MULTI-USER SYSTEM CHANGES Aó showî iî Appendiø B¬  thå Memorù Tablå Variablå haó tï bå � changed in the CPSSLV16.PAR file: CPSSLV16.PAR USRSOM = 0X0D,0X0A,"ICM CPS-16 SLAVE" SRHDRV = 0xFF ; Search Default System Drive COMPAT = 0xF8 ; Compatibility Flags AUTUSR = 0x80 ; Auto Logon to User 0 Privileged ; ATNCHR = 0x00 ; Define Attention Char as BREAK Key RESKEY = 0X00 ; Define the reset detection key CONAST = 0x01,CONDRA ; Assign Console to channel 1 serial FFCHR = 0x1A ; Console form feed character MEMTBL+3 = [0xFFFF-0x50] ;Memory table for 1MByte slave ;MEMTBL+3 = [0x8000-0x50] ; Memory table for 512KByte slave ;MEMTBL+3 = [0x4000-0x50] ; Memory table for 256KByte slave ;MEMTBL+3 = [0x2000-0x50] ; Memory table for 128KByte slave ; PTRAST = 0x00,LSTDRA PRTMOD = 0 ; LDCOLD = 0x00 ; Cold start autoload flag (0=disabled,FF=enabled) LDWARM = 0x00 ; Warm start autoload flag (0=disabled,FF=enabled) ; ; If using TurboDos Ver. 1.41, include ; patches 2,3 Thió  examplå showó thå 1-Megabyte,16-biô slaveó aô I/Ï porô � 3F and 3D. On those slaves, type in TPA to verify. Š 7-9 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES 7.4.2. Mixing 8 And 16 Bit Slaves Thå  suffiø  tablå supplieä witè thå CPZMASTR.PAÒ  filå  haó � alreadù  madå  provisionó  foò mixinç ¸ anä  16-biô  slaves®  Thå � Masteò Circuiô Driveò ió seô uð tï addresó thå firsô eighô  8-biô � slaves and the first eight 16-bit slaves: PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 3B,3A,39,38 ; SSTCSA = " " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-16 Thå  Circuiô  Initializatioî routinå wilì gï tï thå buó  anä � scaî foò thå numbeò oæ slaveó presenô iî á system¬  sï thå numbeò � oæ slaveó doeó noô havå tï bå modifieä iî thå CPZMASTR.PAÒ aó  iî � thå  oldeò versionó of Turbo-Dos®  Thå 8-biô slaveó arå defaulteä � aó OSSLAVE.SYÓ (nï suffix© anä thå 16-biô slaveó arå defaulteä aó � OSSLAVEZ.SYÓ  (Ú  suffix)®  Thió enableó yoõ tï brinç uð á  basiã � Turbo-Doó operatinç systeí witè nï modifications. Iæ yoõ neeä tï includå morå thaî eighô 8-biô slaveó oò  morå � thaî eighô 16-biô slaveó iî youò system¬ jusô reassigî thå valueó � in the PATCSA and SSTCSA in the tables above to shift either way. Iæ  yoõ  wanô  tï assigî morå thaî 1¶ slaves¬  yoõ wilì  neeä  tï � includå thå Slavå Masteò Circuiô Driveò twice®  Wheî yoõ geî  thå � CPZMASTÒ  witè twï drivers¬  iô wilì givå yoõ á duplicatå  symboì � error¬  buô iô wilì stilì linë thaô modulå iî corectly®  Á seconä � Porô  Assignmenô  Tablå  anä Suffiø Tablå wilì alsï  havå  tï  bå � patched® Refeò tï thå examplå belowº .ié morå thaî 1¶ slaves CPZMASTR.GEN STDMASTR ; Standard networking master PATCH ; Include PATCH Module FASLOD ; Use fast disk loader module ;NETREQ ; Network request module ;MSGFMT ; Message format module CPMSUP ; CP/M function support module CONREM ; Use remote console module Š ;CON192 ; Null 19.2 Kbaud Console Driver ;CON96 ; Null 9600 Baud Console driver NITCPZ ; CPZ-48000 hardware initialization SPDCPZ ; CPZ-48000 Serial and Parallel I/O LSTCTS ; TI810 CTS Driver (LSTDR@ assigned to LSTDRA) ;LSTPAR ; Parallel Printer driver (CPI-100 centronics board) RTCCPZ ; CPZ-48000 real time clock driver ;MSTRCLK ; Include ICM ccb board drvr to set TurboDOS date/time DSKCPZ1 ; CPZ-16 Floppy disk driver module DSK58I ; 8"/5" TurboDOS disk format tables ;MD131DRV ; Monitor Dynamics Model #1013 with 1 drive installed ;MD132DRV ; Monitor Dynamics Model #1013 with 2 drive installed MCDCPS ; 1st CPZ-48000 / CPS-MX Master Circuit Driver MCDCPS ; 2nd CPZ-48000 / CPS-MX Master Circuit Driver 7-10 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES CPZMASTR.PAR AUTUSR = 80 ; Auto Log-on to user one, privileged SRHDRV = 0FF ; Search system disk for command files ; ;------- If Using CB-80 V1.3 Only ---------------+\ ; Must be the same in Slave files \ "Don't forget ;COMPAT = 0B8 ; If using CB-80 V1.3 + the patches for ;CPMVER = 22 ; Inhibit CB-80 Record Locking / CB-80 V1.3" ;-------- ELSE using CB-80 V1.4 -----------------+/ ; Must be the same in Slave files | COMPAT = 0F8 ; File/Record Locking Flags | ;CPMVER = 30 ; Allow CB-80 Record Locking | ;------------------------------------------------+ ; NMBUFS = 0A ; Default number of Disk Buffers (hex) BUFSIZ = 03 ; Default disk buffer size (log2(size/128)) MEMRES = (0400) ; Allow for Dynamic Memory Expansion of TurboDOS ; PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX (std default values) 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 (std default values) 3B,3A,39,38 PATCSB = 77,76,75,74 ; 2nd Status port table for CPS-MX 73,72,71,70 37,36,35,34 ; 2nd Status port table for CPS-16 33,32,31,30 ; SSTCSA = " " ; O/S suffix table for CPS-MX (std default values) Š "1Z1ZZZZZ" ; O/S suffix table for CPS-16 (std default values) SSTCSB = " " ; 2nd O/S suffix table for CPS-MX "ZZZZZZZZ" ; 2nd O/S suffix table for CPS-16 ; NMBCKT = 2 CKTAST = (0000),CKTDRA,(0100),CKTDRB ; CONAST = 01,CONDRA ; Console on port 1 of CPZ-48000 STOPBB = 44 ; PTRAST = 00,LSTDRA ; List assignment table STOPBA = 44 ; ATNCHR = "^@" ; New attention character (Break Key) PRTMOD = 0 ; Print mode (0 = direct, 1 = Spooled) ; ;MPAGE = 02 ; Use memory above slave address for Turbo-disk ; ;following defines floppy disk drives ; (rest of file omitted) 7-11 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES 7.5. Automatic Logon Automatiã  Logoî  provideó  á methoä oæ  havinç  eacè  slavå � executå thå LOGOÎ commanä afteò iô boots®  Thió commanä wilì noô � leô  yoõ intï thå systeí unlesó yoõ caî enteò thå correcô IÄ  anä � password®  Eacè slavå bootinç iî thió methoä wilì neeä itó slaveó � PAÒ filå modified: ;LOGON SECURITY PASSWORD INCLUDED ;AUTUSR = 80 ; DEFAULT = User 0, Privileged ;(delete for LOGON function) SRHDRV = 0FF ; Search System Disk for .COM Files ; ;------- If Using CB-80 V1.3 Only ---------------+ ; Must be the same in CPZMASTR.PAR file | ;COMPAT = 0B8 ; If using CB-80 V1.3 | ;CPMVER = 22 ; Inhibit CB-80 Record Locking | ;-------- ELSE using CB-80 V1.4 -----------------+ ; Must be the same in CPZMASTR.PAR file | Š COMPAT = 0F8 ; File/Record Locking Flags | ;CPMVER = 30 ; Allow CB-80 Record Locking | ;------------------------------------------------+ ; ATNCHR = "^@" ; Use "BREAK" Key for Attention RESKEY = "^\" ; Define slave reset key ; CONAST = 01,CONDRA ; Console on port 1 of CPS-80 STOPBB = 44 ; Define 1 stop bit ; LDCOLD = 000 ; Disable Cold start autoload ; (change to 0FF to enable) LDWARM = 0FF ; Enable Warm start autoload ; (change to 000 to disable) ; ;LDCOLD must be enabled if you want to auto-init TurboDOS time ;and date function using the ICM CCB-100 Clock/Calendar board. ; ;COLDFN = 0,"SLVCLK ","AUT" ;init system clock WARMFN = 0,"WARMSTRT","AUT" ;init system logon ; ; If using TurboDos Ver. 1.41, include patch 1 ; 7-12 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES Here is an example 16-bit slave PAR file with LOGON enabled: USRSOM = 0x0D,0x0A,"Intercontinental Micro Systems, Corp." 0x0D,0x0A,"8086 Slave." ; SRHDRV = 0xFF ;Search Default System Drive Š COMPAT = 0xF8 ;Compatability Flags ;AUTUSR = 0x80 ;Auto Logon to User 0 Privileged ; ATNCHR = 0x00 ;Define Attention Char as "BREAK" Key CONAST = 0x01,CONDRA ;Assign Console to Port B Serial ; MAXMBS = 0x03 MAXRPS = 0x03 ; MEMTBL+3 = (0x3FFF-0x0050) ; 256 Kbyte Slave memory specs ;MEMTBL+3 = (0x7FFF-0x0050) ; 512 Kbyte Slave memory specs ;MEMTBL+3 = (0xFFFF-0x0050) ; 1 Mbyte Slave memory specs ; LDCOLD = 0x00 ;Disable Cold Load function ;COLDFN = 0,"TDTIMES CMD";Init TurboDOS Data/Time using CCB-100 LDWARM = 0xFF ;Enable Warm Load function WARMFN = 0,"16STRT ","AUT";Execute Logon Security 7-13 Š CPZ-186 MASTER MULTI-USER SYSTEM CHANGES "AUTUSÒ  ½ 80¢ waó disableä sï thaô thå slavå woulä comå  uð � oî  useò 31®  "LDWARÍ ½ 0FF¢ waó enableä sï thaô thå slavå  coulä � automaticallù  executå  á commanä oî boot®  Thå commanä whicè  iô � wilì executå wilì bå WARMSTRT.AUÔ whicè ió á defaulô parameteò iî � thå CPSSLAVE.PAÒ filå (WARMFÎ ½ 0,"WARMSTRT","AUT")®  Thå commanä � thaô  needó tï bå executeä ió LOGON.COÍ whicè ió iî  useò  0¬  sï � copù thå LOGON.COÍ commanä tï useò 3± anä renamå iô WARMSTRT.AUT® � Iæ  yoõ arå usinç botè 16-biô anä 8-biô slaves¬  yoõ wilì havå tï � makå  WARMFÎ patcè oî thå 16-biô slavå equaì tï á differenô  namå � sucè  aó  0,"16STRT","AUT"®  Theî  copù  LOGON.CMÄ  tï  useò  31¬ � renaminç iô 16STRT.AUT® 0A}COPY 0A:LOGON.COM 31A:WARMSTRT.AUT 0A}COPY 0A:LOGON.CMD 31A:16STRT.AUT No÷  thå  LOGOÎ commanä ió seô uð tï looë foò á filå  calleä � USERID.SYS®  USERID.SYÓ ió á texô filå createä bù thå  integratoò � tï  contaiî  thå  useò passwordó witè á worä  processoò  sucè  aó � WordStar® Thå formaô ió aó follows: [USER ID],[PASSWORD],[USER # (and P for Privileged)],[DRIVE], The commas are mandatory ! Example: 0A}TYPE USERID.SYS CHUCK,ROAST,0P,A JOHN,SMITH,1P,B BOB,RUIZ,26,A 0A} Iî  thió USERIÄ file¬  Chucë Roasô wilì bå loggeä ontï  useò � 0¬  anä thå drivå oî whicè iô booted¬  iî thió caså drivå A® Johî � Smitè waó loggeä ontï 1B¬ anä Boâ Ruiú waó loggeä ontï 26A® Chucë � Roasô  anä  Johî Smitè arå privilegeä useró anä caî  changå  Useò � numberó anù timå theù wish¬  buô Boâ Ruiú wilì bå loggeä oî  Useò � 2¶  anä  stucë  there®  Becauså á loô oæ useró wilì bå  stucë  oî � higheò useò levels¬  anä thå commandó arå locateä oî useò 0¬  alì � oæ thå commandó yoõ wanô availablå tï otheró musô bå seô global: NOTEº  Thå backslasè '\'¬  allowó mutiplå commandó tï bå puô oî á � singlå line. 0A}SET *.COM;G\SET *.CMD;G Š 7-14 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES 7.6. Batch Processing Batcè  processinç  ió á waù tï seô asidå á slavå whoså  onlù � purposå ió tï receivå commandó froí otheò slaveó anä executå theí � oî á First-Iî First-Ouô basis®  Thió wilì enablå yoõ tï senä timå � consuminç  commandó  sucè aó linking¬  compiling¬  oò  lonç  copù � routineó  ouô  tï thaô slavå anä gï oî tï otheò jobs®  Thå  slavå � seô uð foò batcè cannoô havå á consolå attacheä tï iô anä  cannoô � receivå commandó whicè requirå consolå inpuô iî ordeò tï execute® Tï  seô  uð á slavå foò batcè processing¬  seô uð thå  slavå � suffiø tablå iî thå CPZMASTR.PAÒ tï kno÷ oæ onlù onå batcè slave® Iî thió example¬ thå batcè ió knowî aó 'B§ aô 7F: SSTCSA = "B " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-MX Makå  changeó  iî thå CPSSLAVE.PAÒ sï thaô  thå  slavå  wilì � execute the command "BATCH.AUT" when it boots: LDWARM = 0FF ; Enable Warm start autoload (change to 0FF to enable) ; WARMFN = 0,"BATCH ","AUT" Yoõ  wilì  no÷ wanô tï creatå á filå calleä  BATCH.AUT®  Thå � filå  thaô needó tï bå executeä iî thió caså wilì bå á  DÏ  file® � Fortunatelù  Turbo-Doó  provideó á commanä whicè  caî  accomplisè � thió  calleä AUTOLOAD®  Thå filå whicè wå wanô tï creatå intï  aî � autoload file will be DO BATCH.DO: 0A}AUTOLOAD DO BATCH.DO Auto load file created 0A}RENAME AUTOLOAD.AUT BATCH.AUT 0A}SET BATCH.AUT;G Š 7-15 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES Puô  BATCH.AUÔ  iî useò ° anä seô iô globaì sincå thå  batcè � slavå wilì havå tï bå seô uð aó á privilegeä user®  Thå filå  yoõ � seô uð aó BATCH.DÏ wilì no÷ havå tï bå seô uð aó á FIFO®  Wå wilì � seô iô uð tï suspenä processinç iî caså thå FIFÏ ió emptù sï thaô � iô won'ô wastå thå masteró processinç timå bù executinç BATCH.AUÔ � oveò anä oveò again: 0A}FIFO BATCH.DO FIFO file not found, creating new file Enter FIFO type (Ram/Disk): D Suspend processing on full/empty conditions? (Yes/No): Y Enter maximum number of records (1-65535): 128 FIFO file created 0A}SET BATCH.DO;G Tï  tesô  out¬  leô  thå batcè processoò copù á filå  uð  tï � different drive usinç thå BATCÈ command: 5A}BATCH COPY A: B:;N 5A}DIR B: **NOTICE*ª  º  Thå COPÙ commanä thaô waó senô tï  thå  Batcè � slavå had thå optioî ";n¢ tï insurå thaô iô wouldn'ô expecô anù � console input from the local console. Tï seô uð á 16-biô slavå foò Batcè Processing¬  dï thå  samå �Š aó abovå excepô uså thå CPSSLV16.PAÒ anä CMÄ commands. 7-16 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES 7.6.1. Master Batching Iî extremå cases¬  wherå smalì applicatioî programó havå  tï � accesó  tï  buó  I/Ï  portó directly»  batcè  processinç  maù  bå � implementeä oî thå masteò processor®  WARNING¡ Iæ thå applicatioî � prograí requireó direcô consolå input¬  likå thå FORMAÔ  program¬ � thå batchinç wilì hang®  Thió caî bå compensateä foò bù puttinç á � terminaì oî thå master®  Thió maù bå accomplisheä bù enablinç thå � Warí Booô Functioî tï executå BATCH.AUÔ oî thå master® Seô uð thå � BATCH.AUÔ  anä BATCH.DÏ iî thå samå manneò aó iô waó foò Batcè oî � thå slave®  Thå maiî differencå tï bå madå ió tï enablå CON9¶  oî � thå CPZMASTR.PAÒ filå insteaä oæ CONREM® Thió wilì ensurå thaô nï � onå  wilì trù tï attacè tï thå masteò anä provideó á facilitù  tï � monitoò thå batcè processinç iæ needeä durinç integration®  Belo÷ � ió aî examplå CPZMASTÒ GEÎ anä PAÒ filå foò masteò batching: ; CPZMASTR.GEN STDMASTR ; Standard networking master PATCH ; Include PATCH Module Š FASLOD ; Use fast disk loader module NETREQ ; Network request module MSGFMT ; Message format module CPMSUP ; CP/M function support module ;CONREM ; Use remote console module ;CON192 ; Null 19.2 Kbaud Console Driver CON96 ; Null 9600 Baud Console driver NITCPZ ; CPZ-48000 hardware initialization SPDCPZ ; CPZ-48000 Serial and Parallel I/O LSTCTS ; TI810 CTS Driver (LSTDR@ assigned to LSTDRA) ;LSTPAR ; Parallel Printer driver (CPI-100 centronics board) RTCCPZ ; CPZ-48000 real time clock driver ;MSTRCLK ; Include ICM ccb board drvr to set TurboDOS date/time DSKCPZ1 ; CPZ-16 Floppy disk driver module DSK58I ; 8"/5" TurboDOS disk format tables ;MD131DRV ; Monitor Dynamics Model #1013 with 1 drive installed ;MD132DRV ; Monitor Dynamics Model #1013 with 2 drive installed ;TURBO ; Turbo-Disk driver module ;TURDSK ; Turbo-Disk definition module MCDCPS ; CPZ-48000 / CPS-MX Master Circuit Driver 7-17 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES ;CPZMASTR.PAR AUTUSR = 80 ; Auto Log-on to user one, privileged SRHDRV = 01 ; Search A: for command files ; NMBUFS = 0A ; Default number of Disk Buffers (hex) BUFSIZ = 03 ; Default disk buffer size (log2(size/128)) MEMRES = (0400) ; Allow for Dynamic Memory Expansion of TurboDOS ; Š PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX (std default values) 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 (std default values) 3B,3A,39,38 ; SSTCSA = " " ; O/S suffix table for CPS-MX (std default values) "ZZZZZZZZ" ; O/S suffix table for CPS-16 (std default values) ; CONAST = 01,CONDRA ; Console on port 1 of CPZ-48000 STOPBB = 44 ; PTRAST = 00,LSTDRA ; List assignment table STOPBA = 44 ; ATNCHR = "^S" ; New attention character (Break Key) PRTMOD = 0 ; Print mode (0 = direct, 1 = Spooled) ; ;LDWARM = 0FF ;WARMFN = 0,"BATCH ","AUT" ; ;MPAGE = 02 ; Use memory above slave address for Turbo-disk ; DRVTBL = 41,41,41,41 ; 6ms step rate, tandon bit set ; ;following defines disk drives ; DSKAST = 000,DSKDRA,001,DSKDRA,002,DSKDRA,003,DSKDRA ; floppies ; ;the following defines floppies + Monitor Dynamics Hard Disk ;with bootup from 1st Monitor Dynamics hard disk. ; ;DSKAST = 001,DSKDRB,000,DSKDRA,001,DSKDRA,002,DSKDRA ;MD + Floppies ; 000,DSKDRB ;deselect for hard disk before power down ; LDWARM = 0FF ; Enable Warm Start Autoload(000 to disable) ; WARMFN = 0,"BATCH ","AUT" 7-18 Š LOCAL AREA NETWORK 8. LOCAL AREA NETWORK OVERVIEW Thió  sectioî  dealó  witè thå configuratioî  oæ  networkinç � variouó  systems®  Networkinç allowó thå useò tï sharå  datá  anä � expensivå pheripheraló betweeî manù users® Witè networking¬ largå � harä  disë  driveó anä expensivå printeró caî bå  shareä  betweeî � totallù  separatå systems®  Á linë caî bå establisheä tï connecô � severaì  systemó  iî  aî office¬  oò  betweeî  citeó  tï  connecô � offices»  alì  useró  caî accesó  centraì  datá  easily®  Diverså � configurationó  caî  bå achieveä througè anù combinatioî  oæ  ICÍ � supplieä  ARCneô  anä  RS232/RS42²  Seriaì LAΠ productó  iî  anù � desirablå combination® Beforå  jumpinç  intï  thå  variouó  configurations¬  á  fe÷ � conceptó  whicè  applù tï alì sectionó oæ thió  chapteò  musô  bå � covereä    first®    Thió   overvie÷   sectioî   wilì    describå � Intercontientaì  Micro'ó contributioî tï thå LAÎ markeô placå anä � theî  wilì bå spliô intï subsectionó tï coveò botè  thå  hardwarå � anä softwarå aspectó oæ thå individuaì LAÎ productó. 8.1. A Very Short Time Ago ... Micrï  computeró  havå gaineä á largå amounô oæ poweò  iî  á � verù  shorô time®  Lesó thaî á decadå ago¬  micrï computeró  foò � smalì  businesó  applicationó becamå feasible®  Thå systemó  werå � singlå useò systemó madå uð oæ severaì separatå cards®  Therå waó � á  CPÕ card¬  severaì memorù cards¬  aî Input/Outpuô carä  anä  á � cassettå  interfacå oò floppù controlleò card¬  abouô µ  separatå � cardó  iî  alì  werå requireä tï makå uð á  singlå  useò  system® � Theså systemó typicallù raî thå CP/Í operatinç system® Technologù  advanceä anä harä disë driveó  becamå  availablå � foò  thå singlå useò micros®  Theiò uså iî businesó expandeä anä � morå  powerfuì  chipó werå becominç  available®  Intercontinentaì � Micrï  waó á pioneeò iî thå micrï computeò  industry¬  developinç � thå CPZ-4800° singlå boarä computeò whicè combineä thå  featureó � oæ CPU¬  largå amountó memory¬  Seriaì anä Paralleì Input/Output¬ � Floppù  disë controller¬  Booô uð proí anä á statå oæ arô  memorù � managemenô uniô oî á singlå board® Thå  microó werå becominç verù dependablå businesó tooló anä � businbesseó  wanteä á waù tï havå severaì peoplå usinç  thå  samå � systeí  aô  thå  samå time®  Á compatiblå  operatinç  systeí  waó � developeä bù thå authoró oæ CP/M¬  calleä MP/M®  MP/Í alloweä ONÅ � CPÕ tï servå severaì useró bù givinç itó attentioî tï á useò  foò � á shorô timå anä theî movinç oî tï thå nexô user® Thió approach, � calleä Multi-Tasking¬  woulä boç dowî verù quicklù wheî morå thaî � á couplå oæ useró werå oî thå system®  ICÍ adapteä thå CPZ-4800Ø � tï   thå  MP/Í  environmenô  bù  usinç  thå  256KM  RAÍ   board® � Unsatisfieä  witè  thå  performance¬  wå searcheä  foò  á  betteò � system¬  anä  founä iô iî TurboDOS®  Witè TurboDOÓ wå maintaineä � compatabilitù witè CP/Í anä MP/M¬ buô thå multi-useò systeí haä á � CPÕ  foò eacè useò calleä á Slavå anä á Masteò CPÕ tï managå  thå � slaves®  Thió  CPÕ  peò useò approacè ió referreä tï  aó  Multi-�Š Processoò  systems®  8-1 LOCAL AREA NETWORK ICÍ  developeä thå CPS-MØ 64Ë Z8° slave¬  whicè wheî coupleä � witè thå CPZ-4800X¬  ouô performeä thå samå numbeò oæ MP/Í  useró � anä  waó  expandablå  tï 1¶  users®  Applicatioî  programó  werå � becominç  largeò  anä morå memorù intensivå sï ICÍ developeä  thå � CPS-BMØ 128Ë Z-8° slave®  Thå  ragå  foò  morå memorù waó oî anä thå authoró  oæ  CP/Í � moveä iî tï thå 1¶-biô environmenô witè CP/M-86®  CP/M-8¶ alloweä � useró  tï  havå  uð tï 1¶ timeó thå amounô  oæ  memorù  thaô  waó � availablå  foò  thå  typicaì Z-8° user®  Spreaä  sheeô  programó � gaineä popularitù foò businesó anä thå addeä memorù anä speeä waó � eagerlù accepteä bù business®  TurboDOÓ addeä supporô foò 1¶-biô � slaveó anä ICÍ introduceä thå CPS-1¶ 256Ë tï ± Meç 808¶ slavå foò � higè  performancå businesó use®  Thå  sizå  oæ  theså systemó waó growinç anä á  waù  tï  tiå � systemó togetheò waó desirable® Again¬ wå werå glaä wå haä choseî � TurboDOÓ sincå Networkinç systemó togetheò ió verù feasiblå  witè � TurboDOS®  Tï thió enä wå developeä thå LANS10° ARCneô controlleò � witè speedó oæ 2.µ Mbitó peò second®  Supporô oæ harä disë speedó � betweeî  systemó waó deliverablå tï thå market®  Thió LAÎ schemå � tooë thå liä ofæ thå singlå S-10° box¬  whicè haä beeî limiteä tï � 1¶ users¬ anä alloweä uð tï 25¶ 16-useò systems¬ á totaì oæ uð tï � 408° users¬ tï bå networkeä together® Thå  ARCneô  interfacå waó placeä oî á carä foò uså  iî  thå � IBM-PC¬  allowinç thå lo÷ storagå capacitù PC'ó tï storå datá  oî � thå  Multi-processoò Filå Server®  Theså netó arå typicallù oæ á � staò  topology¬  whicè meanó theù alì comå tï á commoî poinô  foò � communications®  Onå examplå ió thaô alì slaveó gï tï thå  masteò � foò  disë  accesó  anä alì PC'ó sharå thå S10° systeí  harä  disë � drive®  Thå staò network¬ typicallù coulä onlù supporô nodeó aô á � diistancå oæ nï morå thaî 230° feet¬  withouô repeaters® Tï allo÷ � connectionó  aô greateò distances¬  Circuô Seriaì waó  developed¬ � whicè  makeó uså oæ RS-42² tï communicatå oveò twisteä  pairó  aô � lengthó uð tï 400° feet®  Iô alsï supportó RS-232¬  whicè enableó � iô tï makå uså oæ modems® Thió allowó á systeí iî Saî Diegï tï bå � connecteä  tï  á systeí iî Loó Angeleó anä oî tï  Ne÷  Yorë  oveò � dedicateä phonå lineó witè 30° tï 960° bauä modems® Thå systeí iî � Loó  Angeleó  wilì automaticallù forwarä datá  beinç  transferreä � froí  Saî Diegï tï Ne÷ York®  Tï  increaså thå speeä anä poweò oæ thå filå serveò ICÍ  haó � developeä thå CPZ-18¶ 256Ë tï ± MEÇ 8018¶ singlå boarä  computer® � Thå  CPZ-18¶ supportó alì otheò ICÍ productó anä greatlù enhanceó �Š thå  speeä  oæ thå network®  ICÍ ió committeä  tï  supplyinç  thå � microcomputeò  markeô placå witè thå latesô  state-of-the-arô  iî � hardware¬ softwarå anä support. 8.2. ARCnet Local Area Network Alì  oæ  ouò arcneô controlleró uså SMà COM902¶  controller � IC's®  Theså  boardó  allo÷ seriaì communicationó oveò á coaø  oò � twisteä  paiò  linë whicè wilì ruî aô 2.µ megabitó  peò  second® � Thió  speeä  eliminateó anù bottlenecë  iî  thå  system-to-systeí � link¬  sincå  iô ió ² 1\² timeó thå speeä oæ buó  transfers®  Thå � systemó connecteä witè ARCneô arå typicallù iî thå samå building, � buô caî bå uð tï 230° feeô apart® 8-2 LOCAL AREA NETWORK Therå  arå threå arcneô controlleró available®  (1© Thå LANS10° wilì linë aî S-10° masteò tï á network® (2) Thå WS8° ió á banë slavå witè ARCneô builô ontï it® Thió �          boarä haó nï buó anä onlù needó á poweò supply¬ whicè ió �          offereä with the optional enclosure® (3) Thå LANPà wilì pluç intï thå IBÍ PC/XÔ buó anä linkó  iô �          intï thå network® 8.2.1. ARCnet Hardware Overview Thå basiã structurå oæ á Locaì Areá Networë ió tï providå aî � ARCneô  controlleò  foò  eacè systeí tï bå  linkeä  togetheò  anä � connecô  thå  systemó  witè  coaø oò  twisteä  paiò  cables®  Thå � standarä coaø cablinç tï uså ió RG-62¬  whicè ió á 9³ ohí  cable® � Iæ onlù twï controlleró arå used¬ thå linë onlù requireó onå coaø � tï  connecô  thå  systems®  Iæ  morå  thaî  twï  controlleró  arå � involved¬ yoõ wilì neeä onå oò morå hubó tï linë thå network® Therå  arå twï basiã typeó oæ hubs¬  passivå anä  active®  Á � passivå  huâ  ió á simplå resistoò networë whicè caî linë  uð  tï � four controllers: +-----------+ +------------+ ________+___ß  | | +---+---------+ | | | | | | | S-100 bus | | | | WS-80 | |_ _| | | | | |_______| | +--------------+ | +-------------+ +--| Passive HUB |---+ Š | | | HUB-4P | ___________ +--------------| |--+ |/ \| ________+____ +--------------+ | | | | | | |\_______/| | S-100 bus | | +---------------+ |ß _ü +-------|__IBM__PC/XT___| |_______ü T A B L E 8-1: Passive ARCnet HUB (HUB-4P) 8-3 LOCAL AREA NETWORK Wheî  connectinç  morå thaî fouò controlleró aî  activå  huâ � needó tï bå incorporateä intï thå star®  Uð tï eighô passivå hubó � (HUB-4P)¬  maù  bå  connecteä tï thå activå huâ (HUB-8A)¬  iô  tï � achievå 2´ nodes: Thå followinç illustratioî depictó á typicaì applicatioî oæ � activå HUBÓ tï implemenô á LAN® [N] | +--+--+ [N] [N]======|HUB-4|======[N] [N] | +--+--+ | +--+--+ | +--+--+ [N]======|HUB-4|======[N] | [N]======|HUB-4|======[N] +--+--+ | +--+--+ | +--+--+ | [N] | | | | [N] | +=============| |=============+ | [N] Š +--+--+ | | +--+--+ [N]====|HUB-4|===============|HUB-8|===============|HUB-4|====[N] +--+--+ | | +--+--+ | +=============| |=============+ | [N] | | | | [N] | +--+--+ | +--+--+ | +--+--+ [N]======|HUB-4|======[N] | [N]======|HUB-4|======[N] +--+--+ | +--+--+ | +--+--+ | [N] [N]======|HUB-4|======[N] [N] +--+--+ | [N] Noteº  N(node© caî bå á Workstation¬  á Fileserveò oò anù  devicå � whicè caî linë intï thå ARCneô LAN® T A B L E 8-2: Active ARCnet HUB (HUB-8A) Speciaì carå shoulä bå takeî wheî settinç uð thå cablinç foò � thå network® Iæ alì necessarù precautionó aren'ô taken¬ á networë � erroò wilì resulô wheî accessinç remotå devices® Wheî routinç thå � cablå ouô thå bacë oæ thå S-10° chassis¬  makå surå thå  shieldeä � portioî oæ thå cablå doeó noô shorô tï ground® Thió signaì ió noô � internallù  grounded¬  buô kepô aô á balanceä voltage®  Iæ á  B&à � connectoò  ió placeä oî thå chassis¬  uså aî insulateä typå  witè � plastiã threads® Iæ á HUB-4Ð ió useä dï noô allo÷ thå metaì chasé � comå  iî contacô witè anything®  Iæ crimð oî connectoró arå useä � oî  thå coaø cables¬  uså aî ohmeteò tï checë foò shortó  betweeî � thå  centeò anä shield®  Alsï verifù thaô bendinç wilì noô  causå � connectoò tï looseî anä opeî thå link. 8-4 LOCAL AREA NETWORK ARCnet SOFTWARE OVERVIEW Understandinç  thå  structurå  oæ  thå   logical-to-physicaì � conceptó  ió  importanô  wheî hookinç uð networks®  Wheî  á  useò � assignó himselæ tï á certaiî device¬  sucè aó á drive¬ thå searcè � patè coulä gï variouó ways® Thå patè coulä eitheò reflecô á locaì � devicå oò á remotå one® Iæ iô ió remote¬ iô coulä eitheò poinô tï �Š á slavå oò anotheò circuit®  Herå ió aî examplå oæ á searcè  patè � whicè coulä bå involveä iî á disë assignmenô table: SYSTEM A(node 2) +------------------------------------------+ | ; Local A: ,Local B: ,Remote C: | | DSKAST = 00,DSKDRA,01,DSKDRA,082,(0201) | Point to: | ^ ^ | | \---+--->Node 1 +---------------|----------|-----|---\-----+ \ \ \ +-------->Circuit 2 Point to \ Point to\ \ 1st Drive---\ 2nd Drv-\ \ Point to | | \ 3rd Drive Remote<-\ | | \ +-----------||----------|-------\------------+ | || | v | | DSKAST = 080,(0202),081,(0202),01,DSKDRA | | ; Remote A: ,Remote B: ,Local C: | +--------------------------------------------+ SYSTEM B(node 1) So¬  iæ  driveó arå declareä aó remote¬  thå firsô nibblå ió � seô  tï 8¬  thå seconä nibblå setó whicè logicaì remotå drivå  tï � poinô  to¬  anä  thå  nexô twï byteó poinô  tï  thå  circuiô  anä � destination node. 8-5 Š LOCAL AREA NETWORK Printeò  assignmenô tableó havå eveî morå oæ á varietù sincå � theù caî poinô tï slaves®  Iæ you'vå hookeä uð printeró tï slaveó � iî  thå  past¬  yoõ finä manù similaritieó iî hookinç  uð  remotå � printeró iî á network® Herå ió aî examplå oæ á networë oæ printeò � assignmenô tables: SYSTEM A(node 1) +------------------------------------------+ | | | PTRAST = 00,LSTDRA,081,(0202),082,(0202) | Point to: | ^ \ \ \ \-+----> Node +-----------------\------\----------\--+---+ \ \ \ \-------> Circuit Point to- \ \ Point to \ 1st ptr-- \ \ 2nd ptr \ Point to 3rd \ \ \ Printer Remote<-\ | \ \ +----------||-------\----------\------------------+ | || v v | CPZ--> | PTRAST = 80,(0201),00,LSTDRA,82,(0001),83,(0002)| | | | | +-------------------------------------/---------/-+ Slaves: / Point to 7F / / / 7F--> / PTRAST+6 = 00,LSTDRA <------------+ / / / \--> (Offset)Printer c: / / /-----------------------------------------------/-/ / Point to 7E / / 7E-->/ PTRAST+9 = 00,LSTDRA <----------------------+ / / \--> (Offset)Printer d: / +-------------------------------------------------+ SYSTEM B(node 2) Printeò  assignmenô  tableó  maù geô  forwardeä  twicå  wheî � attachinç tï anotheò circuiô anä theî tï itó slave®  Iî ordeò  tï � spooì tï thå slave'ó printeò oî thå remotå system¬  yoõ musô alsï � uså  thå prinô commanä tï attacè tï itó drive®  Iî thió case¬  iô � woulä beº PRINT Drive=C Queue=C Š 8-6 LOCAL AREA NETWORK 8.2.2. S-100 ARCnet Interface LINKING TWO INDEPENDENT MASTERS Wheî  linkinç  twï masters¬  thå onlù hardwarå needeä  ió  á � LANS10°  carä foò eacè masteò anä á strið oæ RG-6² coaø cablå  tï � connecô theí together® Wheî runninç thå cablå througè thå bacë oæ � thå  chassis¬  checë thaô thå shieldeä portioî ió noô shorteä  tï � it¬ otherwiså yoõ maù receivå á "Networë Error"® Wheî addinç morå � nodes¬  passivå oò activå hubó wilì bå needeä aó describeä iî thå � Arcneô Overview. Aó  lonç aó neitheò oæ thå masteró wilì bå useä tï  downloaä � operatinç  systemó acrosó thå network¬  thå IÄ caî bå seô aô  anù � valuå betweeî ± anä 255(0FÆ hex)® Alì LANS100'ó senô ouô froí ICÍ � arå configureä aô 0± hex. Belo÷  ió  aî examplå oæ á LANS10° witè itó  IÄ  (toð  right-hanä � corner© seô aô 2¬ whicè ió useä aó aî IÄ iî thå nexô example: T A B L E 8-3: LANS100 LAN ID SWITCH (ID set for 2 hex) Board Bit Value O----O 7 0 MSB O----O 6 0 O----O 5 0 O----O 4 0 O----O 3 0 O----O 2 0 O O 1 1 O----O 0 0 LSB Botè  systemó wilì neeä tï havå thå LANCPÚ modulå (purchaseä � separatelù  oò witè Turbo-Laî Package© anä thå NETLOÄ anä  NETFWÄ � moduleó (alreadù oî distributioî disk© added® Systeí  #±  wilì  consisô oæ ² harä  diskó  (Aº  ¦  B:)¬  ² � floppieó  (Cº  ¦ D:© anä twï remotå floppieó oî Systeí  #2(Eº  ¦ � F:)® Systeí #± alsï haó itó owî printeò aó Á anä á remotå printeò �Š oî  systeí #² aó B®  Thå slaveó iî botè oæ theså systemó wilì  bå � assumeä  aó  beinç standarä non-modifieä slaves®  Thå IÄ  oæ  thå � LANS10° oî Systeí #± wilì 0² hex. 8-7 LOCAL AREA NETWORK The example shown is of the CPZMASTR GEN & PAR's in System #1: STDMASTR ; Standard networking master PATCH ; Include PATCH Module FASLOD ; Use fast disk loader module NETREQ ; Network request module MSGFMT ; Message format module NETLOD ; Network Loader module NETFWD ; Network Message Forwarded ;CPMSUP ; CP/M function support module CONREM ; Use remote console module ;CON192 ; Null 19.2 Kbaud Console Driver ;CON96 ; Null 9600 Baud Console driver NITCPZ ; CPZ-48000 hardware initialization SPDCPZ ; CPZ-48000 Serial and Parallel I/O LSTCTS ; TI810 CTS Driver (LSTDR@ assigned to LSTDRA) ;LSTPAR ; Parallel Printer driver (CPI-100 board) RTCCPZ ; CPZ-48000 real time clock driver ;MSTRCLK ; Include ICM clk board drvr to set date/time DSKCPZ1 ; CPZ-16 Floppy disk driver module DSK58I ; 8"/5" TurboDOS disk format tables ;MD131DRV ; Monitor Dynamics Model #1013 with 1 drive MD132DRV ; Monitor Dynamics Model #1013 with 2 drive ;TURBO ; Turbo-Disk driver module ;TURDSK ; Turbo-Disk definition module MCDCPS ; CPZ-48000 / CPS-MX Master Circuit Driver LANCPZ ; Local Area Network Driver for CPZ-4800x Š 8-8 LOCAL AREA NETWORK PAR file for system #1: AUTUSR = 80 ; Auto Log-on to user one, privileged SRHDRV = 01 ; Search A: for command files ; NMBUFS = 0A ; Default number of Disk Buffers (hex) BUFSIZ = 03 ; Default buffer size (log2(size/128)) MEMRES = (0400) ; Allow for Dynamic Memory Expansion ; ;------------This Sets the Number of Circuits in Systems--------+ ; | NMBCKT = 2 ; Using 2 Circuits (8/16 bit,LAN) | CKTAST = (0000),CKTDRA,(0200),CKTDRB ; Circuit Assignments | ; | ;---------------------------------------------------------------+ ; PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 Š 3B,3A,39,38 ; SSTCSA = " " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-16 ; CONAST = 01,CONDRA ; Console on port 1 of CPZ-48000 STOPBB = 44 ; PTRAST = 00,LSTDRA,81,(0201) ; List assignment table QUEAST = 00,(0000),81,(0201) ; Queue assignment table DSPPAÔ  ½  1,² » Despooì Printeò Assignmenô table STOPBA = 44 ; DSKTBL = 41,41,41,41 ; 6ms step rate, tandon bit set ; ;following defines Hard Disk and disk drives ; DSKASÔ ½ 001,DSKDRB,002,DSKDRB,000,DSKDRA,001,DSKDRA ; Local 080,(0201),081,(0201) ; Remote ; ; If using TurboDos Ver. 1.41, include patches 1,12,and 14 ; 8-9 LOCAL AREA NETWORK Systeí #² wilì havå ² floppieó (Aº  anä B:)¬  ² remotå Harä � Diskó oî systeí #± (Cº  ¦ D:© anä ² remotå floppieó oî systeí #± � (Eº  ¦ F:)®  Iô haó itó owî locaì printeò knowî aó Á anä á remotå � printeò oî systeí #± knowî aó B® Thå IÄ oæ systeí #² ió seô aô 0± � hex. Belo÷ arå thå CPZMASTÒ GEÎ ¦ PAR'ó foò Systeí #2: Š STDMASTR ; Standard networking master PATCH ; Include PATCH Module FASLOD ; Use fast disk loader module NETREQ ; Network request module MSGFMT ; Message format module NETLOD ; Network Loader module NETFWD ; Network Message Forwarded CPMSUP ; CP/M function support module CONREM ; Use remote console module ;CON192 ; Null 19.2 Kbaud Console Driver ;CON96 ; Null 9600 Baud Console driver NITCPZ ; CPZ-48000 hardware initialization SPDCPZ ; CPZ-48000 Serial and Parallel I/O LSTCTS ; TI810 CTS Driver (LSTDR@ assigned to LSTDRA) ;LSTPAR ; Parallel Printer driver (CPI-100 board) RTCCPZ ; CPZ-48000 real time clock driver ;MSTRCLK ; Include ICM clk board drvr to set date/time DSKCPZ1 ; CPZ-16 Floppy disk driver module DSK58I ; 8"/5" TurboDOS disk format tables ;MD131DRV ; Monitor Dynamics Model #1013 with 1 drive ;MD132DRV ; Monitor Dynamics Model #1013 with 2 drive ;TURBO ; Turbo-Disk driver module ;TURDSK ; Turbo-Disk definition module MCDCPS ; CPZ-48000 / CPS-MX Master Circuit Driver LANCPZ ; Local Area Network Driver for CPZ-4800x 8-10 Š LOCAL AREA NETWORK PAR file for System #2: AUTUSR = 80 ; Auto Log-on to user one, privileged SRHDRV = 0FF ; Search A: for command files ; NMBUFS = 0A ; Default number of Disk Buffers (hex) BUFSIZ = 03 ; Default buffer size (log2(size/128)) MEMRES = (0400) ; Allow for Dynamic Memory Expansion of ; ;------------This Sets the Number of Circuits in Systems--------+ ; | NMBCKT = 2 ; Using 2 Circuits (8/16 bit,LAN) | CKTAST = (0000),CKTDRA,(0200),CKTDRB ; Circuit Assignments | ; | ;---------------------------------------------------------------+ ; PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 3B,3A,39,38 ; SSTCSA = " " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-16 ; CONAST = 01,CONDRA ; Console on port 1 of CPZ-48000 STOPBB = 44 ; PTRAST = 00,LSTDRA,80,(0202) ; List assignment table QUEAST = 00,(0000),80,(0202) ; Queue assignment table DSPPAT = 1,2,3 ; De-Spool printer table STOPBA = 44 ; ATNCHR = "^@" ; New attention character (Break Key) PRTMOD = 0 ; Print mode (0 = direct, 1 = Spooled) ; DSKTBL = 41,41,41,41 ; 6ms step rate, tandon bit set ; ;following defines disk drives ; DSKAST = 000,DSKDRA,001,DSKDRA ; Local 80,(0202),81,(0202),82,(0202),83,(0202) ; Remote ; ; If using TurboDos Ver. 1.41, include patches 1,12,and 14 ; Althougè thió configuratioî ió easù tï set-uð anä implement¬ � therå arå somå obviouó drawbackó involved®  Firsô oæ all¬  iæ thå � systemó arå locateä faò froí eacè other¬  therå maù bå confusioî � wheî usinç botè systemó periodically®  Also¬  therå coulä bå somå � confusioî  iî  realizinç  exactlù  whicè remotå  devicå  yoõ  arå � actuallù attacheä to® Secondly¬ oncå thå amounô oæ remotå deviceó � geô  toï numerous¬  ne÷ useró wilì havå morå difficultù iî  usinç �Š thå system. 8-11 LOCAL AREA NETWORK Iæ  systeí  organizatioî needó tï  bå  optimized¬  thå  disë � assignmenô   anä  printeò  assignmenô  tableó  wilì  neeä  tï  bå � rearranged®  Thå goaì ió tï bå ablå tï physicallù marë á  logicaì � assignmenô  tï eacè drivå anä printeò anä bå ablå tï accesó  theí � iî  thaô waù froí anù oæ thå systems®  Iî thå examplå below¬  thå � tables have been rerranged for the two systems described above. SYSTEM #1 (master) DRIVES: A: B: C: D: PRINTERS: A: SYSTEM #2 (master) DRIVES: E: F: PRINTERS: B: (slave #1) PRINTERS: C: SYSTEM #1 GEN & PARS: STDMASTR ; Standard networking master PATCH ; Include PATCH Module FASLOD ; Use fast disk loader module NETREQ ; Network request module MSGFMT ; Message format module NETLOD ; Network Loader module NETFWD ; Network Message Forwarded ;CPMSUP ; CP/M function support module CONREM ; Use remote console module ;CON192 ; Null 19.2 Kbaud Console Driver ;CON96 ; Null 9600 Baud Console driver NITCPZ ; CPZ-48000 hardware initialization SPDCPZ ; CPZ-48000 Serial and Parallel I/O LSTCTS ; TI810 CTS Driver (LSTDR@ assigned to LSTDRA) ;LSTPAR ; Parallel Printer driver (CPI-100 board) RTCCPZ ; CPZ-48000 real time clock driver ;MSTRCLK ; Include ICM clk board drvr to set date/time Š DSKCPZ1 ; CPZ-16 Floppy disk driver module DSK58I ; 8"/5" TurboDOS disk format tables MD131DRV ; Monitor Dynamics Model #1013 with 1 drive ;MD132DRV ; Monitor Dynamics Model #1013 with 2 drive ;TURBO ; Turbo-Disk driver module ;TURDSK ; Turbo-Disk definition module MCDCPS ; CPZ-48000 / CPS-MX Master Circuit Driver LANCPZ ; Local Area Network Driver for CPZ-4800x 8-12 LOCAL AREA NETWORK PAR file for System #1: AUTUSR = 80 ; Auto Log-on to user one, privileged SRHDRV = 01 ; Search A: for command files ; NMBUFS = 0A ; Default number of Disk Buffers (hex) BUFSIZ = 03 ; Default buffer size (log2(size/128)) MEMRES = (0400) ; Allow for Dynamic Memory Expansion ; ;------------This Sets the Number of Circuits in Systems--------+ ; | NMBCKT = 2 ; Using 2 Circuits (8/16 bit,LAN) | CKTAST = (0000),CKTDRA,(0200),CKTDRB ; Circuit Assignments | ; | ;---------------------------------------------------------------+ ; PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 3B,3A,39,38 ; SSTCSA = " " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-16 ; CONAST = 01,CONDRA ; Console on port 1 of CPZ-48000 STOPBB = 44 ; PTRAST = 00,LSTDRA,81,(0221),82,(0221) ; List assignment table QUEAST = 00,(0000),81,(0221),82,(0221) ; Queue assignment table Š DSPPAT = 1,2,3 ; Despool Printer Assignment table STOPBA = 44 ; ATNCHR = "^S" ; New attention character (Break Key) PRTMOD = 0 ; Print mode (0 = direct, 1 = Spooled) ; DSKTBL = 41,41,41,41 ; 6ms step rate, tandon bit set ; ;followinç  defineó  Harä Disë anä floppù disë driveó anä remotå drives ; DSKAST = 001,DSKDRB,00,DSKDRB,000,DSKDRA,001,DSKDRA ; Local 084,(0221),085,(0221©      ; Remote ; ; If using TurboDos Ver. 1.41, include patches 1,12,and 14 ; 8-13 LOCAL AREA NETWORK The CPZLOAD on system #2 will need to be modified to boot on drivå E:® Belo÷ ió aî examplå oæ CPZLOAÄ GEÎ ¦ PAR: STDLOADR ; Standard O/S loader configuration RTCNUL ; Null RTC driver ;CON192 ; Null 19.2 Kbaud Console Driver CON96 ; Null 9600 Baud Console Driver NITCPZ ; CPZ-48000 Z-80 processor board initialization SPDCPZ ; Serial and Parallel I/O for the CPZ-48000 DSKCPZ1 ; CPZ-16 Floppy disk driver module DSK58I ; 8"/5" TurboDOS disk format tables ;MD131DRV ; Monitor Dynamics Model #1013 with 1 drive ;MD132DRV ; Monitor Dynamics Model #1013 with 2 drive CONAST = 01 ; Console on chan B of CPZ-4800x MEMTOP = (0000) ; Do Not test RAM. ; DSKTBL = 41,41,41,41 ; 6ms step rate, tandon bit set Š ; ;The following defines floppy disk drives ; DSKAST = 0FF,(0000),0FF,(0000),0FF,(0000),0FF,(0000) ; disable 000,DSKDRA,001,DSKDRA ; enable Below is an example of System #2: CPZMASTR GEN & PAR: STDMASTR ; Standard networking master PATCH ; Include PATCH Module FASLOD ; Use fast disk loader module NETREQ ; Network request module MSGFMT ; Message format module NETLOD ; Network Loader module NETFWD ; Network Message Forwarded CPMSUP ; CP/M function support module CONREM ; Use remote console module ;CON192 ; Null 19.2 Kbaud Console Driver ;CON96 ; Null 9600 Baud Console driver NITCPZ ; CPZ-48000 hardware initialization SPDCPZ ; CPZ-48000 Serial and Parallel I/O LSTCTS ; TI810 CTS Driver (LSTDR@ assigned to LSTDRA) ;LSTPAR ; Parallel Printer driver (CPI-100 board) RTCCPZ ; CPZ-48000 real time clock driver ;MSTRCLK ; Include ICM clk board drvr to set date/time DSKCPZ1 ; CPZ-16 Floppy disk driver module DSK58I ; 8"/5" TurboDOS disk format tables ;MD131DRV ; Monitor Dynamics Model #1013 with 1 drive ;MD132DRV ; Monitor Dynamics Model #1013 with 2 drive ;TURBO ; Turbo-Disk driver module ;TURDSK ; Turbo-Disk definition module MCDCPS ; CPZ-48000 / CPS-MX Master Circuit Driver LANCPZ ; Local Area Network Driver for CPZ-4800x 8-14 LOCAL AREA NETWORK PAR file fo system #2: AUTUSR = 80 ; Auto Log-on to user one, privileged SRHDRV = 0FF ; Search A: for command files ; NMBUFS = 0A ; Default number of Disk Buffers (hex) BUFSIZ = 03 ; Default buffer size (log2(size/128)) Š MEMRES = (0400) ; Allow for Dynamic Memory Expansion ; ;------------This Sets the Number of Circuits in Systems--------+ ; | NMBCKT = 2 ; Using 2 Circuits (8/16 bit,LAN) | CKTAST = (0000),CKTDRA,(0200),CKTDRB ; Circuit Assignments | ; | ;---------------------------------------------------------------+ ; PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 3B,3A,39,38 ; SSTCSA = "P " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-16 ; CONAST = 01,CONDRA ; Console on port 1 of CPZ-48000 STOPBB = 44 ; PTRAST = 80,(0208),00,LSTDRA,82,(0001) ; List assignment table QUEAST = 80,(0208),00,(0000),82,(0001) ; Queue assignment table DSPPAÔ ½ 1,2,³ » Despooì assignmenô table STOPBA = 44 ; ATNCHR = "^@" ; New attention character (Break Key) PRTMOD = 0 ; Print mode (0 = direct, 1 = Spooled) ; DSKTBL = 41,41,41,41 ; 6ms step rate, tandon bit set ; ;following defines disk drives ; DSKASÔ ½ 80,(0208),81,(0208),82,(0208),83,(0208) ; Remote 000,DSKDRA,001,DSKDRA ; Local ; ; If using TurboDos Ver. 1.41, include patches 1,12,and 14 ; 8-15 Š LOCAL AREA NETWORK Showî  belo÷ ió aî examplå oæ thå CPSSLAVÅ GEÎ ¦ PAÒ  filå  whicè � waó seô uð foò OSSLAVEP.SYS: STDSLAVE ; Standard Networking Slave Module SOMCPS ; Signon message PATCH ; Include PATCH module NETLOD ; Network loader module NETSVC ; Network service module RTCNUL ; Null clock driver module DSPOOL ; Allow DE-Spooling on Slaves CPMSUP ; CP/M Function Support Module NITCPS ; CPS-MX hardware initialization ;CON192 ; 19.2K Baud Console Driver CON96 ; 9600 Baud Console Driver SPDCPS ; CPS-MX Serial Drivers ;LSTPAR ; Use parallel null driver (CPI-100 board) LSTCTS ; Use list clear to send null driver SCDCPS ; CPS-MX Slave Circuit driver RESCPS ; CPS-MX Slave reset detection AUTUSR = 80 ; DEFAULT = User 0, Privileged SRHDRV = 0FF ; Search System Disk for .COM Files ; ATNCHR = "^@" ; Use "BREAK" Key for Attention RESKEY = "^\" ; Define slave reset key ; CONAST = 01,CONDRA ; Console on port 1 of CPS-80 STOPBB = 44 ; Define 1 stop bit ; PTRAST+6 = 00,LSTDRA QUEAST+6 = 00,(0000) DSPPAT = 1,2,3 QUEPTR = 3 ; LDCOLD = 000 ; Disable Cold start autoload LDWARM = 000 ; Disable Warm start autoload ; ;LDCOLD must be enabled if you want to auto-init TurboDOS time ;and date function using the ICM CCB-100 Clock/Calendar board. ; ;COLDFN = 0,"SLVCLK ","AUT" ; ;WARMFN = 0,"WARMSTRT","AUT" ; ; If using TurboDos Ver. 1.41, include patch 1 ; Š 8-16 LOCAL AREA NETWORK Belo÷ ió aî exacô duplicatå oæ systeí #± iî thå lasô examplå � using á CPZ-18¶ masteò: STDMASTR ; STANDARD 16-Bit Multi-User OS NETREQ ; Support module for Despooling/Networking MSGFMT ; " " " " " NETLOD ; " " " " " NETFWD ; " " " " " PATCH ; SYSTEM PATCH AREA RTCCPZ ; RTC DRIVER MODULE CPMSUP ; CP/M-86 SUPPORT MODULE MSTCPZ ; MEMORY DESCRIPTOR TABLE NITCPZ ; HARDWARE INITIALIZATION CONREM ; Use remote console for slaves ;CON192 ; NULL 19.2K BAUD CONSOLE DRIVER ;CON96 ; NULL 9600 BAUD CONSOLE DRIVER SPDCPZ ; SERIAL/PARALLEL I/O DRIVER LSTCTS ; LIST CLEAR-TO-SEND DRIVER ;LSTPAR ; LIST PARALLEL DRIVER DSKCPZ1 ; CPZ-16 Floppy disk driver module DSK58I ; 8"/5" TurboDOS disk format tables MD131DRV ; Monitor Dynamics MD-1013 with 1 drive ;MD132DRV ; Monitor Dynamics MD-1013 with 2 drives MCDCPS ; 16 Bit Master/Slave circuit driver module LANCPZ ; TurboLAN Network Driver Module Š 8-17 LOCAL AREA NETWORK SRHDRV = 0xFF ; Search Default System Drive COMPAT = 0xF8 ; Compatability Flags AUTUSR = 0x80 ; Auto Logon to User 0 Privileged ; CONAST = 0x01,CONDRA ; Assign Console to channel 1 serial ; PATCSA = 0x7F,0x7E,0x7D,0x7C ; Status port table for CPS-MX) 0x7B,0x7A,0x79,0x78 ; (default values) 0x3F,0x3E,0x3D,0x3C ; Status port table for CPS-16 0x3B,0x3A,0x39,0x38 ; (default values) ; SSTCSA = " " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-16 ; ;--------Circuit assignment and LAN parameters---------------------------- ; NMBCKT = 0x02 ; Using 2 circuits (8/16 bit & LAN) CKTAST = (0x0000),CKTDRA,(0x0200),CKTDRB ; Circuit Assignment ; ;------------------------------------------------------------------------- ; PTRAST = 0x00,LSTDRA,0x81,(0x0221),0x82,(0x0221) QUEAST = 0x00,(0x0000),0x81,(0x0221),0x82,(0x0221) DSPPAT = 1,2,3,4 QUEPTR = 1 ; LDCOLD = 0x00 ; Cold start autoload flag ;COLDFN = 0,"TDTIMEM CMD"; Init TurboDOS Date/Time function LDWARM = 0x00 ; Warm start autoload flag ; Š OSMLEN = (1024) ; allow 16K for Dynamic expansion ; NMBUFS = 128 ; Number of disk buffers BUFBAS = (0x2000) ; 16K memory segment reserved BUFLEN = (8192) ; paragraphs to reserve MEMTBL+3 = (0x1FFF-0x0050) ; define memory we have for O/S ; DSKTBL = 0x41,0x41,0x41,0x41 ; 6ms step rate, tandon bit set ; DSKAST = 0x01,DSKDRB,0x00,DSKDRB,0x00,DSKDRA,0x01,DSKDRA 0x84,(0x0221),0x85,(0x0221),0xFF,(0x0000),0xFF,(0x0000) 0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000) 0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000),0XFF,(0X0000) ; ; If using TurboDos Ver. 1.41, include ; patches 2,3,5,6,13,15,16 8-18 LOCAL AREA NETWORK 8.2.2.1. DISKLESS MASTER Therå  ió aî addeä featurå iî Turbo-Doó whicè wilì allo÷  yoõ � tï  downloaä aî operatinç systeí througè thå networë  tï  anotheò � master® Thå onlù majoò changeó tï bå madå arå iî thå IÄ settings® � Thå  IÄ oæ thå systeí beinç downloadeä tï needó tï residå betweeî � 2° anä 2Æ Hex®  Thå systeí whicè ió doinç thå downloadinç musô bå � seô aô 0¸ hex®  Iî  thå nexô example¬  Systeí #± wilì downloaä aî  operatinç � systeí  tï  Systeí  #2®  Thå  filå iô wilì loaä  wilì  bå  calleä � OSSLAVE1.SYS®  Thå filå originateó froí thå Geî anä Paò fileó  iî � thå  CPZMASTÒ seô uð foò Systeí #2®  Oncå thió filå ió activå  oî � Systeí  #2¬  thå  slavå operatinç systeí fileó caî  bå  download® � Shown below ió aî examplå oæ Systeí #1: STDMASTR ; Standard networking master PATCH ; Include PATCH Module FASLOD ; Use fast disk loader module NETREQ ; Network request module Š MSGFMT ; Message format module NETLOD ; Network Loader module NETFWD ; Network Message Forwarded ;CPMSUP ; CP/M function support module CONREM ; Use remote console module ;CON192 ; Null 19.2 Kbaud Console Driver ;CON96 ; Null 9600 Baud Console driver NITCPZ ; CPZ-48000 hardware initialization SPDCPZ ; CPZ-48000 Serial and Parallel I/O LSTCTS ; TI810 CTS Driver (LSTDR@ assigned to LSTDRA) ;LSTPAR ; Parallel Printer driver (CPI-100 board) RTCCPZ ; CPZ-48000 real time clock driver ;MSTRCLK ; Include ICM clk board drvr to set date/time DSKCPZ1 ; CPZ-16 Floppy disk driver module DSK58I ; 8"/5" TurboDOS disk format tables MD131DRV ; Monitor Dynamics Model #1013 with 1 drive ;MD132DRV ; Monitor Dynamics Model #1013 with 2 drive ;TURBO ; Turbo-Disk driver module ;TURDSK ; Turbo-Disk definition module MCDCPS ; CPZ-48000 / CPS-MX Master Circuit Driver LANCPZ ; Local Area Network Driver for CPZ-4800x 8-19 LOCAL AREA NETWORK PAR file for System #1 AUTUSR = 80 ; Auto Log-on to user one, privileged SRHDRV = 01 ; Search A: for command files ; NMBUFS = 0A ; Default number of Disk Buffers (hex) BUFSIZ = 03 ; Default buffer size (log2(size/128)) MEMRES = (0400) ; Allow for Dynamic Memory Expansion Š ; ;------------This Sets the Number of Circuits in Systems--------+ ; | NMBCKT = 2 ; Using 2 Circuits (8/16 bit,LAN) | CKTAST = (0000),CKTDRA,(0200),CKTDRB ; Circuit Assignments | LNSSTA + 21 = "1" ; Diskless Master Download Suffix | ; | ;---------------------------------------------------------------+ ; PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 3B,3A,39,38 ; SSTCSA = " " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-16 ; CONAST = 01,CONDRA ; Console on port 1 of CPZ-48000 STOPBB = 44 ; PTRAST = 00,LSTDRA,81,(0221),82,(0221) ; List assignment table QUEAST = 00,(0000),81,(0221),82,(0221) ; Queue assignment table DSPPAT = 1,2,3 ; Despool Assignment table STOPBA = 44 ; ATNCHR = "^S" ; New attention character (Break Key) PRTMOD = 0 ; Print mode (0 = direct, 1 = Spooled) ; DSKTBL = 41,41,41,41 ; 6ms step rate, tandon bit set ; ;following defines Hard disk and disk drives ; DSKAST = 001,DSKDRB,00,DSKDRB,000,DSKDRA,001,DSKDRA ; Local ; ; If using TurboDos Ver. 1.41, include patches 1,12,and 14 ; 8-20 Š LOCAL AREA NETWORK Thå  CPZMASTÒ GEÎ ¦ PAÒ fileó foò Systeí #² wilì neeä tï  bå � Re-Genneä  anä  renameä OSSLAVE1.SYS¬  sincå '1§ waó  thå  suffiø � specifieä iî thå downloaä suffiø tablå iî Systeí #1. Belo÷ ió aî examplå oæ thå CPZMASTÒ GEÎ ¦ PAÒ fileó foò Systeí #2: STDMASTR ; Standard networking master PATCH ; Include PATCH Module FASLOD ; Use fast disk loader module NETREQ ; Network request module MSGFMT ; Message format module NETLOD ; Network Loader module NETFWD ; Network Message Forwarded CPMSUP ; CP/M function support module CONREM ; Use remote console module ;CON192 ; Null 19.2 Kbaud Console Driver ;CON96 ; Null 9600 Baud Console driver NITCPZ ; CPZ-48000 hardware initialization SPDCPZ ; CPZ-48000 Serial and Parallel I/O LSTCTS ; TI810 CTS Driver (LSTDR@ assigned to LSTDRA) ;LSTPAR ; Parallel Printer driver (CPI-100 board) RTCCPZ ; CPZ-48000 real time clock driver ;MSTRCLK ; Include ICM clk board drvr to set date/time ;DSKCPZ1 ; CPZ-16 Floppy disk driver module ;DSK58I ; 8"/5" TurboDOS disk format tables ;MD131DRV ; Monitor Dynamics Model #1013 with 1 drive ;MD132DRV ; Monitor Dynamics Model #1013 with 2 drive ;TURBO ; Turbo-Disk driver module ;TURDSK ; Turbo-Disk definition module MCDCPS ; CPZ-48000 / CPS-MX Master Circuit Driver LANCPZ ; Local Area Network Driver for CPZ-4800x Š 8-21 LOCAL AREA NETWORK PAR file for System #2 AUTUSR = 80 ; Auto Log-on to user one, privileged SRHDRV = 0FF ; Search A: for command files ; ; ;------------This Sets the Number of Circuits in Systems--------+ ; | NMBCKT = 2 ; Using 2 Circuits (8/16 bit,LAN) | CKTAST = (0000),CKTDRA,(0200),CKTDRB ; Circuit Assignments | ; | ;---------------------------------------------------------------+ ; PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 3B,3A,39,38 ; SSTCSA = "P " ; O/S suffix table for CPS-MX "ZZZZZZZZ" ; O/S suffix table for CPS-16 ; CONAST = 01,CONDRA ; Console on port 1 of CPZ-48000 STOPBB = 44 ; PTRAST = 80,(0208),00,LSTDRA,82,(0001) ; List assignment table QUEAST = 80,(0208),00,(0000),82,(0001) ; Queue assignment table DSPPAT = 1,2,3 ; Despool Assignment Table STOPBA = 44 ; ATNCHR = "^@" ; New attention character (Break Key) PRTMOD = 0 ; Print mode (0 = direct, 1 = Spooled) ; DSKTBL = 41,41,41,41 ; 6ms step rate, tandon bit set ; ;following defines disk drives ; DSKAST ½ 80,(0208),81,(0208),82,(0208),83,(0208) ; Remote ; ; ; If using TurboDos Ver. 1.41, include patches 1,12,and 14 Š ; Thå  slavå operatinç systemó foò Systeí #² fileó caî alsï bå � kepô oî Systeí #1®  Oncå thå downloaä ió complete¬  thå masteò oî � System #2 can go out to the network for files. 8-22 LOCAL AREA NETWORK 8.2.3. PC ARCnet Interface 8.2.3.1. PC NETWORKING OVERVIEW Therå arå variouó wayó tï linë IBÍ PC's¬  Compatibles¬ XT's¬ � AT's¬  oò PC-JR'ó intï á TurboDOÓ networë usinç ICÍ hardware® Thå � recommendeä  patè dependó oî whaô yoõ expecô ouô oæ thå  network® � 1®  Thå firsô twï methodó (TPà ¦ Mature© "booô up¢ thå Pà undeò � TurboDOÓ  anä uså TurboDOS'ó networkinç capabilitù tï ruî thå  Pà � aó  á compleø slave®  Bootinç uð includeó re-formattinç thå  harä � disë  oî aî XÔ oò AÔ tï ICM'ó TurboDOÓ format®  Thió woulä  theî � precludå  usinç  thå harä disë aó á PC-DOÓ harä disk®  Á  Compleø � slavå ió ... 2®  Thå  lasô methoä (TurboDOS-PC© bootó uð thå Pà undeò  PC-DOS¬ � whicè  keepó thå harä disë undeò thå PC-DOÓ format®  Aî  instalì � prograí  ió useä tï keeð iô runninç PC-DOS¬  buô addó thå variouó � networkinç  featureó  oæ TurboDOÓ sucè aó sharinç remotå  drives¬ � locaì  anä remotå printeró anä otheò networë  flexibility®  3®  MS-DOS/PC-DOÓ COMPATABILITYº Compatibilitù witè thå differenô � versionó oæ MS-DOÓ ¦ PC-DOÓ wilì bå discusseä iî eacè section® 4® Alì threå requirå á Filå Serveò (Master)® Thå Filå Serveò caî � bå aî S-10° Buó Computeò sucè aó thå ICÍ familù oæ CPZ's¬  oò  aî � IBM-XT, AT, or Clone. 5®  Iî  additioî  tï thå Filå Server¬  eacè methoä  requireó  thå � following to build a network of PC's: Š A. TurboDOS operating system, Config I. B®  ICM'ó  ARCneô  boarä aô eacè Pà anä Filå Serveò  (LANPC¬ � LANS100, LANJR, etc). 8.2.3.2. TPC Emulator 1®  Thå  TPà emulatoò waó Softwarå 2000'ó fisô approacè tï PC-DOÓ � compatibilitù anä waó designeä tï emulatå PC-DOÓ oò MS-DOÓ oî aî � IBÍ PC/XÔ oò compatibilå runninç undeò TurboDOS® 2®  TPà loadó anä runó onlù oî á 16-biô computer¬ anä allowó thaô � machinå  tï ruî aó á slavå oî thå TurboDOÓ network®  Iô wilì  ruî � PC-DOÓ oò MS-DOÓ applicatioî softwarå anù Pà oò Compatibile®  TPà � alsï wilì allo÷ generiã MS-DOÓ applicatioî programó tï ruî oî ICÍ � 16-biô  hardware®  Generiã MS-DOÓ doeó noô makå anù Pà dependenô � hardwarå assumptionó oò ROÍ BIOÓ calls® Truå PC-DOÓ programó wilì � definitelù  noô roî oî ICM'ó 16-biô slaveó becauså  thå  programó � looë foò á video-mappeä screeî anä thå ROM-BIOS® 3® DISADVANTAGESº (1© TPà ió compatiblå onlù witè Versioî 1.± MS-� DOÓ  ¦  PC-DOS»  (2© iô runó slow®  4®  ADVANTAGESº  iô  ió includeä freå witè alì 16-biô versionó oæ � TurboDOS. 8-23 LOCAL AREA NETWORK 8.2.3.3. MATURE 1®  MATURÅ  ió  á producô writteî bù á  companù  calleä  Mashov® � Maturå  waó designeä aó aî applicatioî prograí tï mediatå betweeî � TurboDOÓ anä PC-DOS® 2®  Maturå  provideó  MS-DOÓ ¦ PC-DOÓ versioî  2.°  compatibilitù � undeò  TurboDOS®  Iô  waó  originallù designeä tï ruî  oî  Pà ¦ � Compatiblå hardware®  However¬ thå abilitù tï ruî MS-DOÓ softwarå � oî ICÍ hardwarå haó sincå beeî added® Again¬ onlù generiã MS-DOS software can be run on ICM hardware. 3®  Maturå ió seô uð bù firsô runninç SETMS¬  whicè wilì seô uð á � Pseudo-Volumå  directorù  oî thå drivå consistinç  oæ  MSFAÔ  anä � MSDIR® MATURÅ ió theî run® MATURÅ loadó MS-DOÓ ontï thå slavå anä � maintainó thå linkó betweeî thå slavå anä TurboDOS® THIS IS A BLOCK DIAGRAM OF HOW THE SLAVE IS THEN STRUCTURED: Š +---------\ TurboDos | /------/ Network | | /----------------------------------\ | /\ | | || | | ________\/_______ | | | | | | | Turbo-Dos | | | |_________________| | | /\ | | || | | ________\/_______ | \ | | | | SLAVE / | | MATURE | | | |_________________| | | /\ | | || | | ________\/_______ | | | | | | | MS-DOS | | | |_________________| | | /\ | | || | | ________\/_______ | | | | | | | APPLICATION | | | |_________________| | |_________________/\_______________| / / / END-USER / /__________________________________/ 8-24 LOCAL AREA NETWORK 4®  MATURE'ó  disadvantageó includeº  (1© iô takeó uð  additionaì � memory»  (2©  iô  alwayó runó througè thå entirå patè  diagrammeä � above» (3© iæ anù slavå noô runninç undeò MATURÅ writeó á filå tï � thå commoî harä disk¬  thå disë MAÐ wilì bå corrupteä untiì SETMÓ � ió ruî oî thaô drive» (4© alì useró musô bå loggeä ofæ thå commoî � drivå beforå readinç ne÷ datá froí floppù oò anotheò disë tï  thå � commoî  drive»  (5©  Useró  musô  bå educateä tï  kno÷  thaô  twï � differenô  operatinç systemó arå beinç  concurrentlù  used®  THEÙ �Š musô  realizå  thaô commandó donå iî TurboDOÓ dï noô  updatå  thå � psuedo-fileó  foò  MS-DOÓ  runninç  undeò  MATURE¬   howeveò  alì � operationó  performeä undeò MATURÅ wilì updatå botè thå  TurboDOÓ � anä MS-DOÓ disë maps. 5®  Thå advantageó oæ MATURÅ includeº  (1© MS-DOÓ ió locaì anä ió � compatiblå  uð tï Versioî 2.2.¬  (2© thaô iô wilì maintaiî alì oæ � TurboDos'ó networë features¬ includinç logoî securitù anä networë � spooling® 8.2.3.4. TurboDOS/PC (T/PC) 1®  TurboDOS/Pà (T/PC© ió aî instalì prograí writteî bù  Softwarå � 200°  whicè  placeó  á driveò iî MS-DOÓ tï supporô  thå  TurboDOÓ � network® 2®  Thå  greatesô advantagå oæ T/Pà ió thaô iô wilì ruî  alì  MS-� DOS/PC-DOÓ programó uð tï versioî 3.0¬ sincå iô actuallù runó PC-� DOÓ  oò MS-DOÓ oî thå slave®  Anyonå alreadù familiaò witè PC-DOÓ � wilì havå nï problemó usinç thå Pà iî thå network® 3®  Otheò  advantagesº  (1©  Thå remotå driveó wilì  bå  ablå  tï � supporô  multiplå  directorù  pathó anä stilì bå ablå  tï  accesó � fileó  oî  differenô useò leveló alreadù existinç  oî  thå  S-10° � side»  (2© therå arå nï conflictó witè useró runninç TurboDOÓ anä � T/Pà oî thå samå network»  (3© alì TurboDOÓ networkinç  featureó � excepô thoså listeä iî Ä belo÷ arå supported¬  (4© thå harä  disë � oî aî XÔ oò AÔ remainó locaì tï thaô individuaì Pà anä remainó iî � its native DOS format® 4® Thå thå installatioî procesó ió quitå easù becauså thå Pà doeó � noô havå tï bå reconfigureä tï á differenô operatinç system®  Alì � yoõ  neeä  tï  dï ió placå á diskettå intï  thå  IBÍ  PC/XT¬  ruî � TURBOPà anä iô wilì instalì itself® 5®  Disadvantageó  includeº  (1© thå machinå runninç  TurboDOS/Pà � cannoô bå useä aó á file-server» (2© thå locaì driveó oî thå T/Pà � machinå  cannoô bå shareä oî thå network¬  onlù thå Filå Server'ó � driveó caî bå shared» (3© Log-oî securitù ió noô available® 8-25 Š LOCAL AREA NETWORK 8.2.4. WS-80 (WorkStation) ARCnet Interface 8 BIT WORKSTATION Thå  8-biô Workstation¬  (WS-80)¬  ió simplù á Bankeä  Slavå � withouô  á  bus¬  usinç  ARCneô aó  itó  communicatioî  link®  Iæ � purchaseä witè aî enclosure¬  thå olù thingó yoõ neeä arå thå RG-� 6²  Coaø cablå froí á LANS10° oò á Huâ anä thå TurboLAΠ drivers® � Iæ  noô purchaseä witè aî enclosure¬  documentatioî  ió  provideä � througè  thå  WORKSTATIOÎ MANUAÌ tï hooë uð á poweò  supply®  Thå � firsô steð ió tï seô thå Identificatioî oæ thå Workstation®  Thió � ió  provideä  bù á pianï switcè locateä jusô lefô oæ  thå  Coaø � connector®  Thå  LANS10° driveò haó beeî designeä  tï  recognizå � Identificationó  oæ  2°  thrõ  2Æ aó itó firsô  seô  oæ  Downloaä � ID's®  Thå Workstatioî ió provideä witè á Downloaä Proí whicè oî � power-uð wilì scaî thå Networë foò á processoò whicè ió awarå  oæ � itó ID®  Thå processoò whicè recognizeó thió IÄ wilì iî turî havå � á   suffiø  associateä  witè  thaô  IÄ  whicè  determineó   whicè � OSSLAVE.SYÓ filå tï download. T A B L E 8-4: Workstation (WS-80) set at 21 hex +----------------------------------+ |\ \\ \\ \\ \\ \\ \\ \\ \\ \ | +------++----------++--------------+ + | || ++ || || ++ || || || | \| ++ || ++ ++ || ++ ++ ++ | +--++------++--++------++--++--++--+ 1 2 3 4 5 6 7 8 | | | | BIT = |4 5 6 7| |0 1 2 3| \ / \ / \ / \ / \ / \ / MSB = 2 LSB = 1 Thå  moduleó thaô neeä tï bå purchaseä anä addeä tï thå  Geî � fileó  arå  LANCPÚ  anä LANW80®  Thå  otheò  moduleó  needeä  arå � already available on the TurboDos distribution diskette. Thå  firsô  additioî tï bå madå iî thå CPZMASTR.PAÒ filå  ió � thå  settinç uð oæ thå Circuiô Assignmenô Table®  Thå reasoî  whù � thió  waó  neveò  seô uð beforå waó becauså therå  waó  onlù  onå � circuiô  availablå  beinç  thå Masteò Circuiô  Driveò  whicè  waó � defaulteä aó beinç Circuiô 0® Now¬ thå numbeò oæ circuitó wilì bå � changeä  tï 2,anä thå seconä circuit(CKTDRB© wilì bå assigneä  tï � thå  LANCPZ®  Thaô ió whù thió modulå waó placeä afteò MCDCPÓ  iî �Š the CPZMASTR.GEN file. 8-26 LOCAL AREA NETWORK Thå  seconä additioî tï bå madå tï thå CPZMASTR.PAÒ filå  ió � tï  supplù  á  suffiø  foò thå OSSLAVE.SYÓ  filå  whicè  wilì  bå � downloadeä  tï thå Workstatioî wheî iô ió requested®  Thió suffiø � wilì bå loadeä intï á tablå whicè containó 25¶ entries® Thå tablå � ió  nameä  LNSSTÁ anä thå areá iî whicè thå suffiø ió  storeä  ió � equaì tï itó ID® Iî thió caså thå parameteò is: LNSSTA + 22 = "W" No÷ wheî á Workstation¬  whicè ió seô aô IÄ #22¬  requestó á � downloaä tï á LANS100¬  seô aô IÄ #8¬  thå Masteò oî thaô LANS10° � wilì kno÷ thaô thió request¬ senô froí IÄ #22¬ shoulä receivå the file named OSSLAVEW.SYS. Belo÷ ió aî examplå oæ thå CPZMASTÒ GEÎ ¦ PAÒ files: STDMASTR ; Standard networking master PATCH ; Include PATCH Module FASLOD ; Use fast disk loader module NETREQ ; Network request module MSGFMT ; Message format module NETLOD ; Network Loader NETFWD ; Network message Forwarded ;CPMSUP ; CP/M function support module CONREM ; Use remote console module ;CON192 ; Null 19.2 Kbaud Console Driver ;CON96 ; Null 9600 Baud Console driver NITCPZ ; CPZ-48000 hardware initialization SPDCPZ ; CPZ-48000 Serial and Parallel I/O LSTCTS ; TI810 CTS Driver (LSTDR@ assigned to LSTDRA) ;LSTPAR ; Parallel Printer driver (CPI-100 centronics board) RTCCPZ ; CPZ-48000 real time clock driver ;MSTRCLK ; Include ICM clk board drvr to set TurboDOS date/time DSKCPZ1 ; CPZ-16 Floppy disk driver module DSK58I ; 8"/5" TurboDOS disk format tables MD131DRV ; Monitor Dynamics 1013 with 1 drive MCDCPS ; CPZ-48000 / CPS-MX Master Circuit Driver LANCPZ ; Network Driver Š 8-27 LOCAL AREA NETWORK PAR file for CPZMASTR: AUTUSR = 80 ; Auto Log-on to user one, privileged SRHDRV = 01 ; Search A: for command files ; NMBUFS = 0A ; Default number of Disk Buffers (hex) BUFSIZ = 03 ; Default disk buffer size (log2(size/128)) MEMRES = (0400) ; Allow for Dynamic Memory Expansion of TurboDOS ; ;------------This Sets the Number of Circuits in Systems-------------------+ ; | NMBCKT = 2 ; Using 2 Circuits (8/16 bit,LAN) | CKTAST = (0000),CKTDRA,(0200),CKTDRB ; Circuit Assignments | LNSSTA + 22 = "W" ; Workstation Download Suffix | ; | ;--------------------------------------------------------------------------+ ; PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX (std default values) 7B,7A,79,78 3F,3E,3D,3C ; Status port table for CPS-16 (std default values) 3B,3A,39,38 ; SSTCSA = " " ; O/S suffix table for CPS-MX (std default values) "ZZZZZZZZ" ; O/S suffix table for CPS-16 (std default values) ; CONAST = 01,CONDRA ; Console on port 1 of CPZ-48000 STOPBB = 44 Š ; PTRAST = 00,LSTDRA ; List assignment table STOPBA = 44 ; ATNCHR = "^S" ; New attention character (Break Key) PRTMOD = 0 ; Print mode (0 = direct, 1 = Spooled) ; ;LDWARM = 0FF ;WARMFN = 0,"WARMSTRT","AUT" ; ;MPAGE = 02 ; Use memory above slave address for Turbo-disk ; DSKTBL = 41,41,41,41 ; 6ms step rate, tandon bit set ; ;following defines disk drives ; DSKAST = 001,DSKDRB,000,DSKDRA,001,DSKDRA ;Hard Disk&floppies ; ; If using TurboDos Ver. 1.41, include patches 1,12,and 14 ; 8-28 LOCAL AREA NETWORK Thå  Workstatioî  GEÎ ¦ PAÒ fileó arå verù  similaò  tï  thå � Bankeä  Slave®  Thå  majoò differencå ió thaô thå  slavå  circuiô � driveró wherå takeî ouô anä thå LANWS8° modulå waó addeä in. Iî thå WS80.PAÒ file¬ thå Circuiô waó reassigneä uð tï 02xx, � whicè matcè thå LANCPZ®  Iî thå Disë Assignmenô table¬  thå firsô � drivå  waó seô tï reaä Drivå A(harä Disk© oî thå maiî systeí  anä � thå  seconä anä thirä driveó wherå assigneä tï reaä thå firsô twï � floppieó oî thå maiî system. Below is an example of the WS80 GEN & PAR files: STDSLAVE ; Standard Networking Slave SOMCPS ; Signon Message PATCH ; Include PATCH module BNKMGR ; Use bank switch manager for slave BNKREQ ; Bank Request Module Š NETSVC ; Network service module if DE-Spooling on slave RTCCPS ; Real-Time-Clock driver ;RTCNUL ; Null clock driver module if DE-Spooling on slave ;DSPOOL ; If DE-Spooling with Slave printers CPMSUP ; CP/M Function Support Module NITCPS ; CPS-MX hardware initialization ;CON192 ; 19.2K Baud Console Driver CON96 ; 9600 Baud Console Driver SPDCPS ; CPS-MX Serial Drivers ;LSTPAR ; Use parallel null driver (CPI-100 centronics board) ;LSTCTS ; Use list clear to send null driver BNKCPS ; Include slave bank switch module (GEN with KFC00 option) LANW80 ; LAN Driver WS-80 workstation 8-29 LOCAL AREA NETWORK PAR file for WS80: USRSOM = 0D,0A,"Intercontinental Micro Systems, Corp." 0D,0A,"WS-80 Workstation" ;AUTUSR = 80 ; DEFAULT = User 0, Privileged (delete for LOGON function) SRHDRV = 0FF ; Search A: ; Š ;------- If Using CB-80 V1.3 Only ---------------+\ ; Must be the same in CPZMASTR.PAR file \ "Don't forget ;COMPAT = 0B8 ; If using CB-80 V1.3 + the patches for ;CPMVER = 22 ; Inhibit CB-80 Record Locking / CB-80 V1.3" ;-------- ELSE using CB-80 V1.4 -----------------+/ ; Must be the same in CPZMASTR.PAR file | COMPAT = 0F8 ; File/Record Locking Flags | ;CPMVER = 30 ; Allow CB-80 Record Locking | ;------------------------------------------------+ ; CKTAST = (0200),CKTDRA ; Circuit Assignment table DEFDID = (0208) ; Default Destination ID ; ;LANTCA = 02 ; LAN time-out count in seconds ; NMBMBS = 4 ; Pre-Allocate Message Buffers NMBRPS = 2 ; Pre-Allocate Reply Waiting Packets ; ATNCHR = "^@" ; Use "BREAK" Key for Attention ; CURBNK = 1 ; default to bank 1 (TPA bank) ; CONAST = 01,CONDRA ; Console on port 1 of CPS-80 STOPBB = 44 ; Define 1 stop bit ; LDCOLD = 000 ; Disable Cold start autoload (change to 0FF to enable) LDWARM = 000 ; Disable Warm start autoload (change to 0FF to enable) ; ;LDCOLD must be enabled if you want to auto-init TurboDOS time ;and date function using the ICM CCB-100 Clock/Calendar board. ; ;COLDFN = 0,"SLVCLK ","AUT" ;init system clock using ICM clock board. ; ;WARMFN = 0,"WARMSTRT","AUT" ; DSKAST = 80,(0208),81,(0208),82,(0208) ; ; If using TurboDos Ver. 1.41, include patch 1 ; 8-30 Š LOCAL AREA NETWORK 8.3. CKTSER - Serial Modem Link Thå  otheò  forí  oæ  Networë linë  ió  thå  seriaì  circuiô � driver®  Thió  allowó  yoõ  tï connecô systemó iî thå  samå  waù, � excepô  iô ió achieveä througè á seriaì porô insteaä oæ  á  high-� speeä ARCneô controller® Thå advantagå oæ thió setuð ió noô onlù � loweò  cost¬  buô thaô iô maù bå routeä througè  dedicateä  phonå � lineó witè higè speeä modemó tï remotå locations®  Thió driveò ió � alsï  á  separatå TurboDOÓ circuit®  Thå seriaì circuiô  ió  verù � effectivå  anä  feasiblå foò networkinç severaì  siteó  oò  verù � inexpensivå foò lo÷ volumå uså iî aî office or a school. Thå  remotå sitå concepô useó dedicateä phonå lineó  betweeî � siteó  anä messagå forwardinç tableó tï allo÷ intermidatå systemó � tï pasó oî messageó tï thå destineä system®  Thå examplå belo÷ ió � quitå simplå, buô showó thå poweò oæ thió typå oæ LAN. +---+ | | Multi-User System A: +---+ San Diego | M o d 1200 Baud Dedicated Line e m s | +---+ | | Multi-User System B: +---+ Los Angeles | M o d 9600 Baud Dedicated Line e m s | +---+ | | Multi-User System C: +---+ New York Aó  yoõ  caî seå differenô bauä rateó anä differenô  qualitù � lineó caî bå used®  Thå systeí automaticallù doeó erroò detectioî � anä  retry®  Thå datá fileó oî Á drivå arå iî Saî  Diego¬  datá � fileó oî  drivå arå iî Loó Angles¬ anä datá fileó oî à drivå arå � iî Ne÷ York®  Thå resourcå sharinç goeó beyonä driveó tï includå � printeró aó well®  Sï á useò iî thå Ne÷ Yorë maiî officå caî geô �Š aî  instanô reporô froí thå Saî Diegï officå anä havå iô  printeä � foò uså iî Loó Angeles. 8-31 APPENDIXES 9. List of Appendixes Appendix A - Definitions of I.C.M.'s Drivers & Utilities Appendix B - ICM'ó Drivers - Globaì Symboló anä Defaulô Valueó Appendix C - Sample Basic .GEN and .PAR Files Appendix D - Printers on Slaves Sample .GEN's and .PAR's Appendix E - Patches for WordStar Ver. 3.0 and 3.3 Appendix F - Hard disk Drives for MD1013/16 Appendix G - Sample Floppy Drive Characteristics Appendix H - How to change baud rates Š 9-1 Appendix A - Definitions of I.C.M.'s Utilities & Drivers A. Appendix A - Definitions of I.C.M.'s Utilities & Drivers -- CONFIG E -- AM80INIT.ASM SW200° Accesó Manageò supporô programs AM80INIT.COM SW2000 Access Manager support program CLKSETM.COM  Allowó  settinç thå CCB-10° froí thå CPZ-4800Ø foò �                propeò Date/Time. CLKSETS.COM Allowó settinç thå CCB-10° froí thå CPS-MØ slavå �                processoò carä foò propeò Date/Time®  Iæ  eitheò �                CLKSETÍ oò CLKSETÓ doeó noô finä á clocë oî thaô �                particulaò  processor¬  aî erroò messagå wilì  bå �                generated. CPSSLAVE.GEN Thå  GEΠ modulå tï configurå thå  slavå  systeí �                filå  OSSLAVE?.SYS®  Thió  containó thå  lisô  oæ �                moduleó tï includå intï thå OSSLAVE?.SYÓ foò Non-�                bankeä slaves® CPSSLAVE.PAR Containó  thå  Parameteò (.PAR© listinç thaô  thå �                GEΠ commanä useó tï changå GLOBAÌ  labeló  iî �                thå OSSLAVE?.SYÓ Non-bankeä slave system. CPZDOS.GEN Containó  thå  listinç oæ moduleó foò thå  GEÎ �                commanä  tï  linë  togetheò  foò  thå  Single-Useò �                TurboDOS®  Thió  alsï defineó thå  defaulô  singlå �                useò configuration® Š CPZDOS.PAR Containó  thå  Parameteò (.PAR© listinç thaô  thå �                GEΠ commanä useó tï changå GLOBAÌ labeló foò  thå �                Single-Useò TurboDOÓ operatinç system® CPZLOAD.GEN  Thå  texô  filå  useä tï creatå  thå  OSLOAD.COÍ �                modulå witè thå GEÎ commanä foò loadinç  TurboDOÓ �                singlå useò oò Multi-Useò operatinç systems® Thió �                ió  thå defaulô loader supplieä tï loaä thå singlå �                useò system. CPZLOAD.PAR Thå parameteò texô filå useä bù thå GEÎ commanä tï �                changå GLOBAÌ labeló foò thå OSLOAD.COÍ file® CPZMASTR.GEN Thå texô filå whicè ió useä bù thå GEÎ commanä  tï �                creatå  thå Multi-Useò operatinç systeí foò  thå �                CPZ-4800X® CPZMASTR.PAR Thå  texô  filå  whicè defineó alì GLOBALÓ  tï  bå �                changeä iî thå Multi-Useò operatinç system. A-1 Appendix A - Definitions of I.C.M.'s Utilities & Drivers DIRALL.COM Prograí  writteî bù D.M.M®  Softwarå allowó  thå �                useò  tï  geô á sorteä directorù listinç  oæ  alì �                useò areaó oî disë drives® Iæ á useò areá containó �                nï files¬  theî therå wilì bå nï displaù foò  thaô �                area.   Command Options: DIRALL *.* ;search all user areas on default disk and          ;list to console. DIRALL *.*;U0 ;search only user 0 of default drive and list ;to console. DIRALL *.*;U3-U7 ;search users 3 to 7 on default drive and list ;to console. DIRALL D:*.*;U1-U3 ;search drive D:, users 1 to 3 and list to ;console. DIRALL ;[option] L ;above options with listing printed ;on printer device. Fulì  FILENAME.EXT optionó applù aó welì aó  Wild-�Š                Carä  optionó  sucè aó [filename.*Ý oò [*.extÝ  oò �                [file????.??m]®   Thå  ";¢  characteò  afteò   thå �                filename.exô  ió  thå  separatoò foò  USEÒ  numbeò �                selections®  Normaì  Cntl-S¬  Cntl-Ñ allo÷  screeî �                displaù  freezå anä Cntl-à allowó abortinç aô  anù �                time® Fulì erroò trappinç ió incorporateä tï checë �                foò useò numberó iî range¬  listeä backwards¬  oò �                incorrecô options. DSPCLKM.COM Master Version. (CPZ-4800X) Stanä alonå prograí tï reaä thå Date/Timå directlù �                froí  thå CCB-10° clocë calendaò  board®  Usefuì �                undeò  CP/Í  anä iî somå  caseó  undeò  TurboDOS® �                Commanä  optionsº  DSPCLKM will display the Date/Time on console. DSPCLKÓ RMONITOR Š *L WS.COM 0100-3EFF *E 1D2B 1D2E 3A=CD 1D2F BA=E0 1D30 02= *E 02E0 02E0 00 3A 02E1 00 43 02E2 00 36 02E3 00 B7 02E4 00 CA 02E5 00 F4 02E6 00 02 02E7 00 3A 02E8 00 40 02E9 00 03 02EA 00 3C 02EB 00 3C 02EC 00 32 02ED 00 40 02EE 00 03 02EF 00 CA 02F0 00 F4 02F1 00 02 02F2 00 F1 02F3 00 AF 02F4 00 C9 02F5 00 3A 02F6 00 BA 02F7 00 02 02F8 00 C9 02F9 00 *S WS.COM 0100-3EFF *Q E-1 Š Appendix E - Patches for WordStar Ver. 3.0 and 3.3 DO NOT FURTHER ENHANCE These patches are for Ver 3.0 and may be useful in Ver 3.3 but it has not been tested yet. OLD NEW LABEL ADDRESS VALUE VALUE DESCRIPTION DELCUS:  02AEH  0A  01  Delayó   executeä  afteò  variouó �                                 terminaì functions. DELMISº  02AFÈ  0µ 0± similaò tï DELCUSº function DEL1: 02CFH 03 02    controló  shorô  delaù  foò  sucè �                                 functionó aó cursoò blinë  durinç �                                 replace command (^QA). DEL2: 02D0H 09 05    Similar to DEL1: function. DEL3: 02D1H 19 04    Controls medium-long delay. DEL4: 02D2H 40 04    Controló   lonç  delaù  foò  sucè �                                 functionó aó timå sign-oî remainó �                                 oî   screen¬   timå  "ne÷   file¢ �                                 message remains on screen, etc. DEL5: 02D3H 09 03    Controló  delaù useä foò  á  fulì �                                 screeî      redisplaù      durinç �                                 horizontaì  scrolling®  Iô ió thå �                                 amounô  oæ timå tï waiô  afteò  á �                                 keystrokå tï refresè thå screen. NMOFUS: 02D8H 01 20    Thå   numbeò  oæ  useró  oî   thå �                                 system®  Settinç thå valuå higheò �                                 thaî  thå actuaì numbeò oæ  useró �                                 on the system is okay. NMOFUS:+1 02D9H 01 20    Musô  bå seô tï thå samå valuå aó �                                 NMOFUS:. TCKFLG: 02DAH 00 FF    Seô    tï    FÆ    iî    TurboDOS �                                 environment. ITHELP: 0360H 03 02    Setó initiaì "help¢ level® Seô tï �                                 leveì   ²   (02©   iæ   yoõ   arå �                                 experienceä  witè  thå   Wordstaò �                                 program. ITITOG: 0362H FF 00    Zerï  tï comå uð witè inserô off¬ �                                 FF = insert on. ITDSDR: 0363H FF 00    Zerï tï initiallù noô displaù thå �Š                                 directory, FF to display. HAVBSY: 0718H 00 FF    Seô tï FÆ iî TurboDOS environment. E-2 Appendix E - Patches for WordStar Ver. 3.0 and 3.3 These patches are for Ver 3.3 Thå  symboliã  patcheò iî Versioî 3.³ caî bå founä bù typinç á  « � sign at the main menu. 028E = 01 {DELCUS = 1} 028F = 01 {DELMIS = 1} 029A = C3 {NOTE INSTALLING THESE THREE WILL ENABLE PATCH, BUT 029B = E0 WILL ALSO DISABLE SPELLSTAR 3.3} 029C = 02 02B1 = 04 {DEL3} 02B2 = 08 {DEL4} 02E0 = 21 {PATCH AREA} 02E1 = EF 02E2 = 02 02E3 = 34 {The turboDOS MONITOR command is ideal for making 02E4 = CB this patch. Use the 'L' directive to load WS.COM 02E5 = 6E into RAM, use the 'E' directive to make changes, 02E¶ ½ 3Å  and uså thå 'S§ directivå ï savå thå patcheä version 02E7 = 00 in a new .COM file.} 02E8 = C8 02E9 = 77 02EA = 0E 02EB = 0B 02EC = C3 02ED = 05 02EE = 00 02EF = 00 0717 = 00 {CSWTCH = 0} 0718 = FF {HAVBSY = FF} ;To suppress signon 3CD0 - REPLACE THE JUMP WITH 3 NOPS 3CF4 - REPLACE THE JUMP WITH 3 NOPS 3CF7 - REPLACE THE JUMP WITH 3 NOPS 3D12 - REPLACE THE JUMP WITH 3 NOPS Š Note: A jump = C3 and a NOP = 0 E-3 Appendix F - Monitor Dynamics Controller Heads/Cly Values NOTES: Š E-4 Appendix F - Monitor Dynamics Controller Heads/Cly Values F. Appendix F - Monitor Dynamics Controller Heads/Cly Values A LIST OF COMMON DRIVES THAT INTERFACE WITH MONITOR DYNAMICS, INC. HARD DISK CONTROLLER Manufacturer Model # Heads # Cyl's Formatted Capacity --------------------------------------------------------------- Atasi 3033 5 645 29.72 MB Atasi 3046 7 645 41.61 Ampex/Rodime P7/R201 2 320 5.90 Ampex/Rodime P13/R202 4 320 11.80 Ampex/Rodime P20/R203 6 320 17.70 Ampex/Rodime P27/R204 8 320 23.60 CMI 5412 4 306 11.28 CMI 5619 6 306 16.92 CMI 6426 4 640 23.59 CMI 6640 6 640 35.39 Š IMI 5006H 2 306 5.64 IMI 5012H 4 306 11.28 IMI 5018H 6 306 16.92 TULIN 213 2 640 11.80 TULIN 226 4 640 23.59 TULIN 240 6 640 35.40 TANDON 501 2 306 5.64 TANDON 502 4 306 11.28 TANDON 503 6 306 16.92 MEMOREX 512 3 961 26.57 MEMOREX 513 5 961 44.28 MEMOREX 514 7 961 62.0 SEAGATE ST506 4 153 5.64 SEAGATE ST412 4 306 11.28 SEAGATE ST419 6 306 16.92 SHUGART SA1002 2 256 4.72 SHUGART SA1004 4 256 9.44 SYQUEST SQ306R 2 306 5.64 MAXTOR XT1065 7 918 59.22 MAXTOR XT1140 15 918 126.90 MINI SCRIBE 2016 2 612 11.29 MINI SCRIBE 2012 4 1224 45.12 MSI HH612 4 306 11.28 MEMOREX MRX101 4 244 8.99 MEMOREX MRX102 8 244 17.99 CDC WREN 9415-5 5 697 32.12 QUANTUM Q2020 4 512 18.87 QUANTUM Q2040 8 512 37.75 QUANTUM Q2080 7 1172 75.61 F-1 Appendix G - Sample Drive Characteristics NOTES: Š F-2 Š Appendix G - Sample Drive Characteristics G. Appendix G - Sample Drive Characteristics Thió ió aî examplå oæ thå drivå specificationó oæ á TurboDOÓ � singlå  sideä  doublå densitù 8¢ floppù  diskette®  Thió  ió  thå � formaô oæ thå distributioî diskettå anä alì futurå updates. 0A}DRIVE Disk drive characteristics, drive A: . Maximum data capacity : 612K Allocation block size : 2K Number of directory entries: 128 Physical sector size : 1024 Physical sectors per track : 8 Physical tracks per disk : 77 Number of reserved tracks : 0 Media is removable Thió ió aî examplå oæ thå drivå specificationó oæ á TurboDOÓ � doublå sideä doublå densitù 8¢ floppù diskette®  Thió ió thå mosô � commoî formaô useä oî productioî systemó becauså oæ addeä storagå � capabilities. 0A}DRIVE B: Disk drive characteristics, drive B: . Maximum data capacity : 1224K Allocation block size : 4K Number of directory entries: 256 Physical sector size : 1024 Physical sectors per track : 8 Physical tracks per disk : 77 Number of reserved tracks : 0 Media is removable Š G-1 Appendix G - Sample Drive Characteristics Thió  ió  aî examplå oæ thå drivå specificationó oæ  á  CP/Í � formaô  singlå sideä singlå densitù 8¢ floppù diskette®  Thió  ió � thå  mosô  commoî  formaô useä oî  alì  CP/Í  compatiblå  systemó � becauså iô ió aî industrù standard. 0A}DRIVE B: Disk drive characteristics, drive B: . Maximum data capacity : 241K Allocation block size : 1K Number of directory entries: 64 Physical sector size : 128 Physical sectors per track : 26 Physical tracks per disk : 77 Number of reserved tracks : 2 Media is removable Thió  ió aî examplå oæ thå drivå specificationó oæ á  singlå � 256KBÍ memorù boarä beinç useä aó á higè speeä TURBO-DISK. 0A}DRIVE B: Disk drive characteristics, drive B: . Maximum data capacity : 254K Allocation block size : 2K Number of directory entries: 64 Physical sector size : 1024 Physical sectors per track : 4 Physical tracks per disk : 64 Number of reserved tracks : 0 Media is fixed Š G-2 Appendix H - Baud Rate Table H. Appendix H - Baud Rate Table Alì  patcheó tï dï witè bauä rateó enä witè thå letteró  BR® � (ie® CTSBR¬ XONBR¬ CONBR¬ ETXBR© Thå  patcè  valuå ió composeä oæ twï byteó: Thå firsô ió a ¶ iæ usinç thå LSTCTÓ driveò otherwise a O. The second is taken from the table below: 0 for 38400 baud 8 for 1800 baud 1 for 75 baud 9 for 2000 baud 2 for 110 baud A for 2400 baud 3 for 134.5 baud B for 3600 baud 4 for 150 baud C for 4800 baud 5 for 300 baud D for 7200 baud 6 for 600 baud E for 9600 baud 7 for 1200 baud F for 19200 baud Examples: Á 120° bauä Clear-To-Senä printeò witè á DTÒ handshakå oî piî � 20 would have the patch CTSBR = 67. Á 960° bauä Clear-To-Senä printeò witè á DTÒ handshakå oî piî � 20 would have the patch CTSBR = 6E. Á 960° bauä Xon-Xoff printeò would have the patch XONBR = 0E. Á 120° bauä Xon-Xoff printeò would have the patch XONBR = 07. Š Á specializeä situatioî caî develoð witè thå consolå driveró � CON9¶  anä CON19² iî whicè á CTÓ handshakå ió requireä  witè  thå � terminaì iî ordeò tï avoiä losinç characters®  Iæ thió applieó tï � you¬  thå  firsô  bytå  ió  composeä oæ  thå  twï  characteró  0à � immediatelù followeä bù thå bauä ratå code. Examples of consoles using CTS handshaking: A 1200 baud console for modem connection, CONBR = 0C7. A 9600 baud console for handshaking connection, CONBR = 0CE. T-Functioî 3· oæ thå TurboDOÓ Programmer'ó Guidå provideó furtheò � informatioî abouô settinç Bauä Rates. H-1 APPLICATION NOTES NOTES: Š H-2 APPLICATION NOTES I. APPLICATIOÎ NOTES Intercontinental Micro Systems Application note. AP-note: #1 Subject: TurboDOS Floppy Formats Date: 01-24-84 Š Hardware: CPZ-4800X, CPZ-48004, CPZ-48006 I-1 Š APPLICATION NOTES I.1. AP-note - TurboDOS Floppy Formats Intercontinental Micro Systems Application note. AP-note: #1 Subject: TurboDOS Floppy Formats Date: 01-24-84 Hardware: CPZ-4800X, CPZ-48004, CPZ-48006 Thió  AP-NOTÅ  describeó thå changeó tï thå Disë  controlleò softwarå foò uså undeò the TurboDOÓ operatinç system. Thå  disë controlleò softwarå (DSKCPZ.REL© no÷ providå  botè 8¢ anä 5¢ floppù drivå supporô witè limitationó oî thå  CPZ-4800ø versioî CPÕ boarä used® Belo÷ ió á lisô oæ thå limitations: 1. CPZ-4800X ..... 8" or 5" drives. (not both together.) 2. CPZ-48004 ..... 8" and 5" drives may be run together. 3. CPZ-48006 ..... 8" and 5" drives may be run together. Thå DSKCPZ.REÌ file¬ anä DSKFMT8.REÌ filå havå beeî modifieä tï handlå thå changeó necessarù tï supporô 8¢ anä 5¢ drives® Theù arå thereforå noô compatiblå witè releaseó beforå Jan®  24¬ 1984® Threå  (3©  ne÷ disë formaô specificatioî tableó  havå  no÷  beeî provideä tï supporô thå 5¢ driveó froí Intercontinentaì Micrï Systems® Theså fileó arå listeä below: 1. DSK48M.REL .... 40 trk, 1/2 sided 1024 bytes double density. 2. DSK96M.REL .... 80 trk, 1/2 sided 1024 bytes double density. 3. TLV803.REL .... 40 trk, 2 sided Televideo 803/TPC-I format. 4. ICM48M.REL .... 40 trk, 2 sided 512 Byte ICM format. 5. ICM96M.REL .... 80 trk, 2 sided 512 Byte ICM format. 6. STD8IN.REL .... Software 2000 8" Floppy disk Standard. Thå  6 fileó listeä abovå eacè contaiî á GLOBAÌ entrù  poinô foò thå benefiô oæ thå GEN.COÍ prograí durinç linkinç togetheò oæ thå Operatinç System® Belo÷ ió thå GLOBAÌ namå useä iî eacè file: File Global Name ---- ----------- 1. DSK48M.REL ........ DSK48M 2. DSK96M.REL ........ DSK96M 3. TLV803.REL ........ TLV803 4. ICM48M.REL ........ ICM48M 5. ICM96M.REL ........ ICM96M 6. STD8IN.REL ........ STD8IN Theså  GLOBAÌ  nameó arå useä tï telì thå  operatinç  systeí whicè physicaì drivå selecô (0¬ 1¬ 2¬ 3© oæ thå floppù controlleò oî  thå  CPZ-4800X  boarä  tï  use®  Becauså  thå  on-boarä  disë controlleò  caî accesó á maximuí oæ ´ drives¬  á  GLOBAÌ  pointeò tablå  haó beeî addeä tï DSKCPZ.REÌ sï thaô botè 8¢ anä 5¢ driveó Š maù  worë together®  (seå restrictionó listeä abovå oî  CPZ-4800X boards). I-2 APPLICATION NOTES Aó  aî  example¬  yoõ coulä havå ³ 8¢ driveó anä ± 5¢  drivå attacheä aô oncå oî thå system¬  oò ± 8¢ drivå anä ³ 5¢ driveó iæ yoõ  wish®  Yoõ caî alsï miø thå 5¢ drivå typeó iæ yoõ  wish®  (± coulä bå 5¢ 8° track¬  ± coulä bå 5¢ 4° track¬  anä ± coulä bå 5¢ TeleVideï format.) Below is a couple of examples of .GEN and .PAR files: ********************************************************************** * N O T E: DSKPTR (in DSKCPZ.REL module) is defaulted to 8" drives. * ********************************************************************** CPZDOS or CPZMASTR.GEN file [ Using only 8" drives ] -------------------- . (rest of .GEN file) . DSKCPZ ; 8" and 5" disk driver module DSKFMT8 ; 8" TurboDOS drive module ;DSK48M ; 40 track TurboDOS drive module ;DSK96M ; 80 track TurboDOS drive module ;TLV803 ; TeleVideo 40 track drive module . (rest of .GEN file) . CPZDOS or CPZMASTR.PAR file [ Using only 8" drives ] -------------------- . (rest of .PAR file) . ;DSKPTR = DSK48M,DSK96M,DSK96M,TLV803 ;if using 5" drives only ; DSKAST = 000,DSKDRA,001,DSKDRA,002,DSKDRA,003,DSKDRA ;drvs A:,B:,C:,D: 0FF,(0000),0FF,(0000),0FF,(0000),0FF,(0000) ; E:,F:,G:,H: 0FF,(0000),0FF,(0000),0FF,(0000),0FF,(0000) ; I:,J:,K:,L: 0FF,(0000),0FF,(0000),0FF,(0000),0FF,(0000) ; M:,N:,O:,P: ; . Š (rest of .PAR file) . I-3 APPLICATION NOTES ********************************************************************** * N O T E: DSKPTR (in DSKCPZ.REL module) is defaulted to 8" drives. * ********************************************************************** CPZDOS or CPZMASTR.GEN file [ Using 8" & 5" drives ] -------------------- . (rest of .GEN file) . DSKCPZ ; 8" and 5" disk driver module DSKFMT8 ; 8" TurboDOS drive module DSK48M ; 40 track TurboDOS drive module DSK96M ; 80 track TurboDOS drive module TLV803 ; TeleVideo 40 track drive module . (rest of .GEN file) . CPZDOS or CPZMASTR.PAR file [ Using 8" & 5" drives ] -------------------- . (rest of .PAR file) . DSKPTR+2 = DSK96M,DSK48M,TLV803 ;using 8" and 5" drives together ; DSKAST = 000,DSKDRA,011,DSKDRA,012,DSKDRA,013,DSKDRA ;drvs A:,B:,C:,D: 0FF,(0000),0FF,(0000),0FF,(0000),0FF,(0000) ; E:,F:,G:,H: Š 0FF,(0000),0FF,(0000),0FF,(0000),0FF,(0000) ; I:,J:,K:,L: 0FF,(0000),0FF,(0000),0FF,(0000),0FF,(0000) ; M:,N:,O:,P: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Pleaså  notå thaô thå 011,DSKDRA,012,DSKDRA¬  anä 013,DSKDRÁ � eacè  havå biô ´ set®  Thió ió ho÷ thå DSKCPZ driveò knowó iô  ió � dealinç witè á 5¢ drive®  Iô musô bå seô tï ± (biô 4)¬  beforå 5¢ � operatioî wilì work. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ . (rest of .PAR file) . I-4 APPLICATION NOTES ********************************************************************** * N O T E: DSKPTR (in DSKCPZ.REL module) is defaulted to 8" drives. * ********************************************************************** CPZDOS or CPZMASTR.GEN file [ Using only 5" drives ] -------------------- . (rest of .GEN file) . DSKCPZ ; 8" and 5" disk driver module ;DSKFMT8 ; 8" TurboDOS drive module DSK48M ; 40 track TurboDOS drive module DSK96M ; 80 track TurboDOS drive module TLV803 ; TeleVideo 40 track drive module . (rest of .GEN file) . Š CPZDOS or CPZMASTR.PAR file [ Using only 5" drives ] -------------------- . (rest of .PAR file . DSKPTR = DSK96M,DSK96M,DSK48M,TLV803 ;using 5" drives only. ; DSKAST = 010,DSKDRA,011,DSKDRA,012,DSKDRA,013,DSKDRA ;drvs A:,B:,C:,D: 0FF,(0000),0FF,(0000),0FF,(0000),0FF,(0000) ; E:,F:,G:,H: 0FF,(0000),0FF,(0000),0FF,(0000),0FF,(0000) ; I:,J:,K:,L: 0FF,(0000),0FF,(0000),0FF,(0000),0FF,(0000) ; M:,N:,O:,P: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Pleaså  notå  thaô  thå  010,DSKDRA,011,DSKDRA,012,DSKDRA¬   anä � 013,DSKDRÁ  eacè havå biô ´ set®  Thió ió ho÷ thå  DSKCPZ  driveò � knowó iô ió dealinç witè á 5¢ drive® Iô musô bå seô tï ± (biô 4)¬ � beforå 5¢ operatioî wilì work. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ . (rest of .PAR file) . Ne÷  formató  wilì  bå addeä aó theù arå  createä  froí  otheò manufacturers. I-5 APPLICATION NOTES Intercontinental Micro Systems, Corp. TurboDOS System Example T O P O L O G Y --------------- ----------------------------------------------------------------- Module Name Printer Assignment Master ........................ Printer "A" Š Slave-1 ....................... Printer "B" Slave-2 ....................... Printer "C" Slave-3 ....................... Printer (none) Floppies ....................... 2-8", 2-5" drives CPZMASTR.GEN file STDMASTR ; Standard networking master PATCH ; Include PATCH module FASLOD ; Use fast disk loader module MSGFMT ; Delete if not SPOOLING with SLAVES NETREQ ; Delete if not SPOOLING with SLAVES CPMSUP ; CP/M function support module CONREM ; Use remote console module ;CON192 ; Null 19.2 Kbaud Console Driver ;CON96 ; Null 9600 Baud Console driver NITCPZ ; CPZ-4800X hardware initialization SPDCPZ ; CPZ-4800X Serial and Parallel I/O LSTCTS ; TI810 CTS Driver (LSTDR@ assigned to LSTDRA) ;LSTPAR ; Centronics Parallel port printer RTCCPZ1 ; CPZ-4800X real time clock driver MSTRCLK ; ICM ccb board drvr to set TurboDOS date/time DSKCPZ ; CPZ-4800X floppy disk driver DSKFMT8 ; Disk specification tables for 8-INCH diskettes DSK48M ; Include 40 Track drive spec tables DSK96M ; Include 80 Track drive spec tables ;MD131DRV ; Monitor Dynamics Model #1013 with 1 drive ;MD132DRV ; Monitor Dynamics Model #1013 with 2 drive ;TURBO ; Turbo-Disk driver module ;TURDSK ; Turbo-Disk definition module MCDCPS ; CPZ-4800X / CPS-16 Master Circuit Driver ----------------------------------------------------------------- I-6 Š APPLICATION NOTES CPZMASTR.PAR file SRHDRV = 0FF ; Search system disk for command files COMPAT = 0F8 ; Record/File lock compatibility flags ; NMBUFS = 0A ; Default number of Disk Buffers (hex) BUFSIZ = 03 ; Default disk buff size (log2(size/128)) MEMRES = (1000) ; Reserve memory for dynamic allocations ; PATCSA = 7F,7E,7D,7C ; Status port table for CPS-MX SSTCSA = "1234" ; O/S suffix table for CPS-MX ; AUTUSR = 80 ; Auto Log-on to user one, privileged PTRAST = 00,LSTDRA,81,(1),82,(2) ; List assignment TABLE QUEAST = 00,(0),81,(1),82,(2) ; Queue assignment TABLE DSPPAT = 1,2,3 ; 3 printers ; FLSRT = 01 ; 6ms Floppy step rate ATNCHR = "^@" ; New attention character ; ;MPAGE = 02 ; Use memory above slave address for Turbo-disk ; ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ DSKPTR+4 = DSK48M,DSK96M ;Drv C:=40 Track drv, Drv D:= 80 Track ; ;where DSKPTR defaults to 8" drives unless overlayed with Mini ;Floppy pointers as shown above. Bit 4 must be set in the drive ;spec setup as shown below so that mini-floppies will select OK. ;Mini Floppy pointer names are as follows: ;DSK48M = 40 track drive disk spec pointer. ;DSK96M = 80 track drive disk spec pointer. ;TLV803 = TeleVideo 803/TPC-I disk spec pointer. ; ;following defines floppy disk drives [ 8" and 5" drvs ] ; DSKAST = 000,DSKDRA ;8" Floppy Disk 001,DSKDRA ;8" Floppy Disk 012,DSKDRA ;5" 40 Track mini floppy 013,DSKDRA ;5" 80 Track mini floppy ; ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; ;the following defines floppies + Monitor Dynamics Hard Disk ;with bootup from 1st Monitor Dynamics hard disk. ; ;DSKASÔ ½ 01,DSKDRB,00,DSKDRA,01,DSKDRA,02,DSKDRÁ ;harä disk ; 0FF,(0),0FF,(0),0FF,(0),0FF,(0),0FF,(0) ;and floppies ; 0FF,(0),0FF,(0),0FF,(0),0FF,(0),0FF,(0),0FF,(0),02,DSKDRB Š I-7 APPLICATION NOTES Slave-1 GEN file STDSLAVE ; Standard NETWORKING SLAVE BNKMGR ; ONLY If using BANKED 128K Slave. BNKREQ ;NETLOÄ  » Uså networë load modulå (iæ noô bankeä slave) NETSVC ; Include Net service module RTCNUL ; allow consistent printing with de-spooler DSPOOL ; include de-spool module CPMSUP ; CP/M Function support module NITCPS ; CPS-MX hardware initialization CON192 ; 19.2K baud console Driver ;CON96 ; 9600 baud console Driver SPDCPS ; CPS-MX Serial Drivers LSTCTS ; Use list clear to send null driver ;LSTPAR ; Use parallel null driver SCDCPS ; CPS-MX Slave Circuit driver RESCPS ; CPS-MX Slave reset detection ;---------------------------------------------------------------- Slave-1 PAR file SRHDRV = 0FF ; Search System Disk for .COM Files COMPAT = 0F8 ; File/Record Locking Compatibility Flags ; ATNCHR = "^@" ; Use "BREAK" Key for Attention RESKEY = "^\" ; Reset key function AUTUSR = 80 ; DEFAULT = User 0, Privileged ; CURBNK = 1 ; Default bank = TPA if 1 (and banked slave) ; CONAST = 01,CONDRA ; Console on port 1 of CPS-MX STOPBB = 44 ; define 1 stop bit on console STOPBA = 44 ; define 1 stop bits on printer ; PTRAST+3 = 00,LSTDRA ;1 local, rest remote printers QUEAST+3 = 00,(0) ;1 local, rest remote queues DSPPAT = 1,2,3 ; assign printers QUEPTR = 2 ; assign as printer A PRTMOD = 1 ;1=spooled, 0=direct ; LDCOLD = 000 ; Disable Cold start autoload Š LDWARM = 000 ; Disable Warm start autoload ; ;LDCOLD must be set to 0FF if you want to auto-load a file ; ;COLDFN = 0,"SLVCLK ","AUT" ;init system clock function using ;CCB-100 clock board. I-8 APPLICATION NOTES Slave-2 GEN file STDSLAVE ; Standard NETWORKING SLAVE BNKMGR ; ONLY If using BANKED 128K Slave. BNKREQ ;NETLOÄ  » Uså networë load modulå (iæ noô bankeä slave) NETSVC ; Include Net service module RTCNUL ; allow consistent printing with de-spooler DSPOOL ; include de-spool module CPMSUP ; CP/M Function support module NITCPS ; CPS-MX hardware initialization CON192 ; 19.2K baud console Driver ;CON96 ; 9600 baud console Driver SPDCPS ; CPS-MX Serial Drivers LSTCTS ; Use list clear to send null driver ;LSTPAR ; Use parallel null driver SCDCPS ; CPS-MX Slave Circuit driver RESCPS ; CPS-MX Slave reset detection ;----------------------------------------------------------------� Slave-2 PAR file SRHDRV = 0FF ; Search System Disk for .COM Files COMPAT = 0F8 ; File/Record Locking Compatibility Flags ; ATNCHR = "^@" ; Use "BREAK" Key for Attention RESKEY = "^\" ; Reset key function AUTUSR = 80 ; DEFAULT = User 0, Privileged ; CURBNK = 1 ; Default bank = TPA if 1 (and banked slave) ; Š CONAST = 01,CONDRA ; Console on port 1 of CPS-MX STOPBB = 44 ; define 1 stop bit on console STOPBA = 44 ; define 1 stop bits on printer ; PTRAST+6 = 00,LSTDRA ;2 remote, 1 local printer QUEAST+6 = 00,(0) ;2 remote, 1 local queue DSPPAT = 1,2,3 ;assign number of printers QUEPTR = 3 ;assign this printer as "C" PRTMOD = 1 ;1=spooled, 0=direct ; LDCOLD = 000 ; Disable Cold start autoload LDWARM = 000 ; Disable Warm start autoload ; ;LDCOLD must be set to 0FF if you want to auto-load a file ; ;COLDFN = 0,"SLVCLK ","AUT" ;init system clock function using ;CCB-100 clock board. I-9 APPLICATION NOTES ;----------------------------------------------------------------� Slave-3 GEN file STDSLAVE ; Standard NETWORKING SLAVE BNKMGR ; ONLY If using BANKED 128K Slave. BNKREQ ;NETLOÄ  » Uså networë load modulå (iæ noô bankeä slave) NETSVC ; Include Net service module RTCNUL ; allow consistent printing with de-spooler CPMSUP ; CP/M Function support module NITCPS ; CPS-MX hardware initialization CON192 ; 19.2K baud console Driver ;CON96 ; 9600 baud console Driver SPDCPS ; CPS-MX Serial Drivers ;LSTCTS ; Use list clear to send null driver ;LSTPAR ; Use parallel null driver SCDCPS ; CPS-MX Slave Circuit driver RESCPS ; CPS-MX Slave reset detection ;----------------------------------------------------------------�Š Slave-3 PAR file SRHDRV = 0FF ; Search System Disk for .COM Files COMPAT = 0F8 ; File/Record Locking Compatibility Flags ; ATNCHR = "^@" ; Use "BREAK" Key for Attention RESKEY = "^\" ; Reset key function AUTUSR = 80 ; DEFAULT = User 0, Privileged ; CURBNK = 1 ; Default bank = TPA if 1 (and banked slave) ; CONAST = 01,CONDRA ; Console on port 1 of CPS-MX STOPBB = 44 ; define 1 stop bit on console ; LDCOLD = 000 ; Disable Cold start autoload LDWARM = 000 ; Disable Warm start autoload ; ;LDCOLD must be set to 0FF if you want to auto-load a file ; ;COLDFN = 0,"SLVCLK ","AUT" ;init system clock function using ;CCB-100 clock board. I-10 I N D E X ;----------------------------------------------------------------� * *.A:, 3-5 *.CMD:, 3-6 *.COM:, 3-6 *.GEN, 3-6 *.MAC, 3-5 Š *.O:, 3-5 *.PAR, 3-6 *.REL, 3-5 1 16 BIT MASTER (CPZ-186), 6-8 16 Bit Slaves, 7-6 19200 Baud Console Driver, B-2 8 8086 ASSEMBLER, 3-5 9 9600 Baud Console Driver, B-2 A A Very Short Time Ago ..., 8-1 Adding Banked Slaves, 6-7 Adding Slave Processors, 6-1 Addition of slave, 6-1 Advantages, 4-1 AM80INIT.ASM, A-1 AM80INIT.COM, A-1 AP-note - TurboDOS Floppy Formats, I-2 Appendix A - Definitions of I.C.M.'s Utilities & Drivers, A-1 Appendix B - ICM's Drivers - Global Symbols and Defaults, B-1 Appendix C - Sample .GEN and .PAR Files, C-1 Appendix D - Printers on Slaves Sample .GEN's and .PAR's, D-1 Appendix E - Patches for WordStar Ver. 3.0 and 3.3, E-1 Appendix F - Monitor Dynamics Controller Heads/Cly Values, F-1 Appendix G - Sample Drive Characteristics, G-1 Appendix H - Baud Rate Table, H-1 APPLICATION NOTES, I-1 ARCnet, 1-1 ARCnet Hardware Overview, 8-3 ARCnet Local Area Network, 8-2 ARCnet SOFTWARE OVERVIEW, 8-5 Automatic Logon, 7-12 B Backup, 2-7 Banked, A-3 Banked memory driver, B-6 Banked Slave Processors, A-3 Batch Processing, 7-15 BNKCPS.REL, B-6 Boot from Hard Disk, 3-24 I-11 Š I N D E X Boot prom, 1-2 Boot-up, 1-1 Booting From Hard Disk and Setting Up a Multi-User System, 5-5 BPDSMC.REL, 5-6 Bus voltages, 2-1 C Cabling, 4-3 CALCULATING DISK BUFFERS FOR CPZ-186, 7-4 Changing The Console (Terminal) Parameters, 3-12 Characteristics of WRTPx and WRTPx+1, 4-22 CKTSER - Serial Modem Link, 8-31 CLKSETM.COM, A-1 CLKSETS.COM, A-1 Clock/Calander on a 16-bit Slave, 6-6 Clock/Calendar Board Installation, 3-15 Clock/Calendar on Slave, 6-5 Clock/Calender Board on CPZ-186, 3-16 CNTRES, B-18, B-30 COM9026 controller, 8-2 Common Problems with terminals, 2-2 Compatibility CP/M 2.2, 1-1 CP/M-86, 1-1 MP/M, 1-1 MP/M-86, 1-1 CON192, B-2 CON96, B-2 CONBR, B-2 Connectors, 4-16 Console baud rate, 3-12 Console Drivers, B-2 CPSSLAVE.GEN, A-1, C-5 CPSSLAVE.PAR, A-1, C-5 CPSSLV16.GEN, 7-7 CPSSLV16.PAR, 7-7 CPZ-186 MASTER MULTI-USER SYSTEM CHANGES, 7-1 CPZDOS.GEN, 4-4, A-1, C-1 CPZDOS.PAR, 4-5, A-1, C-1 CPZFDC, B-6 CPZLD16.GEN, 4-9 CPZLOAD, 4-9 CPZLOAD.GEN, A-1, C-2 CPZLOAD.PAR, A-1, C-2 CPZMASTR.GEN, A-1, C-3 CPZMASTR.PAR, A-1, C-3 CRT Terminal Set Up, 2-2 CTSBR, B-3 CTSFF, B-3 Cylinders, 4-2 Š I-12 I N D E X D Default, 4-5 Default loader, A-1 Default Single User Configuration, 3-8 Default standard configuration, 2-6 DIRALL.COM, A-2 Directory parameters, 4-2 DISK SPEC'S, 5-6 DISKLESS MASTER, 8-19 Distribution diskette, 1-1, 2-6 DLC80.REL, B-10 DLC86.REL, B-10 DLYCNT, B-7 DREQUATE.MAC, 5-7 DRVTBL, B-8 DSKCPZ.REL, B-6 DSKCPZ1.REL, B-7 DSKDR@::, 3-23 DSKOMTB.O, 4-9 DSKPTR, B-7 DSKSMC, 5-1, 5-8 DSKSMC.REL, 5-6 DSPCLKM.COM, A-2 DSPCLKS.COM, A-2 DST58F.REL, B-8 DST58I.REL, B-9 DST5F.REL, B-9 DST8F.REL, B-9 DSTAK1, 5-8 DSTAK1.O, 5-6 DSTAK1.REL, 5-6 DSTAK11.O, 5-6 DSTAK11.REL, 5-6 DSTAK12.O, 5-7 DSTAK2, 5-9 DSTAK2.O, 5-7 DSTAK2.REL, 5-7 DSTAK21.O, 5-7 DSTAK22.O, 5-7 DSTAK22.REL, 5-7 DSTSMC1.O, 5-7 Š DSTSMC2.O, 5-7 DSTSMD.REL, 5-6 E ENACSI, B-16 ENPCS@, B-12 EQUATE.MAC, 5-7 ERASEDIR, 4-8 F First thing to check, 2-1 Floppy 8 & 5 simultaneous, B-7 Floppy disk, 2-4 I-13 I N D E X Floppy Disk Drive Set Up, 2-4 Floppy disk driver, B-6 Floppy Step Rate, B-6 FLSRT, B-6 FMTOMT.CMD, 4-8 FMTOMT.COM, 4-8 FMTSMC, 5-10 FMTSMC.CMD, 5-7 FMTSMC.COM, 5-7 Format, 2-7 Format and Contents of the Distribution Diskette, 2-6 FORMAT.COM, A-3 FORMAT5.COM, A-3 Formating the Hard Disk, 3-20 Formating the SMC-200, 5-5 Formatting Double Sided Diskettes, 2-8 G GEN, 1-1 GEN.COM, 3-6 GLOBAL symbols, B-1 H Hard Disk Boot-up, 3-24 Hard Disk Drive Via Parallel Port, 3-26 Hardware initialization, B-14 Hardware Modifications, 4-10, 7-3 Hardware Modifications for CPZ-186, 4-12 Hardware Modifications for CPZ-48000, 4-10 Hardware Modifications for CPZ-4800X, 4-11 Š Hardware Modifications for SASI-100, 4-13 HASH, 4-8 Heads, 4-2 I IBM-PC, 1-1 IMPLEMENTER'S GUIDE, 3-9 Initial Setup, 4-3, 5-2 INTEGRATING THE OMTI, 4-1 Integrating the OMTI Controller, 4-3 Integrating the SMC-200, 5-2 Introduction, 4-1 J Jumper settings, 5-2 Jumpers, 4-17 K KONAN SMC-200, 5-1 L LAN, 1-1 List of Appendixes, 9-1 LOADFN, 3-11 Loading a Text Editor, 3-8 I-14 I N D E X LOCAL AREA NETWORK OVERVIEW, 8-1 Loosely coupled, 1-1 LSTCTS, B-3 LSTPAR, B-3 LSTPFF, B-3 LSTXON, B-3 M M-80, 3-5 Making Backup Copies Of Your System Disk, 2-7 Master Batching, 7-17 MATURE, 8-24 MCDCPS.REL, B-9 MCNCPS.REL, B-10 MEMTBL+1, B-29 MEMTBL+3, B-29 Mixing 8 And 16 Bit Slaves, 7-10 Module Description, 5-8 Modules applying to both Z-80 and 8086 Versions, B-1 Š Monitor Dynamics 1013 set up, 3-19 Monitor Dynamics controller, 3-19 MPAGE, B-27 MSTCPS.O, B-29 Multi-serial interface module, B-19 MULTI-USER PROCEDURES, 6-1 Multi-user system, 1-2 N Networking, 1-1 NITCPS.O, B-29 NITCPS.REL, B-14 NITCPZ.REL, B-14 NMBSIM, B-19, B-31 O OMTIDST.COM, 4-7 One Megabyte 16 Bit Slaves, 7-8 Operating system, 1-1 Operating System Set-up, 4-18 Optimize, 1-1 OSLOAD, 1-2 OSLOAD.COM, 3-7 OSMASTER.SYS, 3-7 OSSLAVE.SYS, 3-7 OSSLAVEZ.SYS, 3-7 Overview, 5-1 P Parallel Printer Driver Module, B-3 Patching examples, 4-23 PATCS@, B-11 PATCSI, B-16 PC ARCnet Interface, 8-23 PC NETWORKING OVERVIEW, 8-23 Peripheral Devices Supported with ICM Drivers, 3-4 I-15 I N D E X Port address, 5-2 Port assignment table, B-16 Power Requirements for OMTI Series, 4-15 Power-down, 6-2 PRIAM Personality Board, 3-26 Printer Drivers, B-3 Printer on Slave, 6-4 PRLTOCOM.ASM, A-3 Š PRLTOCOM.COM, A-3 Procedures for Booting the Single User System, 2-6 PROM TYPES, 2-4 R RAM disk driver, B-27 Real-time-clock driver, B-16, B-17 "REL" & "O" FILE EXPANDED DESCRIPTIONS, B-2 "REL" FILE EXPANDED DESCRIPTIONS, B-6 Relationship of TurboDOS Files, 3-5 Remote or Physical Master Console, 6-4 RESCPS.O, B-30 RESCPS.REL, B-18 RESKEY, B-18, B-30 RPB-100, 2-2 RTCCPS.REL, B-16 RTCCPZ.REL, B-17 RTCCPZ1.REL, B-7, B-17 S S-100 ARCnet Interface, 8-7 S-100 Bus Pin out, 2-1 S-100 Bus Voltage Verification, 2-1 S0IBSZ, B-22, B-23, B-24, B-26, B-32 S0OBSZ, B-24, B-26 S0WR4, B-25, B-26 S1IBSZ, B-22, B-23, B-24, B-26, B-32 S1OBSZ, B-24, B-26 S1WR4, B-25, B-26 Sample listings, 1-2 SASI/SCSI Personality Board(other than OMTI), 3-27 SCDCPS.O, B-30 SCDCPS.REL, B-18 Serial Printer Installation, 3-13 SERIAL.REL, B-19 Serial/parallel I/O driver, B-21, B-22, B-23 Setting drive parameter bytes in .PAR file, 4-20 Setting up OMTI Board, 4-16 Setting Up the Single-User Operating System, 5-3 SHFIN, B-2 SHFOUT, B-2 Shunts, 5-2 Sign-on message, 2-6 SINGLE-USER GEN, 4-4 SINGLE-USER PAR, 4-5 SINGLE-USER PROCEDURES, 3-1 Slave circuit driver, B-18 I-16 Š I N D E X Slave reset detection, B-18 Slave reset key, B-18 SLVBNK.GEN, A-3, C-6 SLVBNK.PAR, A-3, C-6 SLVCLK.AUT, A-3 SMC gen example, 5-3 SMC par example, 5-4 SMC-200, 5-1 SMC-200 Base I/O Address:, 5-11 SMC-200 File Explanation, 5-6 SMCRTY, 5-5 Software Modifications, 7-1 SOMCPS.REL, B-21 SOMCPZ, B-21 Source Information, 5-11 SPDCPS, B-21 SPDCPS.O, B-32 SPDCPZ, B-22 Special Drives, 4-24 SPICPS.REL, B-23 SPICPZ.REL, B-25 SSTCS@, B-11 Standard configuration, 1-3 Start-up procedure, 1-2 STATCT, B-7 Step Period, 4-20 Step Pulse Width, 4-20 STOPBA, B-22, B-23 STOPBA+2, B-22, B-23 STOPBA+4, B-22, B-23 STOPBB, B-22, B-23 STOPBB+2, B-22, B-23 STOPBB+4, B-22, B-23 STPRx, 4-20 STPWx, 4-20 Supported Drive's, 5-12 System overview, 1-1 System Re-Configuration with GEN, 3-10 System start up procedures, 2-1 T TASM.CMD, 3-5 Technical Description of the Disk Assignment Table, 3-23 The Monitor Dynamics MD1013/1016, 3-19 The SASI-200, 4-14 THE SMC-200, 5-1 The Syquest Removeable 10MB Hard Disk, 4-24 Tightly coupled, 1-1 TLINK, 1-1 TLINK.CMD, 3-6 TPC Emulator, 8-23 Turbo-DISK Installation, 3-17 Š TURBO.REL, B-27 TurboDOS boot prom, 1-2 TurboDOS Command Summary, 3-1 I-17 I N D E X TurboDOS Driver Doc 8086 VER, REV 1, Nov 15 1984, B-28 Z-80 VER, REV 2, NOV 15 1984, B-4 8086 VER, B-28 Z-80 VER, B-4 TurboDOS REL file Symbols, B-1 TurboDOS SYSTEM OVERVIEW, 1-1 TurboDOS SYSTEM START UP PROCEDURES, 2-1 TurboDOS/PC (T/PC), 8-25 TURDSK.MAC, A-3 U User sign-on message, B-21 USER'S GUIDE, 3-9 USRSOM, B-21, B-32 USRSOM.O, B-31 USRSUP, 4-4, 4-9 Utility files, 4-18 V Void warranty, 2-1 W What If It Doesn't Work the First Time???, 4-8 WORDMASTER, 3-8 WORDSTAR, 3-8 WorkStations, 1-1 Write Precompensation, 4-21 WRTPx, 4-21, 4-23 WRTPx+1, 4-21 WRTPxP+1, 4-23 WS-80 (WorkStation) ARCnet Interface, 8-26 X XON/XOFF Printer Driver Module, B-3 XONBR, B-3 XONFF, B-3 Z Z-80 ASSEMBLER, 3-5 Š I-18 -28 Z-80 VER, B-4 TurboDOS REL file Symbols, B-1 TurboDOS SYSTEM OVERVIEW, 1-1 TurboDOS SY INTERCONTINENTAL MICRO SYSTEMS, CORP. TurboDOS IMPLEMENTATION CHANGE NOTICE #1 Z-80 VERSION October 16, 1984 .he TurboDOS IMPLEMENTATION GUIDE, Z-80 CHANGE NOTICE #1 PAGE # .fo INTERCONTINENTAL MICRO SYSTEMS, CORP. (9/18/84) MODULES AFFECTED: NITCPS.REL and NITCPZ.REL CHANGE: Thå externaì initializatioî calì tï  "USRNIT¢ �                     haó beeî removeä froí theså modules. REASON: Theså  calló conflicteä witè thå ne÷ TurboDOÓ �                     v1.4ø   systeí  whicè  calló  thió   externaì �                     routine during system initialization. ååååååååååååååååååååååååååååååååFMTSMD MAC€< = > ? @ A B C FMTSMD MAC{D E F G H I J K åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå INTERCONTINENTAL MICRO SYSTEMS, CORP. TurboDOS IMPLEMENTATION CHANGE NOTICE #2 Z-80 VERSION November 20, 1984 .he TurboDOS IMPLEMENTATION GUIDE, Z-80 CHANGE NOTICE #2 PAGE # .fo INTERCONTINENTAL MICRO SYSTEMS, CORP. (11/20/84) Severaì  ne÷  moduleó  havå beeî addeä tï  thå  currenô  TurboDOÓ � implentatioî  foò  Z-80  masteò  anä  slavå  boarä  products®  Á � completå  descriptioî oæ theså ne÷ moduleó haó beeî  incorporateä � intï  thå  documentatioî filå SYSZ80.DOà revisioî 2¬  locateä  oî � youò  distributioî  disk®  Á breiæ discussioî oæ  theså  moduleó � follows. NEW MODULES ----------- DSKCPZ1.REL Revisioî  ±  floppù disë driveò foò thå  CPZ-4800Ø �                masteò  processoò  boarä  (á  completå   rewrite)® �                Originallù  writteî bù Softwarå 2000¬  thió driveò �                haó  beeî  converteä tï M8° assembleò  formaô  anä �                enhanceä  foò  motoò start-uð delayó  witè  Tandoî �                typå  drives®   Botè  8-incè  anä  5-incè   drivå �                operationó  havå  beeî improveä foò  betteò  readù �                timeouô delaù anä formaô typå lookup.                Thió  driveò featureó á fouò bytå drivå typå tablå �                foò  specifiã  drivå parameteró  relativå  tï  thå �                drivå   selecô  positioî  (DS0-DS3)®   Individuaì �                driveó  maù bå assigneä differenô steð  rates¬  aó �                welì aó mini-floppy¬  9¶ TPI¬  anä Tandoî start-uð �                modes of operation.                IMPORTANÔ NOTEº Revisioî ± oæ thå real-time-clocë �                driveò (RTCCPZ1.REL© musô bå useä witè thió driveò �                foò propeò operation® Onlù standarä TurboDOÓ disë �                formató  arå  supporteä witè thå  ne÷  driveò  anä �                associateä   disë  specificatioî  tables®   Otheò �                previouslù supporteä disë formató musô uså  floppù �                disë driveò (DSKCPZ.REL© alonç witè thå associateä �                disk specification tables. ----------------------------------------------------------------- DST58F.REL Disë specificatioî tableó foò standarä TurboDOÓ 8-�                inch and 5-inch formats. Š----------------------------------------------------------------- DST58I.REL Disë  specificatioî  tableó foò  non-standarä  ICÍ �                TurboDOÓ 8-incè doublå density¬  singlå anä doublå �                sideä formats¬ alonç witè standarä TurboDOÓ 5-incè �                formats. ----------------------------------------------------------------- DST5F.REL Disë specificatioî tableó foò standarä TurboDOÓ 5-�                inch formats. ----------------------------------------------------------------- DST8F.REL Disë specificatioî tableó foò standarä TurboDOÓ 8-�                inch formats. ----------------------------------------------------------------- RTCCPZ1.REL Revisioî  ±  real-time-clocë driveò foò  thå  CPZ-�                4800Ø  masteò  processoò board®  Thió ne÷  driveò �                musô  bå useä witè revisioî ± floppù  disë  driveò �                (DSKCPZ1.REL© tï supporô propeò operatioî oæ readù �                and motor timer delays. ----------------------------------------------------------------- SERIAL.REL Multi-seriaì interfacå module®  Designeä tï allo÷ �                multiplå driveró supportinç seriaì channeló tï  bå �                GEN'eä togetheò iî á TurboDOÓ system® Thå twï ne÷ �                serial/paralleì  driveró  (SPICPÓ anä SPICPZ©  arå �                designed to interface with this new module. ----------------------------------------------------------------- SPICPS.REL Serial/paralleì  I/Ï driveró foò thå CPS-MX¬  CPS-�                BMX¬  anä WS-8° slavå processoò boards®  Thió ne÷ �                driveò  featureó fulì interrupô  driveî  receiver¬ �                transmitter¬  anä  MODEÍ controì  lines®  Receivå �                inpuô  handshakinç  witè datá terminaì readù  linå �                (DTR)®  Calló  tï externaì useò writteî  routineó �                wheî  á changå oæ statå ió determineä oî  thå  DCÄ �                line.                Thió  driveò  ió fullù compatiblå witè thå  multi-�                serial interface module (SERIAL) described above. ----------------------------------------------------------------- SPICPZ.REL Serial/paralleì  I/Ï  driveró  foò  thå  CPZ-4800Ø �                masteò processoò board®  Thió ne÷ driveò featureó �                fulì interrupô driveî receiver¬  transmitter¬  anä �                MODEÍ  controì lines®  Receivå inpuô  handshakinç �                witè  datá  terminaì readù linå (DTR)®  Calló  tï �                externaì  useò writteî routineó wheî á  changå  oæ �Š               statå ió determineä oî thå DCÄ line.                Thió  driveò  ió fullù compatiblå witè thå  multi-�                serial interface module (SERIAL) described above. ----------------------------------------------------------------- REVISED MODULES --------------- SPDCPS.REL Serial/paralleì  I/Ï driveró foò thå CPS-MX¬  CPS-�                BMX¬  anä  WS-8°  slavå  processoò  boards® Change: Á  bauä ratå codå wherå bitó 3-° arå seô equaì  tï �                zerï  no÷ selectó 38.4ë baud®  Iô previouslù  waó �                not supported, and resulted in NO baud rate. Reason: Most terminals today support this baud rate. ----------------------------------------------------------------- SPDCPZ.REL Serial/paralleì  I/Ï  driveró  foò  thå  CPZ-4800Ø �                master processor board. Change: Á  bauä ratå codå wherå bitó 3-° arå seô equaì  tï �                zerï  no÷  selectó  38.4ë  baud®   Iô  previouslù �                selected 50 baud. Reason: Most terminals today support this baud rate. ----------------------------------------------------------------- FIXED MODULES ------------- MCNCPS.REL Masteò  circuiô driveò nucleuó (packageä modulå iî �                MCDCPS.REL)® Change:        Á  flaç  haó beeî addeä tï thió driveò  (knowî  aó �                DIP¬  downloaä iî progress© whicè ió seô afteò thå �                secondarù  downloaä codå ió placeä iî á slavå  anä �                thå slavå reseô commanä issued¬  anä cleareä  wheî �                TurboDOÓ  sendó  á singlå bodù messagå tï á  slavå �                signalinç  thå  enä  oæ  OÓ  downloaä  operations® �                Durinç  OÓ  downloading¬  thå  RCVMSÇ  anä  SNDMSÇ �                routineó  havå  beeî  enhanceä  tï  watcè  networë �                traffiã morå closely¬ anä rejecô (returî heø FÆ iî �                accumulatoò  anä  networë addresó iî  DE©  invaliä �                incominç anä outgoinç messages. Reason: Á situatioî caî arriså iî TurboDOÓ wherå á networë �                sessioî ió iî progresó wheî á slavå crashes®  Thå �                sessioî messageó interferå witè OÓ downloadinç anä �                causå  thå  slavå  tï  crasè wheî thå  ne÷  OÓ  ió �                executed®  Furthermore¬  thå originatoró  networë �Š               sessioî   cleanuð  ió  delayeä  untiì  thå   slavå �                downloadó á valiä OÓ anä executeó it'ó startinç T-�                functioî  0®  Tï  thå user¬  iô appearó thaô  thå �                slavå  processoò ió takinç aî abnormaì  amounô  oæ �                time to reset. perations® �                Durinç  OÓ  downloading¬  thå  RCVMSÇ  anä  SNDMSÇ �                routineó  havå  beeî  enhanceä  tï  watcè  networë �                traffiã morå closely¬ anä rejecô (returî heø FÆ iî �                accumulatoò  anä  networë addresó iî  DE©  invaliä �                incominç anä outgoinç messages. Reason: Á situatioî caî arriså iî TurboDOåååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå