Z-System Corneò (c) by Jay Sage The Computer Journal, Issue 43 Reproduced with permission of author and publisher Thió  timå  mù  columî  ió goinç tï bå quitå  short®   Iî  responså  tï  mù requests¬  á numbeò oæ authoró havå submitteä somå verù interestinç  articles¬ buô  therå haó noô beeî enougè spacå tï prinô them® É wanô tï makå surå  thaô thoså  articleó  arå noô delayeä further® Onå oæ theí ió oî  thå  superâ  LSÈ historù shelì bù Roâ Friefeld¬ whï haó contributeä quitå á numbeò oæ excellenô Ú-Systeí  programó (SALIAS¬ VCOMP¬ anä BCOMP¬ tï namå á few)® Yoõ shoulä  noô misó thaô article. Afteò  workinç  firsô  witè thå originaì Ú-Systeí  historù  shelì  (HSÈ  bù Michaeì  Rubenstein© anä theî witè EASÅ bù Pauì Pomerleau¬ iô occurreä  tï  må thaô  iô  woulä  bå eveî niceò tï havå á fulì-screeî historù  shell®   Whaô  É envisioneä  waó bringinç thå fulì resourceó oæ á wordprocessoò tï beaò oî  thå commanä  transcript¬  sï  thaô  commandó coulä  bå  easilù  viewed¬  modified¬ reordered¬  anä  regrouped® Iæ thå historù filå werå á standarä  ASCIÉ  file¬ theî  onå  coulä  massagå  thå filå witè á standarä  editoò  oò  eveî  preparå 'history§ scriptó iî advancå foò speciaì purposes. Afteò  seeinç  thå splendiä fulì-screeî worë Roâ Friefelä haä donå  iî  hió SALIAÓ  (Screeî  ALIAÓ editor)¬ É askeä hií iæ hå woulä takå oî  thå  tasë  oæ writinç  sucè  á historù shell® Hå did¬ anä hå haó donå á  splendiä  job®   É would¬  therefore¬  likå  tï  publiclù  takå  crediô  foò  thaô  alì-importanô managemenô skilì oæ askinç thå righô persoî tï dï á job! Softwarå Updatå Service Whilå Echeloî waó stilì iî businesó marketinç thå Ú-System¬ theù offereä  á verù  nicå  producô calleä SUÓ oò Softwarå Updatå Service®   Peoplå  whï  havå modemó anä á nearbù Ú-Nodå oò RCP/Í systeí generallù dï noô havå mucè  troublå pickinç  uð  thå latesô releaseó oæ publiã-domaiî Ú-Systeí  anä  generaì  CP/Í software®   However¬ foò thoså whï dï noô havå modemó oò foò whoí thå  nearesô Ú-Nodå  ió aî expensivå lonç-distancå call¬ obtaininç á fulì seô  oæ  Ú-Systeí tooló  oò keepinç uð witè ne÷ releaseó ió mucè morå difficult® Thå  Echeloî SUÓ  waó  designeä tï solvå thaô probleí bù makinç thå materiaì  availablå  oî diskettå bù mail® Iô waó á disë subscriptioî service¬ anä roughlù everù montè subscriberó woulä geô á diskettå fulì oæ publiã-domaiî software. É  aí happù tï announcå thaô SUÓ ió cominç back¬ thankó tï thå  urginç  anä energù oæ Chrió McEwen¬ sysoð oæ thå Socrateó Ú-Nodå (#32)¬ iî Plainfield¬ NJ® Chrió anä Bilì Tishey¬ togetheò witè Sagå Microsystemó East¬ wilì bå  offerinç aî  eveî morå extensivå servicå thaî Echelon's® Bilì Tishey¬ aó mosô  oæ  yoõ know¬  haó  foò  somå timå beeî maintaininç á  completå  cataloç  oæ  Ú-Systeí programó  (ZFILESnn.LST© anä á compendiuí oæ HLÐ fileó coverinç alì  oæ  them® Aô  frequenô  intervals¬  Bilì releaseó aî updatå LBÒ witè alì  thå  ne÷  helð files®   Now¬  iî  additioî tï thaô service¬ Bilì  wilì  bå  puttinç  togetheò Šdisketteó witè thå softwarå aó welì aó thå documentation. Thió  meanó thaô yoõ wilì bå ablå tï purchaså disketteó witè  thå  completå seô  oæ Ú-Systeí programó and/oò subscribå tï á monthlù updatå service®   Bilì anä  Chrió wilì bå handlinç mosô oæ thå diskettå production» SMÅ  wilì  handlå thå orderó anä bookkeepinç anä wilì producå disketteó iî thå fe÷ formató  thaô Chrió anä Bilì cannoô handlå (8¢ IBÍ SSSD¬ NorthStaò harä-sector¬ anä  Amstraä 3"). Wå havå noô yeô workeä ouô alì thå pricinç detailó foò alì thå options¬ buô bù  thå timå yoõ arå readinç thió column¬ wå wilì havå flyeró  availablå  witè alì  thå information® Jusô droð må á letteò oò postcard¬ oò leavå  á  messagå foò må iî anù oæ thå wayó indicateä iî thå sidebaò tï thió column¬ anä É  wilì geô á flyeò tï you® Tï givå yoõ somå ideá oæ whaô wå arå talkinç about¬ á  ¶- montè SUÓ subscriptioî tï á UÓ addresó wilì probablù bå $4¸ ($¸ peò disk©  anä á year'ó subscriptioî $7² ($¶ peò diskette)® Aó yoõ caî see¬ wå arå tryinç tï keeð thå pricå verù low® Wå reallù wanô alì oæ yoõ tï bå ablå tï geô anä  uså alì theså wonderfuì programs. Fullù Customizinç NZCOM Mù  technicaì topiã foò thió timå wilì bå abouô designinç fullù  customizeä NZCOÍ  Ú-Systems® É havå alwayó beeî satisfieä witè thå systemó thaô  caî  bå produceä sï easilù usinç thå MKZCÍ (MaKå nZCoM© menõ-driveî utility¬ anä sï  É neveò  reallù  delveä  intï  thió areá verù much® Abouô á  weeë  oò  sï  ago¬ however¬  Davå Goodmaî broughô thå probleí tï me® Hå haó á NorthStaò  Horizoî witè  aî adä-oî harä disk¬ anä thå operatinç systeí haó á ROÍ stucë  somewherå iî  thå middlå oæ thå addresó space® Thaô lefô somå disjoinô blockó  oæ  freå memory¬  anä Davå reallù wanteä tï makå uså oæ alì thå space® É tolä  hií  mù standarä answeò tï thaô problem. Iî sectioî µ (especiallù subsectioî 5.2.3© oæ thå NZCOÍ manual¬ É poinô ouô thaô thå NZCOÍ systeí ió defineä bù á descriptoò filå anä thaô thió filå (witè typå  ZCM©  ió á purå ASCIÉ filå thaô caî bå editeä witè one'ó  favoritå  texô editor® Thå manuaì recommendó thaô everyonå makå certaiî changeó sï thaô  thå descriptoò wilì properlù reflecô thå user'ó hardwarå environment¬ sucè aó  thå disë  driveó  availablå anä thå characteristicó oæ thå  system'ó  printeò  anä terminal. É  diä  noô  actuallù  comå ouô anä saù iô  explicitly¬  buô  therå  ió  aî implicatioî thaô otheò valueó iî thå ZCÍ filå caî alsï bå changed® Thå  trutè is¬ É believe¬ thaô É avoideä thió subjecô iî parô becauså É waó noô  entirelù surå whicè valueó coulä anä whicè valueó coulä noô bå changed® Mù  suggestioî tï Davå Goodmaî waó thaô hå experimenô witè designinç á custoí memorù mað  foò hió  system¬ ediô thå valueó intï thå ZCÍ file¬ anä seå whaô happeneä wheî  hå trieä tï loaä it. Dave'ó  reporô  bacë  tï  me¬ no÷ confirmeä bù mù  owî  experimentó  oî  mù Televideï  803H¬  indicateä  thaô  ALÌ  valueó  caî  bå  changed®   Thå   onlù requiremenô  ió  thaô  thå  valueó  providå  á  memorù  mað  witè  nï  moduleó overlapping®   Wheî  yoõ  uså MKZCÍ tï desigî thå system¬ iô  takeó  oveò  thå Šresponsibilitù  foò  generatinç  á  valiä memorù map» iæ  yoõ  dï  thå  desigî yourself¬ yoõ betteò bå careful. Á Helpfuì Utility Thió  suggestó á verù nicå utilitù prograí thaô somå thoughtfuì souì  coulä contributå  tï  thå community® Thió utilitù (let'ó calì iô ZMAP© mighô  dï  á numbeò oæ helpfuì things® First¬ iô coulä display¬ perhapó iî somå  graphicaì oò semé-graphicaì way¬ thå memorù mað oæ á Ú-System¬ thå onå actuallù  runninç oò  onå specifieä iî thå forí oæ á ZCÍ oò ENÖ filå (anä maybå eveî thå  Z3PLUÓ descriptoò  filå  oæ typå Z3P)® Presenô utilities¬ sucè aó SHO×  (ZSHOW©  anä Z3LOC¬ lisô thå modulå addresseó iî á fixeä order¬ noô iî ordeò oæ  increasinç memorù  address® Thuó theù arå noô verù helpfuì iî determininç iæ  therå  arå gapó  oò  overlapó iî thå map® Ideally¬ ZMAÐ woulä flaç anù sucè  defectó  oò potentiaì defectó iî thå mað sï thaô theù coulä bå correcteä beforå theù causå harm. Thå finaì iteí oî mù wishlisô ­­ anä thió mighô betteò bå implementeä iî  á second¬  independenô prograí (ZDESIGÎ perhaps© ­­ woulä bå á generaì  Ú-Systeí designer¬ alonç thå lineó oæ MKZCÍ buô withouô itó restrictions® Onå woulä bå ablå tï specifù thå ordeò oæ alì thå moduleó iî memorù anä theiò sizes® Giveî thå  highesô memorù addresó available¬ thå prograí woulä theî figurå  ouô  anä displaù  thå memorù map® Onå shoulä bå ablå easilù tï alteò thå ordeò oæ  thå modules¬ anä onå shoulä bå ablå tï overridå specifiã addresseó tï creatå  gapó iæ  necessarù (buô noô tï forcå overlaps)® Oncå thå desireä systeí  haó  beeî designed¬  thå  prograí  shoulä writå ouô á ZCÍ oò ENÖ filå foò  it®   Sucè  á prograí ió á gooä candidatå foò implementatioî witè á higè leveì languagå sucè aó  BDÓ  Ú  oò  Turbï  Pascal® Anä iô surå woulä  havå  helpeä  må  witè  thå experimentó  thaô  É  aí  abouô tï  describå  (severaì  mistakeó  resulteä  iî crashes). Mù Experiments Fig®  ±  showó á printouô oæ thå standarä NZCOM.ZCÍ filå  oî  mù  Televideï 803H® Iô haó alreadù beeî customizeä iî severaì wayó usinç MKZCM® First¬  iô allocateó á ´-recorä VBIOS® É uså á versioî thaô fixeó thå 803'ó fauø paó  oæ clobberinç thå indeø registeró durinç BIOÓ calló anä implementó á checë oæ thå Ú-Systeí  drivå vectoò foò BIOÓ disë-selecô calló aó describeä iî  á  previouó column® Iô alsï haó rooí foò á 2°-recorä RCP¬ whicè allowó må tï uså á  fulì- featureä  RCÐ  witè Carsoî Wilsoî anä Roâ Friefeld'ó residenô  historù  shell¬ CLEÄ (seå RCPZRL11.LBÒ oî Ú-Nodes). ----------------------------------------------------------------------------- E606 CBIOS 0080 ENVTYP E3F4 EXPATH 0005 EXPATHS D300 RCP 0014 RCPS 0000 IOP 0000 IOPS DD00 FCP 0005 FCPS DF80 Z3NDIR 0023 Z3NDIRS E400 Z3CL 00CB Z3CLS E280 Z3ENV 0002 Z3ENVS E200 SHSTK 0004 SHSTKS 0020 SHSIZE E380 Z3MSG E3D0 EXTFCB E4D0 EXTSTK 0000 QUIET E3FF Z3WHL 0004 SPEED 0010 MAXDRV 001F MAXUSR 0001 DUOK 0000 CRT 0000 PRT 0050 COLS 0018 ROWS 0016 LINS FFFF DRVEC 0000 SPAR1 0050 PCOL 0042 PROW 003A PLIN 0001 FORM 0000 SPAR2 Š0000 SPAR3 0000 SPAR4 0000 SPAR5 BB00 CCP 0010 CCPS C300 DOS 001C DOSS D100 BIO 0000 PUBDRV 0000 PUBUSR Figurå  1®   Thå ZCÍ descriptoò filå foò thå normaì NZCOÍ systeí É uså  oî  mù Televideï 803È computer. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­- É  decideä  tï bå cautious¬ especiallù afteò onå oæ mù ne÷  systeí  designó causeä thå systeí tï hang¬ anä É madå á serieó oæ systems¬ eacè differenô froí thå  previouó onå iî á relativelù smalì way® É aí noô goinç tï sho÷  yoõ  alì thå  stepó  alonç thå waù buô wilì gï righô tï thå  mosô  radicallù  differenô version® Seå Fig® 2® Iæ yoõ looë carefully¬ É thinë yoõ wilì finä thaô  onlù thå  commanä  linå buffeò (Z3CL© ió stilì iî thå samå placå aó iô waó  iî  thå originaì systeí (buô iô ió biggeò now). ----------------------------------------------------------------------------- E606 CBIOS 0080 ENVTYP E3F4 EXPATH 0005 EXPATHS D700 RCP 0014 RCPS 0000 IOP 0000 IOPS D480 FCP 0005 FCPS D200 Z3NDIR 0023 Z3NDIRS E400 Z3CL 00FB Z3CLS E180 Z3ENV 0002 Z3ENVS E100 SHSTK 0004 SHSTKS 0020 SHSIZE E280 Z3MSG E2D0 EXTFCB E300 EXTSTK 0000 QUIET E2FF Z3WHL 0004 SPEED 0010 MAXDRV 001F MAXUSR 0001 DUOK 0000 CRT 0000 PRT 0050 COLS 0018 ROWS 0016 LINS 000F DRVEC 0000 SPAR1 0050 PCOL 0042 PROW 003A PLIN 0001 FORM 0000 SPAR2 0000 SPAR3 0000 SPAR4 0000 SPAR5 BA00 CCP 0010 CCPS C200 DOS 001C DOSS D000 BIO 0000 PUBDRV 0000 PUBUSR Figurå 2® Á radicallù reconfigureä NZCOÍ systeí produceä bù manuallù  editinç thå ZCÍ file. ----------------------------------------------------------------------------- Perhapó yoõ arå wonderinç whù É didn'ô makå thå mosô dramatiã demonstratioî possiblå bù changinç absolutelù everù addresó (anä perhapó size¬ too)®   Well¬ therå  waó  aî extrá constrainô thaô É waó explorinç witè thió system®   É  aí runninç  ZDDOS¬ anä É havå specifieä thaô thå clocë driveò bå loadeä intï  thå sï-calleä  useò  buffer® É havå eveî applieä thå NZCOÍ  patcè  (NZCOMPAT.HEX© thaô comeó witè thå ZSDOS/ZDDOÓ packagå sï thaô wheî ne÷ systeí configurationó arå  loaded¬  thå clocë driveò wilì bå reconnecteä tï  thå  DOÓ  automaticallù withouô thå neeä foò runninç LDTIÍ again. Iæ yoõ kno÷ á loô abouô Ú-System¬ yoõ wilì kno÷ thaô therå ió nï sucè thinç aó  á useò buffer¡ Thå useò buffeò ió á speciaì creaturå oæ NZCOM» iô ió  noô defineä  iî thå Ú-Systeí environmenô descripteò (oò ­­ looë closelù ­­ iî  thå ZCÍ file)® How¬ then¬ doeó onå determinå wherå thió speciaì gað iî thå memorù mað oæ aî NZCOÍ systeí ió located¿ Thaô ió exactlù whaô É wondereä myself® É coulä  havå  calleä ZDOÓ authoró Caí Cotrilì oò Haì Boweò anä askeä  theí  ho÷ theù  infeò itó location¬ buô É decideä tï experimenô instead® Whaô  É  founä afteò  variouó trialó anä erroró waó thaô thå NZCOÍ patcè seemeä tï  bå  happù anä  ablå  tï finä thå LDTIÍ clocë modulå sï lonç aó thå commanä  linå  buffeò stayeä  iî thå samå place® Apparently¬ thå assumptioî ió madå thaô  thå  useò Šbuffeò  ió thå memorù froí 100È abovå thå starô oæ thå commanä linå buffeò  uð tï thå reaì CBIOÓ (E40° tï E5FÆ iî mù case). É  diä  noô perforí exhaustivå testó oæ thió hypothesis® Leô uó  jusô  saù thaô  iô ió noô terriblù prudenô tï trù tï makå uså oæ á 'useò buffer§ witè  á fullù  customizeä system® Iô woulä bå wiseò tï desigî thå systeí witè  á  gað belo÷ thå CBIOÓ foò thå clocë driveò anä tï creatå á versioî oæ LDTIÍ witè  aî expliciô  loaä  address® Thå NZCOMPAÔ patcè shoulä bå omitteä froí  NZCOÍ  iæ sucè custoí systemó arå goinç tï bå used. A Few Bugs Therå  werå  á  fe÷ bugó iî NZCOÍ thaô surfaceä durinç  thió  testinç  thaô suggesô thaô NZCOM.COÍ waó noô quitå designeä tï worë rigorouslù anä tï handlå thå  mosô  generaì  systeí loadinç situations® Sometimeó  É  founä  thaô  NDÒ moduleó  becamå empty¬ anä thå commanä searcè patè waó rarelù  preserveä  witè theså systems® Codå-containinç modules¬ sucè aó thå FCP¬ RCP¬ DOS¬ anä sï on¬ cannoô  bå  moveä  froí onå addresó tï another®   Iæ  theiò  startinç  addresó changes¬  thå  codå musô bå reloadeä fresè froí thå ZRÌ file®   Oî  thå  otheò hand¬  moduleó thaô contaiî data¬ sucè aó thå NDR¬ shelì stack¬ path¬  messagå buffer¬  anä  sï on¬ caî anä shoulä bå moveä tï anù ne÷ address¬  sï  lonç  aó therå ió rooí foò thå olä contentó iî thå ne÷ home® NZCOÍ sometimeó faileä tï dï this® Maybå no÷ thaô É havå uncovereä theså smalì problems¬ É caî pasó thå informatioî  oî  tï  Joå Wright¬ anä hå caî fiø uð thå codå  tï  handlå  theså situations. [Thió articlå waó originallù publisheä iî issuå 4³ oæ Thå Computeò Journal, P.O® Boø 12¬ Soutè Plainfield¬ NÊ 0708°-001² anä ió reproduceä witè the permissioî oæ thå authoò anä thå publisher® Furtheò reproductioî foò noî- commerciaì purposeó ió authorized® Thió copyrighô noticå musô bå retained. (c© Copyrighô 1990¬ 199± Socrateó Presó anä respectivå authors]