home *** CD-ROM | disk | FTP | other *** search
Text File | 1985-02-10 | 102.1 KB | 2,409 lines |
- .HE ZUG VOL.2 Page #
- .PO 0
- .MB 3
- .OP
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PCE SYSTEMS SOFTWARE
-
-
-
- PRELIMINARY USER'S MANUAL
-
- for
-
- PCE SYSTEM MONITOR
-
- Releases A and B
-
-
-
-
-
-
-
-
-
- by
-
- PCE SYSTEMS
-
- JUNE 1979
-
-
-
-
-
-
-
-
-
-
- COPYRIGHT 1979 PCE SYSTEMS INC.
- 4782 Dewey Drive, Fair Oaks, CA 95628
-
-
-
-
-
- PC┼á SYSTEM╙ INC«á iε thσ persoε oµ Mikσ Colson¼á ha≤ kindl∙ ì
- donateΣá thσá completσá sourcσ fo≥ thi≤ Monito≥á Prograφá t∩á thσ ì
- Pascal/┌ User≤ Group« I⌠ caε bσ copied¼ altered¼ anΣ useΣ b∙ an∙ ì
- member¼ a⌠ thei≥ discretion¼ jus⌠ a≤ lonτ a≤ i⌠ i≤ non-commercia∞ ì
- no≥á profitable«á Iεá al∞ othe≥ case≤ thσ followinτá Cop∙righ⌠ ì
- applies.
-
- COPYRIGH╘á π 197╣ b∙ PC┼ SYSTEM╙ INC«á Al∞ right≤ reserved«á N∩ par⌠ oµá thi≤ ì
- publicatioε ma∙ bσ reproduced¼ storeΣ iε ß retrieva∞ systeφ o≥ transmitteΣ iε ì
- an∙ forφ o≥ b∙ an∙ mean≤ -- electronic¼á mechanical¼ photocopying¼ recording¼ ì
- o≥á otherwisσá -- withou⌠á thσ prio≥ writteε permissioε oµ PC┼á SYSTEM╙á INC« ì
- witΦá thσá exceptioεá tha⌠á thσ encloseΣ softwarσá ma∙á bσá copieΣá int∩á thσ ì
- purchaser'≤ owε compute≥ systeφ fo≥ hi≤ owε use.
-
- PC┼ SYSTEM╙ INC« assume≤ n∩ responsibilit∙ fo≥ thσ usσ oµ an∙ oµ thσ encloseΣ ì
- softwarσ iε thσ user'≤ system.
-
- CREDITS: Software written by Richard Lerseth of LEPAC SERVICES.
-
- ┴á numbe≥ oµ companie≤ anΣ thei≥ tradσ mark≤ arσ mentioneΣ iε thi≤á document« ì
- Thesσ are:
-
- DAJEN, TELETEK - TM of Teletek inc., Rancho Cordova, Ca.
-
- CP/M - TM of Digital Research, Pacific Grove, Ca.
-
- TARBELL - TM of Tarbell Electronics, Carson, Ca.
-
- ZAPPLE - TM of Xitan Inc. (formerly TDL Inc.)
-
-
-
-
- CONTENTS
-
- ========
-
-
-
- 1.0 Introduction
-
- 2.0 Monitor command subsystem
-
- 3.0 Console subsystem
-
- 4.0 Cassette subsystem
-
- 5.0 Disk subsystem
-
- 6.0 I/O vector subsystem
-
- 7.0 Implementation
-
- 8.0 User written commands
-
-
-
- APPENDICES
-
-
-
- A Monitor Source listings
- B Monitor Symbol table
- C Sample Routine listings
-
- .HE USER'S MANUAL ** PCE SYSTEM MONITOR ** Releases A and B ** Page #
- 1.0 -- INTRODUCTION
- ===================
-
-
- PC┼á SYSTE═á MONITO╥á i≤á ßá completσ Z-8░ baseΣá monito≥á whicΦá support≤á ß ì
- keyboard¼á ß vide∩ display¼ ß printer¼ cassettσ I/O¼ anΣ Flopp∙ disδ I/O« Thσ ì
- monito≥ come≤ iε tw∩ configurations¼á Releasσ ┴ anΣ Releasσ B«á Releasσ ┴á i≤ ì
- supplieΣá oεá ßá cassettσ tapσ anΣ ha≤ residen⌠ cassettσ tapσá I/╧á routines« ì
- Releasσ ┬ i≤ supplieΣ oε ß CP/═ compatiblσ diskettσ anΣ ha≤ it≤ cassettσ tapσ ì
- I/╧ routine≤ callablσ a≤ transien⌠ command≤ whicΦ residσ oε ßá diskette«á Thσ ì
- monito≥á i≤á ßá modula≥á softwarσá packagσá whicΦá ha≤á separatσá independen⌠ ì
- subsytems«á Thesσ are║á thσ monito≥ commanΣ subsystem¼ thσ consolσ subsystem¼ ì
- thσ disδ I/╧ subsystem¼á anΣ thσ I/╧ vecto≥ subsystem« Iε addition¼ Releasσ ┴ ì
- contain≤ thσ cassettσ I/╧ subsystem« EacΦ oµ thσ separatσ section≤ havσ fron⌠ ì
- enΣá vecto≥ linkage≤ whicΦ providσ thσ communicatioε path≤ t∩ onσ anothe≥á a≤ ì
- wel∞á a≤ entrie≤ fo≥ use≥ writteε programs«á Iε particula≥ thσ Monito≥ Vecto≥ ì
- I/╧ subsyteφ provide≤ INTE╠ standarΣ I/╧ vecto≥ linkage≤ fo≥ thσ fou≥ logica∞ ì
- devices║ console¼ reader¼ punch¼ anΣ list.
-
- Thσ monito≥ ha≤ ß "buffereΣ commanΣ processoró whicΦ allow≤ thσ use≥ t∩ builΣ ì
- hi≤ commanΣ oε thσ vide∩ displa∙ usinτ ful∞ tex⌠ editinτ capabilitie≤ througΦ ì
- keyboarΣ contro∞ commands.
-
- Excludinτá thσá CP/═ BIOS¼á Releasσ ┴ oµ thσ monito≥ occupie≤ 6╦á oµá memory╗ ì
- Releasσá ┬ occupie≤ 5╦ oµ memory«á Thσ majo≥ portioε oµ thσá monito≥á commanΣ ì
- routine≤ residσ iε thi≤ memory«á Thσ res⌠ arσ transient¼á o≥ virtua∞ command≤ ì
- whicΦá residσá oεá disδá memory¼á anΣ arσ calleΣ u≡ wheεá needeΣá iεá overla∙ ì
- fashion« Thσ transien⌠ command≤ arσ accesseΣ viß thσ COP┘ anΣ VERIF┘ command≤ ì
- whicΦ loaΣ thσ specifieΣ filσ anΣ vector≤ t∩ it«á Thσ filσ namσ mus⌠á conforφ ì
- t∩ thσ followinτ format:
-
- COPYSD.SMC - for copy commands.
- VRFYSD.SMC - for verify commands.
-
- ááááááááwherσá [S▌ anΣ [D▌ arσ thσ sourcσ anΣ destinatioε code≤ a≤ defineΣ iε ì
- ááááááááthσá detaileΣ descriptioε oµ thesσ command≤ iε sectioε 2«á Notσá tha⌠ ì
- ááááááááthσá filσá namσ mus⌠ conforφ t∩ thσ abovσ forma⌠ bu⌠ yo⌡á ma∙á desigε ì
- ááááááááyou≥ custoφ routine≤ t∩ d∩ othe≥ thaε cop∙ o≥ verify.
-
- Thi≤ manua∞ wil∞ givσ thσ instruction≤ needeΣ t∩ implemen⌠ anΣ usσ you≥ newl∙ ì
- acquireΣ monitor«á Thσ difference≤ betweeε Release≤ ┴ anΣ ┬ wil∞ bσ explaineΣ ì
- iεá thσá appropiatσá section≤á oµ thi≤ manua∞ wheε anΣá iµá the∙á affec⌠á thσ ì
- operatioε oµ you≥ monitor.
-
- Wσá hopσ yo⌡ likσ thi≤ packagσ anΣ tha⌠ i⌠ wil∞ improvσá you≥á human/compute≥ ì
- communicatioεá linkage≤ anΣ al∞ thosσ gooΣ things«áì
-
- 2.0 -- MONITOR COMMAND SUBSYSTEM
- ================================
-
-
- 2.1 -- GENERAL DESCRIPTION
- ==========================
-
- Thσá monito≥ ha≤ thσ capabilit∙ oµ havinτ 2╢ primar∙ command≤ - onσ fo≥á eacΦ ì
- lette≥á oµ thσ alphabet«á Iε addition¼á eacΦ primar∙ commanΣ allow≤ secondar∙ ì
- option≤á whicΦ expanΣ thσ commanΣ se⌠ t∩ ß mucΦ greate≥ number«á Withiεá thi≤ ì
- sectioεá i≤á ß commanΣ processo≥ whicΦ allow≤ yo⌡ t∩ builΣá command≤á oεá thσ ì
- vide∩ display« Thσ monito≥ firs⌠ wil∞ promp⌠ yo⌡ fo≥ ß ne≈ commanΣ b∙ sendinτ ì
- thσá messagσ "ENTE╥ COMMANDó t∩ thσ vide∩ display«á Theε i⌠ place≤ thσ curso≥ ì
- a⌠á thσ beginninτ oµ thσ nex⌠ vide∩ line«á Iµ yo⌡ madσ aε erro≥ iεá thσá las⌠ ì
- command¼á thσá monito≥ wil∞ senΣ aε erro≥ messagσ defininτ thσ erro≥ anΣ theε ì
- promp⌠ yo⌡ fo≥ anothe≥ commanΣ entry«á Yo⌡ havσ aε optioε oµ movinτ u≡ t∩ thσ ì
- prio≥ commanΣ usinτ curso≥ control≤ anΣ correctinτ you≥ mistake¼á o≥ yo⌡á caε ì
- ente≥ ß ne≈ commanΣ a⌠ thσ presen⌠ curso≥ position.
-
- A≤ thσ commanΣ i≤ beinτ entereΣ yo⌡ havσ ß numbe≥ oµ editinτ command≤ a⌠ you≥ ì
- disposal«á Somσ oµ thesσ are║ movσ curso≥ right¼ left¼ up¼ o≥ down╗ clea≥ thσ ì
- line╗á deletσá ßá character╗á bacδ spacσ anΣ deletσ ß character╗á anΣá inser⌠ ì
- spaces«á T∩á enΣ thσ entr∙ proces≤ anΣ initiatσ thσ command¼á jus⌠ pres≤á thσ ì
- RETUR╬ ke∙ fo≥ ß onσ linσ commanΣ o≥ thσ CTRL-╥ fo≥ ß tw∩ linσá command«á Thσ ì
- curso≥á caε bσ an∙ positioε oε thσ linσ (to≡ linσ fo≥ tw∩ linσá command)«á Iε ì
- processinτ thσ commanΣ thσ monito≥ firs⌠ find≤ whicΦ vide∩ linσ thσ curso≥ i≤ ì
- on¼á turn≤á ofµá thσá cursor¼á transfer≤ thσ tota∞ line(s⌐ int∩á thσá commanΣ ì
- buffer¼á theε turn≤ oε thσ curso≥ again« Thσ monito≥ theε proceed≤ t∩ analyzσ ì
- commanΣá iε thσ buffer«á Firs⌠ i⌠ determine≤ thσ significan⌠ portioεá oµá thσ ì
- command« Leadinτ anΣ trailinτ blank≤ (spaces⌐ arσ stripped¼ anΣ thσ remainde≥ ì
- i≤ deblockeΣ int∩ subfield≤ whicΦ arσ delimiteΣ b∙ imbeddeΣ spaces¼á periods¼ ì
- commas¼á semicolons¼á colons¼á plu≤ anΣ minu≤ signs¼á asterisks¼ slashes¼ anΣ ì
- equa∞ signs.
-
- Whilσá thσ monito≥ i≤ processinτ anΣ executinτ length∙ commands¼á thσ ESCAP┼ ì
- ke∙á caε bσ presseΣ t∩ escapσ froφ thσ commanΣ bacδ int∩ commanΣ entr∙á mode« ì
- A≤á aε example¼á ente≥ thσ commanΣ "─ - "«á Thi≤ commanΣ wil∞ displa∙ al∞á oµ ì
- memor∙ iε hexadecima∞ forma⌠ anΣ wil∞ takσ somσ timσ t∩ complete«á Pres≤á thσ ì
- ESCAP┼á ke∙á whilσ thi≤ i≤ happeninτ anΣ yo⌡ wil∞ escapσ froφ thσ proces≤á oµ ì
- displayinτ memory.
-
- 2.2 -- SUBSYSTEM INTERFACE
- ==========================
-
- Thσá subsysteφá interfacσá organizatioε a⌠ thσ fron⌠á oµá thσá subsysteφ ì
- contains¼á iε order¼á threσ entr∙ jum≡ vectors¼ tw∩ addres≤ pointer≤ fo≥ worδ ì
- areß anΣ stack¼ ß tablσ oµ 2╢ primar∙ commanΣ vecto≥ addresses¼ ß tablσ oµ 3╢ ì
- cop∙ commanΣ vecto≥ addresses¼ anΣ ß tablσ oµ 1╢ verif∙ commanΣ addresses.
-
- Entry jump table:
-
- ORG MBASE ;BASE OF MONITOR
- ENTRY1 JP START ;COLD START OF MONITOR
- ENTRY2 JP RESTRT ;WARM START OF MONITOR
- ENTRY3 JP FMEM ;MEMORY TEST FOR ZAPPLE
-
- Variable work area and monitor stack pointer addresses:
-
- MWORK DEFW WBASE ;VARIABLE WORK AREA POINTER
- STACK DEFW SBASE ;MONITOR STACK POINTER
-
- Primary Command vector address table of 26 addresses:
-
- MJUMP DEFW ASSIGN ;PRIMARY COMMAND A
- : : : : :
- DEFW NAVAIL ;PRIMARY COMMAND Z
-
- Copy Command vector address table of 36 addresses:
-
- CJUMP DEFW CPM ;COPYTT COMMAND
- : : : :
- DEFW CPM ;COPYUU COMMAND
-
- Verify Command vector address table of 16 addresses:
-
- VJUMP DEFW CPM ;VRFYTT COMMAND
- : : : :
- DEFW CPM ;VRFYUU COMMAND
-
- Thσá variablσ worδ spacσ pointe≥ define≤ thσ monito≥á worδá space«á Thi≤ ì
- pointe≥á mus⌠ bσ thσ samσ fo≥ al∞ thσ subsystems«á Thσ monito≥ worδ spacσá i≤ ì
- defineΣ a≤ follows:
-
- WBASE-77 -- IOBYTE ASSIGNMENT
- WBASE-76 -- SUBFIELD PARAMETER TABLE
- TEN FOUR BYTE BLOCKS,
- WHERE FOR THE KTH BLOCK:
- K+0 -- DELIMITER CHAR
- K+1 -- SUBFIELD ADDR
- K+3 -- NO. OF BYTES IN SUBFIELD
- WBASE-12 -- DECODED ADDRESS #1
- WBASE-10 -- DECODED ADDRESS #2
- WBASE-8 -- DECODED ADDRESS #3
- WBASE-6 -- NUMBER OF ADDRESSES DECODED
- WBASE-5 -- SUBFIELD BLOCK POINTER
- WBASE-4 -- TOTAL NO. OF SUBFIELDS DEBLOCKED
- WBASE-3 -- NO. OF SIGNIFICANT BYTES IN COMMAND
- WBASE-2 -- ADDR OF 1ST SIGNIFICANT BYTE IN BUFFER
- WBASE -- START OF COMMAND LINE BUFFER AREA
- WBASE+127 -- END OF COMMAND LINE BUFFER AREA
-
- 2.3 -- COMMAND FORMATS
- ======================
-
- The generalized form of the monitor command set is:
-
- P####[.SD][.K####] [AAAA[-BBBB[-CCCC]]] [F..F]
- ------------------ -------------------- ------
- // // //
- command field 1st parameter 2nd parameter
- field field
-
- Thσá commanΣá i≤ composeΣ oµ threσ subfield≤ whicΦ arσ separateΣ b∙á imbeddeΣ ì
- spaces╗á thσ commanΣ field¼á thσ 1s⌠ paramente≥ field¼á anΣ thσ 2nΣ paramete≥ ì
- field«á Subfield≤á encloseΣ iε bracket≤ [▌ arσ optiona∞ a≤ specifieΣá b∙á thσ ì
- individua∞ commands.
-
- 2.3.▒ -- COMMAN─ FIELD║á Thσ commanΣ fielΣ i≤ composeΣ oµ thσ primar∙ ì
- commanΣá characte≥ [P▌ anΣ tw∩ optiona∞ optioε subfield≤ [.SD▌ anΣ [.K]«á Thσ ì
- primar∙ commanΣ characte≥ mus⌠ bσ aε alphabetiπ characte≥ [A..Z]« Thi≤ allow≤ ì
- 2╢á primar∙ commands«á Thσ presen⌠ versioε oµ thσ monito≥ doe≤ no⌠á implemen⌠ ì
- al∞ oµ these«á UnuseΣ primar∙ command≤ caε bσ useΣ b∙ yo⌡ fo≥ you≥ owε custoφ ì
- routines«á Seσá sectioε 8.░ oε ho≈ yo⌡ caε makσ usσ oµ them«á An∙á numbe≥á oµ ì
- arbitrar∙ alphanumeriπ character≤ (designateΣ b∙ ####⌐ caε follo≈ thσ primar∙ ì
- commanΣ character«á Tw∩ type≤ oµ optioε subfield≤ arσ availablσ t∩ expanΣ thσ ì
- commanΣ set«á Thesσ arσ delimiteΣ b∙ ß perioΣ iε thσ commanΣ field« Thσ firs⌠ ì
- optioε fielΣ [.SD▌ i≤ useΣ onl∙ a≤ par⌠ oµ thσ COP┘ anΣ VERIF┘ command≤ whicΦ ì
- requirσá ß SOURCE/DESTINATIO╬ codσ t∩ allo≈ 3╢ type≤ oµ cop∙ anΣ 1╢ type≤á oµ ì
- verif∙á commands.Thi≤á subfielΣá i≤ explaineΣ iε detai∞á unde≥á thσá detaileΣ ì
- explanatioε oµ thσ tw∩ commands¼á COP┘ anΣ VERIFY«á Thσ seconΣ typσ oµ optioε ì
- subfielΣá [.K▌á act≤á a≤á secondar∙ commanΣ fielΣ t∩á multipl∙á eacΦá primar∙ ì
- commanΣ int∩ 2╢ additiona∞ commands« A≤ witΦ thσ primar∙ commanΣ subfielΣ an∙ ì
- numbe≥ oµ arbitrar∙ alphanumeriπ character≤ caε follo≈ thσ secondar∙á commanΣ ì
- character«á Cop∙ anΣ verif∙ command≤ requirσ thσ [.SD▌ optioε beforσ thσ [.K▌ ì
- option.
- 2.3.▓ -- FIRS╘ PARAMETE╥ FIELD║ Thi≤ fielΣ mus⌠ bσ separateΣ froφ thσ ì
- commanΣá fielΣ b∙ onσ spacσ anΣ onσ spacσ only«á Man∙ oµ thσ monito≥ command≤ ì
- requirσá 1,2¼á o≥á │á addres≤ o≥ bytσ field≤ t∩ bσ entereΣá a≤á par⌠á oµá thσ ì
- command« Thesσ field≤ arσ expecteΣ t∩ bσ iε hexadecima∞ forma⌠ [0-9,A-F]« Thσ ì
- monito≥á processe≤ eacΦ addres≤ (byte⌐ fielΣ unti∞ i⌠ encounter≤ ßá delimite≥ ì
- o≥á ßá hexadecima∞á error«á Iµá thσ addres≤ i≤ greate≥ thaεá fou≥á lega∞á he° ì
- character≤ [ex║á 10FEA2]¼ thσ monito≥ use≤ thσ leas⌠ significan⌠ ┤ character≤ ì
- [FEA2]« ┴ bytσ fielΣ woulΣ reducσ t∩ thσ leas⌠ significan⌠ ▓ character≤ [A2]« ì
- Iµá morσ thaε onσ addres≤ (byte⌐ i≤ entered¼á eacΦ additiona∞ addres≤á (byte⌐ ì
- fielΣ mus⌠ bσ delimiteΣ froφ thσ prio≥ b∙ ß dasΦ (minu≤ sign)« Therσ mus⌠ no⌠ ì
- bσá an∙ othe≥ typσ oµ embeddeΣ delimite≥ iε thσ field«á Yo⌡ ma∙á defaul⌠á thσ ì
- addresse≤á (bytes⌐ b∙ usinτ thσ dasΦ b∙ itselµ o≥ iε fron⌠ oµ o≥ bacδ oµá thσ ì
- addres≤á field«á Thσá firs⌠ addres≤ fielΣ default≤ t∩ 0000H«á Thσ seconΣá anΣ ì
- thirΣ default≤ t∩ FFFFH« Thi≤ lead≤ t∩ ß shorthanΣ wa∙ oµ enterinτ addresses.
-
- Examples: 1. [--] = [0000-FFFF-FFFF]
- 2. [-BBBB-] = [0000-BBBB-FFFF]
- 3. [AAAA-] = [AAAA-FFFF]
-
- Thσá presen⌠ versioε oµ thσ monito≥ wil∞ onl∙ proces≤ u≡ t∩ threσá addresses« ì
- Thesσá addresse≤á arσá storeΣ awa∙ iε thσ monito≥ RA═ worδá spacσá fo≥á late≥ ì
- processing«á Yo⌡ caε acces≤ thesσ b∙ knowinτ wherσ t∩ looδ fo≥ them«á Seσ thσ ì
- sourcσá listinτ oµ thσ monito≥ iε Appendi° A¼á anΣ sectioε 8.░ fo≥ idea≤á iε ì
- thσ usσ oµ these.
-
- 2.3.│ -- SECON─ PARAMETE╥ FIELD║ Thi≤ fielΣ i≤ requireΣ b∙ thσ SEARC╚ ì
- command«á ┴á detaileΣá descriptioε oµ thi≤ fielΣ a≤ useΣ b∙á thσá commanΣá i≤ ì
- containeΣ iε thσ explanatioε oµ thσ SEARC╚ command.
-
- 2.4 -- PRIMARY COMMAND LIST
- ===========================
-
-
- ALPHA COMMAND DESCRIPTION.
-
- A A#### AA ááAssigεá Inte∞á StandarΣá I/╧á Device¼áá (Inte∞ ì
- ááááááááááááááááááááááááááááááácompatiblσ IOBYTE).
-
- B B#### AA ááLocku≡á systeφ witΦ ke∙ codσ AA«á A┴ mus⌠á bσ ì
- áááááááááááááááááááááááááááááááentereΣ agaiε t∩ unlocδ thσ system.
-
- C C####.SD[.K] [F..F] ááCop∙á froφá sourcσá ╙ t∩ destinatioεá ─á usinτ ì
- áááááááááááááááááááááááááááááááparamete≥ [.K▌ o≥ fielΣ [F..F▌ wherσ required.
-
- D D####.K AAAA-BBBB ááDispla∙ memor∙ froφ AAA┴ t∩ BBB┬ usinτá optioε ì
- ááááááááááááááááááááááááááááááá.╦á wherσá .╦ i≤ .╚ fo≥á hexadecimal¼á .┴á fo≥ ì
- áááááááááááááááááááááááááááááááASCII¼ .├ fo≥ combineΣ ASCI╔ ª hex¼ anΣ .╘ fo≥ ì
- áááááááááááááááááááááááááááááááText.
-
- E E####.K AAAA ááEnte≥ t∩ memor∙ startinτ a⌠ addres≤ AAA┴ usinτ ì
- áááááááááááááááááááááááááááááááoptioε .╦ wherσ .╦ i≤ .╚ fo≥ hexadecimal¼á anΣ ì
- ááááááááááááááááááááááááááááááá.╘ fo≥ TEXT.
-
- F F#### AAAA-BBBB[-CC] ááFil∞ memor∙ froφ AAA┴ t∩ BBB┬ witΦ CC,[00╚á iµ ì
- ááááááááááááááááááááááááááááááá-C├ no⌠ present].
-
- G G#### AAAA ááJum≡á t∩á addres≤ AAA┴ witΦ returε addres≤á t∩ ì
- áááááááááááááááááááááááááááááááthσ monito≥ pusheΣ oε thσ stack.
-
- H H#### AAAA-BBBB ááHexadecima∞ add/subtrac⌠ BBB┬ to/froφ AAAA
-
- I I#### AA ááInpu⌠ froφ por⌠ AA
-
- J J#### AAAA ááJum≡á t∩ addres≤ AAA┴ witΦ returε jum≡á vecto≥ ì
- ááááááááááááááááááááááááááááááát∩ thσ monito≥ placeΣ a⌠ addres≤ a⌠ 0000
-
- K *** ááUndefined
-
- L L####.K AAAA-BBBB ááLis⌠ oε printer¼ memor∙ froφ AAA┴ t∩ BBB┬ witΦ ì
- áááááááááááááááááááááááááááááááoptioεá .K«á Option≤ arσ samσ a≤ ╦ iεá Displa∙ ì
- ááááááááááááááááááááááááááááááácommand.
-
- M M#### AAAA-BBBB-CCCC ááMovσ memor∙ blocδ AAAA-BBB┬ t∩ CCCC.
-
- N *** ááUndefined.
-
- O O#### AA-BB ááOutpu⌠ t∩ por⌠ A┴ witΦ bytσ BB.
-
- P P#### AAAA-BBBB-CCCC ááPrograφá EPRO═ startinτ a⌠ addres≤á CCC├á witΦ ì
- ááááááááááááááááááááááááááááááámemor∙ blocδ AAAA-BBBB.
-
- Q *** ááUndefined.
-
- R Release A only - Release B uses C####.TM
-
- R#### ááReaΣ cassettσ absolute.
- R#### AAAA ááReaΣ cassettσ biased.
- R#### AAAA-BBBB ááReaΣ cassettσ specific.è
- S S#### AAAA-BBBB F..F ááSearcΦá memor∙á blocδ AAAA-BBB┬ fo≥ he°á fielΣ ì
- áááááááááááááááááááááááááááááááF..F.
- S#### AAAA-BBBB 'F..F SearcΦ memor∙ blocδ AAAA-BBB┬ fo≥ ASCI╔á fielΣ ì
- áááááááááááááááááááááááááááááááF..F.
-
- T T#### ááFinΣ firs⌠ contiguou≤ blocδ oµ RA═ memory.
- T####.K AAAA-BBBB ááTes⌠á RA═ memor∙ blocδ AAAA-BBB┬ witΦ tes⌠á .╦ ì
- áááááááááááááááááááááááááááááááwherσá .╦ i≤ .╤ fo≥ quicδ tes⌠ fo≥ harΣ memor∙ ì
- áááááááááááááááááááááááááááááááerrors¼á anΣá ├á fo≥á completσá tes⌠á fo≥á bi⌠ ì
- ááááááááááááááááááááááááááááááápatterε sensitivity
-
- U *** ááUndefined.
-
- V V####.SD [F..F] ááVerif∙á sourcσá ╙á witΦá destinatioεá ─á usinτ ì
- áááááááááááááááááááááááááááááááparamente≥ fielΣ [F..F▌ wherσ required.
-
- W Realease A only - Release B uses C####.MT
-
- W#### AAAA-BBBB ááWritσá t∩á cassettσá memor∙á blocδá AAAA-BBBB« ì
- áááááááááááááááááááááááááááááááChecksummeΣ Teleteδ [Dajen▌ format.
-
- X *** ááUndefined.
-
- Y *** ááUndefined.
-
- Z *** ááUndefined.
-
- 2.5 -- DETAILED DESCRIPTION OF THE COMMANDS
- ===========================================
-
-
- .CP 15
- ============
- 2.5.1 A : ASSIGN
- ============
-
- FORMAT: A#### AA
-
- EXAMPLES: ASSIGN 00
- A 34
-
- Assigεá IOBYTE«á [AA▌á i≤ thσ ne≈ [IOBYTE▌ bytσá assignment«á Thi≤á bytσ ì
- define≤á thσ logica∞ t∩ physica∞ devicσ mappinτ whicΦ follow≤ thσá INTE╠á I/╧ ì
- vecto≥ standarΣ fo≥ fou≥ logica∞ I/╧ devices║á console¼á reader¼á punch¼á anΣ ì
- list«á EacΦá logica∞á devicσá caεá bσ assigneΣ t∩ onσ oµá fou≥á physica∞á I/╧ ì
- devices«á Completσá descriptioεá oµá thσ IOBYT┼ assignmen⌠á i≤á explaineΣá iε ì
- sectioε 6.0¼ "I/╧ VECTO╥ SUBSYSTEM."
-
-
- .CP 19
- =========
- 2.5.2 B : BYE
- =========
-
- FORMAT: B#### AA
-
- EXAMPLES: BYE 34
- BYEBYE
- B 3FCD2
-
- Locδá u≡á thσ systeφ unde≥ powe≥ t∩ kee≡ thσ compute≥á froφá beinτá useΣ ì
- temporaril∙á t∩á savσ an∙ prograφ iε memor∙ froφ beinτá disturbeΣá accidentl∙ ì
- durinτá interruptions«á [AA▌á i≤á thσ hexadecima∞ ke∙ whicΦ wil∞á unlocδá thσ ì
- systeφ a⌠ ß late≥ time«á Thσ systeφ wil∞ wai⌠ iε ß loo≡ unti∞ i⌠ see≤ thσ ke∙ ì
- again«á Thσ ke∙ i≤ onσ singlσ byte«á So¼ iµ yo⌡ ente≥ ß strinτ oµ hexadecima∞ ì
- character≤á greate≥á thaεá tw∩á character≤á long¼á theεá onl∙á thσá las⌠á tw∩ ì
- character≤á iε thσ strinτ arσ useΣ fo≥ thσ key«á Iε thσ thirΣá examplσá abovσ ì
- [D2H▌á i≤ thσ key«á Iµ yo⌡ senΣ thσ commanΣ iε thσ seconΣ examplσ above¼á thσ ì
- monito≥ wil∞ assumσ thσ ke∙ i≤ [00H].
-
-
- .CP 26è ==========
- 2.5.3 C : COPY
- ==========
-
- FORMAT: C####[.SD][.K####][F..F]
-
- EXAMPLES: C.MM 1000-2000-3000
- COPY.MC 1000-2000
-
- Cop∙ froφ ß sourcσ t∩ ß destination«á Thi≤ commanΣ i≤ ß generalizeΣ movσ ì
- oµ datß t∩ anΣ froφ si° defineΣ mediums«á Thesσ are║á [T▌ - Tapσ drive¼ [D▌ - ì
- Disδ drive¼á [M▌ - Memory¼á [C▌ - Consolσ I/O¼á [P▌ - Printer¼ anΣ [U▌ - Use≥ ì
- defineΣ medium«á Thσ source/destinatioε codσ [SD▌ define≤ thσ mediß involved« ì
- Thirt∙ si° combination≤ arσ possible«á Thesσ caε mos⌠ readil∙ bσ showε a≤ ß ╢ ì
- ╪ ╢ matrix.
-
- T - TT DT MT CT PT UT
- D - TD DD MD CD PD UD
- DESTINATION M - TM DM MM CM PM UM
- C - TC DC MC CC PC UC
- P - TP DP MP CP PP UP
- U - TU DU MU CU PU UU
- : : : : : :
- T D M C P U
- SOURCE
-
- .CP 16
- Thσ tw∩ characte≥ [SD▌ codσ i≤ decodeΣ int∩ aε inde° t∩ thσ cop∙á vecto≥ ì
- table«á Thσ monito≥ theε obtain≤ thσ vecto≥ addres≤ iε thσ tablσ anΣ jump≤ t∩ ì
- tha⌠ address« Thσ tablσ reside≤ jus⌠ afte≥ thσ primar∙ commanΣ vecto≥ table.
-
- Onl∙á somσ oµ thσ cop∙ routine≤ residσ permanentl∙ iε memor∙ a≤ par⌠á oµ ì
- thσ monito≥ commanΣ subsystem«á Thσ res⌠ oµ thσ cop∙ routine≤ arσ expecteΣ t∩ ì
- residσá iεá CP/═ file≤ a≤ transien⌠ commands«á ┴ CP/═ filσ routinσ i≤á loadeΣ ì
- int∩ memor∙ a⌠ [0100H▌ anΣ theε executed«á Thσ transien⌠ commanΣ wil∞á vecto≥ ì
- bacδ t∩ thσ monito≥ wheε i⌠ i≤ finished«á Thσ cop∙ command≤ whicΦ arσ defineΣ ì
- a≤á resident¼á vecto≥á t∩ routine≤ whicΦ arσ pointeΣ t∩ b∙ alternatσá primar∙ ì
- commanΣ vectors«á Additiona∞ parameter≤ arσ needeΣ fo≥ eacΦ residen⌠á commanΣ ì
- a≤á specifieΣ b∙ it≤ alternatσ primar∙ command«á Thi≤ i≤ supplieΣ througΦ thσ ì
- fielΣá [F..F]«á Thσ fielΣ [F..F▌ mus⌠ bσ identica∞ t∩ thσá relateΣá alternatσ ì
- primar∙á command«á Thσá transien⌠ command≤ usuall∙ d∩ no⌠ requirσá additiona∞ ì
- parameter≤ a≤ par⌠ oµ thσ commanΣ line«á Thesσ routine≤ normall∙ wil∞á promp⌠ ì
- yo⌡ fo≥ thσ additiona∞ informatioε required.
-
- .CP 19è The resident copy commands are:
-
- 1. COPY.TM [AAAA[-BBBB]] READ Command (Release A only)
- 2. COPY.MT AAAA-BBBB WRITE Command (Release B only)
- 3. COPY[.MM] AAAA-BBBB-CCCC MOVE Command
- 4. COPY.MC[.K] AAAA-BBBB DISPLAY Command
- 5. COPY.MP[.K] AAAA-BBBB LIST Command
- 6. COPY.CM[.K] AAAA ENTER Command
-
- Subfield≤á encloseΣá iε [▌ arσ optiona∞ anΣá arσ ì
- ááááááááexplaineΣ unde≥ thσ specifieΣ residen⌠ command.
-
- Man∙á oµá thσá transien⌠ cop∙ command≤ wil∞á bσá availablσá a≤á optiona∞ ì
- routine≤á fo≥á thσá monitor«á Thσá remainde≥á oµ thσá cop∙á command≤á ma∙á bσ ì
- implementeΣ b∙ you«á Sectioε 8.░ outline≤ thσ procedure≤ needeΣ t∩á implemen⌠ ì
- residen⌠á anΣá CP/═ filσ routine≤ fo≥ ne≈ commands«á Iε addition¼á sincσá thσ ì
- residen⌠ cop∙ command≤ poin⌠ t∩ thσ READ¼á WRITE¼á MOVE¼á DISPLAY¼á LIS╘á AN─ ì
- ENTE╥á routines╗á theεá thσ Alphß primar∙ command≤ [R,W,M,D,L,E▌á whicΦá als∩ ì
- poin⌠ t∩ thesσ routine≤ caε bσ useΣ fo≥ you≥ owε custoφ commands.
-
-
- .CP 40è =============
- 2.5.4 D : DISPLAY
- =============
-
- FORMATS: D####[.K] AAAA-BBBB
- C####.MC[.K] AAAA-BBBB
-
- EXAMPLES: DISPLAY 0000-2000
- D.A -
- DUMP.COMBINED 200-
- COPY.MC.TEXT 7000-7100
-
- Displa∙á memor∙ usinτ forma⌠ optioε [.K]«á Thi≤ commanΣ wil∞ displa∙á oε ì
- thσá vide∩á screeεá thσá specifieΣ memor∙ blocδ [AAAA-BBBB▌ iεá onσá oµá fou≥ ì
- format≤á [H,A,C,o≥ T]«á Iµ forma⌠ fielΣ [.K▌ i≤ no⌠ presen⌠ iεá thσá command¼ ì
- theεá thσá monito≥á default≤á t∩ [.H]«á ┴ COP┘ commanΣá i≤á availablσá a≤á aε ì
- alternativσ t∩ thσ DISPLA┘ command.
- Thσ displa∙ format≤ arσ a≤ follows:
-
- áááááááá[.H▌ - Hexadecima∞ format« Content≤ oµ memor∙ i≤ displayeΣ 1╢ byte≤ ì
- áááááááápe≥ line¼ headeΣ b∙ thσ addres≤ oµ thσ firs⌠ bytσ oµ thσ line.
-
- áááááááá[.A▌á - ASCI╔ format«á Thσ content≤ oµ memor∙ i≤ displayeΣ 3▓ byte≤ ì
- áááááááápe≥ line¼á headeΣ b∙ thσ addres≤ oµ thσ firs⌠ bytσ oµ thσ line« ASCI╔ ì
- áááááááácontro∞á character≤á arσá displayeΣá a≤á period≤á [.]«á Iµá thσá mos⌠ ì
- áááááááásignifican⌠á bi⌠ i≤ higΦ theε thσ ASCI╔ equivalen⌠ wil∞ bσá displayeΣ ì
- ááááááááiε reversσ vide∩ mode.
-
- áááááááá[.C▌ - CombineΣ format« Thσ content≤ oµ memor∙ i≤ displayeΣ ╕ byte≤ ì
- áááááááápe≥á line¼á firs⌠ iε hexadecima∞ format¼á theε iε ASCI╔á format«á Thσ ì
- ááááááááaddres≤ oµ thσ firs⌠ bytσ oµ thσ linσ i≤ displayeΣ a⌠ thσ heaΣ oµ thσ ì
- ááááááááline.
-
- áááááááá[.T▌á - Tex⌠á format«á Thσ content≤ oµ memor∙á i≤á displayeΣá unde≥ ì
- áááááááácompletσá contro∞á oµ embeddeΣ ASCI╔ contro∞ byte≤ withiε thσá memor∙ ì
- ááááááááblocδ beinτ displayed«á Yo⌡ shoulΣ usσ thi≤ forma⌠ oµ displa∙ onl∙ oε ì
- áááááááámemor∙ whicΦ ha≤ knowε textua∞ content« WilΣ thing≤ happeε iµ yo⌡ tr∙ ì
- áááááááát∩ displa∙ nontextua∞ memory«á Yo⌡ ma∙ ge⌠ int∩ aε infinitσ loo≡á duσ ì
- áááááááát∩ thσ recursivσ naturσ oµ thσ messagσ macr∩ processo≥ oµ thσ Consolσ ì
- ááááááááSubsystem« Seσ sectioε 3.┤ fo≥ detaileΣ explanation.
-
-
- .CP 38è ===========
- 2.5.5 E : ENTER
- ===========
-
- FORMATS: E####[.K] AAAA
- C####.CM[.K] AAAA
-
- EXAMPLES: ENTER 3000
- E.A 4000
- COPY.CM.HEX 7000
-
- Ente≥ datß t∩ memor∙ froφ thσ console«á Thi≤ commanΣ allow≤ yo⌡ t∩ ente≥ ì
- t∩á memor∙á o≥á changσá thσ content≤ oµ memor∙ witΦ keyboarΣá inpu⌠á datßá iε ì
- hexadecima∞á forma⌠á [.H]¼á o≥á ASCI╔ tex⌠ forma⌠ [.T▌á startinτá a⌠á addres≤ ì
- [AAAA]« Iµ thσ ENTE╥ forma⌠ fielΣ [.K▌ i≤ no⌠ presen⌠ iε thσ commanΣ theε thσ ì
- monito≥á default≤ t∩ [.H]«á ┴ COP┘ commanΣ i≤ availablσ a≤ aε alternativσá t∩ ì
- thσ ENTE╥ command.
-
- Thσ ENTE╥ format≤ arσ a≤ follows:
-
- áááááááá[.H▌á - Ente≥ Hexadecimal║á Thi≤ forma⌠ allow≤ yo⌡ t∩á displa∙á thσ ì
- áááááááácontent≤ oµ memor∙ onσ bytσ a⌠ ß timσ startinτ a⌠ addres≤ [AAAA]« Yo⌡ ì
- ááááááááma∙áá changσá thσá content≤á oµá thσá memor∙á locatioεá b∙áá enterinτ ì
- ááááááááhexadecima∞á character≤ tw∩ a⌠ ß timσ (fo≥ onσ byte)«á Yo⌡ ma∙ bypas≤ ì
- ááááááááan∙ memor∙ locatioε b∙ pressinτ thσ SPAC┼ BAR«á Iµ yo⌡ madσ ß mistakσ ì
- ááááááááiεá enterinτá ß byte¼á yo⌡ ma∙ bacδ u≡ t∩ thσá previou≤á locatioεá b∙ ì
- áááááááápressinτá thσá BAC╦ SPAC┼ KEY«á Thσ monito≥ wil∞ repea⌠á thσá presen⌠ ì
- áááááááálocatioεá anΣá it≤á content≤á iµ yo⌡ pres≤ an∙ ke∙á whicΦá i≤á no⌠á ß ì
- ááááááááhexadecima∞ key« T∩ exi⌠ froφ thi≤ commanΣ jus⌠ pres≤ thσ RETUR╬ KEY.
-
- áááááááá[.T▌á - Ente≥ TEXT║á Thi≤ forma⌠ allow≤ yo⌡ t∩ ente≥ thσ ful∞ ASCI╔ ì
- áááááááácharacte≥ se⌠ includinτ thσ contro∞ characters« A⌠ present¼ therσ arσ ì
- áááááááán∩ editinτ capabilitie≤ unde≥ thi≤ format«á Thσ ASCI╔ character≤á arσ ì
- ááááááááentereΣá sequentiall∙ startinτ a⌠ addres≤ [AAAA▌ a≤ yo⌡ ke∙ theφ int∩ ì
- ááááááááyou≥ keyboard« T∩ exi⌠ froφ thi≤ commanΣ pres≤ thσ [ctrl-A▌ ke∙ pair« ì
- ááááááááThi≤ ASCI╔ characte≥ i≤ thσ las⌠ bytσ entereΣ int∩ memor∙ beforσá thσ ì
- ááááááááterminatioεá oµá thσá command«á Thσá addres≤ oµá thσá las⌠á entr∙á i≤ ì
- áááááááádisplayeΣ fo≥ you≥ convenience.
-
-
- .CP 13
- ==========
- 2.5.6 F : FILL
- ==========
-
- FORMAT: F#### AAAA-BBBB[-CC]
-
- EXAMPLES: FILL 0-200
- F -7000-FF
-
- Fil∞ memor∙ blocδ [AAAA-BBBB▌ witΦ bytσ [CC]¼á o≥ iµ [CC▌ i≤ no⌠ presen⌠ ì
- fil∞ witΦ ZEROs.
-
-
- .CP 12è ==========
- 2.5.7 G : GOTO
- ==========
-
- FORMAT: G#### AAAA
-
- EXAMPLES: GOTO F000
- GO -
-
- Jum≡ t∩ memor∙ locatioε [AAAA▌ anΣ begiε t∩ execute«á Thσ addres≤ t∩ thσ ì
- restar⌠ locatioε oµ thσ monito≥ i≤ pusheΣ ont∩ thσ monitor'≤ stack«á ┴ returε ì
- instructioε iε thσ vectoreΣ prograφ wil∞ theε vecto≥ yo⌡ bacδ t∩ thσ monitor.
-
-
- .CP 13
- =========
- 2.5.8 H : HEX
- =========
-
- FORMAT: H#### AAAA-BBBB
-
- EXAMPLES: HEXMATH 2000-3000
- H 3333-5555
-
- AdΣá anΣ subtrac⌠ hexadecima∞ addresse≤ [AAAA▌ anΣ [BBBB]«á Thσá answer≤ ì
- wil∞ bσ iε iε two'≤ complemen⌠ 1╢ bit-hexadecima∞ format« Thσ additioε resul⌠ ì
- oµ AAA┴ anΣ BBB┬ i≤ displayeΣ witΦ ß plu≤ [+▌ iε fron⌠ oµ it« Thσ subtractioε ì
- oµ BBB┬ froφ AAA┴ i≤ displayeΣ nex⌠ witΦ ß minu≤ [-▌ iε fron⌠ oµ it.
-
-
- .CP 15
- ===========
- 2.5.9 I : INPUT
- ===========
-
- FORMAT: I#### AA
-
- EXAMPLES: INPUT 6C
- I 3
-
- Inpu⌠á froφ por⌠ [AA]«á Thi≤ commanΣ wil∞ immediatel∙ reaΣ por⌠ [AA▌ anΣ ì
- displa∙á thσá content≤á iε hexadecimal«á Thσ monito≥ wil∞á theεá wai⌠á fo≥á ß ì
- keyboarΣá entr∙á oµ eithe≥ ß SPAC┼ BA╥ o≥ RETURN«á Thσ SPAC┼ BA╥á entr∙á wil∞ ì
- causσá thσá monito≥ t∩ rereaΣ thσ por⌠ anΣ agaiε displa∙á thσá contents«á Thσ ì
- RETUR╬á entr∙ wil∞ le⌠ thσ monito≥ exi⌠ thi≤ command«á Al∞ othe≥ ke∙á entrie≤ ì
- arσ ignored.
-
-
- .CP 14
- ==========
- 2.5.10 J : JUMP
- ==========
-
- FORMAT: J#### AAAA
-
- EXAMPLES: JUMP B000
- J 0
-
- Jum≡á t∩ adres≤ [AAAA▌ anΣ star⌠ executing«á Thσ restar⌠ addres≤ oµá thσ ì
- monito≥á i≤á loadeΣá a≤á ß jum≡ vecto≥ iε thσ firs⌠á threσá memor∙á location≤ ì
- startinτ a⌠ [0000H▌ a≤ C│ L╠ H╚ wherσ L╠ anΣ H╚ arσ thσ lo≈ anΣ higΦ byte≤ oµ ì
- thσá addres≤á AAAA«á ┴ jum≡ froφ thσ executeΣ prograφ t∩ thi≤á locatioεá wil∞ ì
- vecto≥ yo⌡ bacδ t∩ thσ monitor.è
-
- .CP 3
- ==============
- 2.5.11 K : NOT USED
- ==============
-
-
- .CP 16
- ==========
- 2.5.12 L : LIST
- ==========
-
- FORMATS: L####[.K] AAAA-BBBB
- C####.MP[.K] AAAA-BBBB
-
- EXAMPLES: LIST 2000-4000
- L.C -
- COPY.MP.TEXT 5000-5100
-
- Lis⌠á t∩ thσ printe≥ memor∙ blocδ [AAAA-BBBB▌ usinτ forma⌠ optioεá [.K]« ì
- Thi≤ commanΣ i≤ identica∞ t∩ thσ DISPLA┘ commanΣ witΦ thσ onl∙ exceptioε tha⌠ ì
- thσ printe≥ i≤ turneΣ on«á Thσ memor∙ content≤ arσ als∩ routeΣ t∩ thσ printe≥ ì
- a≤á wel∞á a≤ t∩ thσ vide∩ screen«á A≤ witΦ thσ DISPLA┘ commanΣá therσá i≤á aε ì
- alternativσ COP┘ commanΣ fo≥ thi≤ command.
-
-
- .CP 20
- ==========
- 2.5.13 M : MOVE
- ==========
-
- FORMATS: M#### AAAA-BBBB-CCCC
- C####[.MM] AAAA-BBBB-CCCC
-
- EXAMPLES: MOVE 0-100-1000
- M -1000-2000
- COPY.MM F000-F3FF-A000
-
- Movσ memor∙ blocδ [AAAA-BBBB▌ t∩ ß differen⌠ memor∙ locatioε startinτ a⌠ ì
- addres≤á [CCCC]«á Thi≤ commanΣ i≤ ß standarΣ memor∙ blocδ movσ whicΦ ha≤á thσ ì
- capabilit∙á oµá overlayinτ ove≥ thσ origina∞ memor∙ blocδ withou⌠á destroyinτ ì
- thσ content≤ beinτ moved«á Thσ movσ i≤ no⌠ automaticall∙ verifieΣ becausσá oµ ì
- thσ overla∙ feature«á Iµ yo⌡ neeΣ t∩ verif∙ thσ movσ (assuminτ ß non-overlaiΣ ì
- move⌐ theε usσ thσ VERIFY.M═ command«á Bσ carefu∞ witΦ thi≤ command¼ sincσ i⌠ ì
- caεá overla∙á an∙á memor∙á fielΣá sucΦá a≤á thσá monitor'≤á stacδá space«á Aε ì
- alternativσ cop∙ commanΣ i≤ availablσ fo≥ thi≤ command«á Thσ cop∙ [.SD▌ fielΣ ì
- ma∙ bσ lef⌠ ou⌠ oµ thσ commanΣ field.
-
-
- .CP 3
- ==============
- 2.5.14 N : NOT USED
- ==============
-
-
- .CP 14è ============
- 2.5.15 O : OUTPUT
- ============
-
- FORMAT: O#### AA[-BB]
-
- EXAMPLES: OUTPUT 6C-FF
- O 6D
-
- Outpu⌠á t∩ por⌠ [AA▌ witΦ bytσ [BB],[00╚ iµ [-BB▌ i≤ no⌠ presen⌠ iεá thσ ì
- command]«á Thσá monito≥á immediatel∙ output≤ thσ bytσ theε wait≤ fo≥á yo⌡á t∩ ì
- pres≤á onσá oµ tw∩ key≤ oε thσ keyboard«á Pressinτ thσ SPAC┼ BA╥á cause≤á thσ ì
- monito≥ t∩ re-outpu⌠ thσ byte«á Pressinτ thσ RETUR╬ KE┘ cause≤ thσ monito≥ t∩ ì
- exi⌠ thi≤ command« Al∞ othe≥ ke∙ entrie≤ arσ ignored.
-
-
- .CP 16
- =============
- 2.5.16 P : PROGRAM
- =============
-
- FORMAT: P#### AAAA-BBBB-CCCC
-
- EXAMPLES: PROGRAM 1000-2000-8000
- PROM -1000-D000
-
- Prograφá EPROM≤á startinτ a⌠ addres≤ [CCCC▌ witΦ thσ content≤ oµá memor∙ ì
- blocδ [AAAA-BBBB]« Thi≤ commanΣ wil∞ loo≡ througΦ thσ memor∙ blocδ 12╕ times¼ ì
- copyinτ eacΦ bytσ int∩ thσ EPROM«á Thi≤ commanΣ i≤ compatiblσ witΦ Cromemco'≤ ì
- BYTESAVER≤ ▒ anΣ 2«á Yo⌡ ma∙ ruε int∩ somσ incompatiblitie≤ witΦ othe≥á EPRO═ ì
- progamme≥ modules.
- Thσá EPROM≤ arσ verifieΣ immediatel∙ afte≥ programming«á Yo⌡ ma∙á escapσ ì
- froφ programminτ b∙ pressinτ thσ ESCAP┼ key.
-
-
- .CP 3
- ==============
- 2.5.17 Q : NOT USED
- ==============
-
-
- .CP 16
- ==========
- 2.5.18 R : READ Release A only:
- ==========
-
- FORMATS: R#### [AAAA[-BBBB]]
- C####.TM [AAAA[-BBBB]]
-
- EXAMPLES: READ
- R 1000
- READTAPE 8000-A000
- COPY.TM
-
- ReaΣá froφá cassettσ tapσ t∩ memory«á Thi≤ commanΣ wil∞ reaΣ ßá TELETE╦ ì
- [DAJEN▌á o≥ TARBEL╠ formatteΣ cassettσ tape«á Threσ option≤ arσ availablσá t∩ ì
- you╗á reaΣá absolute¼á reaΣ biased¼á anΣ reaΣ specific«á Thσ presen⌠á versioε ì
- control≤ onl∙ thσ Teleteδ UCRI«
-
-
- .CP 19è READ ABSOLUTE
- =============
-
- áááááThi≤á optioε i≤ thσ standarΣ reaΣ commanΣ t∩ inpu⌠ ßá TELETE╦á formatteΣ ì
- ááááátapσ file« Jus⌠ ente≥ [R####▌ oε thσ commanΣ line« Thσ TELETE╦ formatteΣ ì
- ááááátapσá filσá contain≤ thσ informatioε needeΣ t∩ loaΣ thσ tapσá filσá int∩ ì
- ááááámemory«á Thσ firs⌠ fou≥ byte≤ oε thσ tapσ filσ arσ thσ beginninτ addres≤ ì
- áááááoµ memor∙ wherσ thσ filσ i≤ t∩ bσ loaded¼á anΣ thσ numbe≥ oµ byte≤ t∩ bσ ì
- áááááloaded«á Thσ beginninτ addres≤ i≤ assumeΣ t∩ bσ iε INTE╠ format¼ tha⌠ i≤ ì
- áááááthσá leas⌠ significan⌠ bytσ firs⌠ anΣ thσ mos⌠ significan⌠ bytσá second« ì
- áááááThσá nex⌠á tw∩ byte≤ arσ thσ numbe≥ oµ byte≤ iε thσ filσ t∩á bσá loaded« ì
- áááááHoweve≥ thσ filσ sizσ i≤ assumeΣ t∩ bσ ordereΣ witΦ thσ mos⌠ significan⌠ ì
- ááááábytσá firs⌠ theε thσ leas⌠ significan⌠ bytσ second«á Thσ monito≥ obtain≤ ì
- áááááthesσ fou≥ byte≤ anΣ set≤ u≡ thσ loo≡ indexing¼á theε continue≤ t∩á reaΣ ì
- áááááthσá res⌠á oµ thσ filσ unti∞ i⌠ i≤ al∞ in¼á accordinτ t∩ thσá fou≥á bytσ ì
- áááááinformation«á Onσ morσ bytσ i≤ theε read«á Thi≤ i≤ thσ checksuφ byte« I⌠ ì
- ááááái≤á compareΣá witΦ thσ runninτ checksuφ thσ monito≥ calculate≤ whilσá i⌠ ì
- áááááread≤ thσ file« Eithe≥ ß completσ o≥ checksuφ erro≥ messagσ i≤ displayeΣ ì
- ááááádependinτ oε thσ result≤ oµ thσ compare.
-
-
- .CP 11
- áááááREA─ BIASED
- ááááá===========
-
- áááááThi≤á optioε allow≤ yo⌡ t∩ reaΣ aε absolutσ TELETE╦ formatteΣ filσá int∩ ì
- ááááámemor∙á a⌠á ß differen⌠ locatioε othe≥ thaε specifieΣ b∙ thσá tapσá filσ ì
- áááááinformation«á Thσ commanΣ forma⌠ i≤ [R###ú AAAA]« Thσ 1╢ bi⌠ bia≤ [AAAA▌ ì
- ááááái≤ addeΣ t∩ thσ tapσ file'≤ beginninτ address«á An∙ carr∙ overflo≈á froφ ì
- áááááthσá additioεá i≤á ignored«á T∩ determinσ thσ prope≥ bia≤á usσá thσá HE╪ ì
- áááááARITHMETI├ command«á Fo≥ example¼á iµ thσ tapσ filσ beginninτ addres≤ i≤ ì
- ááááá7000╚ anΣ yo⌡ wanteΣ t∩ loaΣ i⌠ a⌠ 5000H¼ theε usinτ [╚ 5000-7000▌ woulΣ ì
- ááááágivσ yo⌡ [+C00░ -E000]« Thereforσ thσ bia≤ i≤ E000H.
-
-
- .CP 13
- áááááREA─ SPECIFIC
- ááááá=============
-
- áááááThi≤á optioεá allow≤á yo⌡ t∩ reaΣ ß TARBEL╠ compatiblσ tapσá filσá o≥á ß ì
- áááááTELETE╦á formatteΣ tapσ file«á Thσ commanΣ forma⌠ i≤ [R###úá AAAA-BBBB]« ì
- áááááThσá monito≥ wil∞ reaΣ iε thσ filσ unti∞ thσ memor∙ blocδ [AAAA-BBBB▌ i≤ ì
- áááááfilled«á Therσ i≤ n∩ checksuφ checkinτ witΦ thi≤ option«á Iµ yo⌡ attemp⌠ ì
- ááááát∩á reaΣá ßá TELETE╦ formatteΣ tapσá file¼á thσá tapσá filσá informatioε ì
- ááááá(beginninτá addres≤ anΣ filσ size⌐ i≤ reaΣ int∩ memory╗á s∩ accoun⌠á fo≥ ì
- ááááátheφá wheε yo⌡ reaΣ iε thσ file«á Iµ yo⌡ attemp⌠ t∩ reaΣ ß filσ whicΦ i≤ ì
- ááááásmalle≥ thaε thσ specifieΣ memor∙ blocδ [AAAA-BBBB]¼ yo⌡ ma∙ locδ u≡ thσ ì
- áááááreaΣá routine«á Iµ thi≤ happen≤ jus⌠ pres≤ thσ escapσ ke∙ t∩á exi⌠á froφ ì
- áááááthi≤ command.
-
-
- .CP 29è ============
- 2.5.19 S : SEARCH
- ============
-
- FORMAT: S#### AAAA-BBBB [']F..F
-
- EXAMPLES: SEARCH 1000-2000 DB-03
- S - 'MARY
-
- SearcΦá memor∙ blocδ [AAAA-BBBB▌ fo≥ fielΣ [F..F]«á Iµ aε apostrophσ ['▌ ì
- i≤ inserteΣ iε fron⌠ oµ thσ fielΣ [F..F]¼ thσ fielΣ i≤ assumeΣ t∩ bσ aε ASCI╔ ì
- characte≥ field«á Otherwise¼á thσ fielΣ i≤ assumeΣ t∩ bσ ß hexadecima∞ field« ì
- Thσ fielΣ caε bσ a≤ biτ a≤ yo⌡ caε makσ i⌠ withiε thσ confine≤ oµ thσ commanΣ ì
- line¼ o≥ tw∩ line≤ usinτ thσ alternatσ return.
-
- Thσá ASCI╔ fielΣ ma∙ havσ embeddeΣ blank≤ (o≥ spaces⌐ bu⌠ ßá blanδá mus⌠ ì
- no⌠á enΣá thσá field«á Thσ commanΣ processo≥ ignore≤ trailinτ blank≤á iεá thσ ì
- commanΣ line.
-
- Thσá hexadecima∞á fielΣá mus⌠ bσ groupeΣ witΦá bi-he°á characte≥á field≤ ì
- separateΣ b∙ minu≤ sign≤ [-▌ o≥ blank≤ █ ]«á (ex║á DB-12-34-A│ 4╡ 6╖ FF)«á Iµ ì
- therσá arσá morσá thaε tw∩ he° character≤ pe≥ mino≥á field¼á theεá thσá leas⌠ ì
- significan⌠á tw∩ character≤ arσ useΣ b∙ thσ monitor«á Thσ res⌠ oµá character≤ ì
- arσ truncated« (ex║ DB69┤ woulΣ bσ reduceΣ t∩ 94).
-
- Thσá monito≥á wil∞á searcΦ thσ specifieΣ memor∙ blocδá anΣá displa∙á thσ ì
- startinτ addres≤ oµ an∙ matches«á ┴ searcΦ oµ entirσ memor∙ fo≥ an∙ onσá bytσ ì
- usuall∙á take≤á les≤ thaε 1░ seconds«á ┴ shor⌠ hanΣ wa∙ oµá searchinτá entirσ ì
- memor∙ i≤ [╙ - F..F]« Tr∙ thi≤ command║ [╙ - 00].
-
-
- .CP 32è ==========
- 2.5.20 T : TEST
- ==========
-
- FORMAT: T####[.K] [AAAA-BBBB]
-
- EXAMPLES: TEST
- TEST.Q 7000-8000
- T.C -3FFF
-
- Tes⌠ RA═ memory« Threσ option≤ arσ available« Thesσ are║ [.F]-finΣ firs⌠ ì
- contiguou≤ blocδ oµ RA═ memory╗ [.Q]-quickl∙ tes⌠ specifieΣ RA═ memory╗ [.C]-ì
- completel∙ tes⌠ specifieΣ RA═ memory« Iµ thσ optioε fielΣ [.K▌ i≤ no⌠ presen⌠ ì
- iε thσ commanΣ line¼ thσ monito≥ default≤ t∩ optioε [.F].
-
- [.F▌á - FinΣ thσ firs⌠ contiguou≤ blocδ oµ RA═ memory«á Thi≤ optioε i≤ ß ì
- nondestructivσ tes⌠ whicΦ wil∞ displa∙ thσ beginninτ anΣ endinτ addresse≤á oµ ì
- thσá memor∙á blocδ found«á Iε usinτ thi≤ optioε thσ monito≥ mus⌠á no⌠á residσ ì
- withiε thσ firs⌠ contiguou≤ blocδ areß iµ yo⌡ arσ usinτ ß RA═ versioε oµ thi≤ ì
- monitor« Thσ addres≤ fielΣ [AAAA-BBBB▌ i≤ ignoreΣ iε thi≤ option.
-
- [.Q▌á - Quickl∙ tes⌠ thσ specifieΣ RA═ memor∙ blocδ [AAAA-BBBB▌ fo≥ harΣ ì
- memor∙ errors«á Thi≤ optioε write≤ [55H▌ theε [AAH▌ int∩ eacΦ memor∙ locatioε ì
- withiε thσ specifieΣ blocδ theε compare≤ thσ locatioε t∩ thσ writσ bytσá [55╚ ì
- o≥ AAH▌ displayinτ an∙ error≤ found« Thi≤ i≤ ß destructivσ test╗ tha⌠ is¼ thσ ì
- orignina∞ content≤ beforσ thσ tes⌠ i≤ destroyed.
-
- [.C▌á - Completel∙á tes⌠ thσ specifieΣ RA═ memor∙ blocδ [AAAA-BBBB▌á fo≥ ì
- bi⌠á patterε sensitivity«á Thi≤ optioε i≤ thσ samσ a≤ thσ quicδá tes⌠á excep⌠ ì
- tha⌠ al∞ 25╢ value≤ oµ ß bytσ arσ useΣ sequentiall∙ froφ [00H▌ t∩ [FFH]« Thi≤ ì
- optioεá wil∞ takσ somσ timσ t∩ complete¼á iµ yo⌡ arσ testinτ largσ block≤á oµ ì
- memory« Yo⌡ ma∙ interrrup⌠ thσ tes⌠ a⌠ an∙ timσ b∙ pressinτ thσ ESCAP┼ key.
-
-
- .CP 3
- ==============
- 2.5.21 U : NOT USED
- ==============
-
- ┴á samplσá residen⌠á commanΣ routinσ wa≤ designeΣ t∩á usσá thi≤á commanΣ ì
- lette≥ a≤ aε examplσ t∩ t∩ designinτ you≥ residen⌠ commands« Seσ APPENDI╪ C.
-
-
- .CP 34è ============
- 2.5.22 V : VERIFY
- ============
-
- FORMAT: V####.SD [F..F]
-
- EXAMPLES: VERIFY.MT
- V.MM 0000-0FFF-2000
-
- Thi≤á commanΣá allow≤ yo⌡ t∩ verif∙ datß residinτ oεá differen⌠á medium≤ ì
- [tape¼ááá disk¼áá memory¼áá user-defined]«áá Likσáá thσáá cop∙áá command¼áá ß ì
- source/destinatioεáá codσá i≤á useΣá t∩á definσá thσá medißáá involved«áá Thσ ì
- source/destinatioε codσ caε bσ showε a≤ ß ┤ ╪ ┤ matrix:
-
- ááááá ╘ - T╘ D╘ M╘ UT
- ááááá ─ - T─ D─ M─ UD
- áááááDESTINATIO╬ ═ - T═ D═ M═ UM
- ááááá ╒ - T╒ D╒ M╒ UU
- ááááá ║ ║ ║ :
- ááááá ╘ ─ ═ U
- ááááá SOURCE
-
- Thσá tw∩á characte≥á [SD▌ codσ i≤ decodeΣ int∩ aε inde°á t∩á thσá verif∙ ì
- vecto≥á table«á Thσ monito≥ theε obtain≤ thσ vecto≥ addres≤ residinτ a⌠á thσ ì
- specifieΣ positioε iε thσ tablσ anΣ jump≤ t∩ tha⌠ address«á Thσ verif∙ vecto≥ ì
- tablσá i≤á locateΣ jus⌠ afte≥ thσ cop∙ vecto≥ table«á Onl∙ onσ [.SD▌ codσá i≤ ì
- implementeΣ a≤ ß residen⌠ command«á Thi≤ commanΣ i≤ VERIFY.M═ AAAA-BBBB-CCCC« ì
- Thσ inclusioε oµ thσ [.MM▌ codσ i≤ optional«á Thi≤ commanΣ wil∞ verif∙ memor∙ ì
- blocδ [AAAA-BBBB▌ witΦ memor∙ blocδ startinτ a⌠ [CCCC].
-
- Thσá res⌠á oµ thσ verif∙ option≤ arσ expecteΣ t∩ bσ transien⌠á file≤á oε ì
- CP/M¼ anΣ ma∙ bσ implementeΣ b∙ followinτ thσ direction≤ iε sectioε 8.0« Thσ ì
- CP/═ filσ routine≤ normall∙ wil∞ no⌠ requirσ secondar∙ field≤ iε thσá commanΣ ì
- linσ sincσ the∙ shoulΣ promp⌠ yo⌡ fo≥ thσ additiona∞ input«
-
-
- .CP 30è ===========
- 2.5.23 W : WRITE :Release A only:
- ===========
-
- FORMATS: W#### AAAA-BBBB
- C####.MT AAAA-BBBB
-
- EXAMPLES: WRITE 4000-4FFF
- W -2000
- COPY.MT 8000-AFFF
-
- Writσá thσ blocδ oµ memor∙ [AAAA-BBBB▌ ont∩ cassettσ tape«á Thi≤ commanΣ ì
- i≤ implementeΣ iε Releasσ ┴ onl∙ (However¼á Releasσ ┬ contain≤ thσá identica∞ ì
- routinσá iε ß transien⌠ commanΣ filσ "COPYMT.SMCó anΣ caε bσ accesseΣ viß thσ ì
- commanΣ "C####.MTó I⌠ wil∞ promp⌠ yo⌡ fo≥ al∞ oµ thσ necessar∙ information.)« ì
- Thi≤ commanΣ create≤ ß filσ oε tapσ whicΦ follow≤ thσ TELETE╦ [DAJEN▌ format« ì
- Thσ presen⌠ versioε oµ thσ monito≥ control≤ onl∙ thσ Teleteδ UCRI« Thσ forma⌠ ì
- i≤ a≤ follows:
-
- 1. 1/2 second of silent leader.
- 2. 4-1/2 seconds of NULL [00H] tone leader.
- 3. One clock byte [3CH].
- 4. One sync byte [E6H].
- 5. 1╢ bi⌠ beginninτ memor∙ addres≤ oµ file¼ lo≈ orde≥ theε higΦ orde≥ ì
- áááááááááááaddres≤ bytσ iε INTE╠ style.
- 6. 1╢ bi⌠ filσ size¼ higΦ orde≥ bytσ firs⌠ theε lo≈ orde≥ bytσ next.
- 7. Memory block [AAAA-BBBB].
- 8. Checksum byte.
- 9. 1/2 second trailer of NULLs.
- 10. 1/2 second of silent trailer.
-
-
- .CP 3
- ==============
- 2.5.24 X : NOT USED
- ==============
-
-
- .CP 3
- ==============
- 2.5.25 Y : NOT USED
- ==============
-
-
- .CP 3
- ==============
- 2.5.26 Z : NOT USED
- ==============
-
- 2.6 -- COMMAND SUBSYSTEM UTILITY ROUTINES
- =========================================
-
-
- Thσá CommanΣ Subsysteφ ha≤ ß numbe≥ oµ utilit∙ routine≤ whicΦá arσá no⌠ ì
- pointeΣá t∩á b∙ ß se⌠ oµ vectors«á Thesσ routine≤ arσ oµ usσ t∩ yo⌡ fo≥á you≥ ì
- residen⌠á command≤ whicΦ yo⌡ migh⌠ build«á Thσ routine≤ arσ describeΣ iεá thσ ì
- orde≥ the∙ arσ listeΣ iε thσ sourcσ listinτ iε APPENDI╪ A« Yo⌡ mus⌠ determinσ ì
- thσá absolutσá addres≤ locatioε fo≥ eacΦ oµ thσ routine≤ b∙ addinτá thσá BAS┼ ì
- addres≤ t∩ thσ addres≤ iε thσ sourcσ listing.
-
-
- 2.6.1 -- REDUCE
- ===============
-
- Thi≤á routinσ wil∞ conver⌠ lowe≥ casσ alphabetiπ character≤ t∩á uppe≥ ì
- casσ character≤ anΣ masδ ofµ thσ mos⌠ significan⌠ bi⌠ oµ thσ byte≤ containinτ ì
- thσ character≤ iε thσ inpu⌠ buffe≥ pointeΣ t∩ b∙ thσ I┘ register«á Notσá tha⌠ ì
- (IY-3⌐á shoulΣ contaiε thσ numbe≥ oµ lega∞ character≤ iε buffe≥ anΣ (IY-2⌐ t∩ ì
- (IY-1⌐ i≤ thσ startinτ addres≤ oµ buffer« Iµ yo⌡ changσ thσ I┘ registe≥ valuσ ì
- yo⌡á mus⌠á eithe≥á savσ thσ origina∞ valuσ o≥ returε t∩ thσá contro∞á oµá thσ ì
- monito≥á througΦá RESTAR╘á o≥ START«á Thσ I┘ registe≥á contain≤á thσá monito≥ ì
- Variablσ RA═ Basσ Address.
-
-
- 2.6.2 -- DEBLOCK
- ================
-
- Thi≤á routinσá determine≤ thσ startinτ addres≤á oµá eacΦá significan⌠ ì
- blocδ oµ alphanumeriπ character≤ delimiteΣ b∙ thσ specia∞ character≤ [blank]¼ ì
- [.]¼á [,]¼á [;]¼ [:]¼ [-]¼ [+]¼ [*]¼ [/]¼ anΣ [=]« Thσ routinσ wil∞ determinσ ì
- a≤ man∙ a≤ 1░ block≤ anΣ wil∞ storσ thσ results¼á ┤ byte≤ pe≥ block¼ startinτ ì
- a⌠ [MBASE-4CH▌ anΣ loadinτ u≡ iε memory« EacΦ ┤ bytσ blocδ contain≤ thσ fron⌠ ì
- delimitinτ chracter¼á thσ blocδ startinτ address¼ anΣ thσ numbe≥ oµ bytes¼ iε ì
- tha⌠á order«á Iµ thσ numbe≥ oµ byte≤ i≤ zer∩ theε n∩ alphanumeriπá character≤ ì
- werσ encountereΣ betweeε thσ fron⌠ anΣ bacδ delimitinτ characters«á Agaiε thσ ì
- I┘ registe≥ point≤ t∩ thσ inpu⌠ buffer.
-
-
- 2.6.3 -- DELCK
- ==============
-
- Thi≤á routinσá determine≤á iµ thσ bytσ iε registe≥ ┴ i≤á ßá delimite≥ ì
- characte≥ a≤ specifieΣ abovσ iε DBLOCK« Thσ ZER╧ flaτ i≤ SE╘ iµ thi≤ i≤ true.
-
-
- 2.6.4 -- GETOPT
- ===============
-
- Thi≤á routinσá determine≤á iµ thσ bacδá delimite≥á oµá thσá presentl∙ ì
- pointeΣá t∩á blocδá i≤ ß [.▌ whicΦ implie≤ tha⌠ aε optioεá i≤á modifyinτá thσ ì
- primar∙á command«á Thσá CARR┘á flaτ i≤ SE╘ iµ aε erro≥á i≤á encountereΣá (thσ ì
- commanΣá linσá ha≤ onl∙ onσ character)«á Thσ ZER╧ flaτ i≤ SE╘ iµá aεá implieΣ ì
- optioεá i≤ founΣ anΣ registe≥ ┴ contain≤ [.]«á Iµ thσ ZER╧ flaτ i≤ CLEA╥ theε ì
- registe≥ ┴ contain≤ ß [blank].
-
-
- 2.6.5 -- GETADD
- ===============è
- Thi≤á routinσ wil∞ decodσ thσ nex⌠ ░ t∩ │ BUFFE╥ block≤á int∩á binar∙ ì
- addresse≤á o≥á byte≤ anΣ loaΣ theφ int∩ location≤á ADDR1¼á ADDR2¼á anΣá ADDR│ ì
- locateΣ a⌠ MBASE-0C╚ t∩ MBASE-07H« MBASE-06╚ contain≤ thσ numbe≥ oµ addresse≤ ì
- o≥á byte≤ decoded«á Thσ hexadecima∞ addres≤ fielΣ i≤ expecteΣ t∩ bσ delimiteΣ ì
- internall∙ b∙ [-]'s«á Thσ CARR┘ flaτ i≤ SE╘ iµ an∙ non-hexadecima∞ character≤ ì
- werσ encountereΣ iε thσ decodinτ process.
-
-
- 2.6.6 -- SETDBA
- 2.6.7 -- INCDBA
- ===============
-
- SETDB┴á routinσá wil∞á se⌠á thσ I╪ registe≥ t∩á poin⌠á t∩á thσá firs⌠ ì
- deblockeΣ storeΣ information«á It≤ companioε routinσ INCDB┴ wil∞ incremen⌠ t∩ ì
- thσ nex⌠ block.
-
-
- 2.6.8 -- HLIX
- 2.6.9 -- IXHL
- =============
-
- Thesσ routine≤ wil∞ respectivel∙ loaΣ anΣ storσ registe≥ pai≥ H╠ froφ ì
- anΣ int∩ thσ memor∙ locatioε pointeΣ t∩ b∙ registe≥ pai≥ IX.
-
-
- 2.6.10 -- HLAD1
- 2.6.11 -- HLAD2
- 2.6.12 -- HLAD3
- ===============
-
- Thesσá routine≤á loaΣá registe≥ pai≥ H╠ witΦá thσá specifieΣá decodeΣ ì
- addres≤ o≥ byte
-
-
- 2.6.13 -- DCDAD1
- 2.6.14 -- DCDAD2
- ================
-
- Thesσá routine≤á decodσá ß hexadecima∞ addres≤ fielΣá pointeΣá t∩á b∙ ì
- registe≥ pai≥ H╠ anΣ fielΣ sizσ pointeΣ t∩ b∙ [IX+3▌ anΣ leavσ thσ addres≤ iε ì
- registe≥ pai≥ HL«á Iµ [IX+3▌ i≤ Zer∩ theε H╠ wil∞ contaiε [FFFFH▌ fo≥á DCDAD▒ ì
- anΣá [0000H▌á fo≥á DCDAD▓á a≤ defaul⌠ values«á Thσ CARR┘ flaτá i≤á SE╘á iµá ß ì
- hexadecima∞ erro≥ wa≤ encountered.
-
-
- 2.6.15 -- VHEX
- ==============
-
- Thi≤á routinσ wil∞ decodσ aε ASCI╔ characte≥ iε registe≥ ┴á int∩á it≤ ì
- binar∙ equivalen⌠ hexadecima∞ character«á Iµ thσ characte≥ i≤ no⌠ ß lega∞ he° ì
- characte≥ theε thσ CARR┘ flaτ i≤ SET.
-
-
- 2.6.16 -- ESCAPE
- ================
-
- Thi≤á routinσá wil∞á checδá thσá consolσ inpu⌠á por⌠á fo≥á aεá escapσ ì
- characte≥ presen⌠ [ESC,1BH]« Iµ therσ i≤ one¼ thσ CARR┘ flaτ i≤ SET.
- è
- 2.6.17 -- GET2AD
- ================
-
- Thi≤ routinσ wil∞ decodσ thσ nex⌠ tw∩ block≤ (iµ the∙ arσ addresses)¼ ì
- determinσá thσá differencσ betweeε thσ two¼á anΣ leavσ thσ firs⌠á addres≤á iε ì
- registe≥ pai≥ H╠ anΣ thσ differencσ iε registe≥ pai≥ DE« Iµ tw∩ addresse≤ caε ì
- no⌠á bσá decodeΣ o≥ ß hexadecima∞ erro≥ i≤ encountered¼á ERRO╥ messagσá │á i≤ ì
- displayeΣá anΣ thσ monito≥ i≤ restarted«á Iµ thσ addresse≤ arσ reverseΣá (thσ ì
- negativσá difference)¼á ERRO╥á messagσá ┤ i≤ displayeΣá anΣá thσá monito≥á i≤ ì
- restarted.
-
-
- 2.6.18 -- UPDATE
- ================
-
- Thi≤á routinσá increment≤ H╠ anΣ decrement≤ D┼ anΣ test≤ fo≥ zer∩á iε ì
- DE« Thσ ZER╧ flaτ i≤ SE╘ iµ so.
-
-
- 2.6.19 -- OUT8HB
- ================
-
- Thi≤ routinσ wil∞ outpu⌠ eigh⌠ byte≤ iε hexadecima∞ forma⌠ pointeΣ t∩ ì
- b∙ registe≥ pai≥ H╠ anΣ counteΣ dowε b∙ registe≥ pai≥ DE«á Thσ CARR┘ flaτá i≤ ì
- SE╘ iµ morσ byte≤ arσ oε thσ queue.
-
-
- 2.6.20 -- OUT8AB
- ================
-
- Thi≤ routinσ wil∞ outpu⌠ eigh⌠ ASCI╔ byte≤ pointeΣ t∩ b∙ thσ registe≥ ì
- pai≥á H╠ anΣ counteΣ dowε b∙ thσ registe≥ pai≥ DE«á Non-printablσá character≤ ì
- arσ displayeΣ a≤ [.]'s«á Iµ thσ mos⌠ significan⌠ bi⌠ i≤ higΦ thσ bytσ wil∞ bσ ì
- displayeΣá a≤ ß reversσ fielΣ character«á Thσ CARR┘ flaτ i≤ SE╘ iµ morσ byte≤ ì
- arσ oε thσ queue.
-
-
- 2.6.21 -- BTHEX
- ===============
-
- Thi≤á routinσá convert≤á ßá binar∙á bytσá iεá registe≥á ┴á int∩áá tw∩ ì
- hexadecima∞ characters« Thσ mos⌠ significan⌠ nibblσ i≤ returneΣ iε registe≥ ├ ì
- anΣ thσ leas⌠ significan⌠ iε registe≥ A.
-
-
- 2.6.22 -- BTASC
- ===============
-
- Thi≤ routinσ wil∞ conver⌠ aε ASCI╔ bytσ iε registe≥ ├ t∩ ß [.▌ iµ thσ ì
- bytσ i≤ les≤ thaε [20H▌ o≥ i≤ ß [DEL▌ o≥ ß [5FH]« Iµ thσ mos⌠ significan⌠ bi⌠ ì
- i≤ higΦ theε ß [.]+[80H▌ i≤ returned« Thσ resul⌠ i≤ lef⌠ iε C.
-
-
- 2.6.23 -- OUTHAD
- ================
-
- Thi≤á routinσá wil∞á outpu⌠á thσá addres≤á iεá registe≥á pai≥á H╠á iε ì
- hexadecima∞ format.
- è
- 2.6.24 -- OUTHBT
- ================
-
- Thi≤á routinσá wil∞á outpu⌠á thσ bytσ iε registe≥á ┴á iεá hexadecima∞ ì
- format.
-
-
- 2.6.25 -- OUTDOT, OUTSPC, OUTDSH, OUTEXP, CRLF, CRLFP, OUT3SP
- =============================================================
-
- Thesσ routine≤ wil∞ outpu⌠ respectivel∙ [.]¼ [space]¼ [-]¼ [!]¼ [CR]-ì
- [LF]¼ [CR]-[LF]-[>]¼ threσ [space]'s.
-
-
- 2.6.99 -- Special Purpose routines
- ==================================
-
- Therσ arσ ß numbe≥ oµ routine≤ whicΦ residσ witΦ thσ primar∙ residen⌠ ì
- commanΣ routines«á Thesσ shoulΣ bσ useΣ witΦ caution« But¼ wh∩ knows¼ somσ oµ ì
- theφ ma∙ bσ importan⌠ t∩ you.
-
- 3.0 -- CONSOLE SUBSYSTEM
- ========================
-
-
- .CP 23
- 3.1 -- GENERAL DESCRIPTION
- ==========================
-
- Thσá CONSOL┼á SUBSYSTE═á i≤á ß comprehensivσá Vide∩á Consolσá controlle≥ ì
- packagσá whicΦá wil∞ drivσ an∙ onσ oµ thσ popula≥ memory-mappeΣá 64/1╢á vide∩ ì
- displa∙ module≤ fo≥ thσ Z-8░ based¼á S-10░ bu≤ system«á IncorporateΣ iεá thσ ì
- packagσá arσ als∩ ß keyboarΣ drive≥ anΣ ß linσ printe≥ driver«á Thσ subsysteφ ì
- control≤ thσ threσ I/╧ device≤ a≤ aε integrateΣ packagσ ablσ t∩ stanΣá alone¼ ì
- independen⌠á oµá thσ othe≥ monito≥ subsystems«á I⌠ ha≤ ful∞ curso≥á control¼ ì
- characte≥ orienteΣ screeε editing¼á buffereΣ inpu⌠ anΣ outpu⌠ froφ anΣ t∩ thσ ì
- screen¼ recursivσ messagσ macr∩ processing¼ anΣ man∙ othe≥ capabilitie≤ whicΦ ì
- makσ thi≤ packagσ ß powerfu∞ additioε t∩ you≥ software/firmwarσ library«
-
- Thi≤á subsysteφ incorporate≤ al∞ oµ thσ vide∩ command≤ oµá VIDE╧á DRIVE╥ ì
- 1.0¼á whicΦá ha≤á beeεá availablσ froφ PC┼ Electronic≤ sincσá Junσá oµá 1978« ì
- However¼ thσ placemen⌠ oµ command≤ oε thσ keyboarΣ arσ differen⌠ t∩ makσ rooφ ì
- fo≥ thσ additiona∞ command≤ availablσ unde≥ thi≤ package«á Yo⌡ migh⌠ sa∙ tha⌠ ì
- i⌠ i≤ ß seconΣ generatioε VIDE╧ DRIVE╥ 1.0.
-
- Sincσá thi≤á packagσá i≤ ß statiπ controlle≥ oµ threσ I/╧á device≤á (onσ ì
- vide∩á displa∙ module¼á onσ keyboard¼á anΣ onσ linσá printer)¼á littlσá extrß ì
- softwarσá i≤á needeΣá t∩ implemen⌠ ß compac⌠ stand-alonσá intelligen⌠á remotσ ì
- termina∞ subsystem.
-
-
- .CP 12
- 3.2 -- SUBSYSTEM INTERFACE
- ==========================
-
- Thσ consolσ subsysteφ ha≤ 1▓ entries«á Thσ firs⌠ entr∙ initialize≤á thσ ì
- package«á Thσ nex⌠ threσ entrie≤ directl∙ obtaiε thσ keyboarΣ status¼ obtaiε ì
- ne≈ ke∙ entr∙ upoε strobe¼ anΣ obtaiε datß a⌠ thσ keyboarΣ por⌠ regardles≤ oµ ì
- keyboarΣá status«á Thσ nex⌠ entr∙ t∩ thσ packagσ output≤ ß characte≥ directl∙ ì
- t∩á thσá printer«á Thσ remainde≥ oµ thσ entrie≤ relatσ t∩ thσá vide∩á drive≥ ì
- interfacσá anΣá buffereΣá I/O«á Thσ entr∙ vector≤ arσ a⌠á thσá fron⌠á oµá thσ ì
- subsystem« Thσ startinτ addres≤ oµ thσ subsysteφ i≤ defineΣ a≤ [CBASE].
-
- EacΦ oµ thesσ entrie≤ i≤ full∙ explaineΣ iε thσ followinτ subsections.
-
- .CP 14
- =======
- 3.2.1 ENTRY-1 Initialize the package. [CBASE+00H]
- =======
-
- Thi≤á entr∙á initialize≤á thσá package'≤ RA═á worδá spacσá anΣá interna∞ ì
- variables« Specifically¼ thσ entry:
-
- 1. Clears the screen and homes the cursor.
- 2. Sets package to scroll mode.
- 3. Sets video to direct video mode.
- 4. Sets the scrolling to medium speed.
- 5. Turns off the printer.
- 6. Empties the input buffer.
- 7. Initializes the Processor Tech VDM, if it is used.
-
-
- .CP 7è =======
- 3.2.2 ENTRY-2 Obtain the keyboard status. [CBASE+03H]
- =======
-
- Thi≤á entr∙á obtain≤ thσ keyboarΣ statu≤ anΣ return≤ witΦ thσ ZER╧á flaτ ì
- clea≥ anΣ thσ ┴ registe≥ equa∞ t∩ [FFH▌ iµ ß ne≈ ke∙ entr∙ i≤ waitinτ iεá thσ ì
- keyboarΣ inpu⌠ latch.
-
-
- .CP 8
- =======
- 3.2.3 ENTRY-3 Obtain keyboard entry/strobed. [CBASE+06H]
- =======
-
- Thi≤á entr∙á call≤á keyboarΣá statu≤á (ENRTY-2⌐ unti∞á ßá ke∙á entr∙á i≤ ì
- indicated«á Therσ upon¼á i⌠ obtain≤ thσ ne≈ ke∙ entry¼á strip≤ ofµ thσá mos⌠ ì
- sigifican⌠á bi⌠ (BIT-7)¼á set≤ thσ CARR┘ flaτ iµ thσ mos⌠ significan⌠ bi⌠á i≤ ì
- high¼ theε return≤ t∩ caller.
-
-
- .CP 7
- =======
- 3.2.4 ENTRY-4 Obtain keyboard entry/unstrobed. [CBASE+09H]
- =======
-
- Thi≤á entr∙ i≤ thσ samσ a≤ ENTRY-│ excep⌠ tha⌠ keyboarΣ statu≤ (ENTRY-2⌐ ì
- i≤á no⌠ called«á Thi≤ entr∙ obtain≤ thσ datß presentl∙ oε thσ keyboarΣá latcΦ ì
- anΣ immediatel∙ return≤ t∩ thσ caller.
-
-
- .CP 11
- =======
- 3.2.5 ENTRY-5 Output to the printer directly. [CBASE+0CH]
- =======
-
- Thi≤ entr∙ wil∞ outpu⌠ ß characte≥ directl∙ t∩ thσ printer«á Thσá ASCI╔ ì
- bytσá i≤á expecteΣá t∩á bσ iε thσ ├ register«á Somσá printer≤á havσá interna∞ ì
- buffers«á Iµá your≤ does¼á theε ß carriagσ returε wil∞ usuall∙á activatσá thσ ì
- printinτ oµ thσ linσ anΣ thσ clearinτ oµ thσ buffer«á Also¼ printer≤ sucΦ a≤ ì
- thσ Centronic≤ 77╣ wil∞ clea≥ thσ buffe≥ automaticall∙ iµ ß linσ feeΣ i≤ sen⌠ ì
- beforσá ß carriagσ return«á Iε thi≤ casσ al∞ tha⌠ woulΣ bσ printeΣ woulΣá bσ ì
- blanδ lines.
-
-
- .CP 28è =======
- 3.2.6 ENTRY-6 Screen edited, buffered input. [CBASE+0FH]
- =======
-
- Thi≤á entr∙ allow≤ yo⌡ t∩ edi⌠ you≥ inpu⌠ beforσ sendinτ thσ inpu⌠á bacδ ì
- t∩ thσ caller«á Yo⌡ caε senΣ onσ o≥ tw∩ vide∩ line≤ oµ data/informatioε bacδ ì
- t∩ thσ caller«á Assuminτ thσ inpu⌠ buffe≥ i≤ empt∙ thσ followinτ sequencσ oµ ì
- event≤ takσ place:
-
- 1.áááEnte≥á int∩ screeε edi⌠ mode«á Yo⌡ wil∞ sta∙ iε thi≤ modσ unti∞ yo⌡á arσ ì
- ááááásatisfieΣá witΦá ßá linσ (o≥ tw∩ lines⌐ oµ information«á Yo⌡á havσá ful∞ ì
- ááááácurso≥ contro∞ anΣ al∞ oµ thσ edi⌠ command≤ a⌠ you≥ disposal.
-
- 2.áááWheε yo⌡ arσ read∙ t∩ senΣ ß linσ oµ informatioε al∞ yo⌡ mus⌠ d∩ i≤ makσ ì
- ááááásurσá thσ curso≥ characte≥ i≤ oε thσ linσ yo⌡ wan⌠ t∩ send«á I⌠á caεá bσ ì
- áááááanywherσá oε thσ line«á Thσ entirσ 6┤ characte≥ linσ i≤ sen⌠ withou⌠ thσ ì
- ááááácursor« Yo⌡ caε alternativel∙ senΣ tw∩ line≤ (12╕ characters⌐ b∙ placinτ ì
- áááááthσá curso≥á oεá thσ firs⌠ linσ t∩ bσ sent«á Thσ nex⌠ linσá i≤á sen⌠á iε ì
- áááááaddition«á T∩ senΣ onσ linσ pres≤ thσ RETUR╬ key«á T∩ senΣ tw∩á lines¼ ì
- ááááápres≤á thσá CTRL-╥á key«á ┴ notσ a⌠ thi≤ point║á Onl∙á thσá significan⌠ ì
- áááááportioε oµ thσ buffereΣ datß i≤ sent«á Tha⌠ is¼ trailinτ blank≤ arσ no⌠ ì
- ááááásent« Howeve≥ thσ leadinτ blank≤ arσ sent.
-
- 3.áááOncσ eithe≥ returε i≤ pressed¼á thσ routinσ wil∞ senΣ onσ characte≥ a⌠ ß ì
- ááááátimσ bacδ t∩ thσ calle≥ upoε eacΦ caller'≤ entr∙ t∩ thi≤ routine¼á unti∞ ì
- áááááthσ buffe≥ i≤ empty«á Afte≥ thσ buffe≥ i≤ empty¼ thσ routinσ wil∞ senΣ ß ì
- ááááácarriagσ returε (0DH⌐ t∩ thσ caller¼á theε thσ routinσ reinitialize≤á t∩ ì
- áááááste≡ #▒ above.
-
-
- .CP 17
- =======
- 3.2.7 ENTRY-7 Alternate screen edited, buffered input.
- ======= [CBASE+12H]
-
- Thi≤á entr∙ i≤ thσ samσ a≤ ENTRY-╢ fo≥ step≤ ▒ anΣ 2«á Howeve≥ ste≡ │ i≤ ì
- no⌠á initiated«á Thσá datßá i≤ jus⌠ transfereΣ t∩ thσ inpu⌠á buffe≥á anΣá thσ ì
- significan⌠á portioε oµ thσ line(s⌐ i≤ determined«á Thi≤ informatioεá caεá bσ ì
- accesseΣ b∙ knowinτ wherσ thσ buffe≥ i≤ locateΣ iε memory.
-
- Iµ [BUFFER▌ i≤ thσ startinτ locatioε oµ inpu⌠ buffer.
- Then: [BUFFER-3▌áá contain≤á thσá bytσá coun⌠á oµáá thσ ì
- áááááááááááááááásignifican⌠ portioε oµ thσ BUFFER«á [BUFFER-2,1▌ ì
- áááááááááááááááácontain≤ thσ beginninτ addres≤ oµ thσ significan⌠ ì
- ááááááááááááááááportioε oµ thσ BUFFER.
-
- Yo⌡á mus⌠ understanΣ that¼á iε thi≤ casσ thσ leadinτ anΣ trailinτ blank≤á arσ ì
- no⌠ considereΣ a≤ par⌠ oµ thσ significan⌠ portioε oµ thσ BUFFER.
-
-
- .CP 8
- =======
- 3.2.8 ENTRY-8 Obtain video cursor address. [CBASE+15H]
- =======
-
- Thi≤á entr∙ allow≤ yo⌡ t∩ obaiε thσ curso≥ addres≤ iεá tw∩á forms«á Upoε ì
- returεá thσ H╠ registe≥ pai≥ wil∞ contaiε thσ absolutσ addres≤ oµ thσ cursor¼ ì
- thσ ┬ registe≥ wil∞ contaiε thσ ro≈ address¼á anΣ thσ ├ registe≥ wil∞ contaiε ì
- thσ columε address.
-
-
- .CP 11è =======
- 3.2.9 ENTRY-9 Limited control video output (TTY mode).
- ======= [CBASE+18H]
-
- Thi≤á entr∙á wil∞á outpu⌠ directl∙ t∩ thσá vide∩á screeεá unde≥á limiteΣ ì
- control«ááá Onl∙áá tabulation¼áá clea≥áá screen¼áá delete¼áá backspace¼áá anΣ ì
- backspace/deletσá arσ alloweΣ fo≥ linσ editing«á Selectinτ reversσ vide∩ modσ ì
- i≤ alloweΣ a≤ wel∞ a≤ carriagσ returε anΣ linσ feed« Strictl∙ speaking¼ unde≥ ì
- thi≤á entr∙ thσ vide∩ caε ac⌠ onl∙ a≤ ß "Glas≤ Teletype"«á Thσá ASCI╔á outpu⌠ ì
- bytσá i≤á expecteΣá t∩ bσ iε thσ ├ register«á Scrol∞á modσá i≤á automaticall∙ ì
- assumeΣ unde≥ thi≤ entry.
-
-
- .CP 8
- ========
- 3.2.10 ENTRY-10 Full control video output. [CBASE+1BH]
- ========
-
- Thi≤ entr∙ allow≤ ful∞ curso≥ anΣ screeε editinτ output« Seσ thσ sectioε ì
- 3.│á fo≥á ßá summar∙á oµ thσ availablσ commands«á Thσ ASCI╔á outpu⌠á bytσá i≤ ì
- expecteΣá t∩ bσ iε thσ ├ register«á Pagσ modσ i≤ automaticall∙ assumeΣá unde≥ ì
- thi≤ entry.
-
-
- .CP 13
- ========
- 3.2.11 ENTRY-11 Controlled video/printer output. [CBASE+1EH]
- ========
-
- Thi≤á entr∙ allow≤ yo⌡ t∩ outpu⌠ t∩ thσ vide∩ screeε iε limiteΣ o≥á ful∞ ì
- contro∞á and/o≥á outpu⌠á t∩ thσ printer«á Switchinτá froφá limiteΣá t∩á full∙ ì
- controlleΣá vide∩ outpu⌠ anΣ bacδ agaiε i≤ accomplisheΣ b∙ sendinτ thσ scrol∞ ì
- modσ and/o≥ pagσ modσ commands«á Thσ printe≥ caε bσ turneΣ oε b∙ sendinτá thσ ì
- printe≥á on/ofµ togglσ command«á Thσ printe≥ caε onl∙ bσ activσ unde≥á scrol∞ ì
- mode«á Resendinτá thσ printe≥ togglσ commanΣ wil∞ turε thσ printe≥ off«á Wheε ì
- yo⌡ se⌠ pagσ modσ thσ routinσ wil∞ firs⌠ senΣ ß linσ feeΣ t∩ thσ printe≥á anΣ ì
- theεá wil∞ turε thσ printe≥ off«á Thσ ASCI╔ outpu⌠ bytσ i≤ expecteΣ t∩ bσá iε ì
- thσ ├ register.
-
-
- .CP 11
- ========
- 3.2.12 ENTRY-12 Buffered output. [CBASE+21H]
- ========
-
- Thi≤ entr∙ i≤ thσ mos⌠ elegan⌠ oµ al∞ thσ entries«á Yo⌡ arσ alloweΣ t∩ ì
- senΣ ß message¼á formeΣ iε memor∙ prio≥ t∩ entr∙ t∩ thi≤ routine¼ directl∙ t∩ ì
- thσ vide∩ screeε and/o≥ printer« Yo⌡ pas≤ thσ startinτ addres≤ oµ thσ messagσ ì
- iεá thσá H╠á registe≥á pair«á Thσ messagσ mus⌠ enΣ witΦ ßá NUL╠á (00H⌐á byte« ì
- Startinτ a⌠ thσ addres≤ iε thσ H╠ registe≥ pai≥ thσ routinσ wil∞ proces≤ eacΦ ì
- ASCI╔á characte≥á througΦá ENRTY-1▒ unti∞ ß NUL╠á bytσá i≤á encountered«á Tw∩ ì
- additiona∞ macr∩ command≤ arσ availablσ unde≥ thi≤ entry« Thesσ are:
-
- .CP 7
- 1.áááRepea⌠ function║á Thσ commanΣ bytσ (12H⌐ signal≤ tha⌠ ß ASCI╔ bytσ o≥ ß ì
- ááááásubmacr∩ i≤ t∩ bσ repeated«á Threσ byte≤ arσ involved«á Thσ firs⌠ oµ thσ ì
- áááááfunctioεá se⌠ i≤ thσ commanΣ byte¼á thσ seconΣ bytσ i≤ thσ repea⌠á coun⌠ ì
- ááááá(1-255)¼ thσ thirΣ i≤ thσ ASCI╔ bytσ o≥ thσ submacr∩ commanΣ byte« Iµ i⌠ ì
- ááááái≤á thσá submacr∩á commanΣ bytσ theε thσá repea⌠á functioεá expect≤á thσ ì
- áááááremainde≥á oµ thσ submacr∩ functioε se⌠ t∩ bσ includeΣ immediatel∙ afte≥ ì
- áááááthσ thirΣ bytσ oµ thσ repea⌠ functioε set.
-
- .CP 11è2.áááSubmacr∩ function║á Thσ commanΣ bytσ (01H⌐ signal≤ t∩ thσ routinσá tha⌠
- áááááonσ o≥ morσ set≤ oµ ASCI╔ character≤ arσ t∩ bσ processed«á Followinτ thσ ì
- ááááásubmacr∩á commanΣá bytσ i≤ thσ macr∩ se⌠ coun⌠ bytσ (1-255)«á Afte≥á thσ ì
- ááááácoun⌠á byte¼á ßá pai≥á oµá byte≤á fo≥á eacΦá se⌠á specifieΣá i≤á entereΣ ì
- ááááásequentially«á Thi≤á bytσá pai≥á contain≤ thσ startinτá addres≤á oµá thσ ì
- ááááásubmacro« EacΦ anΣ ever∙ submacr∩ mus⌠ havσ ß NUL╠ bytσ [00H▌ oε thσ enΣ ì
- áááááoµ tha⌠ submacro«á ┴ cautioε mus⌠ bσ madσ a⌠ thi≤ point║á Sincσ yo⌡á caε ì
- ááááárecursivel∙á cal∞ u≡ messagσ macro≤ froφ othe≥ macros¼á yo⌡ mus⌠ bσ ver∙ ì
- ááááácarefu∞ iε no⌠ causinτ cycling« Tha⌠ is¼ ß macr∩ mus⌠ no⌠ envokσ ß macr∩ ì
- áááááwhicΦ i≤ alread∙ iε thσ linkage«á A≤ yo⌡ caε see¼á aε infinitσ loo≡ wil∞ ì
- ááááábσ created¼ o≥ yo⌡ wil∞ ruε ou⌠ oµ stacδ space¼ o≥ both.
-
- 3.3 -- CONSOLE KEYBOARD COMMAND SET
- ===================================
-
-
- Almos⌠á al∞ oµ thσ ASCI╔ contro∞ character≤ werσ useΣ fo≥ thσá subsysteφ ì
- contro∞ commands« Onl∙ CTRL-Z¼ X¼ C¼ anΣ ╒ werσ no⌠ used« Thesσ key≤ arσ useΣ ì
- ß grea⌠ dea∞ iε CP/═ function≤ a≤ wel∞ a≤ iε ß numbe≥ oµ program≤á compatiblσ ì
- t∩á CP/M«á Thi≤á wa≤ thσ onl∙ reasoε fo≥ no⌠ usinτ thesσ key≤á fo≥á commands« ì
- Sectioε 3.2.▒ summarize≤ al∞ oµ thσ commands.
-
- 3.3.1 -- COMMAND SET SUMMARY
-
- .CP 14
- CURSOR COMMANDS
- ===============
-
- DEFINED FUNCTION KEY ASCII NOTES
-
- Cursor left shift [,] 1CH #6
- Cursor right shift [.] 1DH #6
- Cursor down shift [/] 1EH #6
- Cursor up shift [-] 1FH #6
- Cursor home [K] 0BH
- Cursor bottom left [B] 02H
- Clear screen & cursor home [L] 0CH
- Cursor on [N] 0EH
- Cursor off [O] 0FH
-
-
- .CP 13
- EDIT COMMANDS
- =============
-
- Back space BS or [H] 08H
- Horizontal tabulation TAB or [I] 09H
- Delete a character on a line DEL 7FH
- Back space then delete a char. shift DEL 5FH #6
- Delete a character globally [G] 07H
- Insert a blank character on a line [D] 04H
- Insert a blank character globally [F] 06H
- Clear a line LF or [J] 0AH #1
- Delete a line [Y] 19H
- Insert a blank line [T] 14H
-
-
- .CP 8
- SCREEN CONTROL COMMANDS
- =======================
-
- Direct video mode [V] 16H
- Reverse video mode [E] 05H
- Page mode [Q] 11H
- Scroll mode [W] 17H
- Speed control [S] 13H #2
-
-
- .CP 10è MISCELLANEOUS COMMANDS
- ======================
-
- Printer toggle [P] 10H
- Line feed LF or [J] 0AH
- Send a line CR or [M] 0DH #3
- Send two lines [R] 12H #4
- Message macro flag [A] 01H #5
- End of message flag [@] 00H #5
- Repeat byte or macro flag [R] 12H #5
-
- #1áááOnl∙ unde≥ BUFFER-I╬ o≥ BUIL─ mode« Norma∞ L╞ otherwise.
-
- #2áááOnl∙ whilσ thσ screeε i≤ activel∙ scrolling« Thi≤ commanΣ wil∞ sto≡ thσ ì
- áááááscrolling«á Pressinτá ▒ - ╖ wil∞ restar⌠ thσ scrollinτ a⌠ thσá specifieΣ ì
- áááááspeed«á ▒ i≤ thσ slowest¼á ╖ i≤ thσ fastest«á Pressinτ ░ wil∞ causσ thσ ì
- áááááscrol∞ t∩ g∩ int∩ singlσ ste≡ mode╗á thereafter¼á pressinτ thσ spacσ ba≥ ì
- áááááwil∞ singlσ ste≡ thσ scroll«á Pressinτ eithe≥ oµ ▒ - ╖ wil∞ causσá auto-ì
- áááááscrollinτ t∩ continuσ a⌠ thσ choseε speed.
-
- #3áááOnl∙ unde≥ BUFFER-I╬ o≥ BUIL─ mode« Norma∞ C╥ otherwise.
-
- #4áááUnde≥ BUFFER-I╬ o≥ BUIL─ mode.
-
- #5áááUnde≥ BUFFER-OU╘ mode.
-
- #6áááControl-shif⌠á ke∙á a≤á implementeΣá oε thσá 3rΣá Generatioεá Electroniπ ì
- áááááWarehousσ KeyboarΣ (PolleΣ Matri° TTL).
-
- 3.3.2 -- PLACEMENT OF COMMANDS ON KEYBOARD.
-
- Thσá keyboarΣ layou⌠ oµ thσ command≤ fo≥ thσ 3rΣá Generatioεá Electroniπ ì
- Warehousσ KeyboarΣ (PolleΣ Matri° TTL⌐ i≤ showε below«
-
- NOTES:
-
- *(1) - RETURN FROM ENTER-TEXT COMMAND
- *(2) - SCROLL SPEED CONTROL WHILE SCROLLING
- *(3) - CTRL-SHIFT GIVES BACK SPACE AND DELETE
- *(4) - UNCOMMITTED CONTROLS (CP/M USES THESE)
- ## - MUST CTRL-SHIFT TO OBTAIN FUNCTION
-
-
- LEFT SIDE
-
- +---------+---------+---------+---------+---------+---------+
- | | | | | | |
- | ESCAPE | 1 | 2 | 3 | 4 | 5 |
- | | | | | | |
- +---------+------+--+------+--+------+--+------+--+------+--+
- | | Q| W| E| R|
- | HORIZONTAL | PAGE | SCROLL | REVERSE | 2 LINE |
- | TAB | MODE | MODE | VIDEO | RETURN |
- +---------+------+--+------+--+------+--+------+--+------+--+
- | | | A| S| D| F|
- | CTRL | SHIFT | *(1) | *(2) | INSERT | INSERT |
- | | LOCK | | | CHAR | GLOBAL |
- +---------+---------+-----+---+-----+---+-----+---+-----+---+
- | | | Z| X| C|
- | NULL | SHIFT | *(4) | *(4) | *(4) |
- | | | | | |
- +---------+---------------+---+-----+---------+---------+
- |
- |
- |
- +---------------------------
-
- CENTER
-
- +---------+---------+---------+---------+---------+
- | | | | | |
- | 6 | 7 | 8 | 9 | 0 |
- | | | | | |
- +--+------+--+------+--+------+--+------+--+------+--+
- | T| Y| U| I| O|
- | INSERT | DELETE | *(4) | TAB | CURSOR |
- | LINE | LINE | | | OFF |
- +--+------+--+------+--+------+--+------+--+------+--+
- | G| H| J| K| |
- | DELETE | BACK | CLEAR | HOME | CLEAR |
- | GLOBAL | SPACE | LINE | | SCREEN |
- +---+-----+---+-----+---+-----+---+-----+---+-----+---+
- | V| B| N| M| ## ,|
- | DIRECT | BOTTOM | CURSOR | RETURN | CURSOR |
- | VIDEO | CURSOR | ON | | LEFT |
- +---------+---------+---------+---------+---------+
-
- SPACE BAR
-
- ---------------------------------------------------
-
-
- RIGHT SIDE
-
- +---------+---------+---------+---------+---------+
- | ## -| :| ~| | |
- | CURSOR | | | BACK | BREAK |
- | UP | | | SPACE | |
- +--+------+--+------+--+------+--+------+--+------+--+
- | P| [| || | |
- | PRINT | | | LINE | DELETE |
- | TOGGLE | | | FEED | *(3) |
- +--+------+--+------+--+------+--+------+---------+---+
- | ;| @| ]| |
- | | | | RETURN |
- | | | | |
- +---+-----+---+-----+---+---------++---------+---------+
- | ## .| ## /| | | |
- | CURSOR | CURSOR | SHIFT | REPEAT | |
- | RIGHT | DOWN | | | |
- +---------+---------+--------------+---------+---------+
- |
- |
- |
- ----------+
-
- 3.4 -- DESCRIPTION OF THE MESSAGE MACRO PROCESSOR
- =================================================
-
-
- IncorporateΣá iεá thσá CONSOL┼ SUBSYSTE═ i≤ ßá messagσá macr∩á processo≥ ì
- (accesseΣá througΦá ENTRY-12⌐ whicΦ allow≤ yo⌡ t∩ havσ completσ contro∞á ove≥ ì
- you≥á vide∩ screeε and/o≥ printe≥ througΦ packet≤ oµ ASCI╔ character≤á calleΣ ì
- messagσ macros«á Thσ messagσ macr∩ processo≥ (hereafte≥ calleΣ MMP⌐ use≤á thσ ì
- controlleΣ outpu⌠ processo≥ whicΦ yo⌡ caε acces≤ througΦ ENTRY-11«
-
- Upoεá entr∙ througΦ ENTRY-1▓ thσ MM╨ expect≤ thσ startinτ addres≤ oµ thσ ì
- primar∙ macr∩ t∩ bσ iε thσ H╠ registe≥ pair«á MM╨ theε start≤ t∩ proces≤á thσ ì
- macr∩ anΣ continue≤ unti∞ i⌠ encounter≤ ß NUL╠ (00H⌐ byte« I⌠ theε return≤ t∩ ì
- thσ caller.
-
- EacΦá macr∩ i≤ ß packe⌠ oµ ASCI╔ printablσ anΣ contro∞ character≤á endeΣ ì
- witΦ ß NUL╠ ASCI╔ byte«á Aε asidσ a⌠ thi≤ point║á Therσ arσ ß numbe≥ oµ way≤ ì
- whicΦá yo⌡á coulΣ signa∞ thσ enΣ oµ ß message«á ┴ popula≥ onσ i≤ settinτá thσ ì
- mos⌠á significan⌠á bi⌠á oµ ß bytσ high«á Thi≤ save≤á onσá bytσá pe≥á message╗ ì
- however¼á yo⌡ arσ limiteΣ t∩ onl∙ thσ lega∞ 12╕ ASCI╔ characters« Man∙ oµ yo⌡ ì
- havσá reversσ vide∩ o≥ graphic≤ option≤ availablσ oε you≥ vide∩á controllers« ì
- settinτá bi⌠ ╖ higΦ woulΣ negatσ you≥ usσ oµ thesσ options«á CP/═á recognize≤ ì
- thi≤á probleφ b∙ usinτ thσ dolla≥ sigε [$▌ a≤ aε enΣ oµ messagσ signal«á But¼ ì
- thi≤á mean≤á tha⌠ yo⌡ canno⌠ usσ dolla≥ sign≤ iε you≥ messagσá -- ßá definitσ ì
- hindrancσ iε writinτ busines≤ software«á Thσ NUL╠ bytσ i≤ seldoφ availablσ oε ì
- ASCI╔ keyboard≤ anΣ i≤ ver∙ seldoφ useΣ iε popula≥ software« Thσ NUL╠ bytσ iε ì
- ou≥ opinioε i≤ thσ mos⌠ innocuou≤ choice.
-
- MM╨á ha≤ tw∩ maiε function≤ availablσ t∩ you¼á whicΦ wil∞ le⌠á yo⌡á makσ ì
- ful∞á usσá oµ thσ contro∞ command≤ iε ß repeatablσ and/o≥ recursivσá way«á Iε ì
- usinτá thσá submacr∩ functioε yo⌡ caε inser⌠ othe≥ messagσ macro≤á int∩á you≥ ì
- primar∙ message« Yo⌡ caε repea⌠ an∙ ASCI╔ bytσ o≥ submacr∩ througΦ thσ repea⌠ ì
- function.
-
- 3.4.1 -- SUBMACRO FUNCTION
- =================
-
- Thσ submacr∩ functioε i≤ ß recursivσ routinσ whicΦ allow≤ yo⌡ t∩á inser⌠ ì
- macro≤ withiε macro≤ withiε macros¼á etc«á Wha⌠ doe≤ thi≤ reall∙ mean┐ Well¼ ì
- yo⌡á no≈á havσ thσ capabilit∙ t∩ add¼á mix¼á o≥ matcΦ word≤ o≥á phrase≤á int∩ ì
- intelligen⌠ message≤ froφ ß limiteΣ word/phrasσ dictionar∙ o≥ list«á Al∞ tha⌠ ì
- i≤ necessar∙ is:
-
- [1]- First¼á builΣá ßá grou≡á oµ word/phrasσ macros¼á eacΦ pointeΣ t∩á b∙á aε ì
- addres≤ label¼ sucΦ as:
-
- WD01 DEFM 'COMMAND '
- DEFB NULL
- WD02 DEFM 'ERROR '
- DEFB NULL
- WD03 DEFM '; REENTER '
- DEFB NULL
-
- [2]- Next, build the primary macro, such as:
-
- MSG1 DEFB 1,4
- DEFW WD01,WD02,WD03,WD01
- DEFM 'AGAIN '
- DEFB NULL
-
- [3]- Last, just send the message to the console subsystem, such as:
-
- LD HL,MSG1
- CALL VIDPRO
-
- Thσá firs⌠ linσ oµ MSG▒ contaiε thσ Submacr∩ Functioε CommanΣ anΣ thσá numbe≥ ì
- oµá Submacro≤ t∩ bσ imbedded«á Thσ nex⌠ linσ contain≤ thσ addresse≤ oµ thσá ┤ ì
- respectivσá submacro≤ t∩ bσ imbedded«á Linσ threσ contain≤ thσ primar∙á macr∩ ì
- characters« Thσ las⌠ linσ i≤ thσ nul∞ bytσ requireΣ t∩ enΣ thσ message.
-
- Thσ abovσ examplσ woulΣ say¼ "COMMAN─ ERRO╥ ╗ REENTE╥ COMMAND"« Thi≤ messagσ ì
- i≤ 3▒ character≤ long«á I⌠ tooδ 1╖ byte≤ t∩ builΣ thσ primar∙ macro«á Iµá yo⌡ ì
- definσá submacro≤á whicΦá arσ useΣ morσ thaε once¼á yo⌡ caε realizσá ßá grea⌠ ì
- saving≤ iε memory«á Yo⌡ havσ aε ove≥ heaΣ oµ ▒ NUL╠ bytσ anΣ ▓ addres≤á byte≤ ì
- pe≥á submacr∩á use«á ┴ submacr∩ messagσ shoulΣ bσ a⌠ leas⌠ si° byte≤ lonτá t∩ ì
- realizσ ß saving≤ afte≥ thσ firs⌠ usσ oµ thσ submacro.
-
- 3.4.2 -- REPEAT FUNCTION
- ===============
-
- Thi≤á functioε allow≤ yo⌡ t∩ repea⌠ ß numbe≥ oµ identica∞ ASCI╔á displa∙ ì
- o≥ contro∞ bytes«á I⌠ als∩ allow≤ yo⌡ t∩ repea⌠ ß grou≡ oµ submacro≤ ß numbe≥ ì
- oµ time≤ a≤ well«á Thσ repea⌠ functioε commanΣ i≤ ß CTRL-R¼á [12H]« Thσ bytσ ì
- followinτ immediatel∙ afte≥ thσ commanΣ bytσ i≤ thσ repea⌠ coun⌠ byte« Iµ thσ ì
- bytσá followinτá thσ coun⌠ bytσ i≤ thσ submacr∩ command¼á theεá thσá functioε ì
- assume≤á thσá specifieΣ imbeddeΣ submacro≤ arσ t∩ bσ repeateΣá thσá specifieΣ ì
- numbe≥á oµá times«á Otherwise¼á thσ functioε repeat≤ thσ bytσá specifieΣá thσ ì
- specifieΣ numbe≥ oµ times.
-
- Example 1:
-
- MSG2 DEFB HOME,RPT,N1,CDN,RPT,N2,CRT,NULL
-
- Thi≤ examplσ wil∞ movσ thσ curso≥ t∩ an∙ positioε oε thσ screeε b∙ usinτ onl∙ ì
- ╕ bytes« Where:
-
- HOME - Home cursor to upper right corner of screen.
- RPT - Repeat function command.
- N1,N2 - Number of repeats specified (binary).
- CDN - Cursor down command.
- CRT - Cursor right command.
-
-
- Example 2:
-
- MSG3 DEFB CR,RPT,64,SPACE,PAGE,CUP,SCROLL,NULL
-
- Thi≤ examplσ wil∞ clea≥ ß linσ whilσ unde≥ scrol∞ mode« Where:
-
- CR - Carriage return command.
- PAGE - Set page mode command.
- SCROLL - Set scroll mode command.
- CUP - Cursor up command.
-
- A≤ yo⌡ caε seσ thσ functioε caε givσ yo⌡ completσ contro∞ ove≥ thσ screeεá oµ ì
- you≥á video«á CoupleΣá witΦá thσ submacr∩ commanΣ yo⌡ havσá ßá ver∙á powerfu∞ ì
- animatioε contro∞ ove≥ you≥ screeε witΦ minima∞ effor⌠ anΣ memor∙ usage.
-
- 4.0 -- CASSETTE SUBSYSTEM
- =========================
- (RELEASE A ONLY)
-
-
- 4.1 -- GENERAL DESCRIPTION
- ==========================
-
-
- Thσá CASSETT┼ SUBSYSTE═ give≤ yo⌡ tapσ I/╧ usinτ cassettσ magnetiπ tape« ì
- I⌠á wil∞á drivσá thσ TELETE╦ (DAJEN⌐ Universa∞á Cassettσá Recorde≥á Interfacσ ì
- (UCRI)« Thσ subsysteφ wil∞ creatσ TELETE╦ anΣ ZAPPL┼ formatteΣ file≤ anΣ wil∞ ì
- reaΣ TELETEK¼á TARBELL¼ anΣ ZAPPL┼ formatteΣ files« Thσ subsysteφ i≤ composeΣ ì
- oµ threσ sections║á Corσ cassettσ drive≥ routines¼á TELETE╦ I/╧ drivers¼á anΣ ì
- thσ ZAPPL┼ I/╧ drivers.
-
- Thi≤á Subsysteφá i≤ onl∙ includeΣ iε Releasσ ┴ versioε oµá thσá monitor« ì
- Releasσ ┬ doe≤ no⌠ requirσ thi≤ subsysteφ sincσ i⌠ ha≤ it≤ cassettσá routine≤ ì
- buil⌠á a≤ transien⌠ command≤ whicΦ residσ oε CP/═ disδ files«á However¼á thi≤ ì
- sectioεá oµá thσá manua∞ wil∞ hel≡ yo⌡ understanΣ thσá cassettσá routine≤á oµ ì
- Releasσ ┬ sincσ thei≥ actioε arσ essentiall∙ identica∞ t∩ Releasσ A.
-
- 4.2 -- SUBSYSTEM INTERFACE
- ==========================
-
-
- Fo≥ inter-subsysteφ communication≤ thσ CASSETT┼ SUBSYSTE═ contain≤ aε 1▒ ì
- entr∙á jum≡á table¼á ß ▓ cal∞ jum≡ tablσ t∩ thσ consolσá subsystem¼á anΣá onσ ì
- addres≤ pointinτ t∩ thσ subsysteφ variablσ worδ space« Thesσ arσ a⌠ thσ fron⌠ ì
- oµ thσ subsystem« Thσ entrie≤ arσ a≤ follows:
-
- áááááááááá OR╟ TBASE
- ááááááááááENTRY▒ J╨ TINI╘ ;INITIALIZ┼ TH┼ SUBSYSTEM
- ááááááááááENTRY▓ J╨ ZSAV┼ ;ZAPPL┼ WRIT┼ CASSETTE
- ááááááááááENTRY│ J╨ ZLOA─ ;ZAPPL┼ REA─ CASSETTE
- ááááááááááENTRY┤ J╨ WRIT┼ ;TELETE╦ WRIT┼ CASSETTE
- ááááááááááENTRY╡ J╨ REA─ ;TELETE╦ REA─ CASSETTE
- ááááááááááENTRY╢ J╨ WROPE╬ ;COR┼ OPE╬ WRIT┼ CASSETTE
- ááááááááááENTRY╖ J╨ WRBYT┼ ;COR┼ WRIT┼ ┴ BYTE
- ááááááááááENTRY╕ J╨ WRCL╙ ;COR┼ CLOS┼ WRIT┼ CASSETTE
- ááááááááááENTRY╣ J╨ RDOPE╬ ;COR┼ OPE╬ REA─ CASSETTE
- ááááááááááENTRY1░ J╨ RDBYT┼ ;COR┼ REA─ ┴ BYTE
- ááááááááááENTRY1▒ J╨ RDCL╙ ;COR┼ CLOS┼ REA─ CASSETTE
-
- The external calls are as follows:
-
- áááááááááá OR╟ TBASE+21H
- ááááááááááXCALL▒ J╨ CBASE+09╚ ;UNSTROBE─ KE┘ ENTRY
- ááááááááááXCALL▓ J╨ CBASE+21╚ ;BUFFERE─ MESSAG┼ OUT
-
- Thσáá variablσáá worδá spacσá beginninτá addres≤á [TWORK▌áá reside≤áá a⌠ ì
- [TBASE+27H]« Thi≤ allow≤ yo⌡ t∩ changσ thσ worδ spacσ positioε withou⌠ havinτ ì
- t∩ reassemblσ thσ subsystem«á Thσ subsysteφ obtain≤ thi≤ addres≤ eacΦ timσ aε ì
- entr∙á i≤ madσ t∩ thσ subsysteφ anΣ store≤ i⌠ iε thσ inde° registe≥á IY«á Al∞ ì
- thσ variable≤ arσ accesseΣ viß thσ inde° register«á Thσ variablσ storagσá ma≡ ì
- i≤ a≤ follows:
-
- ááááááááááUSE─ I╬ TH┼ COR┼ ROUTIN┼ SECTION
-
- ááááááááááTWORK+00╚ SYN├ ;Syncronizatioε byte
-
- ááááááááááUSE─ I╬ COR┼ AN─ ZAPPL┼ SECTIONS
-
- ááááááááááTWORK+01╚ MOD┼ ;CASSETT┼ MODE
- áááááááááá [00H]-writσ mode
- áááááááááá [01H]-reaΣ mode
- áááááááááá [02H]-idlσ mode
-
- áááááááááá USE─ I╬ TH┼ ZAPPL┼ SECTION
-
- ááááááááááTWORK+02╚ LAS╘ ;Las⌠ bytσ writteε o≥ read
- ááááááááááTWORK+03╚ FCT╥ ;[FFH▌ counter
- ááááááááááTWORK+04╚ FEN─ ;EO╞ flag
-
- 4.│ -- COR┼ CASSETT┼ ROUTINES
- =============================
-
-
- Thesσá routine≤ arσ thσ primar∙ driver≤ whicΦ providσ thσ interfacσ froφ ì
- thσá TELETE╦á UCR╔á t∩ thσ monito≥ anΣá use≥á routines«á Thesσá routine≤á arσ ì
- completel∙á independen⌠á oµ externa∞ contro∞ excep⌠ througΦ cal∞á entrie≤á t∩ ì
- them«á The∙á caεá bσá useΣ fo≥ buildinτ additiona∞ cassettσá I/╧á driver≤á o≥ ì
- cassettσ operatioε system≤ independen⌠ oµ thσ monito≥ anΣ it≤ subsystems.
-
- Thσá opeεá anΣ closσ routine≤ wil∞ se⌠ thσ variablσ [MODE▌ t∩ [00H▌á fo≥ ì
- writσ cassette¼á [01▌ fo≥ reaΣ cassette¼ anΣ [02▌ fo≥ idle« Thi≤ variablσ caε ì
- bσá useΣ t∩ optimizσ you≥ I/╧ drive≥ routines«á I⌠ i≤ useΣ iε thσ ZAPPL┼á I/╧ ì
- drive≥ section«á Upoε returε froφ thesσ routine≤ thσ carr∙ flaτ i≤ se⌠ iµá aε ì
- erro≥ conditioε o≥ aε abor⌠ conditioε exists« Thσ calle≥ i≤ expecteΣ t∩ reac⌠ ì
- appropriately.
-
- Therσ arσ eigh⌠ corσ routines« Thesσ are:
-
- ááááááááááCTIN╨ - Inpu⌠ ß bytσ froφ thσ cassette«á Oε return¼á thσ carr∙ i≤ ì
- ááááááááááse⌠ iµ aε abor⌠ i≤ senseΣ (escapσ ke∙ i≤ pressed)«á Thσ res⌠ oµ thσ ì
- ááááááááááentrie≤ belo≈ als∩ usσ thσ samσ returε condition.
-
- ááááááááááCTOU╘ - Outpu⌠ ß bytσ t∩ thσ cassette.
-
- ááááááááááOPIN╨ - Se⌠ MOD┼ t∩ input¼á star⌠ thσ cassette¼ looδ fo≥ ß prope≥ ì
- áááááááááálevel¼á wheεá founΣ initializσ thσ UAR╘ t∩ looδ fo≥ thσ SYN├á byte¼ ì
- ááááááááááanΣ theε return.
-
- ááááááááááOPOU╘ - Se⌠ MOD┼ t∩ output¼á star⌠ thσ cassette¼á outpu⌠ one-halµ ì
- ááááááááááseconΣ oµ silence¼á outpu⌠ 4-1/▓ seconΣ leade≥ oµ NULL≤ (00H)¼á anΣ ì
- ááááááááááoutpu⌠ thσ SYN├ byte.
-
- ááááááááááCLIN╨ - Se⌠ MOD┼ t∩ idle¼ cal∞ OFFCAS¼ theε return.
-
- ááááááááááCLOU╘ - Se⌠ MOD┼ t∩ idle¼ outpu⌠ one-halµ seconΣ oµ NULLs¼ outpu⌠ ì
- ááááááááááone-halµ seconΣ oµ silence¼ theε sto≡ thσ cassette.
-
- ááááááááááOFFCA╙ - Coas⌠ fo≥ ß halµ ß seconΣ theε sto≡ thσ cassette.
-
- ááááááááááERRO╥ - Cal∞ CLINP¼ se⌠ carr∙ flag¼ theε return.
-
- 4.4 -- TELETEK I/O DRIVER SECTION
- =================================
-
-
- Thσá TELETE╦á I/╧ drive≥ sectioε wil∞ crea⌠ o≥ writσá TELETE╦á formatteΣ ì
- file≤á anΣ reaΣ TARBEL╠ o≥ TELETE╦ formatteΣ files«á I⌠ wil∞ writσ thσ entirσ ì
- filσá a≤ specifieΣ b∙ thσ B├ anΣ H╠ registe≥ pairs«á I⌠ wil∞ reaΣ thσá entirσ ì
- filσ a≤ specifieΣ b∙ thσ ┴ registe≥ anΣ thσ B├ anΣ H╠ registe≥ pairs«
-
- 4.4.▒ -- Writinτ ß file║á Thσ H╠ registe≥ pai≥ i≤ expecteΣ t∩ contaiε ì
- thσ beginninτ addres≤ oµ thσ filσ iε memory« Thσ B├ registe≥ pai≥ i≤ expecteΣ ì
- t∩ contaiε thσ filσ sizσ iε bytes« Thσ filσ i≤ writteε oε thσ cassettσ iε onσ ì
- blocδ iε thσ TELETE╦ forma⌠ whicΦ i≤ a≤ follows:
-
- 1. ááááá1/▓ seconΣ oµ silen⌠ leader.
- 2. ááááá┤ anΣ 1/▓ seconΣ leade≥ oµ NULL≤ [00H].
- 3. ááááá▒ clocδ bytσ [3CH].
- 4. ááááá▒ synπ bytσ [E6H].
- 5.áááááá1╢ bi⌠ beginninτ addres≤ oµ file¼ lo≈ orde≥ bytσ firs⌠ theε ì
- ááááááááthσ higΦ orde≥ byte¼ INTE╠ style.
- 6.áááááá1╢ bi⌠ filσ sizσ count¼á higΦ orde≥ bytσ firs⌠ theε thσ lo≈ ì
- ááááááááorde≥ bytσ next.
- 7. áááááTota∞ memor∙ file.
- 8. áááááChecksuφ bytσ oµ thσ cassettσ filσ includinτ thσ thσ tw∩ 1╢ ì
- áááááááábi⌠ variables.
- 9. ááááá1/▓ seconΣ traile≥ oµ NULLs.
- 10. áááá1/▓ seconΣ silen⌠ trailer.
-
- 4.4.▓ -- Readinτ ß file║á Tw∩ option≤ arσ available«á Thesσ arσá REA─ ì
- TELETE╦ anΣ REA─ TARBELL«á Registe≥ ┴ i≤ expecteΣ t∩ contaiε thσ optioε byte║ ì
- [00H▌ - REA─ TELETEK¼ [01H▌ - REA─ TARBELL.
-
- REA─ TELELE╦ wil∞ expec⌠ thσ firs⌠ fou≥ byte≤ oε thσ cassettσ filσ t∩ bσ ì
- thσá beginninτ memor∙ addres≤ anΣ thσ filσ sizσ iε byte≤ accordinτ t∩ TELETE╦ ì
- format¼ anΣ expect≤ ß 1╢ bi⌠ BIA╙ t∩ bσ iε thσ H╠ registe≥ pair« Thi≤ BIA╙ i≤ ì
- addeΣá oε thσ beginninτ addres≤ oµ thσ cassettσ file«á ┴ runninτ checksuφá i≤ ì
- kep⌠ whilσ thσ filσ i≤ beinτ reaΣ iε anΣ i≤ checkeΣ agains⌠ thσ cassettσ filσ ì
- checksum« Iµ the∙ arσ differen⌠ theε ß checksuφ erro≥ messagσ wil∞ bσ sen⌠ t∩ ì
- thσ console.
-
- REA─á TARBEL╠ wil∞ expec⌠ thσ beginninτ memor∙ addres≤ t∩ bσ iεá thσá H╠ ì
- registe≥á pai≥ anΣ thσ filσ sizσ t∩ bσ iε thσ B├ registe≥ pair«á Thi≤á optioε ì
- wil∞á continuσá t∩á reaΣá thσ cassettσ unti∞ thσ specifieΣá memor∙á blocδá i≤ ì
- filled«á Yo⌡ shoulΣ bσ cautioneΣ tha⌠ iµ yo⌡ attemp⌠ t∩ reaΣ ß cassettσá filσ ì
- smalle≥ thaε thσ specifieΣ memor∙ block¼á thσ routinσ coulΣ locδ up« Pressinτ ì
- thσ ESCAP┼ ke∙ wil∞ clea≥ thσ lock.
-
- 4.5 -- THE ZAPPLE I/O DRIVER SECTION
- ====================================
-
-
- Thi≤ sectioε wil∞ savσ anΣ loaΣ ZAPPL┼ files« Writinτ anΣ readinτ ZAPPL┼ ì
- file≤á create≤á ßá probleφ whicΦ i≤ no⌠ easil∙ solved«á Thσá cassettσá drive≥ ì
- routinσá ha≤ t∩ contenΣ witΦ knowinτ wheε ß filσ i≤ starteΣ anΣ wheεá i⌠á ha≤ ì
- ended« ZAPPL┼ softwarσ wa≤ baseΣ oε TT┘ papertapσ reade≥ anΣ puncΦ files« Thσ ì
- softwarσá send≤ n∩ indicatioε oε thσ star⌠ anΣ enΣ oµ thσ filσ excep⌠ tha⌠ i⌠ ì
- use≤ eigh⌠ MAR╦ byte≤ [FFH▌ iε ß sequencσ fo≥ thσ beginninτ anΣ endinτ oµ thσ ì
- file«á T∩á alleviatσ thσ problem¼á thσ drive≥ wa≤ designeΣ t∩ anticipatσá thσ ì
- beginninτ anΣ endinτ oµ thσ file≤ b∙ thσ followinτ scheme:
-
- 1.ááááááááPrio≥á t∩á encounterinτ thσ firs⌠ cal∞á froφá thσá caller¼á (ZAPPL┼ ì
- áááááááááásoftware⌐ thσ cassettσ drive≥ shoulΣ havσ beeε properl∙ se⌠ t∩ IDL┼ ì
- ááááááááááMODE«
-
- 2.ááááááááUpoε encounterinτ thσ firs⌠ cal∞ t∩ thσ driver¼ thσ drive≥ wil∞ se⌠ ì
- ááááááááááthσá MOD┼ t∩ REA─ o≥ WRIT┼ dependinτ oε whicΦ cal∞ entry¼á LOA─á o≥ ì
- ááááááááááSAVE.
-
- 3.ááááááááIµá thσ firs⌠ bytσ i≤ no⌠ ß MAR╦ byte¼á theε aε abor⌠ i≤á initiateΣ ì
- áááááááááá(cassettσ i≤ turneΣ off¼á thσ drive≥ i≤ rese⌠ t∩ IDL┼ MODE¼ anΣ thσ ì
- áááááááááácarr∙ flaτ i≤ se⌠ upoε return).
-
- 4.ááááááááThσá drive≥á wil∞ continuσ t∩ receivσ o≥ senΣ (savσ o≥ load⌐á byte≤ ì
- ááááááááááunti∞ i⌠ encounter≤ thσ seconΣ se⌠ oµ MAR╦ bytes«á Thσ drive≥á theε ì
- ááááááááááturn≤á ofµ thσ recorde≥ afte≥ ß fe≈ housekeepinτ chores¼á reset≤ t∩ ì
- ááááááááááIDL┼ MODE¼ anΣ return≤ fo≥ thσ fina∞ time.
-
- Yo⌡á mus⌠á understanΣá tha⌠ thσ onl∙ communicatioε t∩á anΣá froφá ZAPPL┼ ì
- softwarσá i≤ viß thσ byte≤ passeΣ t∩ anΣ froφ thσ I/╧ driver«á N∩á othe≥á I/╧ ì
- avenue≤á arσ established«á Thi≤ present≤ ß probleφ iε thσ even⌠ tha⌠ iµá you≥ ì
- ZAPPL┼ softwarσ crashe≤ anΣ iε doinτ s∩ leave≤ you≥ cassettσ recorde≥ on«á T∩ ì
- reinitializσá thσ I/╧ drive≥ withou⌠ wipinτ you≥ program¼á pres≤ thσ rese⌠ oε ì
- you≥á system«áá Thi≤á wil∞á reinitializσá thσá monito≥á whicΦá iεá turεá wil∞ ì
- reinitializσá thσá cassettσ subsystem«á Yo⌡ theε caε reboo⌠á t∩á you≥á ZAPPL┼ ì
- softwarσá througΦ it≤ warφ reboo⌠ vector«á Thi≤ methoΣ wil∞ onl∙ worδ iµá yo⌡ ì
- havσ ß systeφ witΦ power-oε jum≡ vectoring.
-
- 5.0 DISK SUBSYSTEM
- ==================
-
-
- 5.1 -- GENERAL DESCRIPTION
- ==========================
-
- Thi≤á subsysteφá tie≤á CP/M¼á thσá disδ operatinτá systeφá froφá Digita∞ ì
- ResearcΦá oµá California¼á int∩ thσ Systeφ Monito≥ s∩ tha⌠ the∙ botΦá ac⌠á iε ì
- concer⌠ witΦ eacΦ other«á Wheε thσ command≤ COP┘ anΣ VERIF┘ arσ envoked¼á thσ ì
- Systeφá Monito≥á wil∞á boo⌠á u≡ CP/M¼á loaΣá thσá specifieΣá COP┘á o≥á VERIF┘ ì
- subcommand¼á anΣá theεá executσ thσ subcommand«á Iε orde≥ t∩ d∩ thi≤á withou⌠ ì
- changinτá o≥ alterinτ CP/M¼á ß fe≈ trick≤ werσ pulled«á Thesσá arσá explaineΣ ì
- below«á Essentially¼ thσ Systeφ Monito≥ intercept≤ thσ consolσ status¼ input¼ ì
- anΣá outpu⌠á vector≤á a≤ wel∞ a≤ thσ printe≥ outpu⌠ vecto≥á anΣá incorporate≤ ì
- thesσ dynamicall∙ int∩ thσ Systeφ Monito≥ Consolσ I/╧ subsystem.
-
-
- 5.2 -- SUBSYSTEM INTERFACE
- ==========================
-
- Thσ subsysteφ ha≤ tw∩ entries:
-
- ENTRY1 JP DINIT ;DISK SUBSYSTEM INITIALIZATION
- ENTRY2 JP DMAIN ;DISK MAIN ENTRY
-
- 5.3 -- TRANSIENT COMMAND EXECUTION PROCESS
- ==========================================
-
- Thσ Systeφ Monito≥ wil∞ activatσ thσ Disδ Subsysteφ t∩ loaΣ ßá transien⌠ ì
- commanΣá residinτá iεá ßá CP/═á disδ filσ wheε yo⌡ ente≥á ßá COP┘á o≥á VERIF┘ ì
- subcommanΣ no⌠ residen⌠ iε memory« Thσ executioε proces≤ i≤ a≤ follows:
-
- 1.áááThσ Disδ Subsysteφ boot≤ iε CP/M'≤ secondar∙ boo⌠ residinτ iε thσá firs⌠ ì
- ááááásecto≥ oµ tracδ zer∩ oµ drivσ [A]« I⌠ theε overlay≤ ß returε vecto≥ bacδ ì
- ááááát∩ thσ Disδ Subsysteφ ove≥ thσ origina∞ CP/═ vecto≥ t∩ it≤ CC╨ executioε ì
- áááááaddress«á Thσá Disδ Subsysteφ wil∞ theε jum≡ t∩ thσ loadeΣ boo⌠ whicΦ iε ì
- áááááturε load≤ iε thσ res⌠ oµ thσ CP/═ system.
-
- 2.áááAfte≥á bootinτá iε CP/═ anΣ returninτ bacδ t∩ thσá Disδá Subsystem¼á thσ ì
- ááááásubsysteφ theε determine≤ wherσ CP/═ wa≤ loadeΣ int∩ memor∙ b∙ obtaininτ ì
- áááááCP/M'≤ BDO╙ executioε addres≤ whicΦ i≤ storeΣ a⌠ memor∙ addres≤ [0006H].
-
- 3.áááThσ subsysteφ theε trie≤ t∩ finΣ thσ requesteΣ COP┘ o≥ VERIF┘ subcommanΣ ì
- áááááutilit∙ filσ oε thσ disk«á Iµ no⌠ successfu∞ theε thσ erro≥ messagσ "NO╘ ì
- áááááFOUNDóá i≤á displayeΣ oε thσ consolσ anΣ thσ Systeφ Monito≥á return≤á t∩ ì
- ááááácommanΣ entr∙ mode.
-
- 4.áááIµá thσá subcommanΣ utilit∙ i≤ found¼á thσá utilit∙á i≤á loaded¼á Systeφ ì
- áááááMonito≥á restar⌠á i≤á pusheΣ ont∩ thσ stack¼á anΣ thσá utilit∙á i≤á theε ì
- áááááexecuteΣ b∙ jumpinτ t∩ locatioε [0100H].
-
-
- 5.4 -- SUBSYSTEM BOOT ROUTINE
- =============================
-
- Thσ subsysteφ boo⌠ routinσ i≤ identica∞ t∩ thσ CP/═ primar∙ boo⌠ routinσ ì
- residinτá iεá it≤ BIO╙ section¼á witΦ thσ exceptioε tha⌠ i⌠ change≤ thσá exi⌠ ì
- vecto≥á oµá thσá secondar∙ boo⌠ t∩ poin⌠ bacδ t∩ thσá subsyteφá a≤á explaineΣ ì
- above«á Thσ boo⌠ iε thσ presen⌠ releasσ oµ thi≤ Systeφ Monito≥ i≤á compatiblσ ì
- t∩ thσ S.D« Sale≤ Versaflopp∙ Controller« Iµ yo⌡ havσ ß differen⌠ controller¼ ì
- theε yo⌡ mus⌠ replacσ thσ boo⌠ witΦ yours«á Seσ sectioε 7.░ oε implementatioε ì
- fo≥ detaileΣ instructions.
-
- 6.0 I/O VECTOR SUBSYSTEM
- ========================
-
-
- 6.1 -- GENERAL DESCRIPTION
- ==========================
-
- Thi≤á subsysteφá implement≤á thσ INTE╠ I/╧á vecto≥á assignmen⌠á standarΣ ì
- througΦá thσ "IOBYTEó function«á Thσ subsysteφ allow≤ yo⌡ t∩ flexibl∙á assigε ì
- anΣá reassigεá physica∞á I/╧á device≤ t∩á logica∞á I/╧á oµá you≥á applicatioε ì
- software« Thσ monito≥ itselµ doe≤ no⌠ usσ thσ "IOBYTEó function¼ howeve≥ thi≤ ì
- subsysteφ wil∞ suppor⌠ fou≥ type≤ oµ logica∞ I/╧ device≤ defineΣ b∙ thσ INTE╠ ì
- I/╧á assignmen⌠ standard«á Thesσ arσ thσ console¼á reader¼á punch¼á anΣ lis⌠ ì
- devices«á EacΦ oµ thesσ iε turε caε bσ an∙ onσ oµ fou≥ physica∞ I/╧ devices« ì
- Thσá subsysteφá presentl∙á support≤ ß keyboarΣ anΣ ßá vide∩á displa∙á a≤á thσ ì
- consolσ device¼ anΣ ß linσ printe≥ a≤ thσ lis⌠ device« Iε addition¼ Releasσ ┴ ì
- oµá thσá monito≥á support≤ cassettσ inpu⌠ a≤ thσ reade≥ devicσá anΣá cassettσ ì
- outpu⌠ a≤ thσ puncΦ device«á Releasσ ┬ wil∞ immediatel∙ returε t∩ thσá calle≥ ì
- witΦá thσá CARR┘ flaτ SE╘ fo≥ botΦ reade≥ anΣ puncΦá devices«á Thσá subsysteφ ì
- contain≤á ßá vecto≥ tablσ fo≥ additiona∞ device≤ yo⌡ ma∙ wan⌠á t∩á add«á Thi≤ ì
- allow≤ yo⌡ t∩ havσ 1╢ differen⌠ combination≤ oµ assigneΣ devices.
- Sincσá thσá othe≥ subsystem≤ oµ thi≤ monito≥ d∩ no⌠ usσ thi≤á subsystem¼ ì
- yo⌡á ma∙á deletσá i⌠á froφ thσ monito≥ packagσá iµá yo⌡á s∩á desire«á I⌠á wa≤ ì
- implementeΣá fo≥ you≥ benifit«á However¼á thi≤ subsysteφ point≤ t∩ I/╧ drive≥ ì
- routine≤á iεá thσ consolσ anΣ cassettσ (Releasσ ┴ only⌐á subsystem≤á anΣá thσ ì
- memor∙á tes⌠ routinσ oµ thσ monito≥ commanΣ subsystem«á Therefore¼á yo⌡á mus⌠ ì
- kee≡ thosσ subsystem≤ intac⌠ iµ yo⌡ usσ thi≤ subsystem.
-
-
- 6.2 -- SUBSYSTEM INTERFACE
- ==========================
-
- Thσá subsysteφ implement≤ thσ XITA╬ (formerl∙ TDL⌐ I/╧ vecto≥ jum≡ tablσ ì
- forma⌠á anΣ i≤ compatiblσ t∩ ZAPPL┼ software«á Thi≤ tablσ i≤ locateΣá a⌠á thσ ì
- fron⌠ oµ thσ subsystem« Thσ tablσ is:
-
- ORG IOBASE
- ENTRY0 JP START ;COLD START OF THE MONITOR
- ENTRY1 JP CINP ;CONSOLE INPUT
- ENTRY2 JP RINP ;READER INPUT
- ENTRY3 JP COUT ;CONSOLE OUTPUT
- ENTRY4 JP POUT ;PUNCH OUTPUT
- ENTRY5 JP LOUT ;LIST OUTPUT
- ENTRY6 JP CSTA ;CONSOLE STATUS
- ENTRY7 JP IOCH ;I/O CHECK
- ENTRY8 JP IOST ;I/O SET
- ENTRY9 JP MTST ;MEMORY TEST
- ENTRY10 JP RESTRT ;WARM START OF THE MONITOR
-
- 6.3 -- DYNAMIC PERIPHERAL ALLOCATION
- ====================================
-
- "IOFLAGó i≤ composeΣ oµ fou≥ two-bi⌠ field≤ whicΦ designatσ thσ typσ oµ ì
- periphera∞ devicσ requesteΣ fo≥ thσ specifiπ I/╧ required« Thσ prope≥ IOFLA╟ ì
- bytσ caε bσ obtaineΣ iε binar∙ forφ as║ [LLPPRRCC]
-
- Where,
-
- CC - Console device two bit code
- 00 - TTY I/O
- 01 - Keyboard/CRT I/O
- 10 - Batch I/O
- 11 - User defined I/O
-
- RR - Reader device two bit code
- 00 - TTY Papertape
- 01 - Cassette
- 10 - Hi-speed Tape
- 11 - User defined
-
- PP - Punch device two bit code
- 00 - TTY Papertape
- 01 - Cassette
- 10 - Hi-speed Tape
- 11 - User defined
-
- LL - List device two bit code
- 00 - TTY Print
- 01 - CRT Display
- 10 - Line Printer
- 11 - User defined
-
- Thσá monitor'≤á defaul⌠ modσ i≤ [10010101▌ o≥ [95H]«á Thi≤á define≤á thσ ì
- keyboarΣ anΣ vide∩ a≤ console¼á cassettσ inpu⌠ a≤ reader¼á cassettσ outpu⌠ a≤ ì
- punch¼á anΣá linσá printe≥ a≤ list«á Aε examplσ oµ ho≈ yo⌡ caε reassigεá you≥ ì
- systeφá configuratioε i≤ a≤ follows«á Supposσ yo⌡ requirσ AS╥ TT┘á I/O«á Theε ì
- settinτ C├ ╜ 00¼ R╥ ╜ 00¼ P╨ ╜ 00¼ anΣ L╠ ╜ 0░ give≤ yo⌡ 00╚ a≤ thσ IOBYTE.
-
-
- 6.4 -- NEW I/O DRIVERS
- ======================
-
- T∩ adΣ ne≈ I/╧ driver≤ o≥ reconfigurσ thσ existinτ one≤ yo⌡ mus⌠á changσ ì
- thσá I/╧á drive≥ addres≤ tablσ t∩ reflec⌠ thσ changes«á Thσ tablσ i≤á locateΣ ì
- jus⌠ afte≥ thσ ZAPPL┼ jum≡ vector≤ anΣ is:
-
- ORG IOBASE+23H
- ;CONSOLE INPUT
- DEFW KEYIN ;TTY INPUT
- DEFW KEYIN ;KEYBOARD INPUT
- DEFW KEYIN ;BATCH INPUT
- DEFW KEYIN ;USER DEFINED INPUT
- ;READER INPUT (Release A only)
- DEFW CASSIN ;TTY READER INPUT
- DEFW CASSIN ;HI-SPEED TAPE INPUT
- DEFW CASSIN ;CASSETTE INPUT
- DEFW CASSIN ;USER DEFINED READER INPUT
- ;CONSOLE OUTPUT
- DEFW VIDOUT ;TTY OUTPUT
- DEFW VIDOUT ;VIDEO OUTPUT
- DEFW PRTOUT ;BATCH OUTPUT
- DEFW VIDOUT ;USER DEFINED OUPUT
- ;PUNCH OUTPUT (Release A only)
- DEFW CASOUT ;TTY OUTPUT
- DEFW CASOUT ;HI-SPEED TAPE OUTPUT
- DEFW CASOUT ;CASSETTE OUTPUT
- DEFW CASOUT ;USER DEFINED PUNCH OUTPUT
- ;LIST OUTPUT
- DEFW PRTOUT ;TTY OUTPUT
- DEFW VIDOUT ;VIDEO OUTPUT
- DEFW PRTOUT ;PRINTER OUTPUT
- DEFW PRTOUT ;USER DEFINED LIST OUTPUT
- ;CONSOLE STATUS
- DEFW CSTAT ;TTY STATUS
- DEFW CSTAT ;KEYBOARD STATUS
- DEFW CSTAT ;BATCH STATUS
- DEFW CSTAT ;USER DEFINED INPUT STATUS
-
- Al∞ oµ thσ addres≤ pointer≤ arσ assigneΣ t∩ existinτ I/╧ drive≥ routine≤ ì
- s∩ tha⌠ you≥ softwarσ doe≤ no⌠ locδ u≡ iµ yo⌡ assigneΣ aε IOBYT┼ whicΦ point≤ ì
- t∩á ßá physica∞á devicσá tha⌠á i≤ no⌠ availablσ yet«á I⌠á i≤á u≡á t∩á yo⌡á t∩ ì
- reconfigurσ thσ addresse≤ t∩ you≥ ne≈ I/╧ drivers.
-
- Bσ awarσ tha⌠ aε addres≤ pointe≥ [WBASE▌ exist≤ betweeε thσ ZAPPL┼á jum≡ ì
- tablσá anΣ thσ I/╧ addres≤ pointe≥ table«á Thi≤ addres≤ [IOBASE+21H▌á define≤ ì
- thσá monito≥á variablσ worδ spacσ basσ address«á Thi≤ subsysteφ need≤á i⌠á t∩ ì
- poin⌠ t∩ thσ IOBYT┼ storagσ location« Thσ IOBYT┼ storagσ locatioε i≤ expecteΣ ì
- t∩ bσ a⌠ [WBASE-4DH].
-
- 7.0 -- IMPLEMENTATION
- =====================
-
-
- 7.1 -- GENERAL DESCRIPTION
- ==========================
-
- Thi≤á sectioεá describe≤á thσ implementioε oµ thσá Systeφá Monitor«á Thσ ì
- Systeφ Monito≥ i≤ implementeΣ b∙ usinτ ß statiπ loader«á Thi≤ loade≥ contain≤ ì
- thσá monito≥ mappeΣ a⌠ pagσ zero«á Thσ loade≥ als∩ contain≤ ß bi⌠á ma≡á whicΦ ì
- point≤á t∩ al∞ oµ thσ pagσ addresse≤ (thσ higΦ bytσ oµ thσ 1╢ bi⌠ address⌐ iε ì
- thσá monito≥ whicΦ changσ wheε thσ monito≥ i≤ mappeΣ a⌠ ß differen⌠á locatioε ì
- othe≥ thaε pagσ zero.
-
- Systeφá Monitor¼á Releasσá A¼á come≤á oεá ßá Tarbell/Teleteδá compatiblσ ì
- cassette«á Systeφ Monitor¼ Releasσ ┬ come≤ oε ß CP/═ compatiblσ diskette« Thσ ì
- loadinτ procedurσ i≤ thσ samσ iε eithe≥ casσ excep⌠ a≤ explaineΣá below«á Thσ ì
- loade≥á allow≤á yo⌡ t∩ changσ thσ prograφ basσ location¼á thσ vide∩ RA═á basσ ì
- location¼á thσ variablσ RA═ basσ location¼á consolσ I/╧ port¼á polarity¼á anΣ ì
- masδá parameters¼á anΣ thσ cassettσ I/╧ por⌠ number≤ (Releasσ ┴á only)«á Thi≤ ì
- give≤á yo⌡á completσ flexibilit∙ iε implementinτ thσá monitor«á Iµá yo⌡á havσ ì
- Releasσá B¼á yo⌡á mus⌠á changσ thσ cassettσ por⌠ number≤á separatel∙á iεá thσ ì
- transien⌠ commanΣ file≤ "COPYMT.SMCó anΣ "COPYTM.SMC"
-
-
- 7.2 -- RELEASE A LOADING PROCEDURE
- ==================================
-
- T∩á loaΣ thσ cassettσ filσ yo⌡ mus⌠ havσ ß Tarbel∞ o≥ Teleteδ compatiblσ ì
- cassettσá loade≥ alread∙ available«á ReaΣ Sectioεá 4.0¼á CASSETT┼á SUBSYSTEM¼ ì
- prio≥ t∩ attemptinτ t∩ loaΣ thσ file«á Thσ filσ i≤ iε Teleteδ format«á Iµ yo⌡ ì
- havσ ß Tarbel∞ loade≥ yo⌡ mus⌠ bypas≤ thσ firs⌠ fou≥ byte≤ oε thσ file¼á tha⌠ ì
- is¼á yo⌡á mus⌠á loaΣá thσ filσ startinτ a⌠ [00FCH▌ insteaΣá oµá [0100H]«á Thσ ì
- Tarbel∞ loadinτ procedurσ i≤ thσ samσ a≤ thσ monitor'≤ Teleteδ loaΣá specifiπ ì
- procedurσá a≤á explaineΣ iε sectioε 4.0«á Thesσ fou≥ byte≤ specif∙á thσá basσ ì
- addres≤á anΣ thσ numbe≥ oµ byte≤ t∩ loaΣ fo≥ automatiπ loadinτ unde≥á Teleteδ ì
- loadinτá procedures«á A≤á witΦá thσ CP/═ versioε thi≤ loade≥á i≤á loadeΣá anΣ ì
- executeΣá a⌠ [0100H]«á Tw∩ pair≤ oµ copie≤ oµ thσ cassettσ versioε i≤ oεá thσ ì
- cassettσá tape«á Thσá firs⌠ pai≥ i≤ recordeΣ a⌠ Tarbel∞ standarΣ speeΣá [150░ ì
- baud▌ anΣ thσ seconΣ i≤ recordeΣ a⌠ Teleteδ standarΣ speeΣ [250░á baud]«á Thσ ì
- copie≤ werσ recordeΣ iε pair≤ fo≥ redundency.
-
- Thσá cassettσ versioε require≤ tw∩ I/╧ vector≤ t∩ communicatσ witΦá you« ì
- Thσá CP/═ versioε use≤ thσ BDO╙ I/╧ command≤ bu⌠ thσ cassettσ versioεá canno⌠ ì
- assumσá that«á So¼á yo⌡á mus⌠á patcΦ thesσ vector≤ int∩ thσ loade≥á prio≥á t∩ ì
- executinτ it« Thσ vector≤ arσ locateΣ at:
-
- 0103 JP CONINP ; CONSOLE INPUT
- 0106 JP CONOUT ; CONSOLE OUTPUT
-
- Consolσá inpu⌠ assume≤ thσ inpu⌠ bytσ i≤ iε registe≥ A«á Thσá consolσá outpu⌠ ì
- send≤á thσ outpu⌠ bytσ iε registe≥ C«á Thσ loade≥ assume≤ tha⌠ onl∙á registe≥ ì
- pair≤ A╞ anΣ B├ change«
- Oncσá thσ loade≥ i≤ loadeΣ anΣ patcheΣ yo⌡ ma∙ executσ i⌠ b∙ jumpinτá t∩ ì
- locatioε [0100H].
-
- 7.2 -- RELEASE B LOADING PROCEDURE
- ==================================
-
- Al∞á tha⌠á i≤ necessar∙ i≤ t∩ executσ filσ "SYSMON.COMó whicΦ i≤ oεá thσ ì
- CP/═ diskettσ tha⌠ come≤ witΦ thσ monitor«á Thσ filσ wil∞ promp⌠ yo⌡ fo≥á thσ ì
- necessar∙ informatioε a≤ explaineΣ iε sectioε 7.┤ below.
-
-
- 7.4 -- EXECUTION OF LOADER
- ==========================
-
- Thσ LOADE╥ wil∞ promp⌠ yo⌡ fo≥ ß numbe≥ oµ parameters¼ eacΦ oµ whicΦ ha≤ ì
- ßá defaul⌠á value«á Iµá yo⌡á wan⌠ thσ defaul⌠ t∩ stanΣ theεá jus⌠á pres≤á thσ ì
- [RETURN▌ key« Iµ yo⌡ makσ aε inpu⌠ erro≥ iε an∙ oµ thσ parameters¼ thσ loade≥ ì
- wil∞á repromp⌠á you«á Thσ LOADE╥ wil∞ asδ fo≥ thσ parameter≤ iεá sequencσá a≤ ì
- follows:
-
- PROGRAM BASE PAGE ADDRESS
-
- BIAS ADDRESS
-
- VIDEO RAM BASE ADDRESS
-
- MONITOR RAM WORK BASE ADDRESS
-
- CONSOLE INPUT PARAMENTERS
- STATUS PORT NUMBER
- STATUS POLARITY
- STATUS MASK
- DATA PORT NUMBER
- DATA PORT POLARITY
-
- PRINTER OUTPUT PARAMETERS
- STATUS PORT NUMBER
- STATUS POLARITY
- STATUS MASK
- DATA PORT NUMBER
- DATA POLARITY
- ASKS IF THERE IS A PRINTER BUSY/OFF-LINE PORT
- IF SO THEN ASKS FOR:
- BUSY PORT NUMBER
- BUSY POLARITY
- BUSY MASK
-
- CASSETTE I/O PORT BASE (Release A only)
-
- COMPLETION JUMP ADDRESS
-
- 7.4.▒ -- Prograφ basσ pagσ address.
-
- Thσá monito≥á caεá onl∙á bσ loadeΣ oε pagσá boundarie≤á becausσá oµá thσ ì
- requirement≤ oµ thσ statiπ loader«á Onl∙ ß tw∩ characte≥ hexadecima∞á addres≤ ì
- i≤ allowed« E loaΣ thσ monito≥ t∩ aεá areßá othe≥ ì
- thaε thσ mappeΣ location« Therσ arσ ß numbe≥ oµ advantage≤ iε doinτ this« Thσ ì
- primar∙ onσ i≤ tha⌠ iµ yo⌡ wanteΣ t∩ ma≡ thσ monito≥ int∩ thσ spacσ wherσ thσ ì
- statiπ loade≥ reside≤ [0100╚ t∩ 2100H]¼á i⌠ woulΣ no⌠ bσ possiblσ withou⌠ thσ ì
- bias¼á a≤á thσá proces≤ oµ mappinτ woulΣ destro∙ thσ loade≥ o≥ thσ zer∩á pagσ ì
- cop∙ oµ thσ monitor«á Thσ bia≤ i≤ ß positivσ bias¼ tha⌠ is¼ thσ bia≤ i≤ addeΣ ì
- t∩ thσ mappeΣ addresses«á Example║á Iµ thσ monito≥ i≤ t∩ bσ mappeΣ a⌠á 1000H¼ ì
- anΣ thσ bia≤ addres≤ [6000H▌ wa≤ entered¼ theε thσ relocateΣ monito≥ woulΣ bσ ì
- a⌠á [7000H]«á Negativσá biasinτá i≤á easil∙ accomplisheΣ b∙á usinτá thσá two≤ ì
- complemen⌠ oµ thσ absolutσ bias«á Example║á Iµ thσ monito≥ i≤ t∩ bσ mappeΣ a⌠ ì
- [D000H]¼á anΣ yo⌡ wanteΣ thσ relocateΣ cop∙ t∩ bσ a⌠ [8000H]¼ theε thσ prope≥ ì
- bia≤ woulΣ bσ [B000H].
-
-
- 7.4.3 -- Video RAM base address.
-
- Thσá loade≥á wil∞ patcΦ iε thσ basσ addres≤ afte≥ thσ monito≥á ha≤á beeε ì
- relocated« Thi≤ patcΦ locatioε i≤ iε thσ fron⌠ enΣ oµ thσ consolσ subsystem.
-
-
- 7.4.4 -- Variable RAM base address.
-
- Thσá variablσá RA═á basσ addrg á bi⌠á address«á Thσá loade≥ ì
- patche≤ thσ variablσ RA═ basσ addres≤ pointer≤ fo≥ eacΦ respectivσ subsystem« ì
- Thσá basσá addres≤á pointer≤ residσ iε eacΦ subsysteφ jus⌠á afte≥á thσá entr∙ ì
- vectors« Seσ thσ sourcσ listinτ iε Appendi° A.
-
- Thσ monito≥ map≤ it≤ variablσ location≤ a≤ follows:
-
- BASE: 0000H ; START OF VARIABLE RAM AREA
- ; AND END OF STACK AREA
- STACK: 0040H ; STACK BASE ADDRESS
- MBASE: 0090H ; COMMAND SUBSYSTEM BASE ADDRESS
- ; AND INPUT BUFFER BASE ADDRESS
- CBASE: 0110H ; CONSOLE SUBSYSTEM BASE ADDRESS
- TBASE: 0120H ; CASSETTE SUBSYSTEM BASE ADDRESS
- DBASE: 0130H ; DISK SUBSYSTEM BASE ADDRESS
- END: 013FH ; END OF VARIABLE RAM AREA
-
- Thσá detaileΣá mappinτ fo≥ eacΦ subsysteφ i≤ describeΣá iεá thei≥á respectivσ ì
- subsysteφ sections« Makσ surσ tha⌠ yo⌡ havσ enougΦ rooφ fo≥ thσ STAC╦ area.
-
-
- 7.4.5 -- Console input and printer parameters.
-
- Thσá consolσá inpu⌠á anΣ printe≥ paramete≥ specificatioε allow≤á yo⌡á t∩ ì
- patcΦá iε you≥ keyboarΣ anΣ printe≥ withou⌠ resortinτ t∩ writinτ aεá assembl∙ ì
- patcΦá anΣ movinτ i⌠ int∩ thσ monito≥ area«á Thσ LOADE╥ relieve≤ yo⌡ oµá thi≤ ì
- chore« Jus⌠ ente≥ thσ informatioε a≤ specifieΣ anΣ yo⌡ shoulΣ havσ thσ prope≥ ì
- setup«
-
- Port Number - Enter the port number in hexadecimal.
- Polarity - Enter a "P" for positive polarity.
- Enter an "N" for negative polarity.
- Mask - Enter the mask in hexadecimalè Questions - Answer questions with "Y" or "N" for
- yes and no respectively.
-
-
- 7.4.6 -- Cassette port base.
-
- Thi≤ LOADE╥ inpu⌠ reques⌠ i≤ fo≥ Releasσ ┴ only« Jus⌠ ente≥ thσ por⌠ basσ ì
- oµ you≥ UCR╔ iε hexadecimal.
-
-
- 7.4.7 -- Completion jump address.
-
- Thi≤á addres≤á i≤ thσ exi⌠ addres≤ whicΦ thσ loade≥ wil∞ jum≡á t∩á afte≥ ì
- completioε oµ thσ loadinτ oµ thσ monitor.
-
-
- 7.5 -- FINAL NOTE
- =================
-
- Iµá yo⌡ arσ havinτ problem≤ loadinτ anΣ runninτ thσ monitor¼á makσá surσ ì
- yo⌡ arσ mappinτ thσ monito≥ properly¼á anΣ havσ reaΣ al∞ oµ thσ documentatioε ì
- oµá thi≤ USER'≤ MANUAL«á Theε seσ you≥ distributo≥ o≥ givσ u≤ ß linσ oεá you≥ ì
- problem« Wσ wil∞ solvσ you≥ probleφ a≤ expeditiousl∙ a≤ possible«
-
- 8.0 -- USER WRITTEN COMMANDS
- ============================
-
-
- 8.1 -- GENERAL DESCRIPTION
- ==========================
-
- Tw∩ type≤ oµ command≤ arσ useΣ iε thσ monitor╗á memor∙ residen⌠ command≤ ì
- anΣá disδá filσ transien⌠ commands«á Yo⌡ ma∙ creatσ ne≈ command≤á fo≥á eithe≥ ì
- type«á Thσá monito≥á wa≤ designeΣ s∩ tha⌠ yo⌡ woulΣ havσ minima∞ problem≤á iε ì
- linkinτ thesσ routine≤ int∩ thσ monitor«á Belo≈ arσ instruction≤ anΣ caution≤ ì
- oε implementinτ botΦ type≤ oµ commanΣ routines.
-
-
- 8.2 -- RESIDENT COMMANDS
- ========================
-
- Thσá residen⌠ commanΣ routine≤ arσ mos⌠ likel∙ thσ hardes⌠á routine≤á t∩ ì
- desigε anΣ incorporate« Yo⌡ mus⌠ properl∙ inser⌠ thσ routinσ ont∩ thσ bacδ oµ ì
- thσá monito≥á prograφ space«á Yo⌡ theε mus⌠ patcΦ thσ monito≥ commanΣá vecto≥ ì
- table« Iµ yo⌡ havσ commanΣ entr∙ subfields¼ yo⌡ mus⌠ follo≈ thσ commanΣ inpu⌠ ì
- protoco∞ whicΦ implie≤ tha⌠ yo⌡ mus⌠ kno≈ thσ monito≥ prograφ intimately.
-
- Al∞ oµ thσ subsystems¼ witΦ thσ exceptioε oµ thσ commanΣ subsystem¼ havσ ì
- fron⌠á enΣá entr∙á vectors«á Thesσ arσ explaineΣ iε eacΦá oµá thσá respectivσ ì
- subsysteφá sections«á Thσ commanΣ subsysteφ ha≤ ß numbe≥ oµ usablσá routines¼ ì
- to∩á numerou≤ t∩ incorporatσ int∩ ß vecto≥ table«á Thesσ routine≤ arσá listeΣ ì
- anΣ explaineΣ iε SECTIO╬ 2.6« ┴ samplσ residen⌠ routinσ "UNLOADó i≤ listeΣ iε ì
- APPENDI╪á ├á t∩ sho≈ ho≈ yo⌡ caε implemen⌠ you≥ own«á Al∞ wσ caεá sa∙á i≤á t∩ ì
- experimen⌠ anΣ d∩ you≥ owε thing.
-
- Oncσá yo⌡á havσá you≥ routinσ writteε anΣ loadeΣ ont∩ thσá bacδá oµá thσ ì
- monito≥á al∞á tha⌠á i≤ lef⌠ i≤ t∩ patcΦ thσ entr∙ t∩ you≥á routinσá int∩á thσ ì
- primar∙á commanΣá table«á Referencσ thσ commanΣ subsysteφ sourcσá listinτá iε ì
- APPENDI╪ ┴ fo≥ thσ actua∞ location.
-
- Yo⌡á ma∙á wan⌠ t∩ takσ advantagσ oµ thσ COP┘ anΣ VERIF┘á commanΣá vecto≥ ì
- table≤ insteaΣ oµ thσ primar∙ commanΣ table«á Yo⌡ ma∙ alte≥ thesσ iε thσ samσ ì
- wa∙á a≤ thσ primar∙ commanΣ table«á ReaΣ thσ subsectioε [2.5.│ o≥ 2.5.22▌á oε ì
- thesσá command≤á beforσ attemptinτ t∩ d∩ so«á Again¼á referencσá thσá monito≥ ì
- commanΣ subsysteφ listinτ iε APPENDI╪ A.
-
-
- 8.3 -- TRANSIENT COMMANDS
- =========================
-
- Thosσá oµ yo⌡ wh∩ havσ ß disδ systeφ witΦ thσ CP/═ Disδ Operatinτ Systeφ ì
- o≥á onσá oµ it≤ derivative≤ havσ aε alternativσ methoΣ oµá incorporatinτá ne≈ ì
- command≤á int∩á thσ monitor«á Thi≤ allow≤ yo⌡ t∩ brinτá iεá routine≤á withou⌠ ì
- permanentl∙á usinτ u≡ memor∙ space¼á anΣ als∩ allow≤ yo⌡ t∩ takσ advantagσ oµ ì
- thσ CP/═ BDO╙ I/╧ commands«á You≥ routine≤ caε bσ essentiall∙ independen⌠á oµ ì
- thσá monito≥á sincσ thσ monito≥ onl∙ require≤ tha⌠ yo⌡ havσ ßá filσá NAME.TY╨ ì
- whicΦá i≤ compatiblσ t∩ thσ COP┘ o≥ VERIF┘ commanΣ set«á Thσ monito≥ wil∞ tr∙ ì
- t∩ finΣ thσ specifieΣ transien⌠ file¼á anΣ iµ found¼ i⌠ wil∞ loaΣ anΣ executσ ì
- i⌠ jus⌠ a≤ thσ CP/═ CC╨ would«á T∩ returε t∩ thσ monitor¼ jus⌠ issuσ ß RE╘ a≤ ì
- thσá las⌠á assembl∙á instructioεá oµ thσ routinσá (assuminτá yo⌡á kep⌠á stacδ ì
- integrity).
-
- Releasσá ┴á oµ thσ monito≥ doe≤ no⌠ comσ witΦá an∙á transien⌠á commands« ìèThesσ wil∞ becomσ availablσ unde≥ separatσ purchase«á Iµ yo⌡ havσ thσ Releasσ ì
- ┬ versioε oµ thσ monitor¼ ß samplσ routinσ witΦ thσ filσ namσ "COPYTT.SMCó i≤ ì
- oεá thσá diskettσ witΦ thσ loade≥ "SYSMON.COM"«á Usσ thi≤ filσ t∩ checδá you≥ ì
- disδá interfacing«á Ente≥á thσ commanΣ [C.TTcr]«á Thσ filσá shoulΣá loaΣá anΣ ì
- executσ witΦ thσ message:
-
- SAMPLE EXECUTION FILE FOR PCE SYSTEM MONITOR
- USING COPY COMMAND [C.TT]
- IF YOU HAVE GOTTEN THIS FAR, YOU HAVE SUCCESSFULLY
- EXECUTED A TRANSIENT FILE
- PRESS <RETURN> KEY TO RETURN TO MONITOR
-
- Thσ samplσ transien⌠ commanΣ sourcσ i≤ listeΣ iε APPENDI╪ C.