Thió  disë  containó fileó whicè correcô severaì problemó iî  thå � Azteã  CIÉ v1.0µ softwarå foò CP/M®  Replacinç fileó oî á  v1.05Á � througè  1.05Æ releaså oæ AZTEÃ Ã IÉ witè thå fileó oî thió  disë � wilì brinç thå systeí uð tï releaså 1.05G®  Thå problems¬ anä thå � fileó affecteä arå listeä below: 1. There were several problems with the submit files.    Fileó  affectedº   makelibc.sub¬  makemath.sub¬  makezlib.sub¬ �    softmath.sub, softlibc.sub. 2® Thå  modulå  'fopen§ didn'ô positioî thå filå correctlù  wheî � openinç foò 'append'.    Files affected: fopen.c 3. libutil header message was incorrect.    Files affected: libutil.c, libutil.com. Duå  tï  spacå limitations¬  onlù libutil.ã ió oî  thå  updatå �    disk. You'll have to compile, assemble, and link it yourself. 4. division of a float or double by itself didn't equal one.    Files affected: fsubs.asm. 5. I/Ï   routineó   iî  softlibc.reì  didn'ô  worë   wheî   usinç �    Microsoft'ó M8° anä L8° programs.    Files affected: open.c, softlibc.rel, libc.lib . 6. overlays didn't work for some cases.    Fileó   affectedº    ovloader.c¬    ovbgn.asm¬   supp8080.asm¬ �    suppz80.asm, libc.lib, ln.com. 7. port.ual had assembly errors.    Files affected: port.ual. 8. Subtracting a constant from a pointer didn't work.    Files affected: cii.com, czii.com. 9. #asm/#endasm did not work. Thå linker¬  ln.com¬  anä thå overlaù linker¬ ovln.com¬ havå beeî � mergeä  intï  onå program¬  ln.com®  Thå ln.coí whicè ió  oî  thå � updatå disë ió thå mergeä linker®  Uså iô tï linë á normaì '.com§ � filå aó yoõ woulä thå olä linker¬  ln.com®  Uså iô tï linë á rooô � segmenô  oò  aî  overlaù segmenô aó yoõ  woulä  thå  olä  overlaù � linker, ovln.com. Therå arå severaì caveató iæ yoõ arå usinç overlays®  First¬  thå � 'settop'  functioî  musô bå calleä witè aî argumenô  whoså  valuå � ió  seô equaì tï thå sizå oæ thå largesô overlaù segment¬  oò thå � lengtè  oæ thå longesô threaä iæ overlayó arå nested®  Thió  calì � musô  bå  initiateä aô thå beginninç oæ thå maiî  routinå  beforå � callinç  anù otheò routines®  Thå sizå oæ aî overlaù ió displayeä � oî thå console¬  iî hex¬  wheî it'ó linked®  Foò example¬ iæ youò � prograí  useó  ³ overlays¬  anä thå linkeò sayó theiò  sizeó  arå � 125ah¬  236h¬  anä 837h¬  theî iô shoulä makå thå followinç callº � settop(0x125a)®  Thå  parameteò  tï settoð coulä  bå  larger¬  iæ � desired. ŠSecond¬  Iæ  buffereä I/Ï ió useä iî aî overlaù segmenô aô  leasô � onå  buffereä  I/Ï  calì  musô exisô iî thå  root®  Thió  caî  bå � accomplisheä  bù callinç thå 'printf§ routinå iî thå  root®  Notå � thaô  iô ió noô necessarù thaô thå calì tï 'printf§ bå  executed¬ � onlù  thaô iô bå present®  Thió wilì insurå thaô thå linë  editoò � wilì includå thå buffereä I/Ï tableó iî thå rooô segment® Thå  sectioî oî overlayó iî thå manuaì incorrectlù stateó thaô aî � overlaù functioî caî havå anù name® Thå overlaù filå caî havå anù � namå (buô it'ó extenô musô bå 'ovr')® Also¬ thå maiî modulå iî aî � overlaù  musô bå nameä 'ovmain'®  Thå examplå oî pageó  XI.´  anä � XI.µ shoulä describå thå twï overlayó aó follows:    Here is ovly1:    ovmain(a)    char *a;    {     printf("in ovly1. %s\n",a);     return 1;    }    Here is ovly2:    ovmain(a)    char *a;    {     printf("in ovly2. %s\n",a);     return 2;    } Overlayó caî bå nested¬  contrarù tï whaô thå overlaù sectioî  oæ � thå manuaì states® Iæ onå overlaù ió tï calì another¬ thå commanä � linå tï thå linkagå editoò foò thå firsô overlaù musô specifù thå � dasè ò option¬ "-r"® Thió wilì causå LÎ tï generatå á '.rsm§ filå � foò thå firsô overlay®  Thió '.rsm§ filå musô theî bå includeä iî � thå commanä linå tï thå nesteä overlay®  Also¬  eacè overlaù musô � includå thå modulå 'ovbgn.o'® Overlayó caî bå nesteä tï anù leveì � aó lonç aó thå "-r¢ optioî ió includeä oî eacè linë ediô anä  thå � ".rsm¢  filå oæ thå callinç overlaù segmenô ió includeä iî thå LÎ � parameteò  lisô foò thå linë ediô oæ thå calleä overlaù  segment® � Thå "-r¢ optioî neeä noô bå specifieä foò thå lasô segmenô oæ anù � onå  overlaù  path®  Extremå cautioî shoulä bå useä iî  usinç  aî � overlaù segmenô iî morå thaî onå path®  Althougè thió ió possiblå � tï do¬ therå ió aî enormouó potentiaì foò error. Foò  example¬  herå arå threå nesteä segmentsº  á  rooô  segment¬ � root¬  anä  twï  overlaù segments¬  ovly± anä ovly2®  rooô  calló � ovly1» ovly± calló ovly2» ovly² jusô returns. Herå ió thå root:    main() { Š settop(0x13aa); ovloader("ovly1"); return; } Herå ió ovly1:    ovly1() { ovloader("ovly2"); return;} Herå ió ovly2:    ovly2() { return;} Thå followinç commandó wilì linë theså threå segments:    ln -r root.o ovloader.o libc.lib    ln -r ovly1.o ovbgn.o root.rsm libc.lib    ln ovly2.o ovbgn.o ovly1.rsm libc.lib Thió  examplå  illustrateó  onlù  onå  overlaù  path®  Iî  actuaì � practice¬ therå woulä usually bå morå thaî onå path®