diff options
Diffstat (limited to 'macros/text1/compugraphics_8600/tex8600.outchan')
-rw-r--r-- | macros/text1/compugraphics_8600/tex8600.outchan | 580 |
1 files changed, 580 insertions, 0 deletions
diff --git a/macros/text1/compugraphics_8600/tex8600.outchan b/macros/text1/compugraphics_8600/tex8600.outchan new file mode 100644 index 0000000000..b2182cc794 --- /dev/null +++ b/macros/text1/compugraphics_8600/tex8600.outchan @@ -0,0 +1,580 @@ +@x +%test version +@y +%out version 1 +@z + +@x +\font\twelvept=cmbx12 +\font\tentex=cmr10 +@y +\font\twelvept=cmbx12 +@z + +@x +@p program tex8600(sysprint,addrline,setfile,cgfonts,infofile); +@y +@p program tex8600(sysprint,addrline,setfile,cgfonts); +@z + +@x +@<Global Variables@>@/ +static@/ +@!com_table :packed array[0..18] of string(7);@/ +value@/ + com_table[0] := 'HDR'; {Header Record}@/ + com_table[1] := 'CHWIDTH';{Character Width}@/ + com_table[2] := 'RT'; {Reverse Type}@/ + com_table[3] := 'PS'; {Point Size}@/ + com_table[4] := 'SS'; {Set Size}@/ + com_table[5] := 'VMF'; {Vertical Move Forward}@/ + com_table[6] := 'VMR'; {Vertical Move Reverse}@/ + com_table[7] := 'RW'; {Rule Width}@/ + com_table[8] := 'RD'; {Rule Depth}@/ + com_table[9] := 'IR'; {Insert Rule}@/ + com_table[10] := 'SL'; {Slant Mode}@/ + com_table[11] := 'RTWT'; {Reverse Type Window Top}@/ + com_table[12] := 'RTWB'; {Reverse Type Window Bottom}@/ + com_table[13] := 'AU'; {Auxiliary Character Set}@/ + com_table[14] := 'F'; {Change Fonts}@/ + com_table[15] := 'HMR'; {Horizontal Move Right}@/ + com_table[16] := 'HML'; {Horizontal Move Left}@/ + com_table[17] := 'TTS'; {8600 character, in decimal}@/ + com_table[18] := 'MAXCMD';@/ +%include pasclib(asciicvt)@/ +@y +@<Global Variables@>@/ +static@/ +@!com_table :packed array[0..18] of string(7);@/ +@!ordx : packed array['00'xc..'FF'xc] of '00'x..'7f'x;@/ +@!chrx : packed array['00'x..'7F'x] of '00'xc..'FF'xc;@/ +value@/ + com_table[0] := 'HDR'; {Header Record}@/ + com_table[1] := 'CHWIDTH';{Character Width}@/ + com_table[2] := 'RT'; {Reverse Type}@/ + com_table[3] := 'PS'; {Point Size}@/ + com_table[4] := 'SS'; {Set Size}@/ + com_table[5] := 'VMF'; {Vertical Move Forward}@/ + com_table[6] := 'VMR'; {Vertical Move Reverse}@/ + com_table[7] := 'RW'; {Rule Width}@/ + com_table[8] := 'RD'; {Rule Depth}@/ + com_table[9] := 'IR'; {Insert Rule}@/ + com_table[10] := 'SL'; {Slant Mode}@/ + com_table[11] := 'RTWT'; {Reverse Type Window Top}@/ + com_table[12] := 'RTWB'; {Reverse Type Window Bottom}@/ + com_table[13] := 'AU'; {Auxiliary Character Set}@/ + com_table[14] := 'F'; {Change Fonts}@/ + com_table[15] := 'HMR'; {Horizontal Move Right}@/ + com_table[16] := 'HML'; {Horizontal Move Left}@/ + com_table[17] := 'TTS'; {8600 character, in decimal}@/ + com_table[18] := 'MAXCMD';@/ +{ EBCDIC to ASCII INTEGER and ASCII INTEGER to EBCDIC conversion } +{ EBCDIC char to ASCII integer } { ASCII INTEGER to EBCDIC char } +ordx['00'xc]:='00'x; { NUL NUL } chrx['00'x]:='00'xc; { NUL NUL } +ordx['01'xc]:='01'x; { SOH SOH } chrx['01'x]:='01'xc; { SOH SOH } +ordx['02'xc]:='02'x; { STX STX } chrx['02'x]:='02'xc; { STX STX } +ordx['03'xc]:='03'x; { ETX ETX } chrx['03'x]:='03'xc; { ETX ETX } +ordx['04'xc]:='00'x; { ... NUL } chrx['04'x]:='37'xc; { EOT EOT } +ordx['05'xc]:='09'x; { HT HT } chrx['05'x]:='2D'xc; { ENQ ENQ } +ordx['06'xc]:='00'x; { ... NUL } chrx['06'x]:='2E'xc; { ACK ACK } +ordx['07'xc]:='7F'x; { DEL DEL } chrx['07'x]:='2F'xc; { BEL BEL } +ordx['08'xc]:='00'x; { ... NUL } chrx['08'x]:='16'xc; { BS BS } +ordx['09'xc]:='00'x; { ... NUL } chrx['09'x]:='05'xc; { HT HT } +ordx['0A'xc]:='00'x; { ... NUL } chrx['0A'x]:='25'xc; { LF LF } +ordx['0B'xc]:='0B'x; { VT VT } chrx['0B'x]:='0B'xc; { VT VT } +ordx['0C'xc]:='0C'x; { FF FF } chrx['0C'x]:='0C'xc; { FF FF } +ordx['0D'xc]:='0D'x; { CR CR } chrx['0D'x]:='0D'xc; { CR CR } +ordx['0E'xc]:='0E'x; { SO SO } chrx['0E'x]:='0E'xc; { SO SO } +ordx['0F'xc]:='0F'x; { SI SI } chrx['0F'x]:='0F'xc; { SI SI } +ordx['10'xc]:='10'x; { DLE DLE } chrx['10'x]:='10'xc; { DLE DLE } +ordx['11'xc]:='11'x; { DC1 DC1 } chrx['11'x]:='11'xc; { DC1 DC1 } +ordx['12'xc]:='12'x; { DC2 DC2 } chrx['12'x]:='12'xc; { DC2 DC2 } +ordx['13'xc]:='13'x; { TM DC3 } chrx['13'x]:='13'xc; { DC3 TM } +ordx['14'xc]:='00'x; { ... NUL } chrx['14'x]:='3C'xc; { DC4 DC4 } +ordx['15'xc]:='00'x; { ... NUL } chrx['15'x]:='3D'xc; { NAK NAK } +ordx['16'xc]:='08'x; { BS BS } chrx['16'x]:='32'xc; { SYN SYN } +ordx['17'xc]:='00'x; { ... NUL } chrx['17'x]:='26'xc; { ETB ETB } +ordx['18'xc]:='18'x; { CAN CAN } chrx['18'x]:='18'xc; { CAN CAN } +ordx['19'xc]:='19'x; { EM EM } chrx['19'x]:='19'xc; { EM EM } +ordx['1A'xc]:='00'x; { ... NUL } chrx['1A'x]:='3F'xc; { SUB SUB } +ordx['1B'xc]:='00'x; { ... NUL } chrx['1B'x]:='27'xc; { ESC ESC } +ordx['1C'xc]:='1C'x; { IFS FS } chrx['1C'x]:='1C'xc; { FS IFS } +ordx['1D'xc]:='1D'x; { IGS GS } chrx['1D'x]:='1D'xc; { GS IGS } +ordx['1E'xc]:='1E'x; { IRS RS } chrx['1E'x]:='1E'xc; { RS IRS } +ordx['1F'xc]:='1F'x; { IUS US } chrx['1F'x]:='1F'xc; { US IUS } +ordx['20'xc]:='00'x; { ... NUL } chrx['20'x]:='40'xc; { SP SP } +ordx['21'xc]:='00'x; { ... NUL } chrx['21'x]:='5A'xc; { ! ! } +ordx['22'xc]:='00'x; { ... NUL } chrx['22'x]:='7F'xc; { " " } +ordx['23'xc]:='00'x; { ... NUL } chrx['23'x]:='7B'xc; { # # } +ordx['24'xc]:='00'x; { ... NUL } chrx['24'x]:='5B'xc; { $ $ } +ordx['25'xc]:='0A'x; { LF LF } chrx['25'x]:='6C'xc; { % % } +ordx['26'xc]:='17'x; { ETB ETB } chrx['26'x]:='50'xc; { & & } +ordx['27'xc]:='1B'x; { ESC ESC } chrx['27'x]:='7D'xc; { ' ' } +ordx['28'xc]:='00'x; { ... NUL } chrx['28'x]:='4D'xc; { ( ( } +ordx['29'xc]:='00'x; { ... NUL } chrx['29'x]:='5D'xc; { ) ) } +ordx['2A'xc]:='00'x; { ... NUL } chrx['2A'x]:='5C'xc; { * * } +ordx['2B'xc]:='00'x; { ... NUL } chrx['2B'x]:='4E'xc; { + + } +ordx['2C'xc]:='00'x; { ... NUL } chrx['2C'x]:='6B'xc; { , , } +ordx['2D'xc]:='05'x; { ENQ ENQ } chrx['2D'x]:='60'xc; { - - } +ordx['2E'xc]:='06'x; { ACK ACK } chrx['2E'x]:='4B'xc; { . . } +ordx['2F'xc]:='07'x; { BEL BEL } chrx['2F'x]:='61'xc; { / / } +ordx['30'xc]:='00'x; { ... NUL } chrx['30'x]:='F0'xc; { 0 0 } +ordx['31'xc]:='00'x; { ... NUL } chrx['31'x]:='F1'xc; { 1 1 } +ordx['32'xc]:='16'x; { SYN SYN } chrx['32'x]:='F2'xc; { 2 2 } +ordx['33'xc]:='00'x; { ... NUL } chrx['33'x]:='F3'xc; { 3 3 } +ordx['34'xc]:='00'x; { ... NUL } chrx['34'x]:='F4'xc; { 4 4 } +ordx['35'xc]:='00'x; { ... NUL } chrx['35'x]:='F5'xc; { 5 5 } +ordx['36'xc]:='00'x; { ... NUL } chrx['36'x]:='F6'xc; { 6 6 } +ordx['37'xc]:='04'x; { EOT EOT } chrx['37'x]:='F7'xc; { 7 7 } +ordx['38'xc]:='00'x; { ... NUL } chrx['38'x]:='F8'xc; { 8 8 } +ordx['39'xc]:='00'x; { ... NUL } chrx['39'x]:='F9'xc; { 9 9 } +ordx['3A'xc]:='00'x; { ... NUL } chrx['3A'x]:='7A'xc; { : : } +ordx['3B'xc]:='00'x; { ... NUL } chrx['3B'x]:='5E'xc; { ; ; } +ordx['3C'xc]:='14'x; { DC4 DC4 } chrx['3C'x]:='4C'xc; { < < } +ordx['3D'xc]:='15'x; { NAK NAK } chrx['3D'x]:='7E'xc; { = = } +ordx['3E'xc]:='00'x; { ... NUL } chrx['3E'x]:='6E'xc; { > > } +ordx['3F'xc]:='1A'x; { SUB SUB } chrx['3F'x]:='6F'xc; { ? ? } +ordx['40'xc]:='20'x; { SP SP } chrx['40'x]:='7C'xc; { @@ @@ } +ordx['41'xc]:='00'x; { ... NUL } chrx['41'x]:='C1'xc; { A A } +ordx['42'xc]:='00'x; { ... NUL } chrx['42'x]:='C2'xc; { B B } +ordx['43'xc]:='00'x; { ... NUL } chrx['43'x]:='C3'xc; { C C } +ordx['44'xc]:='00'x; { ... NUL } chrx['44'x]:='C4'xc; { D D } +ordx['45'xc]:='00'x; { ... NUL } chrx['45'x]:='C5'xc; { E E } +ordx['46'xc]:='00'x; { ... NUL } chrx['46'x]:='C6'xc; { F F } +ordx['47'xc]:='00'x; { ... NUL } chrx['47'x]:='C7'xc; { G G } +ordx['48'xc]:='00'x; { ... NUL } chrx['48'x]:='C8'xc; { H H } +ordx['49'xc]:='00'x; { ... NUL } chrx['49'x]:='C9'xc; { I I } +ordx['4A'xc]:='5E'x; { ã ã } chrx['4A'x]:='D1'xc; { J J } +ordx['4B'xc]:='2E'x; { . . } chrx['4B'x]:='D2'xc; { K K } +ordx['4C'xc]:='3C'x; { < < } chrx['4C'x]:='D3'xc; { L L } +ordx['4D'xc]:='28'x; { ( ( } chrx['4D'x]:='D4'xc; { M M } +ordx['4E'xc]:='2B'x; { + + } chrx['4E'x]:='D5'xc; { N N } +ordx['4F'xc]:='7C'x; { | | } chrx['4F'x]:='D6'xc; { O O } +ordx['50'xc]:='26'x; { & & } chrx['50'x]:='D7'xc; { P P } +ordx['51'xc]:='00'x; { ... NUL } chrx['51'x]:='D8'xc; { Q Q } +ordx['52'xc]:='00'x; { ... NUL } chrx['52'x]:='D9'xc; { R R } +ordx['53'xc]:='00'x; { ... NUL } chrx['53'x]:='E2'xc; { S S } +ordx['54'xc]:='00'x; { ... NUL } chrx['54'x]:='E3'xc; { T T } +ordx['55'xc]:='00'x; { ... NUL } chrx['55'x]:='E4'xc; { U U } +ordx['56'xc]:='00'x; { ... NUL } chrx['56'x]:='E5'xc; { V V } +ordx['57'xc]:='00'x; { ... NUL } chrx['57'x]:='E6'xc; { W W } +ordx['58'xc]:='00'x; { ... NUL } chrx['58'x]:='E7'xc; { X X } +ordx['59'xc]:='00'x; { ... NUL } chrx['59'x]:='E8'xc; { Y Y } +ordx['5A'xc]:='21'x; { ! ! } chrx['5A'x]:='E9'xc; { Z Z } +ordx['5B'xc]:='24'x; { $ $ } chrx['5B'x]:='AD'xc; { [ [ } +ordx['5C'xc]:='2A'x; { * * } chrx['5C'x]:='E0'xc; { \ \ } +ordx['5D'xc]:='29'x; { ) ) } chrx['5D'x]:='BD'xc; { ] ] } +ordx['5E'xc]:='3B'x; { ; ; } chrx['5E'x]:='4A'xc; { ã ã } +ordx['5F'xc]:='7E'x; { ^ ^ } chrx['5F'x]:='6D'xc; { _ _ } +ordx['60'xc]:='2D'x; { - - } chrx['60'x]:='79'xc; { ` ` } +ordx['61'xc]:='2F'x; { / / } chrx['61'x]:='81'xc; { a a } +ordx['62'xc]:='00'x; { ... NUL } chrx['62'x]:='82'xc; { b b } +ordx['63'xc]:='00'x; { ... NUL } chrx['63'x]:='83'xc; { c c } +ordx['64'xc]:='00'x; { ... NUL } chrx['64'x]:='84'xc; { d d } +ordx['65'xc]:='00'x; { ... NUL } chrx['65'x]:='85'xc; { e e } +ordx['66'xc]:='00'x; { ... NUL } chrx['66'x]:='86'xc; { f f } +ordx['67'xc]:='00'x; { ... NUL } chrx['67'x]:='87'xc; { g g } +ordx['68'xc]:='00'x; { ... NUL } chrx['68'x]:='88'xc; { h h } +ordx['69'xc]:='00'x; { ... NUL } chrx['69'x]:='89'xc; { i i } +ordx['6A'xc]:='00'x; { ... NUL } chrx['6A'x]:='91'xc; { j j } +ordx['6B'xc]:='2C'x; { , , } chrx['6B'x]:='92'xc; { k k } +ordx['6C'xc]:='25'x; { % % } chrx['6C'x]:='93'xc; { l l } +ordx['6D'xc]:='5F'x; { _ _ } chrx['6D'x]:='94'xc; { m m } +ordx['6E'xc]:='3E'x; { > > } chrx['6E'x]:='95'xc; { n n } +ordx['6F'xc]:='3F'x; { ? ? } chrx['6F'x]:='96'xc; { o o } +ordx['70'xc]:='00'x; { ... NUL } chrx['70'x]:='97'xc; { p p } +ordx['71'xc]:='00'x; { ... NUL } chrx['71'x]:='98'xc; { q q } +ordx['72'xc]:='00'x; { ... NUL } chrx['72'x]:='99'xc; { r r } +ordx['73'xc]:='00'x; { ... NUL } chrx['73'x]:='A2'xc; { s s } +ordx['74'xc]:='00'x; { ... NUL } chrx['74'x]:='A3'xc; { t t } +ordx['75'xc]:='00'x; { ... NUL } chrx['75'x]:='A4'xc; { u u } +ordx['76'xc]:='00'x; { ... NUL } chrx['76'x]:='A5'xc; { v v } +ordx['77'xc]:='00'x; { ... NUL } chrx['77'x]:='A6'xc; { w w } +ordx['78'xc]:='00'x; { ... NUL } chrx['78'x]:='A7'xc; { x x } +ordx['79'xc]:='60'x; { ` ` } chrx['79'x]:='A8'xc; { y y } +ordx['7A'xc]:='3A'x; { : : } chrx['7A'x]:='A9'xc; { z z } +ordx['7B'xc]:='23'x; { # # } chrx['7B'x]:='C0'xc; { lcurly } +ordx['7C'xc]:='40'x; { @@ @@ } chrx['7C'x]:='4F'xc; { | | } +ordx['7D'xc]:='27'x; { ' ' } chrx['7D'x]:='D0'xc; { rcurly } +ordx['7E'xc]:='3D'x; { = = } chrx['7E'x]:='9C'xc; { tilde } +ordx['7F'xc]:='22'x; { " " } chrx['7F'x]:='07'xc; { DEL DEL } +ordx['80'xc]:='00'x; { ... NUL } +ordx['81'xc]:='61'x; { a a } +ordx['82'xc]:='62'x; { b b } +ordx['83'xc]:='63'x; { c c } +ordx['84'xc]:='64'x; { d d } +ordx['85'xc]:='65'x; { e e } +ordx['86'xc]:='66'x; { f f } +ordx['87'xc]:='67'x; { g g } +ordx['88'xc]:='68'x; { h h } +ordx['89'xc]:='69'x; { i i } +ordx['8A'xc]:='00'x; { ... NUL } +ordx['8B'xc]:='00'x; { ... NUL } +ordx['8C'xc]:='00'x; { ... NUL } +ordx['8D'xc]:='00'x; { ... NUL } +ordx['8E'xc]:='00'x; { ... NUL } +ordx['8F'xc]:='00'x; { ... NUL } +ordx['90'xc]:='00'x; { ... NUL } +ordx['91'xc]:='6A'x; { j j } +ordx['92'xc]:='6B'x; { k k } +ordx['93'xc]:='6C'x; { l l } +ordx['94'xc]:='6D'x; { m m } +ordx['95'xc]:='6E'x; { n n } +ordx['96'xc]:='6F'x; { o o } +ordx['97'xc]:='70'x; { p p } +ordx['98'xc]:='71'x; { q q } +ordx['99'xc]:='72'x; { r r } +ordx['9A'xc]:='00'x; { ... NUL } +ordx['9B'xc]:='00'x; { ... NUL } +ordx['9C'xc]:='7E'x; { tilde } +ordx['9D'xc]:='00'x; { ... NUL } +ordx['9E'xc]:='00'x; { ... NUL } +ordx['9F'xc]:='00'x; { ... NUL } +ordx['A0'xc]:='00'x; { ... NUL } +ordx['A1'xc]:='1A'x; { ... SUB } +ordx['A2'xc]:='73'x; { s s } +ordx['A3'xc]:='74'x; { t t } +ordx['A4'xc]:='75'x; { u u } +ordx['A5'xc]:='76'x; { v v } +ordx['A6'xc]:='77'x; { w w } +ordx['A7'xc]:='78'x; { x x } +ordx['A8'xc]:='79'x; { y y } +ordx['A9'xc]:='7A'x; { z z } +ordx['AA'xc]:='00'x; { ... NUL } +ordx['AB'xc]:='00'x; { ... NUL } +ordx['AC'xc]:='00'x; { ... NUL } +ordx['AD'xc]:='5B'x; { [ [ } +ordx['AE'xc]:='00'x; { ... NUL } +ordx['AF'xc]:='00'x; { ... NUL } +ordx['B0'xc]:='00'x; { ... NUL } +ordx['B1'xc]:='00'x; { ... NUL } +ordx['B2'xc]:='00'x; { ... NUL } +ordx['B3'xc]:='00'x; { ... NUL } +ordx['B4'xc]:='00'x; { ... NUL } +ordx['B5'xc]:='00'x; { ... NUL } +ordx['B6'xc]:='00'x; { ... NUL } +ordx['B7'xc]:='00'x; { ... NUL } +ordx['B8'xc]:='00'x; { ... NUL } +ordx['B9'xc]:='00'x; { ... NUL } +ordx['BA'xc]:='00'x; { ... NUL } +ordx['BB'xc]:='00'x; { ... NUL } +ordx['BC'xc]:='00'x; { ... NUL } +ordx['BD'xc]:='5D'x; { ] ] } +ordx['BE'xc]:='00'x; { ... NUL } +ordx['BF'xc]:='00'x; { ... NUL } +ordx['C0'xc]:='7B'x; { lcurly } +ordx['C1'xc]:='41'x; { A A } +ordx['C2'xc]:='42'x; { B B } +ordx['C3'xc]:='43'x; { C C } +ordx['C4'xc]:='44'x; { D D } +ordx['C5'xc]:='45'x; { E E } +ordx['C6'xc]:='46'x; { F F } +ordx['C7'xc]:='47'x; { G G } +ordx['C8'xc]:='48'x; { H H } +ordx['C9'xc]:='49'x; { I I } +ordx['CA'xc]:='00'x; { ... NUL } +ordx['CB'xc]:='00'x; { ... NUL } +ordx['CC'xc]:='00'x; { ... NUL } +ordx['CD'xc]:='00'x; { ... NUL } +ordx['CE'xc]:='00'x; { ... NUL } +ordx['CF'xc]:='00'x; { ... NUL } +ordx['D0'xc]:='7D'x; { rcurly } +ordx['D1'xc]:='4A'x; { J J } +ordx['D2'xc]:='4B'x; { K K } +ordx['D3'xc]:='4C'x; { L L } +ordx['D4'xc]:='4D'x; { M M } +ordx['D5'xc]:='4E'x; { N N } +ordx['D6'xc]:='4F'x; { O O } +ordx['D7'xc]:='50'x; { P P } +ordx['D8'xc]:='51'x; { Q Q } +ordx['D9'xc]:='52'x; { R R } +ordx['DA'xc]:='00'x; { ... NUL } +ordx['DB'xc]:='00'x; { ... NUL } +ordx['DC'xc]:='00'x; { ... NUL } +ordx['DD'xc]:='00'x; { ... NUL } +ordx['DE'xc]:='00'x; { ... NUL } +ordx['DF'xc]:='00'x; { ... NUL } +ordx['E0'xc]:='5C'x; { \ \ } +ordx['E1'xc]:='00'x; { ... NUL } +ordx['E2'xc]:='53'x; { S S } +ordx['E3'xc]:='54'x; { T T } +ordx['E4'xc]:='55'x; { U U } +ordx['E5'xc]:='56'x; { V V } +ordx['E6'xc]:='57'x; { W W } +ordx['E7'xc]:='58'x; { X X } +ordx['E8'xc]:='59'x; { Y Y } +ordx['E9'xc]:='5A'x; { Z Z } +ordx['EA'xc]:='00'x; { ... NUL } +ordx['EB'xc]:='00'x; { ... NUL } +ordx['EC'xc]:='00'x; { ... NUL } +ordx['ED'xc]:='00'x; { ... NUL } +ordx['EE'xc]:='00'x; { ... NUL } +ordx['EF'xc]:='00'x; { ... NUL } +ordx['F0'xc]:='30'x; { 0 0 } +ordx['F1'xc]:='31'x; { 1 1 } +ordx['F2'xc]:='32'x; { 2 2 } +ordx['F3'xc]:='33'x; { 3 3 } +ordx['F4'xc]:='34'x; { 4 4 } +ordx['F5'xc]:='35'x; { 5 5 } +ordx['F6'xc]:='36'x; { 6 6 } +ordx['F7'xc]:='37'x; { 7 7 } +ordx['F8'xc]:='38'x; { 8 8 } +ordx['F9'xc]:='39'x; { 9 9 } +ordx['FA'xc]:='00'x; { ... NUL } +ordx['FB'xc]:='00'x; { ... NUL } +ordx['FC'xc]:='00'x; { ... NUL } +ordx['FD'xc]:='00'x; { ... NUL } +ordx['FE'xc]:='00'x; { ... NUL } +ordx['FF'xc]:='00'x; { ... NUL } +@z + +@x +@! maxbuffer = 1029;@/ +@y +@! maxbuffer = 1024;@/ +@z + +@x +@p procedure writeheader; {only needed when using Datum 5095} +var + hdrec :string(5); +begin + if doingpages = true + then begin + hdrec := strconv(headernum); + write(setfile,hdrec); + bufferlen := 5; + end; {then..begin} + end; {writeheader} +@y +@p procedure writeheader; {only needed when using Datum 5095} +begin + if doingpages = true + then + bufferlen := 0; + end; {writeheader} +@z + +@x +@<write number of...@>= + writecommand(11,155*SPsPerPt); {155pt indent} + writecommand(25,320); {Bold} + write8600rec('50616765731e'xc); {'Pages '} + write8600rec('536574231e1e'xc); {'Set: '} + writecommand(25,330); {Bold Italic} + pages_conv := strconv(pages_set); + for inx := 1 to 5 + do write8600rec(str(chr(ordx + [pages_conv[inx]]))); + writecommand(11,265*SPsPerPt); {get ready for Tape \#} + +@ +@<write tape numb...@>= + writecommand(25,320); {Bold} + write8600rec('546170651e'xc); {'Tape '} + writecommand(20,2); {aux. char. set} + write8600rec('72'xc); {'\#'} + writecommand(20,1); {pri. char. set} + write8600rec('231e1e1e1e'xc); {': '} + postam_found := true; + writecommand(25,330); {bold italic} +@y +@<write number of...@>= + writecommand(11,155*SPsPerPt); {155pt indent} + writecommand(25,320); {Bold} + write8600rec('50616765731e'xc); {'Pages '} + write8600rec('536574231e1e'xc); {'Set: '} + writecommand(25,330); {Bold Italic} + pages_conv := strconv(pages_set); + for inx := 1 to 5 + do write8600rec(str(chr(ordx + [pages_conv[inx]]))); + +@ +@<write tape numb...@>= + postam_found := true; +@z + +@x +|setaccountbox| procedure. It also writes the information to another file +called the |infofile|. + +@<Global Constants@>= +@! notfatal = false;@/ + +@ +@<Global Variables@>= +@!addrline : text; +@!infofile : text; +@^system dependencies@> +@y +|setaccountbox| procedure. + +@<Global Constants@>= +@! notfatal = false;@/ + +@ +@<Global Variables@>= +@!addrline : text; +@^system dependencies@> +@z + +@x +@<parse info...@>= + rewrite(infofile,'NAME=' ccat filename ccat '.INFOFILE.*'); + while length(resource_info) > 0 do begin + inx := index(resource_info,':'); + if inx < 1 + then begin + errstr := resource_info; + error(28,notfatal,0); + end + else begin + str1 := substr(resource_info,1,inx-1); + resource_info := ltrim(substr(resource_info,inx+1)); + inx := index(resource_info,':'); + if inx = 0 + then begin + str2 := resource_info; + resource_info := ''; + end + else begin + int := inx - 1; {no sense starting at a colon:} + tempbool := false; + repeat + if substr(resource_info,int,1) = ' ' + then tempbool := true + else int := int - 1; + until tempbool; {which means we found a blank} + str2 := trim(substr(resource_info,1,int-1)); + resource_info := substr(resource_info,int+1); + end; + str1 := allcaps(ltrim(trim(str1))); + str2 := allcaps(ltrim(trim(str2))); + if str1 = 'NAME' then + infoname := str2 + else if str1 = 'PHONE' then + infophone := str2 + else if str1 = 'PROCEDURE_NUMBER' + then infoprocedure := str2 + else if str1 = 'BUDGET_PROJECT' + then infobudget := str2 + else if str1 = 'PICKUP' then + infodelivery := str2 + else if str1 = 'CAMPUS_ZIP' then + infozip := str2 + else if str1 = 'BIN' then + infobin := str2 + else if str1 = 'ID' then + infoid := str2 + else begin + errstr := resource_info; + error(28,notfatal,0); + end + end; + end; + +@ +@<send info...@>= + setaccountbox(infoname,infophone,infodelivery,infozip, + infobin,infoid); + writeln(infofile,infoname); + writeln(infofile,infophone); + writeln(infofile,infoprocedure); + writeln(infofile,infobudget); + writeln(infofile,infodelivery); + writeln(infofile,infozip); + writeln(infofile,infoid); + writeln(infofile,infobin); + writeln(infofile,job_length); + writeln(infofile,pages_set); + writeln(infofile,minimum_width); + writeln(infofile,real_filename); +@y +@<parse info...@>= + while length(resource_info) > 0 do begin + inx := index(resource_info,':'); + if inx < 1 + then begin + errstr := resource_info; + error(28,notfatal,0); + end + else begin + str1 := substr(resource_info,1,inx-1); + resource_info := ltrim(substr(resource_info,inx+1)); + inx := index(resource_info,':'); + if inx = 0 + then begin + str2 := resource_info; + resource_info := ''; + end + else begin + int := inx - 1; {no sense starting at a colon:} + tempbool := false; + repeat + if substr(resource_info,int,1) = ' ' + then tempbool := true + else int := int - 1; + until tempbool; {which means we found a blank} + str2 := trim(substr(resource_info,1,int-1)); + resource_info := substr(resource_info,int+1); + end; + str1 := allcaps(ltrim(trim(str1))); + str2 := allcaps(ltrim(trim(str2))); + if str1 = 'NAME' then + infoname := str2 + else if str1 = 'PHONE' then + infophone := str2 + else if str1 = 'PROCEDURE_NUMBER' + then infoprocedure := str2 + else if str1 = 'BUDGET_PROJECT' + then infobudget := str2 + else if str1 = 'PICKUP' then + infodelivery := str2 + else if str1 = 'CAMPUS_ZIP' then + infozip := str2 + else if str1 = 'BIN' then + infobin := str2 + else if str1 = 'ID' then + infoid := str2 + else begin + errstr := resource_info; + error(28,notfatal,0); + end + end; + end; + +@ +@<send info...@>= + setaccountbox(infoname,infophone,infodelivery,infozip, + infobin,infoid); +@z + +@x +@<set final...@>= + job_length := round(galley_length/72.0); + pages_set := num_of_pages; + job_type := 'TeX'; +@y +@<set final...@>= + job_length := round(galley_length/72.0); + pages_set := num_of_pages; + job_type := 'TeX'; + writecommand(11,0); {quad left} + writecommand(9,100*SPsPerPt); {VMF past box} + writecommand(1,0.0); {End of take} +@z + +@x + reset(input,'NAME=' ccat filename ccat '.' ccat filetype ccat '.*'); + writeln('******* tex8600 Version ',version:2,' Level ', + level:3,' *******'); + rewrite(setfile,'LRECL=1029,RECFM=F,NAME=' ccat filename ccat +'.TAPEFILE.*'); +@y + reset(input,'NAME=' ccat filename ccat '.' ccat filetype ccat '.*'); + writeln('******* tex8600 Version ',version:2,' Level ', + level:3,' *******'); + rewrite(setfile,'LRECL=1024,RECFM=F,NAME=' ccat filename ccat +'.TAPEFILE.*'); +@z |