10 22FL #OPT K0LISTMOP=0 20 22_= #LIS K0LISTMOP>K0LISTFILE>K0COMMAND>K0GREATGEO>K0ALLGEO 11 234B ... SEG LISTMOP,,,,G501,G502,G503 4 237G ...[ 15 23=L ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 13 23*Q ...[ THIS EXCLUDES CODE UNDER #SKI G501 13 23DW ...[ AND UNDER #SKI G502 13 23J2 ...[ AND UNDER #SKI G503 4 23M6 ...[ 7 23Q= ...#OPT G501 = 0 7 23TB ...#OPT G502 = 0 6 23YG ...#SKI G502&1 17 243L ...# WITH UGUG EDIT M502 (SHIFT AND GRAPHICS OUTPUT ON MOP) 7 246Q ...#OPT G503 = 0 6 249W ...#SKI G503&1 18 24*2 ...# WITH UGUG EDIT M503 (PAGING AND FRAMING ON MOP LISTFILES) 4 24D6 # 4 24XQ # 17 25CB # THIS ENTRY POINT LISTS A FILE TO THE MONITORING FILE 9 25M8 # AND/OR A MOP TERMINAL 4 25X2 # 12 26BL SEGENTRY K1LISTMOP,Z1LISTMOP 4 26W= # 4 27*W # 4 27TG # 4 28*6 # 21 28SQ # THIS ENTRY POINT IS CALLED FROM K8IPBMOPB JUST BEFORE THE 'CLOSED DOWN 20 29#B # MESSAGE IS SENT TO A VDU, PROVIDED THE PROPAGANDA RESTORE TIME MAC 8 29S2 # HAS BEEN INVOKED. 20 2=?L # IT OPENS (IF AVAILABLE) A FILE CONTAINING PROPAGANDA TO BE OUTPUT 20 2=R= # TO THE IDLE DISPLAY, AND USES THE NORMAL MOP CONSOLE LISTFILE CODE 16 2?=W # TO OUTPUT THE CONTENTS OF THE FILE TO THE SCREEN. 4 2?QG # 12 2#=6 SEGENTRY K2LISTMOP,Z2LISTMOP 4 2#PQ # 4 2*9B # 4 2*P2 # 2 2B8L 21 2BN= SEGENTRY K60LISTMOP [ USED BY PROPAGANDA MACRO TO RESET 6 2C3_ PROPAGANDA 19 2CCN 10,24HOPERATORS PROPAGANDA [ THE USERNAME AND FILENAME 16 2CRC 1,0,4H [ OTHER DETAILS 4 2D76 # 5 2DLQ PCONVERT 7 2F6B +7036875 6 2FL2 PCATEGORY 17 2G5L CATMASK LS [ GATEGORY FOR OUTPUT 4 2GK= # 4 2H4W # 4 2HJG # 4 2J46 # 6 2J?Y Z2LISTMOP 7 2JHQ LDN 0 1 17 2JRJ STO 0 AWORK1(2) [ ENTRY POINT SWITCH 18 2K3B SETNCORE 10,2,FILE,FABSNB [ OPEN PROPAGANDA FILE. 10 2KH2 ADN 1 PROPAGANDA 8 2L2L ADN 2 A1 8 2LG= MOVE 1 10 20 2L_W OPEN XBRK,READ,NOWAIT,QUERY,REPLY [ J. TO END IF BREAK IN. 21 2MFG TESTRPN2 OK,NOTOK [ J. IF NO FILE, IN USE, OFFLINE, ETC 17 2M_6 MFREEW FILE,FABSNB [ NO LONGER NEEDED. 18 2NDQ TOPFCB 3 [ GET FILE CONTROL BLOCK. 21 2NYB JBS NOTOX,3,BFDIR [ CHECK FILE IS LISTABLE, I.E. SERIAL 18 2PD2 JBC NOTOX,3,BFSER [ AND NOT A DIRECTORY. 6 2PK8 STEP 17 2PQB BZE 3 NOTOX [ AND IS NOT EMPTY 4 2PXL # 21 2QC= # NOW WE'VE OPENED THE FILE ALL WE HAVE TO DO IS LISTFILE THE CONTENTS. 4 2QWW # 21 2RBG MHUNTW 3,AMXOR,ADCB [ MUST BE ONE OR WE WOULDN'T BE HERE. 19 2RW6 LDEX 4 ICHARS(3) [ GET DISPLAY SCREEN WIDTH. 9 2S9T STO 4 AWORK1(2) 21 2SKJ SETNCORE GHEAD-A1,3,GOUT,INFO [ SET UP/INITIALISE PARAMETER BLOCK. 19 2S_? STOZ GFLI(3) [ START OUTPUT FROM LINE 0. 21 2T*2 LDN 0 16 [ OUTPUT 16 LINES MAX. SO WE DON'T GE 20 2TSL STO 0 GNLI(3) [ INVOLVED WITH CTRL+3 PROBLEMS. 9 2W#= STOZ GFTY(3) 9 2WJ4 STOZ GMODE(3) 21 2WRW BS 3,BLFBASIC [ BASIC FILE : NOT NUMBERING OR SPECI 4 2XR6 # 9 2Y=Q BRN XCOMMON 4 2YQB # 6 2_=2 Z1LISTMOP 21 2_PL STOZ AWORK1(2) [ ZERO IF K1 (NORMAL) ENTRY POINT. 5 329= XCOMMON 10 32NW LDX 6 ALOGLEN(2) 9 338G STO 6 EXTPS(2) 10 33N6 ... ADN 6 ALFMOPLEN+1 20 347Q ALTLEN FX2,6 [ EXTEND ACT. BL. FOR OUTPUT LINE 10 34MB MHUNTW 1,GOUT,INFO 12 34X8 JBS ZERROR,1,BLFFRTOER 6 34Y3 ...#SKI G503&1 19 34YW ... STOZ GSUSE(1) [ LINES OUTPUT IN THIS FRAME 6 34_P ...#SKI G502&1 4 352J ...( 20 353C ... BITDEFS 4,17,RECBETA [ BETA SHIFT WHEN RED TAPE IN X4 14 354= ... TRF 1,FLFXTRAPICT,2,G502SHIFTF 20 3555 ...# COPIES SHIFT,NOLF,NOBC BITS FROM GMODE TO CPAT FOR IPBMOP TO SEE 4 355Y ...) 12 3572 JBS XAMORPH,1,BLFBASIC 10 35LL BS 1,BLFSPECIAL 5 366= XAMORPH 7 36KW LDN 0 1 21 375G SBS 0 GFLI(1) [ DECREASE GFLI BY 1 FOR LINE NUMBER 7 37K6 STEPAGAIN 21 384Q BZE 3 ZERROR [ J IF ERROR FOUND BY CENTRAL ROUTINE 9 38JB BRN START2 5 3942 START 6 39HL STEP 17 3=3= BZE 3 OUT [ J IF END OF FILE 5 3=GW START2 10 3=S= MHUNTW 1,GOUT,INFO 8 3?5L LDEX 7 0(3) 12 3?C2 JBC STARTNS,1,BLFSPECIAL 7 3?NB ADN 7 1 5 3?_Q STARTNS 12 3#?6 JBC STARTNN,1,BLFNUMBER 7 3#JG ADN 7 2 5 3#TW STARTNN 18 3*7= SBN 7 1 [ BUFFER LENGTH REQUIRED 4 3*DL [ 13 3*Y= [ INCREASE LENGTH OF CPAT AS NECESSARY 8 3BCW [ DECREASE LENGTH IF 20 3BXG ...[ BUFFER > ALFMOPLEN*2 AND BUFFER > REQUIRED LENGTH + ALFMOPLEN 4 3CC6 [ 10 3F*L LDX 4 ALOGLEN(2) 17 3FT= SBX 4 EXTPS(2) [ LENGTH OF BUFFER 18 3G6L BXL 4 7,XINC [ J IF INCREASE REQUIRED 14 3GD2 BXE 4 7,OKLEN [ J IF OK 10 3GQY ... SBN 4 ALFMOPLEN*2+1 17 3H5W ... BNG 4 OKLEN [ J IF < ALFMOPLEN*2 9 3HDS ... ADN 4 ALFMOPLEN 7 3HRQ SBX 4 7 21 3J7F ... BNG 4 OKLEN [ J IF < REQUIRED LENGTH + ALFMOPLEN 4 3JH8 XINC 7 3JR2 LDX 4 7 20 3KQ= ADX 4 EXTPS(2) [ X4 CONTAINS NEW LENGTH REQD. 7 3L9W PHOTO 5 8 3LPG ALTLEN FX2,4 18 3M96 TESTMOVE 5,OKLEN1 [ J IF NO BLOCKS MOVED 7 3MNQ STEPAGAIN 5 3N8B OKLEN1 10 3NN2 MHUNTW 1,GOUT,INFO 5 3P7L OKLEN 15 3PM= SBN 7 1 [ DATA LENGTH 12 3Q6W JBS NPFCC,1,BLFSPECIAL 21 3QLG LDX 4 1(3) [ OTHERWISE CHECK IF PRINTING REQD. 6 3QRN ...#SKI G502&1 20 3QYW ... TRF ,RECBETA,2,G502BETA [ SET ALPHA/BETA BIT FOR IPBMOP 13 3R66 ANDN 4 #40 [ AND 14 3RKQ BNZ 4 NPFCC [ J IF SO 11 3S5B JBC RNONU,1,BLFNUMBER 19 3SK2 LDN 0 7 [ ELSE PUT 7 INTO CHARACTER 15 3T4L SMO EXTPS(2) [ COUNT AND J 8 3TJ= STO 0 A1(2) 8 3W3W BRN NMV 5 3WHG RNONU 9 3X36 SMO EXTPS(2) 20 3XGQ STOZ A1(2) [ ZEROISE COUNT FOR NULL RECORD 8 3Y2B BRN NMV 5 3YG2 NPFCC 6 3YH8 ...#SKI G503&1 4 3YJB ...( 18 3YKJ ... [ VDU PAGING CODE ACL0057 18 3YLQ ... JBC XACL5,1,BLFXTRASTOP [ CONTEXT STOP NOT SET 19 3YMY ... LDX 4 2(3) [ CHECK CONTEXT FIRST WORD 9 3YP6 ... TXU 4 GHEAD(1) 15 3YQ# ... BCS XACL5 [ J NO MATCH 14 3YRG ... CALL 4 READY [ PAUSE 7 3YSN ... STEPAGAIN 10 3YTW ... MHUNTW 1,GOUT,INFO 5 3YX4 ...XACL5 4 3YY= ...) 18 3Y_L LDX 4 0(3) [ NO. OF WDS. IN RECORD 7 3_F= SBN 4 3 17 3_YW BNG 4 NCHANGE [ J IF ZERO RECORD 18 42DG BZE 4 NCHANGE [ OR SINGLE WORD RECORD 7 42Y6 LDX 5 4 5 43CQ TSPACES 7 43XB SMO 4 20 44C2 LDX 0 2(3) [ GET NEXT WD. STARTING FROM END 8 44WL TXU 0 ACES 16 45B= BCS NSPACES [ J IF NOT SPACES 9 45TW BCT 4 TSPACES 19 46*G ADN 4 1 [ OUTPUT 1 WD. IF ALL SPACES 5 46T6 NSPACES 7 47#Q TXU 5 4 18 47SB BCC NCHANGE [ J IF NO SPACES REMOVED 19 48#2 SBX 5 4 [ NO. OF WDS. TRUNCATED IN X5 18 48RL SBX 7 5 [ SUB. THIS FROM TOTAL 7 49?= LDX 5 7 8 49QW BRN T1 5 4==G NCHANGE 7 4=Q6 LDX 5 7 7 4?9Q ADN 4 1 8 4?PB BZE 4 T1 10 4#92 JBC T1,1,BLFBASIC 18 4#NL LDCT 4 #600 [ ISOLATE CHARACTER BITS. 8 4*8= ANDX 4 1(3) 17 4*MW BZE 4 T1 [ J IF NO ODD CHS. 7 4B7G SBN 5 1 7 4BM6 ORX 5 4 4 4C6Q T1 7 4CLB SLC 5 2 17 4D62 LDX 0 AWORK1(2) [ J. UNLESS K2 ENTRY. 8 4DKL BZE 0 T2 21 4F5= BXL 5 AWORK1(2),T2 [ IN WHICH CASE TRUNCATE RECORDS TO 21 4FJW LDX 5 AWORK1(2) [ DISPLAY WIDTH, TO STOP CONTINUATION 4 4G4G T2 9 4GJ6 SMO EXTPS(2) 19 4H3Q STO 5 A1(2) [ STORE NO. CHS. IN RECORD 11 4HHB JBS SPEC,1,BLFSPECIAL 7 4J32 ADN 3 1 4 4JGL SPEC 7 4K2= ADN 3 1 9 4KFW SMO EXTPS(2) 9 4K_G LDN 4 A1+1(2) 11 4LF6 JBC XDONE,1,BLFNUMBER 18 4LYQ ADN 4 2 [ LEAVE GAP FOR NUMBER 7 4MDB SBN 7 2 5 4MY2 XDONE 18 4NCL BZE 7 NMV [ J IF NO WDS. TO MOVE 7 4NX= SMO 7 19 4PBW MOVE 3 0 [ MOVE MESSAGE TO ACT. BL. 4 4PWG NMV 7 4QB6 LDN 4 1 17 4QTQ ADS 4 GFLI(1) [ INCREASE LINE COUNT 19 4R*B SBS 4 GNLI(1) [ UPDATE NO. OF LINES LEFT 9 4RT2 LDX 4 GFLI(1) 21 4S#L LDX 7 GNLI(1) [ NO. OF LINES LEFT ( -VE IF LIST TO 11 4SS= JBC NNUM,1,BLFNUMBER 8 4WQQ LDX 1 FX1 7 4X=B LDN 3 6 10 4XQ2 MPY 4 PCONVERT(1) 9 4Y9L SMO EXTPS(2) 9 4YP= LDN 2 A1+1(2) 8 4_8W LDN 1 #20 7 4_NG MODE 1 4 5286 NCBD 19 52MQ CBD 4 0(2) [ CONVERT LINE NO. TO DEC. 7 537B BCHX 2 / 8 53M2 BCT 3 NCBD 19 546L MODE 0 [ SWITCH OFF ZERO SUPPRESSION 17 54L= CBD 4 0(2) [ FOR LAST CHARACTER 7 555W BCHX 2 / 8 55KG DCH 1 0(2) 8 5656 LDX 2 FX2 4 56JQ NNUM 9 574B LDX 4 EXTPS(2) 8 57J2 TESTBRKI XBI 19 583L ADX 2 4 [ X2 PTS. TO COUNT WD. - A1 21 58H= ADN 4 A1+1 [ X4 PTS. TO START OF MESSAGE AREA 12 592W OUTMONX A1(2),4,PCATEGORY(1) 19 59GG BZE 7 OUT [ J IF NO MORE LINES REQUIRED 6 59HN ...#SKI G503&1 4 59JW ...( 18 59L4 ... JBC START,2,CXTMOP [ AVOID HUNT IF NOT MOP 10 59M= ... MHUNTW 1,GOUT,INFO 7 59ND ... LDN 7 1 20 59PL ... ADS 7 GSUSE(1) [ LINES DISPLAYED ON THIS PAGE 9 59QS ... LDX 0 GCOUNT(1) 9 59S2 ... TXU 0 GSUSE(1) 16 59T8 ... BCS START [ PAGE NOT FILLED 9 59WB ... STOZ GSUSE(1) 8 59XJ ... CALL 4 READY 4 59YQ ...) 8 5=26 BRN START 4 5=FQ # 6 5=G# ...#SKI G503&1 4 5=GW ...( 5 5=HD ...READY 8 5=J2 ... SBX 4 FX1 8 5=JJ ... READY XBI 10 5=K6 ... MHUNTW 1,FILE,FRB 8 5=KN ... LDEX 0 A1(1) 7 5=L= ... SBN 0 2 8 5=LS ... BZE 0 NOREP 7 5=MB ...#SKI G501&G502&1 4 5=MY ...( 11 5=NG ... JBC TESTC,2,G501SHIFT 20 5=P4 ... LDCH 0 A1+2(1) [ IF POSSIBILITY OF SHIFT INPUT, 19 5=PL ... ERN 0 #75 [ ALLOW BIG OR LITTLE 'C' 8 5=Q8 ... BNZ 0 TESTC 7 5=QQ ... BCHX 1 / 4 5=R# ...) 9 5=RW ...TESTC LDCH 0 A1+2(1) 15 5=SD ... ERN 0 #43 [ UNLESS 'C', 21 5=T2 ... BNZ 0 OUT [ ASSUME 'QUIT', 'STOP' OR W.H.Y. 7 5=TJ ...#SKI G501&G502&1 18 5=W6 ... LDN 1 0(1) [ CLEAR CHARACTER BITS 7 5=WN ...NOREP FREECORE 1 8 5=X= ... SMO FX1 20 5=XS ... EXIT 4 0 [ CONTINUE IF NULL OR 'C' REPLY 4 5=YB ...) 4 5=_B # 4 5?F2 XBI 20 5?YL LDCT 0 #400 [ MARK THAT BREAK IN HAS OCURRED. 9 5#D= ORS 0 AWORK1(2) 4 5#XW OUT 9 5*CG LDX 4 EXTPS(2) 8 5*X6 ALTLEN FX2,4 9 5BBQ MFREEW GOUT,INFO 5 5BWB NOTOX 6 5CB2 CLOSE 18 5CTL LDXC 0 AWORK1(2) [ J. IF NOT BROKEN IN. 8 5D*= BCC X1FIN 16 5DSW BNZ 0 XBRK [ J. IF K2 ENTRY. 7 5F#G ABANDCOM 4 5FS6 # 5 5G?Q X1FIN 16 5GRB BNZ 0 X2FIN [ J. IF K2 ENTRY. 6 5H?2 ENDCOM 4 5HQL # 4 5J== # 4 5JPW # 5 5K9G ZERROR 4 5KP6 [ 12 5L8Q [ ERROR FOUND BY CENTRAL ROUTINES 8 5LNB [ LIST ERROR LINE 4 5M82 [ 8 5MCS LDX 1 FX1 11 5MML MHUNTW 3,ADATA,HEADING 10 5N3* LDX 4 HEADCNT(3) 14 5NC4 SBN 4 1 [ PFCC 16 5NQR OUTMON 4,HEADDATA,PCATEGORY(1),ADATA,HEADING 10 5P6G MFREEW ADATA,HEADING 8 5PL6 BRN OUT 4 5Q5Q [ 5 5QKB NOTOK 4 5R52 [ 11 5RJL [ FAILED TO OPEN PROPAGANDA FILE 4 5S4= [ 20 5SHW TESTRPN2 MAG,NOTOK1 [ J. OUT UNLESS FILE IS OFFLINE. 5 5T3G RV 5 5TH6 NOTOK1 10 5W2Q MFREE FILE,FABSNB 4 5WGB XBRK 5 5X22 X2FIN 17 5XFL UP [ RETURN TO IPBMOPB. 4 5X_= # 4 5YDW # 4 5YYG #END 4 5_D6 # 6 ____ ...462776340002