ONLINEA867

(George Source)

Macros used: ACROSS, CHEKLFN2, COMBRKIN, COMERRX, ENDCOM, FINDOC, FINDPEREC, FJOCA, FREECORE, GEOERR, HLSXONCH, INFORM, ISPER, LONGOFF, LONGSTOP, MENDAREA, MFREE, MFREEW, MHUNT, MHUNTW, OUTPARAM, OUTPAUSE, PARABEG, PARALYSE, PARANUMB, PERCON, PERON, PROPERTY, PUTPERENT, RELPERENT, SEGENTRY, SETUPCORE, SINMAC3, SPARABEG, SPARANOT, TESTREP, TESTREP2, TESTREPNOT, ZERRORX, ZERRORY

ONLINEA867.txt
22FL    #SEG  ONLINEA8                     [A C PUTMAN  
22LS ...# (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983.   
22S3    #OPT  K0ONLINEA=0   
236D    #LIS  K0ONLINEA>K0ONLINE>K0COMMAND>K0ALLGEO 
23DW          8HONLINEA 
23YG    #   
24D6          SEGENTRY K1ONLINEA,SK1ONLINEA 
24XQ    #   
25CB    TBL1           #00010100           [TABLE OF BRANCH 
25X2                   #01020303           [MODIFIERS - TYPE DEPENDENT  
26BL                   #05120404
26W=                   #02030506
27*W                   #06060606
27TG                   #05050505
28*6                   #10120404
28SQ                   #11060606
29#B                   #06060606
29S2                   #06060606
2=?L                   #06060606
2=R=                   #06060606
2=YD    #SKI  JSKI19<1$1
2?5L    (   
2?=W                   #06060606
2?QG                   #06050505
2?SP    )   
2?WY    #SKI  JSKI19
2?^7    (   
2#3B                   #06061314
2#5K                   #14050505
2#7S    )   
2#=6                   #05050605
2#PQ                   #07060606
2*9B    TBL2  BRN      SI   
2*P2          BRN      SO   
2B8L          BRN      MT   
2BN=          BRN      XBS  
2C7W          BRN      MX   
2CMG          BRN      XOTIC               [BRANCH FOR EXOTIC PERIPHERALS   
2D76          BRN      XOTIC               ["SPECIAL" PERI. : TREAT AS EXOTIC   
2DLQ          BRN      OLCI 
2F6B          BRN      XIPB 
2FL2          BRN      XIPC 
2HJG          BRN      XDR  
2HM5    #SKI  JSKI19
2HPN    (   
2HS?          BRN      XFH  
2HWW          BRN      XFH  
2H^F    )   
2H^P    #   
2H^^    #SKI  JWPHASE4  
2J29    (   
2J2F    XONLINE 
2J2P          SBX   5  FX1  
2J2^          HLSXONCH XBI,AWORK1(2),SLHON [TELL HLS OF TYPE/UNIT NO
2J39          ADX   5  FX1  
2J3F          EXIT  5  0
2J3P    )   
2J46    #   
2JHQ    #     ANALYSE PARAMETERS , GIVE COMMAND ERROR IF INVALID . GO TO ROUTINE
2K3B    #     APPROPRIATE TO PERIPHERAL TYPE ; SLOW PERIPHERALS DEALT WITH HERE 
2KH2    #   
2L2L    SK1ONLINEA  
2L7S    #UNS  ASI   
2L*2          SINMAC3  OL                  [MACRO FOR SECURITY INTERFACE
2LG=          LDN   4  1
2L^W          LDCT  5  #320 
2MFG          PARABEG  1,4                 [GET PERIPHERAL PARAMETER
2M^6          MHUNT    3,CPB,CUNI   
2NDQ          LDX   4  ANUM(3)  
2NYB          BNG   4  OUTP                [BRANCH IF NO PARAMETER  
2PD2          LDX   4  ATYPE(3) 
2PXL          ANDN  4  #7777               [ISOLATE PARAM. NO.  
2QC=          SBN   4  1
2QWW          BNZ   4  PERR                [PARAM. ERROR IF NOT 1ST PAR.
2RBG          PERCON                       [CONVERT PERIPHERAL PARAM.   
2RW6          TESTREP  PARERR,XIT          [ERROR IN PERI PARAM 
2S*Q          MFREE    CPB,CUNI 
2STB          MHUNTW   3,CPAR,GPERCON      [GET PERCON REPLY BLOCK. 
2T*2          LDX   3  A1(3)               [TYPE / UNIT NO. 
2TSL          STO   3  AWORK1(2)
2W#=          RELPERENT 3                  [RELEASE REPIPHERAL IF NECESSARY 
2WRW          SRL   3  15                  [ISOLATE TYPE.   
2X?G          SRC   3  2                   [MAKE TYPE A CHARACTER MODIFIER  
2XR6          SMO      1
2Y=Q          LDCH  4  TBL1(3)             [ACCESS THE RELEVANT BRANCH MODIFIER 
2YQB          SLC   3  2                   [RESTORE TYPE.   
2^=2          LDX   7  4                   [0 IF SLOW INPUT ; 1 IF SLOW OUTPUT  
2^PL          SMO      4                   [AND 
329=          BRN      TBL2                [BRANCH TO THE NECESSARY SUBROUTINE  
32NW    #   
338G    MT    ACROSS   OLMTA,1             [MAGNETIC TAPE PERIPHERAL
33N6    XBS   ACROSS   SOUP,1              [BRANCH FOR MARK 7 BACKING STORE 
33SX    MX  
34?=          ACROSS   ONLINEB,1           [MULTIPLEXORS AND UNIPLEXORS.
34D3    XIPB
34WB          ACROSS   ONLINEB,2
3537    XOTIC   
357Y    #SKI  JWPHASE4  
35#P          CALL  5  XONLINE  
35FG          ACROSS   ONLINEC,1           [EXOTIC PERIPHERALS  
35LL    XJS   ACROSS   ONLINEC,2           [PSEUDO OFF-LINE SLOW PERIPHERALS
366=    OLCI  ACROSS   ONLINEC,3           [COMMAND ISSUER  
36?L    XIPC
36F2    #SKI  JWPHASE4  
36LB          CALL  5  XONLINE  
36RQ          ACROSS   IPCOPENB,1          [INTER PROGRAM COMMUNICATOR  
36^6    XDR 
376G    #SKI  JWPHASE4  
37?W          CALL  5  XONLINE  
37F=          ACROSS   DRUM,4   
37LT    #SKI  JSKI19
37NJ    (   
37Q?    #   
37S2    #     ONLINE FILE READER,WRITER,HANDLER : SET UP X7 FOR ONLINEC 
37TP    #   
37XD    XFH   SBN   7  #13  
37^7          BRN      XJS  
382W    )   
384Q    #   
38JB    #     ONLINE SLOW PERIPHERAL ; CHECK DOCUMENT NAME FORMAT   
3942    #   
39HL    SI    LDN   7  0                   [SET SW. FOR SLOW INPUT PERIPHERALS. 
3=3=    SO    PARANUMB 6                   [SLOW OUTPUT PERIPHERALS.
3=GW          SBN   6  2
3?2G          BNG   6  XJS                 [NO DOCUMENT NAME SPECIFIED  
3?7N    #SKI  JWPHASE4  
3?#W          CALL  5  XONLINE  
3?G6          BZE   7  NPRO                [DO ISPER FOR INPUT PERIPHERALS  
3?^Q          STO   6  AWORK4(2)           [USED BY LISTFILE ROUTINES   
3#FB          BZE   6  NOIS                [2 PARAMETERS ONLY : NO PROPERTIES   
3#^2          PROPERTY NOTIS,2,,1,1        [ANALYSE PROPERTIES FOR OUTPUT   
3*DL    NOTIS LDN   7  1                   [PROPERTY MAY HAWE ZEROISED X7   
3*Y=          BRN      NOIS 
3BCW    NPRO  LDCT  0  #200                [B1 INDICATES 'ONLINE' TO ISPER  
3BXG          ORX   3  0                   [PERIPHERAL TYPE IN B18-23   
3CC6          ISPER    3,XBI
3CWQ          TESTREP  NOTAV,NOIS   
3DBB          TESTREPNOT OK,PERNA          [BRANCH IF NOT.  
3DW2    NOIS  LDN   5  0                   [SWITCH  
3F*L          MFREEW   CPAR,GPERCON 
3FT=          SPARANOT 2                   [OBTAIN THE DOCUMENT NAME
3G#W          MHUNT    3,CPB,CUNI   
3GSG          LDX   6  ANUM(3)  
3H#6          BZE   6  PN1                 [DOC NAME NULL   
3HRQ    #SKI  K6ONLINE>99-99
3J?B          BNG   6  PN   
3JR2          LDCH  4  APARA(3)            [J. IF DOC. NAME IS NOT  
3K=L          SBN   4  #12                 [PREFIXED BY A COLON.
3KQ=          BNZ   4  SIM  
3L9W          LDN   5  2                   [PARAM. NO.  
3LPG          PARALYSE #36,,5              [SPLIT DOC. NAME ABOUT ".".  
3LWN ...#UNS ANSTOOMANY 
3M3W ...      TESTREP2 TOOMANY,XTOOMANY 
3M96          PARANUMB 4                   [J. IF NOT JUST TWO PARTS.   
3MNQ    #SKI  K6ONLINE>99-99
3N8B          BZE   4  PN   
3NN2          SBN   4  2
3P7L          BNZ   4  XDOCN
3PM=          LDN   4  1                   [CHAR. CT.   
3Q6W          LDCT  5  #120                [COLON.  
3QLG          SPARABEG 1,4  
3R66          BRN      PSIM2
3RKQ    PSIM1 SPARANOT 2                   [2ND. PARAM. FROM CPB/CMULTI BLOCK.  
3S5B          MFREE    CPB,CMULTI   
3SK2          LDN   4  0                   [CLEAR SWITCH.   
3T4L    PSIM2 MHUNT    3,CPB,CUNI   
3TJ=    SIM   CHEKLFN2 XDOCN,XDOCN,3       [%A IS ACTUALLY GEOERR IN MOST CASES.
3W3W          BZE   5  SPS  
3WHG          FREECORE 3                   [FREE CPB/CUNI BLOCK.
3X36          BNZ   4  PSIM1               [J. FOR 2ND. TIME THROUGH.   
3XGQ          ANDN  6  #7777               [MASK OUT DOC. NAME CHARACTER CT.
3Y2B    SPS   BNZ   7  NMOK 
3YG2    #   
3Y^L    #     INPUT : LOOK FOR DOCUMENT REQUESTED ; INFORM OPERATORS IF MISSING 
3^F=    #   
3^YW    Z1    FINDOC   XBI                 [FIND THE DOCUMENT: INITIALLY X7=0.  
42DG          MHUNTW   3,ADATA,ADOC 
42Y6          LDX   4  AWORK1(2)           [TYPE / UNIT NUMBER  
43CQ          LDX   5  A1(3)               [J. IF ZERO HEADER : RECORD NOT  
43XB          BZE   5  NOFD                [FOUND AND FINDOC HAS LONGSET #60.   
44C2          LDX   0  A1+1(3)  
44WL          SRL   0  12                  [POINTER TO PERI WDS IN DOC BLOCK
45B=    #SKI  K6ONLINE>99-99
45TW    (   
46*G          SMO      0
46T6          ERX   4  0(3)                [COMPARE WITH TYPE IN ADOC BLOCK.
47#Q          SRL   4  15   
47SB          BNZ   4  RONGPER             [DIFFERENT : FINDOC ERROR.   
48#2    )   
48RL          SMO   0   
49?=          LDEX  6  1(3)                [GEOG NO. FROM 2ND PERIPHERAL WORD   
49QW          MFREE    CPB,CUNI            [DOCUMENT NAME PARAMETER 
4==G          FREECORE 3                   [ADATA/ADOC BLOCK
4?9*          FINDPEREC 3,APGEOG,6         [POINT TO DEVICE LIST
4?9Q          PERON 3                      [MARK PERIPHERAL ONLINE  
4?PB          PUTPERENT AWORK1(2),3        [INSERT ONLINE ENTRY IN PRB  
4#92    XIT   ENDCOM
4#NL    #   
4*8=    NOFD  SRL   4  15                  [GET TYPE IN B15-23  
4*MW          FREECORE 3                   [ADATA/ADOC BLOCK
4B7G    OUT   ISPER    4,XBI
4BM6          TESTREP  OK,PAV              [PERIPHERAL NOT ALLOCATED EXISTS 
4C6Q          TESTREPN NOTAV,NOP           [READERS WRONGED SINCE LAST ISPER
4CLB          LONGSTOP XBI                 [WAIT FOR PERIPHERAL OF REQUIRED TYPE
4D62          BRN      Z1                  [WAS EVENT REQUIRED DOCUMENT?
4DKL    PAV   OUTPARAM 6,APARA,CPB,CUNI 
4F5=          INFORM   1,ALODOC,0          [PLEASE LOAD DOCUMENT TO CENTRAL CONS
4FJW          OUTPAUSE XBI,Z1,Z3,2,RETY    [WAIT FOR 2 MINS.
4G4G          BRN      OUT                 [LONGSET STILL OPERATIVE 
4GJ6    #   
4H3Q    #     OUTPUT : PREPARE GOUT/INFO BLOCK FOR PASSING TO LISTPARS  
4HHB    #   
4J32    NMOK  LDX   5  6                   [NO. OF CHARS. IN DOC. NAME. 
4JGL          ADN   5  GHEAD-A1+1*4+3   
4K2=          SRL   5  2
4KFW          SETUPCORE 5,2,GOUT,INFO      [OBTAIN LISTPARS CORE BLOCK  
4KJF          STOZ     GOUTKEY1(2)  
4KM4          LDN   3  GOUTKEY1(2)  
4KPM          LDN   4  GOUTKEY2(2)  
4KS=          MOVE  3  11   
4KWT    [   
4K^G          STO   5  A1(2)               [REC. HEADER SET 
4LF6          LDCT  4  #400 
4LYQ          STO   4  GMODE(2)            [MARKER TO SAY ENTRY FOR ONLINE  
4MDB          MHUNT    1,CPB,CUNI          [DOCUMENT NAME BLOCK 
4MY2          STO   6  GSUSE(2)            [CHARACTER CT.   
4NCL          LDN   3  APARA(1)            [POINT TO START OF DOCUMENT NAME 
4NX=          LDN   4  GHEAD(2) 
4PBW          SMO      6
4PWG          MVCH  3  0
4QB6          LDX   5  2                   [SAVE POINTER TO GOUT/INFO BLOCK 
4QTQ          FREECORE 1
4R*B          LDX   7  AWORK1(2)
4RT2          LDX   4  JOBNO(2) 
4S#L          LDX   2  5                   [RESTORE POINTER TO GOUT/INFO BLOCK  
4SS=          STO   7  GOPTY(2)            [PERIPHERAL TYPE / UNIT NO.  
4T?W          STO   4  GJOBS(2)            [STORE JOB NUMBER
4TRG          FJOCA    3,FX2               [FIND JOB BLOCK  
4W?6          LDX   2  5
4WQQ          LDN   4  JUSER(3) 
4X=B          LDN   5  GUSER(2) 
4XQ2          MOVE  4  3                   [INSERT USER NAME
4Y9L          LDN   4  JNAME(3) 
4YP=          LDN   5  GJOBN(2) 
4^8W          MOVE  4  3                   [INSERT JOB NAME 
4^NG          STOZ     GCOUNT(2)           [INITIALISE LISTFIND SWITCH  
5286          ACROSS   LISTPARS,1          [OBTAIN THE OUTPUT PERIPHERAL
52MQ    #   
537B    #     VARIOUS COMMAND ERRORS AND GEORGE ERRORS  
53M2    #   
546L    PJDOCN         +JDOCN              [DOCUMENT NAME.  
54L=    PAPER          +APER               [PERIPHERAL. 
555W          ZERRORY   
55KG    #   
5656    XBI   COMBRKIN  
56JQ    #   
574B    XDOCN LDX   5  PJDOCN(1)
57J2          CALL  1  OUT2X
583L                   +ADOCER             [%C FORMAT ERROR.
58H=    PN1   LDX   5  PJDOCN(1)
592W    PMIS  CALL  1  OUT2X
59GG                   +JPARMIS            [%C PARAMETER MISSING.   
5=26    OUTP  LDX   5  PAPER(1) 
5=FQ          BRN      PMIS 
5=^B    OUT2X LDX   4  0(1) 
5?F2          COMERRX  4,5                 [OUTPUT RELEVANT ERROR MESSAGE   
5?YL    NOP   LONGOFF   
5#D=    PERNA SPARANOT 1
5#XW          ZERRORX  JPERNA              [PERIPHERAL NOT AVAILABLE
5*CG    PERR  ZERRORX  JSEQ                [PARAMETER NOT IN SEQUENCE   
5*X6    Z3    ZERRORX  JONLINE             [REQD NAME NOT FOUND 
5B4#    #SKI  JWPHASE4  
5B9G    SLHON ZERRORX  ERHLSONL            [HLS FORBIDS ACQUISITION 
5B=B ...#UNS ANSTOOMANY 
5B?= ...(   
5B#6 ...XTOOMANY
5B*2 ...      ZERRORX  JMAXPAR  
5B*W ...)   
5BBQ    #   
5BWB    #SKI  K6ONLINE>99-99
5CB2    (   
5CTL    PN    GEOERR   1,RONGPATH          [PARAMETER MISSING AFTER PARANUMB
5D*=    RONGPER 
5DSW          GEOERR   1,WRONGPER          [DOCUMENT ON INCORRECT PERIPHERAL
5F#G    )   
5FS6          MENDAREA 10,K100ONLINEA   
5G?Q    #END
^^^^ ...45615731000100000000