mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 01:44:21 +00:00
888 lines
39 KiB
TeX
888 lines
39 KiB
TeX
.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å <20>
|
||
number® Foò example¬ consolå #° ió initializeä tï useò #± <20>
|
||
anä thå followinç prompô ió displayeä oî consolå #0:
|
||
|
||
1A>
|
||
|
||
To: Thå initiaì useò codå ió equaì tï thå consolå number® Foò <20>
|
||
example¬ consolå #° ió initializeä tï useò #° anä thå <20>
|
||
followinç prompô ió displayeä oî consolå #0:
|
||
|
||
0A>
|
||
|
||
Noteº Cautioî musô bå useä wheî operatinç undeò á useò <20>
|
||
codå oæ ° sincå alì itó fileó caî bå accesseä whilå <20>
|
||
operatinç undeò anù otheò useò code.
|
||
Iî general¬ useò codå ° shoulä bå reserveä foò <20>
|
||
fileó whicè arå accesseä bù alì users® Iî thå evenô thaô á <20>
|
||
filå witè thå samå namå ió presenô undeò useò codå ° anä <20>
|
||
anotheò useò code¬ thå firsô filå founä iî thå directorù <20>
|
||
wilì bå accessed.
|
||
|
||
|
||
Page 4, paragraph 6
|
||
|
||
Add: Sincå therå arå nï built-iî commands¬ thå defaulô disë <20>
|
||
specifieä musô contaiî thå desireä commanä fileó (sucè aó <20>
|
||
DIR¬ REN¬ ERÁ etc.)¬ oò eacè commanä musô bå preceedeä bù <20>
|
||
aî "A:".
|
||
|
||
3B>A:DIR
|
||
|
||
|
||
Page 5, paragraph 5
|
||
|
||
Add: Á checë consolå statuó ió automaticallù performeä eacè timå <20>
|
||
a user program makes a BDOS disk function call.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Š
|
||
|
||
Page 6, paragraph 2
|
||
|
||
Add: ctl-Q Obtaiî ownershið oæ thå printeò mutuaì exclusioî <20>
|
||
message® Obtaininç thå printeò usinç thió commanä <20>
|
||
wilì ensurå thaô thå MP/Í spooler¬ PIP¬ anä otheò <20>
|
||
ctl-Ð oò ctl-Ñ commandó entereä froí otheò <20>
|
||
consoleó wilì noô bå alloweä accesó tï thå <20>
|
||
printer® Thå printeò ió "owned¢ bù thå TMÐ untiì <20>
|
||
anotheò ctl-Ð oò ctl-Ñ ió entered¬ releasinç thå <20>
|
||
printer® Thå ctl-Ð shoulä bå useä wheî á prograí <20>
|
||
(sucè aó á CP/Í *.COÍ file© ió executeä thaô doeó <20>
|
||
noô obtaiî thå printeò mutuaì exclusioî messagå <20>
|
||
prioò tï accessinç thå printer® Iæ thå lisô devicå <20>
|
||
ió noô availablå á 'Printeò busy§ messagå ió <20>
|
||
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å <20>
|
||
operatoò tï changå disks® Iæ nï parameteò ió entereä alì <20>
|
||
thå driveó arå reset® Specifiã driveó tï bå reseô maù bå <20>
|
||
includeä aó parameters.
|
||
|
||
1A>DSKRESET
|
||
|
||
1A>DSKRESET B:,E:
|
||
|
||
|
||
Iæ therå arå anù opeî fileó oî thå drive(s© tï bå reset¬ <20>
|
||
thå disë reseô ió denieä anä thå causå oæ thå disë reseô <20>
|
||
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ô <20>
|
||
fileó lefô opeî (e.g® iî thå procesó oæ beinç written© wilì <20>
|
||
loså theiò updateä informatioî iæ theù arå noô closeä prioò <20>
|
||
tï á disë reset.
|
||
|
||
|
||
Page 8, paragraph 2
|
||
|
||
Add: Á seconä forí oæ thå eraså commanä (ERAQ© enableó thå <20>
|
||
operatoò tï selectivelù deletå fileó thaô matcè thå <20>
|
||
specifieä filenamå reference® Foò example:
|
||
|
||
0A>ERAQ *.LST
|
||
|
||
Š
|
||
|
||
Page 8, paragraph 3
|
||
|
||
Add: Thå TYPÅ commanä haó á pauså modå whicè ió specifieä bù <20>
|
||
enterinç á 'P§ followeä bù twï decimaì digitó afteò thå <20>
|
||
filename® Foò example:
|
||
|
||
0A>TYPE DUMP.ASM P23
|
||
|
||
Thå specifieä numbeò oæ lineó wilì bå displayeä anä theî <20>
|
||
TYPÅ wilì pauså untiì á <cr¾ ió entered.
|
||
|
||
Thå TYPÅ prograí ió smalì anä relativelù slo÷ becauså iô <20>
|
||
bufferó onlù onå sectoò aô á time® Thå largeò PIÐ prograí <20>
|
||
caî bå useä foò fasteò displayó iî thå followinç manner:
|
||
|
||
0A>PIP CON:=MYFILE.TEX
|
||
|
||
|
||
Page 8, paragraph 4
|
||
|
||
Add: Thå DIÒ commanä caî includå fileó whicè havå thå systeí <20>
|
||
attributå set® Thió ió donå bù usinç thå 'S§ option® Foò <20>
|
||
example:
|
||
|
||
0A>DIR *.COM S
|
||
|
||
|
||
Page 8, paragraph 5
|
||
|
||
Add: Iæ thå destinatioî filenamå existó thå operatoò ió giveî <20>
|
||
thå optioî oæ deletinç thå currenô destinatioî filå beforå <20>
|
||
renaminç thå sourcå file.
|
||
|
||
|
||
Page 9
|
||
|
||
Add: PRLCOM
|
||
|
||
Thå PRLCOÍ commanä acceptó á filå oæ PRÌ typå anä produceó <20>
|
||
á filå oæ COÍ type® Iæ thå destinatioî COÍ filå exists¬ á <20>
|
||
querù ió madå tï determinå iæ thå filå shoulä bå deleteä <20>
|
||
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Ø <20>
|
||
froí á filå oæ typå COM® Thió ió usefuì tï bå ablå tï <20>
|
||
generatå HEØ fileó foò GENMOÄ input® Thå GENHEØ commanä <20>
|
||
haó twï parameters¬ thå firsô ió thå COÍ filå namå anä thå <20>
|
||
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ó <20>
|
||
iî itó operatioî froí thå SPOOL.RSÐ aó followsº iô useó alì <20>
|
||
oæ thå memorù availablå iî thå memorù segmenô iî whicè iô <20>
|
||
ió runninç foò buffeò space» iô displayó á messagå <20>
|
||
indicatinç itó statuó anä theî detacheó froí thå console» <20>
|
||
iô maù bå aborteä froí á consolå otheò thaî thå initiatoò <20>
|
||
onlù bù specifyinç thå consolå numbeò oæ thå initiatoò aó á <20>
|
||
parameteò oæ thå STOPSPLÒ command.
|
||
|
||
3B>STOPSPLR 2
|
||
|
||
|
||
Page 14, paragraph 2
|
||
|
||
Add: ABORT
|
||
|
||
Thå ABORÔ commanä allowó thå useò tï aborô á runninç <20>
|
||
program® Thå prograí tï bå aborteä ió entereä aó á <20>
|
||
parameteò iî thå ABORÔ command.
|
||
|
||
1A>ABORT RDT
|
||
|
||
Á prograí initiateä froí anotheò consolå maù onlù bå <20>
|
||
aborteä bù includinç thå consolå numbeò oæ thå initiatoò aó <20>
|
||
á 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å <20>
|
||
characteò tï Registeò A® Therå ió nï testinç oæ thå inpuô <20>
|
||
character¬ thaô is¬ thå systeí wilì directlù pasó througè alì <20>
|
||
characteró includinç thå controì characteró withouô anù <20>
|
||
interpretation® Thió functioî doeó noô requirå thaô thå consolå <20>
|
||
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ò <20>
|
||
froí registeò Å tï thå consolå device® Therå ió nï testinç oæ thå <20>
|
||
outpuô character¬ thaô is¬ tabó arå noô expandeä anä nï checkó arå <20>
|
||
madå foò start/stoð scrolì anä printeò echo® Thió functioî doeó <20>
|
||
noô requirå thaô thå consolå bå attached¬ noò doeó iô attacè thå <20>
|
||
console® Thus¬ unsoliciteä messageó maù bå senô tï otheò consoleó <20>
|
||
bù simplù changinç thå consolå bytå oæ thå procesó descriptoò anä <20>
|
||
theî usinç thió function®
|
||
Š Page 28, paragraph 1
|
||
|
||
Add: Cautioî musô bå observeä iî thå uså oæ thå printeò sincå <20>
|
||
therå ió nï impliciô lisô devicå ownership® Thaô is¬ thå <20>
|
||
lisô devicå ió noô "opened¢ oò "closed"® MP/Í affordó á <20>
|
||
secondarù expliciô meanó tï resolvå printeò mutuaì <20>
|
||
exclusion® Á queuå nameä 'MXList§ ió createä bù thå systeí <20>
|
||
tï handlå mutuaì exclusion® Tï properlù obtaiî uså oæ thå <20>
|
||
printeò á prograí shoulä opeî thå 'MXList§ queuå anä reaä <20>
|
||
thå message® Wheî thå messagå ió obtaineä thå printeò maù <20>
|
||
bå used® Wheî printinç ió completeä thå messagå shoulä bå <20>
|
||
writteî bacë tï thå 'MXList§ queue® Thió techniquå ió useä <20>
|
||
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æ <20>
|
||
therå arå anù opeî fileó oî anù drive¬ thå reseô disë <20>
|
||
systeí ió denieä anä thå reasoî ió displayeä oî thå <20>
|
||
console.
|
||
|
||
Thå returneä valuå indicateó whetheò oò noô thå reseô disk <20>
|
||
waó successful® Iæ anù procesó ió currentlù accessinç á <20>
|
||
drive¬ aî erroò codå oæ 0FFÈ ió returneä iî thå Á register® <20>
|
||
Á 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ä <20>
|
||
drive(s)® Thå passeä parameteò ió á 1¶ biô vectoò oæ driveó tï bå <20>
|
||
reset¬ thå leasô significanô biô ió drivå A:® Iæ therå arå anù <20>
|
||
opeî fileó oî á specifieä drive¬ thå reseô drivå ió denieä anä thå <20>
|
||
reasoî ió displayeä oî thå console.
|
||
Š Thå returneä valuå indicateó whetheò oò noô thå reseô drivå <20>
|
||
waó successful® Iæ anù procesó ió currentlù accessinç á drivå tï <20>
|
||
bå reset¬ aî erroò codå oæ 0FFÈ ió returneä iî thå Á register® Á <20>
|
||
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ó <20>
|
||
bit(s© iî thå callinç processeó procesó descriptor® Thå passeä <20>
|
||
parameteò ió á 1¶ biô vectoò oæ drive(s© tï bå accessed¬ thå leasô <20>
|
||
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ó <20>
|
||
bit(s© iî thå callinç processeó procesó descriptor® Thå passeä <20>
|
||
parameteò ió á 1¶ biô vectoò oæ drive(s© tï bå freed¬ thå leasô <20>
|
||
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ï <20>
|
||
FUNCTIOÎ 34º WRITÅ RANDOÍ witè thå exceptioî thaô alì unallocateä <20>
|
||
blockó arå zerï filled.
|
||
Š Page 49, add to description of circular queue element BUFFER
|
||
|
||
Noteº Mutuaì exclusioî queueó requirå á twï bytå buffeò foò <20>
|
||
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æ <20>
|
||
queues® Queueó whicè arå tï bå directlù writteî tï bù thå <20>
|
||
Terminaì Messagå Procesó (TMP© viá thå Commanä Linå <20>
|
||
Interpreteò (CLI© musô havå aî uppeò caså ASCIÉ name® Thuó <20>
|
||
wheî aî operatoò enteró thå queuå namå followeä bù á <20>
|
||
commanä taiì aô á console¬ thå commanä taiì ió writteî tï <20>
|
||
the queue.
|
||
|
||
Iî ordeò tï makå á queuå inaccessiblå bù á useò aô á <20>
|
||
console it must contain at least one lower case character.
|
||
|
||
Mutuaì exclusioî queueó shoulä bå nameä uppeò caså 'MX§ <20>
|
||
followeä bù ± tï ¶ additionaì ASCIÉ characters® Theså <20>
|
||
queueó arå treateä speciallù iî thaô theù musô havå á twï <20>
|
||
bytå buffeò iî whicè MP/Í placeó thå addresó oæ thå procesó <20>
|
||
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ó <20>
|
||
reserveä foò uså bù thå system® Thå higè ordeò biô oæ thå <20>
|
||
firsô bytå (identifieä aó NAME(0)'© "on¢ indicateó thaô thå <20>
|
||
procesó ió performinç direcô consolå BIOÓ calló anä thaô <20>
|
||
MP/Í ió tï ignorå alì controì characters® Iô ió alsï useä <20>
|
||
tï suppresó thå normaì consolå statuó checë donå wheî BDOÓ <20>
|
||
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æ <20>
|
||
processes® Processeó whicè waiô oî queueó thaô arå tï bå <20>
|
||
senô commanä tailó froí thå TMPó arå giveî thå consolå <20>
|
||
resourcå iæ theiò namå matcheó thaô oæ thå queuå whicè theù <20>
|
||
are reading.
|
||
|
||
Processeó whicè arå tï bå protecteä froí abortioî bù aî <20>
|
||
operatoò usinç thå ABORÔ commanä musô havå aô leasô onå <20>
|
||
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ù <20>
|
||
useò programó iî non-bankeä systems® Thå reasoî ió thaô <20>
|
||
queueó arå alì maintaineä oî á linkeä lisô whicè musô bå <20>
|
||
accessiblå aô alì times® I.E.¬ á queuå cannoô residå iî á <20>
|
||
memorù segmenô whicè ió banë switched® However¬ á queuå <20>
|
||
createä iî commoî memorù caî bå accesseä bù alì systeí anä <20>
|
||
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ó á <20>
|
||
0FFH¬ thå memorù segmenô ió noô released® Thuó á procesó <20>
|
||
whicè ió á chilä oæ á parenô procesó botè executinç iî thå <20>
|
||
samå memorù segmenô caî terminatå withouô freeinç thå <20>
|
||
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ù <20>
|
||
useò programó iî non-bankeä systems® Thå reasoî ió thaô <20>
|
||
procesó descriptoró arå alì maintaineä oî linkeä listó <20>
|
||
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å <20>
|
||
addresó oæ callinç processeó procesó descriptor® Bù definitioî <20>
|
||
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ï <20>
|
||
terminatå anotheò specifieä process® Thå passeä parameteò ió thå <20>
|
||
addresó oæ aî Aborô Parameteò Blocë (APB© whicè containó thå <20>
|
||
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ä <20>
|
||
thå procesó namå anä consolå caî bå omitted® Otherwiså thå procesó <20>
|
||
descriptoò addresó fielä shoulä bå á zerï anä thå procesó namå anä <20>
|
||
consolå musô bå specified® Iî eitheò caså thå terminatioî codå <20>
|
||
musô bå supplieä whicè ió thå parameteò passeä tï FUNCTIOÎ 143º <20>
|
||
TERMINATÅ PROCESS.
|
||
|
||
|
||
Page 73, add to step (6)
|
||
|
||
Thå firsô LDRBIOÓ calì madå bù thå MPMLDÒ ió SELDSKº selecô <20>
|
||
disk® Iæ therå arå deviceó whicè requirå initializatioî á <20>
|
||
calì tï thå LDRBIOÓ colä starô oò otheò initializatioî codå <20>
|
||
should be placed at the beginning of the SELDSK handler.
|
||
|
||
Noteº Thå MPMLDÒ useó 4000È - 6FFFÈ aó á buffeò areá wheî <20>
|
||
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ä <20>
|
||
bytå oæ zerï aô thå end® Thió ió especiallù criticaì iæ <20>
|
||
youò XIOS.ASÍ filå endó witè á defineä storage® Thå reasoî <20>
|
||
foò thió requiremenô ió thaô therå arå nï HEØ filå recordó <20>
|
||
produceä foò defineä storgå (DS© statements® Thus¬ thå <20>
|
||
outpuô HEØ filå ió misleadinç becauså iô doeó noô identifù <20>
|
||
thå truå lentè oæ youò XIOS® Thå followinç examplå <20>
|
||
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ù <20>
|
||
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ô <20>
|
||
ió thå firsô timå thå specifieä disë haó beeî selected® <20>
|
||
Registeò E¬ biô ° (leasô significanô bit© ió á zerï iæ thå <20>
|
||
drivå haó noô beeî previouslù selected® Thió informatioî <20>
|
||
ió oæ interesô iî systemó whicè reaä disë configuratioî <20>
|
||
informatioî froí thå drivå iî ordeò tï seô uð á dynamiã <20>
|
||
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ò <20>
|
||
XIOÓ call® Thå MPMLDÒ disableó interrupts¬ thuó iô caî bå <20>
|
||
assumeä thaô interruptó arå stilì disableä upoî entrù tï <20>
|
||
SYSTEMINIT® Interruptó arå enableä bù MP/Í immediatelù <20>
|
||
upoî returî froí SYSTEMINIT.
|
||
|
||
Iî systemó witè banë switcheä memorù iô ió necessarù tï <20>
|
||
setuð thå baså pagå (0000È - 00FFH© withiî eacè banë oæ <20>
|
||
memory® Botè thå MPMLDÒ anä MP/Í itselæ assumå thaô thå <20>
|
||
baså banë (banë #0© ió switcheä iî wheî thå MPMLDÒ ió <20>
|
||
executed® Thå baså banë ió properlù initializeä bù MP/Í <20>
|
||
prioò tï enterinç SYSTEMINIT® Thå informatioî requireä foò <20>
|
||
thå initializatioî ió provideä oî entrù tï SYSTEMINIÔ iî <20>
|
||
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ô <20>
|
||
optimizatioî oæ systeí performancå wheî thå useò <20>
|
||
haó aî XIOÓ thaô ió alì interrupô driven® Iæ yoõ <20>
|
||
havå polleä deviceó iî youò XIOS¬ thå IDLÅ <20>
|
||
procedurå maù bå omitteä bù placinç á NOÐ <20>
|
||
instructioî aô thå BIOS+48È locatioî wherå therå <20>
|
||
woulä otherwiså bå á jumð tï aî idlå procedure.
|
||
|
||
Thå idlå entrù poinô ió calleä repeatedlù wheî <20>
|
||
MP/Í ió idling® Thaô is¬ wheî therå arå nï otheò <20>
|
||
processeó readù tï run® Iî systemó thaô arå <20>
|
||
entirelù interrupô driveî thå idlå procedurå <20>
|
||
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î <20>
|
||
interrupô handleò ió FUNCTIOÎ 133º FLAÇ SET® Anù otheò <20>
|
||
XDOÓ oò BDOÓ calì wilì resulô iî á dispatcè whicè woulä <20>
|
||
theî enablå interruptó prioò tï completinç executioî oæ thå <20>
|
||
interrupô handler.
|
||
|
||
Iô ió recommendeä thaô interruptó onlù bå useä foò <20>
|
||
operationó whicè arå asynchronous¬ sucè aó consolå inpuô oò <20>
|
||
disë operatioî complete® Iî general¬ operationó sucè aó <20>
|
||
consolå outpuô shoulä noô bå interrupô driven® Thå reasoî <20>
|
||
thaô interruptó arå noô desirablå foò consolå outpuô ió <20>
|
||
thaô thå systeí ió affordeä somå elasticitù bù performinç <20>
|
||
polleä consolå outputó whilå idling¬ ratheò thaî incurrinç <20>
|
||
thå dispatcè overheaä foò eacè characteò transmitted® Thió <20>
|
||
is particularily true at higher baud rates.
|
||
|
||
Oî systemó requirinç thå Z8° returî froí interrupô (RETI© <20>
|
||
instruction¬ thå jumð tï PDISÐ aô thå enä oæ thå interrupô <20>
|
||
servicinç caî bå donå bù placinç thå addresó oæ PDISÐ oî <20>
|
||
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å <20>Š frequencù ió toï low¬ computå bounä processeó wilì keeð thå <20>
|
||
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å <20>
|
||
complementary Z80 registers during dispatches.
|
||
|
||
Bank switched memory (Y/N)?
|
||
|
||
-Iæ thå abovå responså ió 'Y§ theî thå followinç questioî <20>
|
||
is displayed:
|
||
|
||
Banked BDOS file manager (Y/N)?
|
||
|
||
|
||
|
||
Page 93, paragraph 3
|
||
|
||
Change: Iæ thå systeí haó banë switcheä memorù á commá anä á banë <20>
|
||
numbeò shoulä follo÷ thå baså specification.
|
||
|
||
To: Iæ thå systeí haó banë switcheä memory¬ responä witè á 'Y§ <20>
|
||
tï thå GENSYÓ questioî anä yoõ wilì bå prompteä foò thå <20>
|
||
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æ <20>
|
||
yoõ wisè tï pre-allocatå á memorù segmenô á valuå oæ FFÈ <20>
|
||
shoulä bå specified® Thå banë bytå valuå ió hardwarå <20>
|
||
dependenô anä ió usuallù thå valuå senô tï thå banë <20>
|
||
switchinç hardwarå tï selecô thå specifieä bank.
|
||
|
||
Iæ á bankeä BDOÓ filå manageò haó beeî requested¬ thå firsô <20>
|
||
memorù segmenô specifieä shoulä bå foò banë #0® Thaô wilì <20>
|
||
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í <20>
|
||
starô entrù poinô aô locatioî 4A03H+b® Thió <20>
|
||
allowó á simplå programmeä restarô (JMÐ <20>
|
||
000H© oò manuaì restarô froí thå fronô <20>
|
||
panel.
|
||
To: 0000H - 0002H Containó á jumð instructioî tï XDOÓ whicè <20>
|
||
terminateó thå process® Thió allowó simplå <20>
|
||
procesó terminatioî bù executinç á JMÐ <20>
|
||
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ò <20>
|
||
tï providå á functioî similaò tï CP/M'ó SAVÅ commanä anä tï <20>
|
||
simplify the task of patching and debugging PRL programs.
|
||
|
||
|
||
W: WRITE DISK
|
||
|
||
Thå purposå oæ thå WRITÅ DISË commanä ió tï providå thå <20>
|
||
capabilitù tï writå á patcheä prograí tï disk® Á singlå parameteò <20>
|
||
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å <20>
|
||
WRITÅ DISË commanä bù computinç thå parameteò tï follo÷ thå 'W'® Á <20>
|
||
singlå parameteò immediatelù followó thå 'V§ whicè ió thå NEXÔ <20>
|
||
location following the last byte to be written to disk.
|
||
|
||
Normallù á useò woulä reaä iî á file¬ ediô it¬ anä theî writå <20>
|
||
iô bacë tï disk® Thå reaä commanä produceó á valuå foò NEXT® Thió <20>
|
||
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å <20>
|
||
relocatablå filå whicè haó beeî reaä intï memorù bù thå debugger® <20>
|
||
Tï debuç á PRÌ prograí thå usår woulä reaä iô iî witè thå 'R' <20>
|
||
commanä anä theî uså thå 'N§ commanä tï relocatå iô withiî thå <20>
|
||
memorù segmenô thå debuggeò ió executing.
|
||
|
||
|
||
B: BITMAP BIT SET/RESET
|
||
|
||
Thå purposå oæ thå BITMAÐ BIÔ SET/RESEÔ commanä ió tï enablå <20>
|
||
thå useò tï updatå thå bitmað oæ á pagå relocatablå file® Tï ediô <20>
|
||
á PRÌ filå thå useò woulä reaä thå filå in¬ makå changeó tï thå <20>
|
||
code¬ anä theî determinå thå byteó whicè needeä relocatioî (E.G® <20>
|
||
thå higè ordeò addresó byteó oæ jumð instructions)® Thå 'B§ <20>
|
||
commanä woulä theî bå useä tï updatå thå biô map® Therå arå twï <20>
|
||
parameteró specified¬ thå addresó tï bå modifieä (0100È ió thå baså <20>
|
||
oæ thå prograí segment)¬ followeä bù á zerï oò á one® Á valuå oæ <20>
|
||
one specifies bit setting.
|
||
.pa
|
||
Š APPENDIX K: Page Relocatable (PRL) File Specification
|
||
|
||
Pagå relocatablå fileó arå storeä oî diskettå iî thå <20>
|
||
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å <20>
|
||
tï bå relocated® Therå ió onå biô mað bytå peò ¸ byteó oæ program® <20>
|
||
Thå mosô significanô biô (7© oæ thå firsô bytå oæ thå biô mað <20>
|
||
indicateó whetheò oò noô thå firsô bytå oæ thå prograí ió tï bå <20>
|
||
relocated® Á biô whicè ió oî indicateó thaô relocatioî ió <20>
|
||
required® Thå nexô bit¬ bit(6)¬ oæ thå firsô bytå oæ thå biô mað <20>
|
||
corresponds to the second byte of the program.
|
||
|
||
|