home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
zcpr2
/
io.hlp
< prev
next >
Wrap
Text File
|
1994-07-13
|
13KB
|
319 lines
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