|
|
DataMuseum.dkPresents historical artifacts from the history of: DANOSI |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DANOSI Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 4631 (0x1217)
Types: TextFile
Names: »TESTIO.RTP«
└─⟦289818552⟧ Bits:30010516 DVBS1.SW2114.src.2.7-3 SW2114 3/4 Real Time Pascal 2.7
└─⟦this⟧ »RTP\TESTIO.RTP«
└─⟦783187a02⟧ Bits:30010525 DVBS1.SW2114.src.2.6-3 RTP compiler source SW2104+SW2114 Disk#3 30/1-92 HHA
└─⟦this⟧ »RTP\TESTIO.RTP«
└─⟦ca921ce75⟧ Bits:30010528 DVBS1.SW2114.src.2.6-6 RTP Compiler Source SW2104+SW2114 Disk 3 92.02.03 HEJ HHA
└─⟦this⟧ »RTP\TESTIO.RTP«
└─⟦d5707feda⟧ Bits:30010512 DVBS1.SW2114.src.2.14-3 SW2114 REAL #3/4 TIME PASCAL SOURCE REL 2.14 92.09.01
└─⟦this⟧ »RTP\TESTIO.RTP«
helpenv;\r
type\r
$if (target = i86)\r
$set target86 = 1\r
$else\r
$set target86 = 0\r
$endif\r
$if target86 = 1\r
inoutzone=record\r
iz,oz: op_zone;\r
p: ^pool;\r
end;\r
$else\r
inoutzone=record\r
iz,oz: zone;\r
p: ^pool;\r
end;\r
$endif\r
\r
procedure open_input_zone(var z: inoutzone); external;\r
procedure open_output_zone(var z: inoutzone); external;\r
$IF target86 = 0 \r
procedure outputEnd(var z: zone;b : boolean); external;\r
$ENDIF\r
.\r
$IF target = rc3502\r
procedure outstring(var z : Zone; s : string);\r
BEGIN\r
for i := 1 to s!length do outchar(z,s(i));\r
END;\r
$ENDIF\r
\r
$IF target86 = 0\r
procedure outputEnd(var z: zone;b : boolean);\r
begin\r
$IF target = rc3502\r
outend(z);\r
$ENDIF\r
$IF target = TA\r
outend(z,b);\r
delay(0);\r
$ENDIF\r
end;\r
$ENDIF\r
procedure open_input_zone(var z: inoutzone);\r
var mbx_ptr: ^mailbox;\r
begin\r
if nil(z.p) then\r
begin\r
new(z.p);\r
$if target86=1\r
op_initzone(z.iz);\r
$endif\r
if allocpool(z.p^,2,100)<>2 then;\r
$if target86=1\r
mbx_ptr:= search_object(operator_name);\r
op_openzone(z.iz,mbx_ptr,z.iz.dataready,1,z.p^,1,7,0,0);\r
op_in(z.iz);\r
op_in(z.iz);\r
$else\r
openopzone(z.iz,mbx_ptr,mbx_ptr,1,z.p^,1,7,0,0);\r
opin(z.iz);\r
$endif\r
end;\r
end;\r
procedure open_output_zone(var z: inoutzone);\r
var mbx_ptr: ^mailbox;\r
begin\r
if nil(z.p) then\r
begin\r
new(z.p);\r
$if target86=1\r
op_initzone(z.oz);\r
$endif\r
$code\r
if allocpool(z.p^,1,100)<>1 then;\r
$nocode\r
$if target86=1\r
mbx_ptr:= search_object(operator_name);\r
op_openzone(z.oz,mbx_ptr,z.oz.free,1,z.p^,2,7,0,0);\r
$else\r
openopzone(z.oz,mbx_ptr,mbx_ptr,1,z.p^,2,7,0,0);\r
$endif\r
end;\r
end;\r
$code\r
procedure writechar(var z: inoutzone; aa: char);\r
begin\r
open_output_zone(z);\r
$if target86=1\r
op_outchar(z.oz,aa);\r
op_outend(z.oz,true);\r
$else\r
outchar(z.oz,aa);\r
Outputend(z.oz,true);\r
$endif\r
end;\r
$nocode\r
procedure writestring(var z: inoutzone; inspect aa: string);\r
begin\r
\r
open_output_zone(z);\r
$if target86=1\r
op_outstring(z.oz,aa);\r
op_outchar(z.oz,' ');\r
op_outend(z.oz,true);\r
$else\r
for i := 1 to aa!length do\r
outchar(z.oz,aa(i));\r
outchar(z.oz,' ');\r
Outputend(z.oz,true);\r
$endif\r
end;\r
\r
procedure printboolean(var z: inoutzone; aa: boolean);\r
begin\r
open_output_zone(z);\r
if aa=true then\r
begin\r
$if target86 = 1\r
op_outstring(z.oz,"TRUE ");\r
op_outend(z.oz,true);\r
$else\r
outstring(z.oz,"TRUE ");\r
Outputend(z.oz,true);\r
$endif\r
end else\r
begin\r
$if target86 = 1\r
op_outstring(z.oz,"FALSE ");\r
op_outend(z.oz,true);\r
$else\r
outstring(z.oz,"FALSE ");\r
Outputend(z.oz,true);\r
$endif\r
end;\r
end;\r
procedure printinteger(var z: inoutzone; aa: integer);\r
begin\r
open_output_zone(z);\r
$if target86=1\r
op_outinteger(z.oz,aa,1);\r
op_outchar(z.oz,' ');\r
op_outend(z.oz,true);\r
$else\r
outinteger(z.oz,aa,1);\r
outchar(z.oz,' ');\r
Outputend(z.oz,true);\r
$endif\r
end;\r
$code\r
procedure printword(var z: inoutzone; aa: word);\r
begin\r
open_output_zone(z);\r
\r
with aa as ii: integer do\r
$if target86=1\r
op_outhex(z.oz,ii,5);\r
op_outstring(z.oz,"HW ");\r
op_outend(z.oz,true);\r
$else\r
outhex(z.oz,ii,5);\r
$nocode\r
outstring(z.oz,"HW ");\r
Outputend(z.oz,true);\r
$endif\r
end;\r
\r
procedure printbyte(var z: inoutzone; aa: byte);\r
begin\r
open_output_zone(z);\r
with aa as ii: 0..255 do\r
$if target86=1\r
op_outhex(z.oz,ii,5);\r
op_outstring(z.oz,"HB ");\r
op_outend(z.oz,true);\r
$else\r
outhex(z.oz,ii,5);\r
outstring(z.oz,"HB ");\r
Outputend(z.oz,true);\r
$endif\r
end;\r
\r
function readchar(var z: inoutzone): char;\r
var aa:char;\r
begin\r
open_input_zone(z);\r
$if target86 = 1\r
op_inchar(z.iz,aa);\r
$else\r
inchar(z.iz,aa);\r
$endif\r
if z.iz.readstate<>0 then\r
begin\r
$if target86=1\r
op_in(z.iz);\r
op_wait(z.iz,z.p^);\r
op_inchar(z.iz,aa);\r
$else\r
opin(z.iz);\r
opwait(z.iz,z.p^);\r
inchar(z.iz,aa);\r
$endif\r
end;\r
readchar:=aa;\r
end;\r
\r
function readinteger(var z: inoutzone): integer;\r
var aa:integer;\r
begin\r
open_input_zone(z);\r
$if target86 = 1\r
op_ininteger(z.iz,aa);\r
$else\r
ininteger(z.iz,aa);\r
$endif\r
if z.iz.readstate<>0 then\r
begin\r
$if target86=1\r
op_in(z.iz);\r
op_wait(z.iz,z.p^);\r
op_ininteger(z.iz,aa);\r
$else\r
opin(z.iz);\r
opwait(z.iz,z.p^);\r
ininteger(z.iz,aa);\r
$endif\r
end;\r
readinteger:=aa;\r
end;\r
\r
\r
function byt(x : integer) : byte;\r
begin\r
byt := x mod 256;\r
end;\r
\r
function int(x : INT16) : integer;\r
begin\r
int := x;\r
end;\r
\r
function wrd(x : integer) : INT16; \r
begin\r
wrd := x;\r
end.\r