home *** CD-ROM | disk | FTP | other *** search
- Redirectable I/O Under ZCPR2 and SYSIO
- Loading Redirectable I/O Drivers -- IOLOADER
- Displaying and Selecting Redirectable I/O Drivers -- DEVICE
- Controlling the Disk Output Facility -- RECORD
- Redirectable I/O and the ZCPR2 System
- :Redirectable I/O Under ZCPR2
-
- Basically¼á thσá concep⌠á oµ redirectablσ I/╧á involve≤á thσ ì
- assignmen⌠á oµ physica∞ device≤ t∩ logica∞á devices«á ZCPR▓á anΣ ì
- CP/═ suppor⌠ fou≥ logica∞ devices:
-
- CON: - Console - An I/O Device for User/System Commo
- LST: - Printer - An Output-Only Device for Printouts
- RDR: - Reader - An Input-Only Device
- PUN: - Punch - An Output-Only Device
-
- Unde≥á CP/M¼á therσ arσ onl∙ fou≥ physica∞ device≤ whicΦ ma∙ ì
- bσá assigneΣ t∩ eacΦ oµ thσ fou≥ logica∞ devices«á Unde≥á ZCPR2¼ ì
- therσá ma∙á bσ a≤ man∙ physica∞ device≤ a≤ desireΣ whicΦá ma∙á bσ ì
- assigned to each of the four logical devices.
-
- ┴áá "physica∞á deviceóá iεá thσá traditiona∞á sensσáá i≤áá ß ì
- conventiona∞ I/╧ device¼á likσ ß CR╘ o≥ ß Printer«á Iε thσ sensσ ì
- oµ ZCPR2¼á i⌠ i≤ ß devicσ driver¼á o≥ bod∙ oµ software¼á whicΦ i≤ ì
- communicateΣ witΦ viß thσ BIOS«á Thi≤ bod∙ oµ software¼ iε turn¼ ì
- may communicate with any device OR SET OF DEVICES that it wishes.
-
- SYSI╧á i≤ ß samplσ se⌠ oµ Redirectablσ I/╧ Driver≤á designeΣ ì
- t∩ bσ useΣ witΦ ZCPR▓ oε m∙ system«á Unde≥ SYSIO¼á thσ followinτ ì
- "physical devices" are implemented:
-
- CON: Devices - TTY
- CRT
- CRT Input and CRT/Remote Computer Output
- CRT and Modem Input and CRT and Modem Output
- in Parallel
- CRT Input and CRT/Modem Output
-
- LST: Devices - TTY
- CRT
- Modem
- Remote Computer
-
- RDR: and PUN: Devices - Modem
- Clock
-
-
- A≤á yo⌡á caεá see¼á thσ "physica∞ devicesó unde≥á ZCPR▓á caε ì
- actuall∙á bσ combination≤ oµ actua∞ devices«á Thσ CR╘ Inpu⌠á anΣ ì
- CRT/Remotσ Compute≥ Outpu⌠ device¼ fo≥ instance¼ i≤ useΣ t∩ allo≈ ì
- a remote computer record screen displays which go to the CRT.
-
- Unde≥ ZCPR2¼á yo⌡ caε creatσ a≤ man∙ sets¼á o≥ packages¼á oµ ì
- Redirectablσ I/╧ Driver≤ a≤ yo⌡ wish« EacΦ packagσ caε bσ se⌠ u≡ ì
- t∩ givσ thσ use≥ differen⌠ type≤ oµ capabilities«á Fo≥ instance¼ ì
- onσá packagσá caεá bσ likσ thσ onσ ╔á havσá defineΣá abovσá whilσ ì
- anothe≥á packagσ caε providσ Disδ Recordinτ capability¼á sucΦá a≤ ì
- CRT Input and CRT/Disk File Output.
-
-
- Thσá ZCPR▓á Systeφá oµá Program≤á contain≤á threσá utilitie≤ ì
- designeΣ t∩ suppor⌠ thσ Redirectablσ I/╧ System« Thesσ utilitie≤ ì
- and their functions are:
-
- IOLOADER -- Load a Redirectable I/O Package
- DEVICE -- Display and Select Physical I/O Devices
- RECORD -- Turn on and off the Recording Facility
-
- Thi≤á HEL╨á Filσ discusse≤ thesσ utilitie≤ anΣ ho≈ the∙á arσ ì
- intended to be used.
-
- Chapte≥á ╖á oµá thσ "Concept≤ Manua∞á fo≥á ZCPR2óá discusse≤ ì
- redirectablσá I/╧á a≤á i⌠ caε bσ implementeΣá unde≥á ZCPR2«á Thσ ì
- reader is invited to refer to this for much more detail.
-
-
- :Loading Redirectable I/O Drivers -- IOLOADER
-
- IOLOADE╥á i≤ useΣ t∩ loaΣ aε indicateΣ o≥ implieΣ I/╧ drive≥ ì
- packagσá int∩á you≥ redirectablσ I/╧ buffe≥á area«á IOLOADE╥á i≤ ì
- invoked by one of the following forms:
-
- IOLOADER // <-- Print Help Message
- IOLOADER <-- Load SYSIO.IO
- IOLOADER filename <-- Load filename.IO
- IOLOADER filename.typ <-- Load filename.typ
-
- Notσá tha⌠á thσá DIR║á prefi° i≤á NO╘á supporteΣá witΦá thi≤ ì
- program«á Iε al∞ case≤ oµ loadinτ files¼ IOLOADE╥ searche≤ alonτ ì
- thσ ZCPR▓ patΦ fo≥ thσ indicateΣ o≥ implieΣ file« Oncσ found¼ i⌠ ì
- is loaded into your redirectable I/O buffer.
-
- GENIN╙á i≤ useΣ t∩ instal∞ IOLOADER¼á anΣ IOLOADE╥ neeΣ onl∙ ì
- kno≈ thσ addres≤ oµ thσ externa∞ path¼ thσ symbo∞ fo≥ thσ curren⌠ ì
- use≥ anΣ disδ indicato≥ ("$ó b∙ default)¼á anΣ thσ addres≤ oµ thσ ì
- redirectable I/O buffer.
-
- :Displaying and Selecting Redirectable I/O Drivers -- DEVICE
-
- DEVICE¼á o≥á DEVICE▓á (s∩ calleΣ becausσ i⌠á i≤á thσá seconΣ ì
- generatioεá oµ m∙ DEVIC┼ program)¼á i≤ useΣ t∩ allo≈ thσ use≥á t∩ ì
- interactivel∙ displa∙ thσ name≤ oµ thσ availablσ physica∞ device≤ ì
- (actually¼á devicσá drivers⌐ whicΦ ma∙ bσ assigneΣ t∩ thσ logica∞ ì
- device≤á anΣ t∩ allo≈ thσ use≥ t∩ assigε ß physica∞ devicσá t∩á ß ì
- logical device by name.
-
- DEVICE is invoked by one of the following forms:
-
- DEVICE // <-- Print Help Info
- DEVICE <-- Enter Interactive Command Mode
- DEVICE cmd,cmd,... <-- Immediately Execute Commands
-
- Iεá al∞ cases¼á wheneve≥ yo⌡ arσ givinτ command≤ t∩á DEVICE¼ ì
- whethe≥á i⌠á i≤á froφ thσ commanΣ leve∞ oµ ZCPR▓ o≥á froφá withiε ìèDEVIC┼ itself¼á yo⌡ caε specif∙ ß serie≤ oµ command≤ separateΣ b∙ ì
- commas.
-
-
- The following commands can be given to DEVICE:
-
- DISPLAY ALL or CON or LST or RDR or PUN
- <-- Display Physical Device Driver Names which
- can be assigned to CON:, LST:, RDR:, or PUN:
- Logical Devices; also display the current
- assignment
-
- CON or LST or RDR or PUN = Device
- <-- Assign a Physical Device Driver to a Logical
- Device
-
- Iε al∞ cases¼ onl∙ thσ firs⌠ lette≥ oµ DISPLA┘ anΣ thσ firs⌠ ì
- lette≥ oµ ß Logica∞ Devicσ o≥ thσ worΣ "ALLó i≤á necessary«á Al∞ ì
- othe≥á letter≤á arσ ignored«á Thσ completσ namσ oµá thσá device¼ ì
- however, is necessary.
-
- Also¼áá thσáá spacσá anΣá thσá characte≥á "=óá ma∙á bσá useΣ ì
- interchangably and case is not significant.
-
- The following are examples of DEVICE commands:
-
- D C,D L or D=C,D=L
- Display CON: and LST: Devices
-
- con:=crt,list=tty,reader=modeφ o≥ c=crt,∞ tty,r=modem
- Select the Physical Device Driver called CRT for
- the CON: Logical Device, select TTY for the LST:
- Logical Device, and select MODEM for the RDR:
-
- Thσá followinτ termina∞ sessioε furthe≥ illustrate≤ thσá usσ ì
- oµ DEVIC┼ witΦ m∙ particula≥ se⌠ oµ Redirectablσ I/╧ Drivers« M∙ ì
- comments are indicated by <<--.
-
-
- B7>device display console
- DEVICE2, Version 1.3
-
- CON: Devices --
- CRTMOD2 - Televideo 950 CRT Input and CRT/Modem Output
- CRTREM - Televideo 950 CRT Input and CRT/Remote Output
- CRTMOD - Televideo 950 CRT and Modem in Parallel
- CRT - Televideo 950 CRT
- TTY - Model 43 Printing Terminal
- Current Assignment: CRTMOD
-
- B7>device
- DEVICE2, Version 1.3
- DEVICE2 Interactive Command System
- Type ? and Strike RETURN for Help
-
-
- DEVICE2 Command? d l,lst:=modem <<-- Multiple Commands in
- <<-- Free Format
- LST: Devices --
- MODEM - DC Hayes Smartmodem
- REMOTE - Remote Computer
- CRT - Televideo 950 CRT
- TTY - Model 43 Printing Terminal
- Current Assignment: TTY
- DEVICE2 Command? display list
-
- LST: Devices --
- MODEM - DC Hayes Smartmodem
- REMOTE - Remote Computer
- CRT - Televideo 950 CRT
- TTY - Model 43 Printing Terminal
- Current Assignment: MODEM
-
-
- DEVICE2 Command? l tty <<-- Assign Device
- DEVICE2 Command? l ttyx <<-- How DEVICE Handles Errors
- Invalid Name Assignment at -- TTYX
- DEVICE2 Command? d l
-
- LST: Devices --
- MODEM - DC Hayes Smartmodem
- REMOTE - Remote Computer
- CRT - Televideo 950 CRT
- TTY - Model 43 Printing Terminal
- Current Assignment: TTY
-
-
- DEVICE2 Command? ? <<-- Built-In Help
- DEVICE2 Commands are of the form:
- Command,Command, ... <-- Issue Commands
- where "command" may take the following forms:
- DISPLAY=ALL <-- Display Names of All Devices
- DISPLAY=CON <-- Display Names of Consoles
- DISPLAY=LST <-- Display Names of Printers
- DISPLAY=RDR <-- Display Names of Readers
- DISPLAY=PUN <-- Display Names of Punches
-
- CON:=name <-- Select Console
- LST:=name <-- Select Printer
- RDR:=name <-- Select Reader
- PUN:=name <-- Select Punch
-
- A command line beginning with a semicolon (;) is a comment.
- The X Command Exits DEVICE2.
-
- DEVICE2 Command? x <<-- Exit
- :Controlling the Disk Output Facility -- RECORD
-
- RECOR─á i≤á useΣ t∩ contro∞ thσ Disδ Outpu⌠ Facilit∙ oµá thσ ì
- Redirectablσ I/╧ Drivers«á Copie≤ oµ Consolσ anΣ Printe≥ output≤ ì
- caε bσ createΣ iε disδ file≤ b∙ thσ usσ oµ thi≤ facility¼á anΣ i⌠ ì
- ma∙ bσ extendeΣ int∩ ß numbe≥ oµ othe≥ application≤ a≤ well.
-
- RECORD is invoked by one of the following forms:
-
- RECORD or RECORD // <-- Get Help
- RECORD ON or OFF <-- Console Recording
- RECORD ON or OFF PRINTER <-- Printer Recording
-
- Fo≥ RECOR─ t∩ perforφ it≤ function¼á i⌠ mus⌠ bσá implementeΣ ì
- iε thσ Redirectablσ I/╧ Drivers« Thi≤ i≤ lef⌠ a≤ aε exercisσ fo≥ ì
- thσá reader«á Thσá Redirectablσ I/╧ Driver≤ supplieΣ witΦá ZCPR▓ ì
- havσá simplσ RETurε instruction≤ a≤ thσ subroutine≤á executeΣá b∙ ì
- the RECORD functions.
-
-
- Fou≥á routine≤á arσ accesseΣ iε thσ Redirectablσ I/╧á Drive≥ ì
- package to control the RECORD function. They are:
-
- COPEN -- Open File for Recording Console Output
- LOPEN -- Open File for Recording List Output
- CCLOSE -- Close File for Recording Console Output
- LCLOSE -- Close File for Recording List Output
-
- Iεá thσ case≤ oµ COPE╬ anΣ LOPEN¼á the∙ arσ passeΣ ß pointe≥ ì
- t∩á thσá firs⌠ twelvσ byte≤ oµ aε FC┬ iε HL«á The∙ arσá t∩á cop∙ ì
- thesσá twelvσá byte≤á int∩ thei≥ interna∞ FCB≤ anΣá usσá theφá t∩ ì
- definσ thσ filσ names«á Typically¼ thσ outpu⌠ file≤ generateΣ b∙ ì
- thσá RECOR─ functioε arσ placeΣ iε thσ curren⌠á directory¼á alth∩ ì
- thσá Redirectablσá I/╧ Driver≤ ma∙ bσ configureΣá t∩á placσá theφ ì
- anywherσ desired.
-
- Wheεá RECOR─á i≤á invokeΣá t∩á turε O╬á onσá oµá thσá recorΣ ì
- functions¼ i⌠ prompt≤ thσ use≥ fo≥ thσ namσ oµ thσ filσ t∩ recorΣ ì
- into« RECOR─ theε call≤ thσ appropriatσ OPE╬ routine.
-
- Thσá RECOR─á prograφ know≤ iµ disδ filσ outpu⌠á driver≤á arσ ì
- availablσ thr⌡ thσ Redirectablσ I/╧ Packagσ Statu≤á Routine«á Iµ ì
- Registe≥ ┴ i≤ returneΣ witΦ thσ high-orde≥ bi⌠ set¼á sucΦ driver≤ ì
- arσ available.
-
- RECOR─á i≤ tieΣ int∩ thσ Redirectablσ I/╧ Package≤ anΣ work≤ ì
- witΦá them«á Thσ reade≥ i≤ inviteΣ t∩ refe≥ t∩ thσá Installatioε ì
- Manua∞á anΣá thσá Concept≤á Manua∞á fo≥á furthe≥á detai∞á oεá thσ ì
- organizatioε anΣ functioε oµ sucΦ packages.
-
- RECOR─ i≤ als∩ indirectl∙ tieΣ int∩ DEVICE« Invokinτ RECOR─ ì
- itselµáá doe≤á no⌠á necessaril∙á star⌠á thσáá recordinτáá proces≤ ì
- immediately«á Tw∩á function≤ mus⌠ takσ placσ t∩ begiεá recordinτ ì
- outpu⌠ ont∩ disδ files:
-
- 1) RECORD has to turn the appropriate Driver ON
- 2) DEVICE has to select the appropriate Driver
-
-
- Thi≤ lead≤ t∩ interestinτ possiblities«á B∙ turninτá RECOR─ ì
- OF╞á durinτá ß recordinτ session¼á thσ outpu⌠ filσ i≤ closeΣá anΣ ì
- availablσá fo≥ othe≥ uses«á Iµ RECOR─ i≤ late≥á turneΣá ON¼á thσ ì
- outpu⌠á filσá ma∙á bσ deleteΣ (iµ thσ samσ filσá i≤á selecteΣá t∩ ì
- recorΣ into)«á However¼ iµ ß ne≈ devicσ i≤ selecteΣ whilσ RECOR─ ì
- i≤á O╬á (say¼á DEVIC┼á CON:=CR╘ i≤á issued)¼á theεá recordinτá i≤ ì
- SUSPENDE─ (NO╘ turneΣ off⌐ unti∞ thσ recordinτ devicσ i≤ selecteΣ ì
- again«á Hence¼á iµá i⌠á look≤ likσ thσ recordinτ sessioε i≤á no⌠ ì
- goinτ well¼á recordinτ caε bσ suspended¼á thσ probleφ fixed¼á anΣ ì
- theε recordinτ caε bσ resumed.
-
- Thi≤á combineΣ systeφ oµ DEVIC┼ anΣ RECOR─ provide≤á ßá ver∙ ì
- flexiblσá outpu⌠á recordinτá system«á Iεá addition¼á thσá outpu⌠ ì
- recordinτá neeΣ no⌠ necessaril∙ g∩ t∩ ß disδ file«á I⌠ coulΣá bσ ì
- se⌠ u≡ t∩ senΣ CON║ outpu⌠ t∩ thσ CR╘ and¼ say¼ ß Remotσ Compute≥ ì
- fo≥á processing«á Thσ systeφ caε bσ configureΣ iε ß largσ numbe≥ ì
- oµ ways.
-
- :Redirectable I/O and the ZCPR2 System
-
- Thσá ZCPR▓ Systeφ caε functioε witΦ o≥ withou⌠á Redirectablσ ì
- I/╧á a≤ implementeΣ b∙ thσ Redirectablσ I/╧ Drive≥á Package≤á anΣ ì
- thσ IOLOADER¼á DEVICE¼ anΣ RECOR─ programs« Obviously¼ thσ ZCPR▓ ì
- System is made much more flexible by employing these facilities.
-
- DEVIC┼á anΣ RECOR─ arσ tieΣ directl∙ t∩ thσ Redirectable I/╧ ì
- Package≤ themselves« The∙ don'⌠ usσ an∙ oµ thσ othe≥ feature≤ oµ ì
- thσá ZCPR▓ Systeφ t∩ speaδ of¼á anΣ the∙ arσ installeΣ b∙á GENIN╙ ì
- (the∙ neeΣ t∩ kno≈ wherσ thσ Redirectablσ I/╧ Buffe≥ i≤ located)« ì
- IOLOADE╥ als∩ need≤ t∩ bσ tolΣ wherσ thσ Redirectablσ I/╧á Buffe≥ ì
- i≤á locateΣá b∙ GENINS¼á anΣ i⌠ use≤ thσ ZCPR▓ patΦ t∩á finΣá it≤ ì
- files.
-
- Thσá program≤á controllinτ thσ Redirectablσ I/╧ Driver≤á arσ ì
- tied together in this manner:
-
- IOLOADER loads the drivers
- DEVICE controls the drivers
- RECORD enables and disables the disk recording
- facilities of the drivers