.po 0 .fo - # - MULTI-PROGRAMMING MONITOR CONTROL PROGRAM - USER'S GUIDE Corrections and Additions - January, 1980 ------------------------------------------- Page 4, paragraph 4         Change: Thå  initiaì  useò  codå ió onå greateò  thaî  thå  consolå                    number®  Foò example¬ consolå #° ió initializeä tï useò #±                    anä thå followinç prompô ió displayeä oî consolå #0: 1A> To: Thå initiaì useò codå ió equaì tï thå consolå number®  Foò                    example¬  consolå  #°  ió  initializeä tï useò #°  anä  thå                    followinç prompô ió displayeä oî consolå #0: 0A> Noteº  Cautioî  musô bå useä wheî operatinç undeò  á  useò                    codå  oæ  °  sincå  alì itó fileó  caî  bå  accesseä  whilå     operatinç undeò anù otheò useò code. Iî  general¬  useò  codå ° shoulä bå  reserveä  foò                    fileó whicè arå accesseä bù alì users® Iî thå evenô thaô á                    filå  witè  thå samå namå ió presenô undeò useò codå °  anä                    anotheò  useò code¬  thå firsô filå founä iî thå  directorù                    wilì bå accessed. Page 4, paragraph 6 Add: Sincå  therå  arå nï built-iî commands¬  thå  defaulô  disë                    specifieä  musô contaiî thå desireä commanä fileó (sucè  aó                    DIR¬  REN¬  ERÁ etc.)¬ oò eacè commanä musô bå preceedeä bù                    aî "A:".                     3B>A:DIR Page 5, paragraph 5 Add: Á checë consolå statuó ió automaticallù performeä eacè timå                    a user program makes a BDOS disk function call. Š Page 6, paragraph 2 Add: ctl-Q Obtaiî  ownershið oæ thå printeò mutuaì  exclusioî                             message® Obtaininç thå printeò usinç thió commanä                             wilì ensurå thaô thå MP/Í spooler¬  PIP¬ anä otheò                             ctl-Р  oò  ctl-Ñ  commandó  entereä  froí   otheò                             consoleó   wilì  noô  bå  alloweä  accesó  tï  thå                             printer®  Thå printeò ió "owned¢ bù thå TMР untiì                             anotheò  ctl-Ð oò ctl-Ñ ió entered¬  releasinç thå                             printer®  Thå  ctl-Ð shoulä bå useä wheî á prograí                             (sucè aó á CP/Í *.COÍ file© ió executeä thaô  doeó                             noô  obtaiî  thå printeò mutuaì exclusioî  messagå                             prioò tï accessinç thå printer® Iæ thå lisô devicå                             ió  noô  availablå  á 'Printeò  busy§  messagå  ió                             displayeä oî thå console. Page 7, paragraph 6 Change: [the entire DISK RESET description] To: Thå  DSKRESEÔ  (disë reset© commanä ió useä tï  enablå  thå                    operatoò tï changå disks®  Iæ nï parameteò ió entereä  alì                    thå  driveó arå reset®  Specifiã driveó tï bå reseô maù bå                    includeä aó parameters. 1A>DSKRESET 1A>DSKRESET B:,E: Iæ  therå arå anù opeî fileó oî thå drive(s© tï  bå  reset¬                    thå  disë  reseô ió denieä anä thå causå oæ thå disë  reseô                    failurå ió shown: 1A>DSKRESET B: Disk reset denied, Drive B: Console 0 Program Ed                    Thå reasoî thaô disë reseô ió treateä sï carefullù ió  thaô                    fileó lefô opeî (e.g® iî thå procesó oæ beinç written© wilì                    loså theiò updateä informatioî iæ theù arå noô closeä prioò                    tï á disë reset. Page 8, paragraph 2 Add: Á  seconä  forí  oæ thå eraså commanä  (ERAQ©  enableó  thå                    operatoò  tï  selectivelù  deletå  fileó  thaô  matcè   thå                    specifieä filenamå reference® Foò example: 0A>ERAQ *.LST Š   Page 8, paragraph 3 Add: Thå  TYPÅ  commanä haó á pauså modå whicè ió  specifieä  bù                    enterinç  á  'P§ followeä bù twï decimaì digitó  afteò  thå                    filename® Foò example: 0A>TYPE DUMP.ASM P23 Thå  specifieä numbeò oæ lineó wilì bå displayeä  anä  theî                    TYPÅ wilì pauså untiì á PIP CON:=MYFILE.TEX                     Page 8, paragraph 4 Add: Thå  DIÒ  commanä caî includå fileó whicè havå  thå  systeí                    attributå set®  Thió ió donå bù usinç thå 'S§ option® Foò                    example: 0A>DIR *.COM S Page 8, paragraph 5 Add: Iæ  thå  destinatioî filenamå existó thå operatoò ió  giveî                    thå optioî oæ deletinç thå currenô destinatioî filå  beforå                    renaminç thå sourcå file. Page 9 Add: PRLCOM Thå  PRLCOÍ commanä acceptó á filå oæ PRÌ typå anä produceó                    á filå oæ COÍ type®  Iæ thå destinatioî COÍ filå exists¬ á                    querù  ió madå tï determinå iæ thå filå shoulä  bå  deleteä                    beforå continuing. 0A>prlcom b:program.prl a:program.com Page 9, paragraph 7 Add: MP/M DDT enhancements are described in Appendix J. Š Page 10, paragraph 2 Add: GENHEX  Thå  GENHEØ  commanä ió useä tï producå á filå oæ typå  HEØ                    froí  á  filå oæ typå COM®  Thió ió usefuì tï bå  ablå  tï                    generatå  HEØ fileó foò GENMOÄ input®  Thå GENHEØ  commanä                    haó twï parameters¬  thå firsô ió thå COÍ filå namå anä thå                    seconä ió thå offseô foò thå HEØ file® Foò example:                     0A>GENHEX PROG.COM 100 Page 13, paragraph 3 Add: Thå non-residenô versioî oæ thå spooleò (SPOOL.PRL© differó                    iî itó operatioî froí thå SPOOL.RSÐ aó followsº iô useó alì                    oæ  thå memorù availablå iî thå memorù segmenô iî whicè  iô                    ió  runninç  foò  buffeò  space»   iô  displayó  á  messagå                    indicatinç  itó statuó anä theî detacheó froí thå  console»                    iô  maù bå aborteä froí á consolå otheò thaî thå  initiatoò                    onlù bù specifyinç thå consolå numbeò oæ thå initiatoò aó á                    parameteò oæ thå STOPSPLÒ command. 3B>STOPSPLR 2 Page 14, paragraph 2 Add: ABORT Thå  ABORÔ  commanä  allowó thå useò  tï  aborô  á  runninç                    program®  Thå  prograí  tï  bå  aborteä ió  entereä  aó  á                    parameteò iî thå ABORÔ command. 1A>ABORT RDT Á  prograí  initiateä  froí anotheò  consolå  maù  onlù  bå                    aborteä bù includinç thå consolå numbeò oæ thå initiatoò aó                    á parameteò oæ thå ABORÔ command. 3B>ABORT RDT 1 Page 21, paragraph 1 Change: 3 Reader Input 4 Punch Output To: 3 Raw Unattached Console Input 4 Raw Unattached Console Output Š Add: 37 Reset Drive 38 Access Drive 39 Free Drive 40 Write Random with Zero Fill 156 Return Process Descriptor Address 157 Abort Specified Process Page 23, paragraph 3, following t2' definition t3' = 1 => file has been updated Page 27, change FUNCTION 3 to: *************************************** * * * FUNCTION 3: RAW CONSOLE INPUT * * * *************************************** * Entry Parameters: * * Register C: 03H * * * * Returned Value: * * Register A: ASCII Character * ***************************************    Thå  RA×  CONSOLÅ  INPUÔ  functioî  readó  thå  nexô  consolå            characteò  tï  Registeò  A®  Therå  ió nï  testinç  oæ  thå  inpuô            character¬  thaô  is¬  thå  systeí wilì directlù pasó  througè  alì            characteró   includinç   thå   controì   characteró   withouô   anù            interpretation®  Thió  functioî doeó noô requirå thaô thå consolå            bå attached¬ noò doeó iô attacè thå console. *************************************** * * * FUNCTION 4: RAW CONSOLE OUTPUT * * * *************************************** * Entry Parameters: * * Register C: 04H * * Register E: ASCII Character * * *   *************************************** Thå  RA×  CONSOLÅ OUTPUÔ functioî sendó thå  ASCIÉ  characteò            froí registeò Å tï thå consolå device®  Therå ió nï testinç oæ thå            outpuô character¬  thaô is¬ tabó arå noô expandeä anä nï checkó arå            madå  foò start/stoð scrolì anä printeò echo®  Thió functioî  doeó            noô  requirå thaô thå consolå bå attached¬  noò doeó iô attacè  thå            console®  Thus¬ unsoliciteä messageó maù bå senô tï otheò consoleó            bù  simplù changinç thå consolå bytå oæ thå procesó descriptoò  anä            theî usinç thió function® Š Page 28, paragraph 1 Add: Cautioî  musô bå observeä iî thå uså oæ thå  printeò  sincå                    therå ió nï impliciô lisô devicå ownership®  Thaô is¬  thå                    lisô  devicå ió noô "opened¢ oò "closed"®  MP/Í affordó  á                    secondarù   expliciô   meanó  tï  resolvå  printeò   mutuaì                    exclusion® Á queuå nameä 'MXList§ ió createä bù thå systeí                    tï handlå mutuaì exclusion® Tï properlù obtaiî uså oæ thå                    printeò  á prograí shoulä opeî thå 'MXList§ queuå anä  reaä                    thå message®  Wheî thå messagå ió obtaineä thå printeò maù                    bå used®  Wheî printinç ió completeä thå messagå shoulä  bå                    writteî bacë tï thå 'MXList§ queue®  Thió techniquå ió useä                    bù thå MP/Í PIP¬ SPOOLer¬ anä TMÐ ctl-Ð operations. Page 32, add the following to FUNCTION 13 box * Returned Value: * * Register A: Return Code * Page 32, paragraph 2 Change: [entire paragraph] To: Thå  RESEÔ DISË SYSTEÍ functioî ió qualifieä iî  MP/M®  Iæ                    therå  arå  anù opeî fileó oî anù  drive¬  thå  reseô  disë                    systeí  ió  denieä  anä  thå reasoî  ió  displayeä  oî  thå                    console.                    Thå returneä valuå indicateó whetheò oò noô thå reseô disk                    waó  successful®  Iæ anù procesó ió currentlù accessinç  á                    drive¬ aî erroò codå oæ 0FFÈ ió returneä iî thå Á register®                    Á returî codå oæ ° indicateó success. Page 46, add the following functions: *************************************** * * * FUNCTION 37: RESET DRIVE * * * *************************************** * Entry Parameters: * * Register C: 25H * * Register DE: Drive Vector * * *            * Returned Value: *            * Register A: Return Code * *************************************** Thå  RESEÔ  DRIVÅ  functioî  allowó  resettinç  oæ  specifieä            drive(s)®  Thå passeä parameteò ió á 1¶ biô vectoò oæ driveó tï bå            reset¬  thå  leasô significanô biô ió drivå A:®  Iæ therå arå  anù            opeî fileó oî á specifieä drive¬  thå reseô drivå ió denieä anä thå            reasoî ió displayeä oî thå console. Š            Thå  returneä valuå indicateó whetheò oò noô thå reseô  drivå            waó successful®  Iæ anù procesó ió currentlù accessinç á drivå  tï            bå reset¬  aî erroò codå oæ 0FFÈ ió returneä iî thå Á register®  Á            return code of 0 indicates success.                    *************************************** * * * FUNCTION 38: ACCESS DRIVE * * * *************************************** * Entry Parameters: * * Register C: 26H * * Register DE: Drive Vector * * * *************************************** Thå  ACCESÓ  DRIVÅ functioî allowó settinç thå  drivå  accesó            bit(s©  iî  thå callinç processeó procesó descriptor®  Thå  passeä            parameteò ió á 1¶ biô vectoò oæ drive(s© tï bå accessed¬  thå leasô            significanô biô ió drivå A:. *************************************** * * * FUNCTION 39: FREE DRIVE * * * *************************************** * Entry Parameters: * * Register C: 27H * * Register DE: Drive Vector * * * *************************************** Thå  FREÅ  DRIVÅ  functioî allowó freeinç  thå  drivå  accesó            bit(s©  iî thå callinç processeó procesó  descriptor®  Thå  passeä            parameteò  ió  á 1¶ biô vectoò oæ drive(s© tï bå freed¬  thå  leasô            significanô biô ió drivå A:. *************************************** * * * FUNCTION 40: WRITE RANDOM WITH * * ZERO FILL * *************************************** * Entry Parameters: * * Register C: 28H * * Register DE: FCB Address * * * * Returned Value: * * Register A: Return Code * *************************************** Thå  WRITÅ  RANDOÍ  WITÈ ZERÏ FILÌ operatioî  ió  similaò  tï            FUNCTIOΠ 34º WRITÅ RANDOÍ witè thå exceptioî thaô alì  unallocateä            blockó arå zerï filled. Š Page 49, add to description of circular queue element BUFFER                    Noteº Mutuaì exclusioî queueó requirå á twï bytå buffeò foò                    the owner process descriptor address. Page 51, add to bottom of page                     QUEUE NAMING CONVENTIONS                    Thå  followinç conventionó shoulä bå useä iî thå naminç  oæ                    queues®  Queueó whicè arå tï bå directlù writteî tï bù thå                    Terminaì   Messagå  Procesó  (TMP©  viá  thå  Commanä  Linå                    Interpreteò (CLI© musô havå aî uppeò caså ASCIÉ name® Thuó                    wheî  aî  operatoò  enteró thå queuå  namå  followeä  bù  á                    commanä  taiì aô á console¬  thå commanä taiì ió writteî tï                    the queue.                    Iî  ordeò  tï  makå á queuå inaccessiblå bù  á  useò  aô  á                    console it must contain at least one lower case character.                    Mutuaì  exclusioî  queueó shoulä bå nameä uppeò  caså  'MX§                    followeä  bù  ± tï ¶ additionaì  ASCIÉ  characters®  Theså                    queueó  arå treateä speciallù iî thaô theù musô havå á  twï                    bytå buffeò iî whicè MP/Í placeó thå addresó oæ thå procesó                    descriptoò owninç thå mutuaì exclusioî message. Page 52 Change: SCRATCH (13) BYTE ) To: DRVACT ADDRESS, REGISTERS (20) BYTE, SCRATCH (2) BYTE ) Page 53 Change: DS 13 ; SCRATCH To: DS 2 ; drives active DS 20 ; register save area DS 2 ; scratch Change: SCRATCH =13 bytes, system scratch bytes To: DRVACT = 2 bytes, 16 bit vector of drives being accessed by the process REGISTERS =20 bytes, 8080 / Z80 register save area SCRATCH = 2 bytes, system scratch bytes Š   Page 53, add to process descriptor element NAME definition                    Thå  higè  ordeò  biô oæ eacè bytå oæ thå procesó  namå  ió                    reserveä foò uså bù thå system®  Thå higè ordeò biô oæ thå                    firsô bytå (identifieä aó NAME(0)'© "on¢ indicateó thaô thå                    procesó  ió  performinç direcô consolå BIOÓ calló anä  thaô                    MP/Í ió tï ignorå alì controì characters®  Iô ió alsï useä                    tï suppresó thå normaì consolå statuó checë donå wheî  BDOÓ                    disë functionó arå invoked. Page 53, add to the bottom of the page                     PROCESS NAMING CONVENTIONS                    Thå  followinç conventionó shoulä bå useä iî thå naminç  oæ                    processes®  Processeó  whicè waiô oî queueó thaô arå tï bå                    senô  commanä  tailó froí thå TMPó arå  giveî  thå  consolå                    resourcå iæ theiò namå matcheó thaô oæ thå queuå whicè theù                    are reading.                    Processeó  whicè  arå tï bå protecteä froí abortioî  bù  aî                    operatoò  usinç  thå ABORÔ commanä musô havå aô  leasô  onå                    lower case character in the process name. Page 54, add to bottom of page                     Memory Descriptor Data Structure:                    PL/M:                                         Declare memory$descriptor structure (                     base byte,                     size byte,                     attributes byte,                     bank byte );                    Assembly Language:                     MEMDESCRIPT:                     DS 1 ; base                     DS 1 ; size                     DS 1 ; attributes                     DS 1 ; bank Page 57, add to FUNCTION 134: MAKE QUEUE                    Queueó  caî onlù bå createä eitheò iî commoî memorù  oò  bù                    useò  programó iî non-bankeä systems®  Thå reasoî ió  thaô                    queueó  arå  alì maintaineä oî á linkeä lisô whicè musô  bå                    accessiblå aô alì times®  I.E.¬ á queuå cannoô residå iî á                    memorù segmenô whicè ió banë switched®  However¬  á  queuå                    createä  iî commoî memorù caî bå accesseä bù alì systeí anä                    useò programs. Š Page 62, add to FUNCTION 143: TERMINATE PROCESS                    Entry Parameter, Register D: Conditional memory free                    Iæ  á useò procesó ió beinç terminateä anä Registeò Ä ió  á                    0FFH¬  thå memorù segmenô ió noô released®  Thuó á procesó                    whicè ió á chilä oæ á parenô procesó botè executinç iî  thå                    samå  memorù  segmenô  caî terminatå  withouô  freeinç  thå                    memory segment which is also occupied by the parent. Page 62, add to FUNCTION 144: CREATE PROCESS                    Processeó caî onlù bå createä eitheò iî commoî memorù oò bù                    useò  programó iî non-bankeä systems®  Thå reasoî ió  thaô                    procesó  descriptoró  arå alì maintaineä  oî  linkeä  listó                    whicè musô bå accessiblå aô alì times. Page 68, add to bottom of page            *************************************** * * * FUNCTION 156: RETURN PROCESS * * DESCRIPTOR ADDRESS * *************************************** * Entry Parameters: * * Register C: 9CH * * *            * Returned Value: *            * Register HL: PD Address * ***************************************             Thå  RETURΠ PROCESÓ DESCRIPTOÒ ADDRESÓ functioî obtainó  thå            addresó  oæ callinç processeó procesó  descriptor®  Bù  definitioî            this is the head of the ready list.            *************************************** * * * FUNCTION 157: ABORT SPECIFIED * * PROCESS * *************************************** * Entry Parameters: * * Register C: 9DH * * Register DE: APB Address *            ª *            * Returned Value: *            * Register A: Return Code * ***************************************             Thå  ABORÔ  SPECIFIEÄ PROCESÓ functioî permitó á  procesó  tï            terminatå  anotheò specifieä process®  Thå passeä parameteò ió thå            addresó  oæ  aî  Aborô Parameteò Blocë  (APB©  whicè  containó  thå            following data structure: Š           PL/M:             Declare Abort$paramter$block structure (             pdadr address,             termination$code address,             name (8) byte,             console byte );            Assembly Language:             APB:             DS 2 ; process desciptor address             DS 2 ; termination code             DS 8 ; process name             DS 1 ; console used by process            Iæ  thå procesó descriptoò addresó ió knowî iô caî bå filleä iî anä            thå procesó namå anä consolå caî bå omitted® Otherwiså thå procesó            descriptoò  addresó fielä shoulä bå á zerï anä thå procesó namå anä            consolå  musô bå specified®  Iî eitheò caså thå  terminatioî  codå            musô  bå  supplieä whicè ió thå parameteò passeä tï  FUNCTIOΠ 143º            TERMINATÅ PROCESS.                              Page 73, add to step (6)                    Thå firsô LDRBIOÓ calì madå bù thå MPMLDÒ ió SELDSKº selecô                    disk®  Iæ therå arå deviceó whicè requirå initializatioî á                    calì tï thå LDRBIOÓ colä starô oò otheò initializatioî codå                    should be placed at the beginning of the SELDSK handler.                    Noteº Thå MPMLDÒ useó 4000È - 6FFFÈ aó á buffeò areá  wheî                    loading and relocating the MPM.SYS file. Page 74, add to procedure to prepare an XIOS.SPR file *** Warning ***                    Makå  certaiî  thaô youò XIOS.ASÍ filå containó  á  defineä                    bytå  oæ zerï aô thå end®  Thió ió especiallù criticaì  iæ                    youò XIOS.ASÍ filå endó witè á defineä storage® Thå reasoî                    foò  thió requiremenô ió thaô therå arå nï HEØ filå recordó                    produceä  foò defineä storgå (DS©  statements®  Thus¬  thå                    outpuô HEØ filå ió misleadinç becauså iô doeó noô  identifù                    thå  truå  lentè  oæ  youò  XIOS®  Thå  followinç  examplå                    illustrates a properly terminated XIOS:                     begdat equ $                     dirbuf: ds 128                     alv0: ds 31                     csv0: ds 16                     db 0 ; force out hex record at end                     end Š                   Notå  thaô  thió  samå techniquå musô  bå  applieä  tï  anù                    other PRL or RSP programs that you prepare. Page 83, add to end of SELDSK paragraph                    Oî  entrù tï SELDSË iô ió possiblå tï determinå whetheò  iô                    ió  thå  firsô timå thå specifieä disë haó  beeî  selected®                    Registeò E¬  biô ° (leasô significanô bit© ió á zerï iæ thå                    drivå  haó noô beeî previouslù selected®  Thió informatioî                    ió  oæ  interesô iî systemó whicè reaä  disë  configuratioî                    informatioî  froí  thå drivå iî ordeò tï seô uð  á  dynamiã                    disk definition table. Page 86, paragraph 3, add to jump vector list                    BIOS+48H JMP IDLE ; IDLE PROCEDURE (optional) Page 87, paragraph 8, add to SYSTEMINIT                    Thå  SYSTEMINIÔ  entrù poinô ió calleä prioò tï  anù  otheò                    XIOÓ call®  Thå MPMLDÒ disableó interrupts¬ thuó iô caî bå                    assumeä  thaô  interruptó arå stilì disableä upoî entrù  tï                    SYSTEMINIT®  Interruptó  arå enableä bù  MP/Í  immediatelù                    upoî returî froí SYSTEMINIT.                    Iî  systemó  witè banë switcheä memorù iô ió  necessarù  tï                    setuð  thå  baså pagå (0000È - 00FFH© withiî eacè  banë  oæ                    memory®  Botè  thå MPMLDÒ anä MP/Í itselæ assumå thaô  thå                    baså  banë  (banë  #0© ió switcheä iî wheî  thå  MPMLDÒ  ió                    executed®  Thå  baså banë ió properlù initializeä bù  MP/Í                    prioò tï enterinç SYSTEMINIT® Thå informatioî requireä foò                    thå  initializatioî ió provideä oî entrù tï  SYSTEMINIÔ  iî                    the following registers:                     Register C = MP/M Debugger restart #                     DE = MP/M entry point address for the debugger                     Place a jump at the proper debugger                     restart location to the address contained                     in DE.                     HL = BIOS direct jump table address                     Place a jump instruction at location                     0000H in each banks base page to the                     address contained in HL. Š Page 88, add description of IDLE entry point subroutine                    IDLE Thå  idlå  entrù  poinô  ió  includeä  tï  permiô                              optimizatioî oæ systeí performancå wheî thå  useò                              haó aî XIOÓ thaô ió alì interrupô driven® Iæ yoõ                              havå  polleä  deviceó  iî  youò  XIOS¬  thå  IDLÅ                              procedurå   maù  bå  omitteä  bù  placinç  á  NOÐ                              instructioî aô thå BIOS+48È locatioî wherå  therå                              woulä otherwiså bå á jumð tï aî idlå procedure.                              Thå  idlå  entrù poinô ió calleä repeatedlù  wheî                              MP/Í ió idling® Thaô is¬ wheî therå arå nï otheò                              processeó  readù  tï run®  Iî systemó  thaô  arå                              entirelù  interrupô  driveî  thå  idlå  procedurå                              should be as follows:                               IDLE:                               HLT                               RET Page 88, add to INTERRUPT SERVICE ROUTINES section                    Thå  onlù  XDOÓ oò BDOÓ calì whicè shoulä bå madå  froí  aî                    interrupô  handleò  ió FUNCTIOÎ 133º FLAÇ SET®  Anù  otheò                    XDOÓ  oò  BDOÓ calì wilì resulô iî á dispatcè  whicè  woulä                    theî enablå interruptó prioò tï completinç executioî oæ thå                    interrupô handler.                    Iô  ió  recommendeä  thaô  interruptó  onlù  bå  useä   foò                    operationó whicè arå asynchronous¬ sucè aó consolå inpuô oò                    disë  operatioî complete®  Iî general¬  operationó sucè aó                    consolå outpuô shoulä noô bå interrupô driven®  Thå reasoî                    thaô  interruptó  arå noô desirablå foò consolå  outpuô  ió                    thaô  thå systeí ió affordeä somå elasticitù bù  performinç                    polleä consolå outputó whilå idling¬  ratheò thaî incurrinç                    thå dispatcè overheaä foò eacè characteò transmitted® Thió                    is particularily true at higher baud rates.                    Oî  systemó requirinç thå Z8° returî froí interrupô  (RETI©                    instruction¬  thå jumð tï PDISÐ aô thå enä oæ thå interrupô                    servicinç  caî  bå donå bù placinç thå addresó oæ PDISР oî                    thå stacë anä theî executinç aî RETÉ instruction. Page 89, paragraph 1 Add:    Thå   recommendeä   timå  uniô   ió   16.6·   milliseconds¬                    correspondinç  tï  6° Hz®  Wheî operatinç witè 5°  Hú  thå                    recommended time unit is 20 milliseconds.                    Thå  ticë  frequencù ió criticaì iî thaô iô determineó  thå                    dispatcè  frequencù foò computå bounä  processes®  Iæ  thå                    frequencù  ió  toï  high¬  á significanô amounô  oæ  systeí                    overheaä  ió  incurreä bù  excessivå  dispatches®  Iæ  thå Š                   frequencù ió toï low¬ computå bounä processeó wilì keeð thå                    CPU resource for accordingly longer periods.         Page 90, make the following table changes 004-004 Bank switched memory flag                    005-005 Z80 CPU                    006-006 Banked BDOS file manager 016-047 Initial memory segment table 112-122 Scratch area for memory segments 123-127 Unassigned 144-255 Reserved Page 92, add the following question(s) during GENSYS                    Z80 CPU (Y/N)?                    -Á responså oæ 'Y§ wilì causå MP/Í tï savå thå statå oæ thå                    complementary Z80 registers during dispatches. Bank switched memory (Y/N)?                    -Iæ  thå abovå responså ió 'Y§ theî thå followinç  questioî                    is displayed:                    Banked BDOS file manager (Y/N)? Page 93, paragraph 3 Change: Iæ  thå systeí haó banë switcheä memorù á commá anä á  banë                    numbeò shoulä follo÷ thå baså specification. To: Iæ thå systeí haó banë switcheä memory¬  responä witè á 'Y§                    tï  thå  GENSYÓ questioî anä yoõ wilì bå prompteä  foò  thå                    base¬ size¬ attributes¬ anä banë oæ eacè memorù segment. Page 93, paragraph 4 Change: : 00,0 : 00,1 : 00,2 : ff            To: Base,size,attribs,bank = 00,C0,00,0 Base,size,attribs,bank = 00,C0,00,1 Base,size,attribs,bank = 00,C0,00,2 Base,size,attribs,bank = ff Š Add: Thå attributå bytå ió normallù defineä aó 00®  However¬ iæ                    yoõ  wisè  tï pre-allocatå á memorù segmenô á valuå oæ  FFÈ                    shoulä  bå  specified®  Thå banë bytå  valuå  ió  hardwarå                    dependenô  anä  ió  usuallù  thå valuå  senô  tï  thå  banë                    switchinç hardwarå tï selecô thå specifieä bank.                    Iæ á bankeä BDOÓ filå manageò haó beeî requested¬ thå firsô                    memorù segmenô specifieä shoulä bå foò banë #0®  Thaô wilì                    bå thå banë iî whicè thå BNKBDOÓ wilì reside. Page 97 Change: 3 Reader Input 4 Punch Output 7 Get I/O Byte 8 Set I/O Byte To: 3 Raw Unattached Console Input 4 Raw Unattached Console Output 7 *** Not Supported *** 8 *** Not Supported *** Page 99 Change: CP/M To: MP/M Change: 0000H - 0002H Containó  á  jumð instructioî tï  thå  warí                                    starô entrù poinô aô locatioî 4A03H+b® Thió                                    allowó  á  simplå programmeä  restarô  (JMÐ                                    000H©  oò  manuaì restarô  froí  thå  fronô                                    panel. To: 0000H - 0002H Containó  á jumð instructioî tï XDOÓ  whicè                                    terminateó thå process® Thió allowó simplå                                    procesó  terminatioî  bù  executinç  á  JMÐ                                    0000H. Page 107 Change: ds 1 ; memseg To: db 0ffh ; memseg, identifies an RSP Change: ds 2 ; scratch To: ds 2 ; drives active ds 20 ; registers save area ds 2 ; scratch .pa Š APPENDIX J: MP/M DDT Enhancements             Thå  followinç commandó havå beeî addeä tï thå MP/Í  debuggeò            tï  providå  á  functioî  similaò tï CP/M'ó  SAVÅ  commanä  anä  tï            simplify the task of patching and debugging PRL programs.            W: WRITE DISK             Thå  purposå  oæ  thå WRITÅ DISË commanä ió  tï  providå  thå            capabilitù tï writå á patcheä prograí tï disk®  Á singlå parameteò            immediatelù  followó  thå 'W§ whicè ió thå numbeò oæ  sectoró  (12¸            bytes/sector©  tï bå written®  Thió parameteò ió entereä iî  hexa-            decimal.            V: VALUE             Thå purposå oæ thå VALUÅ commanä ió tï facilitatå use oæ thå            WRITÅ DISË commanä bù computinç thå parameteò tï follo÷ thå 'W'® Á            singlå  parameteò  immediatelù  followó thå 'V§ whicè ió  thå  NEXÔ            location following the last byte to be written to disk.             Normallù á useò woulä reaä iî á file¬ ediô it¬ anä theî writå            iô bacë tï disk® Thå reaä commanä produceó á valuå foò NEXT® Thió            valuå  caî bå entereä aó á parameteò followinç thå 'V§ commanä  anä            thå numbeò oæ sectoró tï bå writteî ouô usinç thå 'W§ commanä  wilì            be computed and displayed.            N: NORMALIZE             Thå  purposå  oæ thå NORMALIZÅ commanä ió tï relocatå á  pagå            relocatablå  filå whicè haó beeî reaä intï memorù bù thå  debugger®            Tï  debuç  á  PRÌ  prograí thå usår woulä reaä iô iî  witè  thå 'R'            commanä  anä  theî uså thå 'N§ commanä tï relocatå iô  withiî  thå            memorù segmenô thå debuggeò ió executing.            B: BITMAP BIT SET/RESET             Thå purposå oæ thå BITMAÐ BIÔ SET/RESEÔ commanä ió tï  enablå            thå useò tï updatå thå bitmað oæ á pagå relocatablå file®  Tï ediô            á  PRÌ  filå thå useò woulä reaä thå filå in¬  makå changeó tï  thå            code¬  anä  theî determinå thå byteó whicè needeä relocatioî  (E.G®            thå  higè  ordeò  addresó byteó oæ  jumð  instructions)®  Thå  'B§            commanä  woulä theî bå useä tï updatå thå biô map®  Therå arå  twï            parameteró specified¬ thå addresó tï bå modifieä (0100È ió thå baså            oæ thå prograí segment)¬  followeä bù á zerï oò á one®  Á valuå oæ            one specifies bit setting. .pa Š APPENDIX K: Page Relocatable (PRL) File Specification             Pagå  relocatablå  fileó  arå  storeä  oî  diskettå  iî  thå            following format:            Address: Contents:            ------- --------            0001-0002H Program size            0004-0005H Minimum buffer requirements (additional memory)            0006-00FFH Currently unused, reserved for future allocation            0100H + Program size = Start of bit map             Thå  biô mað ió á strinç oæ bitó identifyinç whicè byteó  arå            tï bå relocated® Therå ió onå biô mað bytå peò ¸ byteó oæ program®            Thå  mosô  significanô  biô (7© oæ thå firsô bytå oæ  thå  biô  mað            indicateó  whetheò  oò noô thå firsô bytå oæ thå prograí ió  tï  bå            relocated®  Á  biô  whicè  ió  oî  indicateó  thaô  relocatioî  ió            required®  Thå nexô bit¬  bit(6)¬  oæ thå firsô bytå oæ thå biô mað            corresponds to the second byte of the program.