11 22FL #LIS K0DOC>K0ALLGEO>K0COMMAND 15 22_= #SEG DOC8 [A C PUTMAN 16 2394 ...# (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983. 6 23DW 8HDOC 10 23YG SEGENTRY K1DOC,XDOC1 4 24D6 # 21 24XQ # THIS SEGMENT DEALS WITH THE COMMAND DOCUMENT. THE PARAMETERS ARE 20 25CB # CHECKED AND IF CORRECT THE SYSTEM FILE DOCUMENT IS OPENED AND 21 25X2 # INFORMATION CONCERNING THE PERIPHERAL THAT HOLDS THE DOCUMENT IS 21 26BL # STORED AS A RECORD IN THIS FILE. THIS COMMAND IS USED FOR BASIC 16 26W= # PERIPHERALS IE. CARD READERS AND TAPE READERS. 4 27*W # 9 27TG MASK #77777 9 28*6 WSP #20202020 9 28SQ WHDR #50444462 9 29#B MSK1 #20000000 8 29S2 XOPN +16 9 2=?L 12HMASTER 9 2=R= 12HSYSTEM 8 2?=W +1 8 2?QG +1 8 2#=6 +0 10 2#PQ 12HDOCUMENT 8 2*9B +1 8 2*P2 +1 8 2B8L +0 9 2BN= SP #20000020 9 2C7W MAGIC +7036875 18 2CMG PLET [CHECK CH. TO BE A LETTER 9 2D76 LDCH 0 APARA(2) 8 2DLQ SBN 0 #41 8 2F6B BNG 0 PERR 9 2FL2 SBN 0 #73-#41 8 2G5L BPZ 0 PERR 7 2GK= EXIT 7 0 21 2H4W TMOR [INSERT SPACES IN REDUNDANT CH. POSNS 21 2HJG LDN 4 #20 [USES X4, AND REQUIRES PTR. TO NEXT 16 2J46 TEST TXL 3 MSK1(1) [CH. POSN. IN X3 8 2JHQ BCS NSP 8 2K3B DCH 4 0(3) 8 2KH2 BCHX 3 TEST 4 2L2L NSP 7 2LG= EXIT 7 0 5 2L_W XDOC1 21 2MFG # THIS ENTRY POINT PICKS UP THE NAME OF A DOCUMENT FROM A PARAMETER 21 2M_6 # BLOCK AND APPENDS IT TO A FILE TOGETHER WITH INFORMATION ABOUT THE 14 2NDQ # PERIPHERAL THAT IS 'DOCUMENT LOADED' 10 2NYB #SKI 99>K6DOC-99 9 2PD2 TRACE 1,INDOC1 17 2PXL PARANUMB 6 [NO. OF PARS. TO X6 16 2QC= BZE 6 NOPAR [J IF NONE THERE 16 2QWW GETCOREN 20,1 [CORE FOR RECORD 7 2RBG FINDCORE 3 10 2RW6 NAME 3,ADATA,ADOC 9 2S*Q STO 6 A1+1(3) 16 2STB SPARAPAS [GET DOC. NAME 10 2T*2 MHUNT 2,CPB,CUNI 9 2TSL LDX 4 ANUM(2) 16 2W#= BZE 4 NOPAR [DOC. NAME NULL 8 2WRW BNG 4 NOPAR 16 2X?G SRL 4 12 [GET PARAM. TYPE 18 2XR6 BZE 4 SIM1 [J IF SIMPLE: SHORT FORM 7 2Y=Q SBN 4 1 20 2YQB BZE 4 PSIM [J IF PSEUDO-SIMPLE: FULL FORM 18 2_=2 BRN PERR [OTHERWISE FORMAT WRONG 9 2_PL SIM1 LDX 4 ANUM(2) 8 329= ANDN 4 #7777 8 32NW SBN 4 13 21 338G BPZ 4 PERR [FORMAT ERROR IF DOC. NAME > 12 CHS. 17 33N6 CALL 7 PLET [CHECK 1ST CH. LETTER 18 347Q ADN 4 13 [X4 CONTAINS NO. OF CHS. 8 34MB BRN PINS 9 3572 PSIM LDCH 0 APARA(2) 14 35LL SBN 0 #12 [COLON 8 366= BNZ 0 PERR 8 36KW SMO FX2 9 375G STO 2 AWORK2 7 37K6 BCHX 2 / 21 384Q CALL 7 PLET [CHECK USER NAME BEGINS WITH LETTER 8 38JB LDN 5 12 7 3942 NXT BCHX 2 / 9 39HL LDCH 4 APARA(2) 13 3=3= SBN 4 #36 [STOP 8 3=GW BZE 4 NOMOR 8 3?2G BCT 5 NXT 21 3?G6 BRN PERR [ERROR IF MORE THAN 12 CHS. IN U.NAME 7 3?_Q NOMOR BCHX 2 / 20 3#FB CALL 7 PLET [DOC. NAME MUST START WITH LETTER 8 3#_2 SBN 5 28 8 3*DL SMO FX2 9 3*Y= LDX 2 AWORK2 9 3BCW LDX 4 ANUM(2) 8 3BXG ANDN 4 #7777 7 3CC6 ADX 5 4 19 3CWQ BPZ 5 PERR [ERROR IF DOC. NAME > 12 CHS. 10 3DBB PINS MHUNT 3,ADATA,ADOC 17 3DW2 STO 4 A1+2(3) [CT. OF NO. OF CHS. 8 3F*L SMO FX2 19 3FT= STO 3 AWORK1 [PRESERVE S.A. OF DOC. BLOCK 18 3G#W STO 2 5 [PRESERVE S.A. PARAM. BL. 8 3GSG ADN 2 APARA 8 3H#6 ADN 3 A1+3 19 3HRQ SMO 4 [X4 NON-ZERO: CHECKED EARLIER 7 3J?B MVCH 2 0 19 3JR2 CALL 7 TMOR [INSERT SPACES IF NECESSARY 8 3K=L SMO FX2 9 3KQ= LDX 2 AWORK1 21 3L9W SBX 3 2 [X3 CONTAINS PTR. TO POSN. IN BLOCK 8 3LPG SLL 3 12 8 3M96 LDN 0 #7777 17 3MNQ ANDS 0 A1+1(2) [KEEP NO. OF PARS. 9 3N8B ADS 3 A1+1(2) 7 3NN2 SBN 6 1 17 3P7L FREECORE 5 [FREE PARAM. BLOCK 17 3PM= BZE 6 ONEP [J IF NO MORE PARAMS. 16 3Q6W P1 PARAPASS [MODE OR TERM. 10 3QLG MHUNT 2,CPB,CUNI 9 3R66 LDX 4 ANUM(2) 17 3RKQ SRL 4 12 [GET PARAMETER TYPE 15 3S5B BZE 4 SIM2 [J IF SIMPLE 7 3SK2 SBN 4 1 17 3T4L BZE 4 SIM2 [J IF PSEUDO-SIMPLE 16 3TJ= BRN PERR [OTHERWISE ERROR 9 3W3W SIM2 LDX 4 ANUM(2) 15 3WHG BZE 4 NEXTP [J IF NULL 8 3X36 BNG 4 NOER 8 3XGQ ANDN 4 #7777 10 3Y2B MHUNT 3,ADATA,ADOC 7 3YG2 LDX 5 4 7 3Y_L ADN 5 3 7 3_F= SRL 5 2 21 3_YW NMOR LDX 7 A1+1(3) [X5 CONTAINS NO. OF EXTRA WDS. REQD. 21 42DG SRL 7 12 [PTR. TO NEXT FREE WD. IN DOC. BL. 7 42Y6 ADX 5 7 20 43CQ SBN 5 A1-3 [3 BECAUSE EXTRA WDS. FOR PERIPH. 16 43XB TXL 5 ALOGLEN(3) [INFORMATION,ETC. 18 44C2 BCS OK1 [J IF BLOCK LONG ENOUGH 7 44WL PHOTO 7 16 45B= ALTLEN 3,5,ADATA,ADOC [INCREASE LENGTH 18 45TW TESTMOVE 7,OK1 [J IF BLOCKS NOT MOVED 15 46*G MHUNTW 3,ADATA,ADOC [RE-LOCATE 18 46T6 OK1 MHUNT 2,CPB,CUNI [RE-HUNT BECAUSE X2=FX2 8 47#Q SMO FX2 19 47SB STO 3 AWORK1 [PRESERVE S.A. OF DOC. BL. 9 48#2 LDX 7 A1+1(3) 8 48RL SRL 7 12 19 49?= ADX 3 7 [X3 PTS. TO NEXT FREE POSN. 18 49QW STO 2 5 [PRESERVE S.A. PARAM. BL. 17 4==G STO 4 0(3) [NO. OF CHS. INSERTED 7 4=Q6 ADN 3 1 8 4?9Q ADN 2 APARA 19 4?PB SMO 4 [X4 NON-ZERO: CHECKED ABOVE 18 4#92 MVCH 2 0 [INSERT PAR. IN DOC. BL. 21 4#NL CALL 7 TMOR [INSERT SPACES IN REDUNDANT CH. POSNS 8 4*8= SMO FX2 16 4*MW LDX 2 AWORK1 [GET S.A. DOC. 20 4B7G SBX 3 2 [X3 GIVES PTR. TO NEXT FREE WD. 8 4BM6 SLL 3 12 8 4C6Q LDN 0 #7777 17 4CLB ANDS 0 A1+1(2) [KEEP NO. OF PARS. 9 4D62 ADS 3 A1+1(2) 7 4DKL FREECORE 5 17 4F5= BCT 6 P1 [J IF ANOTHER PARAM. 8 4FJW ONEP LDX 2 FX2 6 4G4G #SKI GENIE 4 4GJ6 ( 8 4H3Q LTYPE ,5 7 4HHB SRC 5 9 14 4J32 DCA ,LDX,0,MODE [LD. MODE 7 4JGL DLA 0 5 16 4K2= LPROP ,6 [PROPERTY CODE 7 4KFW SRC 6 9 8 4K_G LGEOG ,0 7 4LF6 ADX 6 0 4 4LYQ ) 7 4MDB #SKI GENIE<1$1 4 4MY2 ( 14 4NCL LDX 5 CA1(2) [LD. MODE 21 4NX= LDX 6 CA5(2) [PROPERTY CODE / GEOG'S UNITNO./GEO,N 4 4PBW ) 10 4PWG MHUNT 3,ADATA,ADOC 18 4QB6 STO 3 AWORK1(2) [PRESERVE S.A. DOC. BLOCK 9 4QTQ LDX 4 A1+1(3) 21 4R*B SRL 4 12 [X4 CONTAINS PTR. TO NEXT FREE WD. 7 4RT2 ADX 3 4 16 4S#L STO 5 0(3) [1ST PERIPH. WD. 16 4SS= STO 6 1(3) [2ND PERIPH. WD. 6 4T?W #SKI GENIE 19 4TRG ANDN 6 #777 [MASK OUT GEO. NO. (9 BITS) 7 4W?6 #SKI GENIE<1$1 19 4WQQ ANDN 6 #77 [MASK OUT GEO. NO. (6 BITS). 8 4X=B SBN 3 A1-2 9 4XQ2 SBX 3 AWORK1(2) 9 4Y9L SMO AWORK1(2) 19 4YP= STO 3 A1 [NO. OF WDS. IN REC. HEADER 18 4_8W TENG GETCOREN 16,1 [CORE FOR DOC. FILE NAME 7 4_NG FINDCORE 3 10 5286 NAME 3,FILE,FABSNB 8 52MQ ADN 3 A1 9 537B LDN 2 XOPN(1) 19 53M2 MOVE 2 16 [INSERT FILE NAME IN BLOCK 8 546L LDX 2 FX2 9 54L= OPEN OK,APPEND 16 555W TESTREP OPEN,OK2 [J IF FILE OPENED 10 55KG OK GEOERR 1,DOCFNOPN 10 5656 OK2 MHUNT 3,ADATA,ADOC 10 56JQ NAME 3,FILE,FAPB 7 574B PHOTO 7 6 57J2 APPEND 6 583L CLOSE 8 58H= TESTMOVE 7,OK3 10 592W MHUNT 3,FILE,FAPB 9 59GG OK3 LDX 4 A1+1(3) 9 5=26 TXU 4 WHDR(1) 8 5=FQ BCS NOMT 8 5=_B LONGON #61 8 5?F2 BRN ZFIN 20 5?YL NOMT LDX 2 A1+2(3) [LOAD NO. OF CHARS. IN DOC. NAME 20 5#D= ADN 2 7 [3 FOR ROUNDING,4 FOR PERIPH. WD. 16 5#XW SRL 2 2 [CONVERT TO WDS. 16 5*CG STO 6 A1+2(3) [STO GEOG. NO. 12 5*X6 GSCAN A1+2(3),DOCUMENT,0(2) 6 5BBQ #SKI GENIE 6 5BWB DOCON 8 5CB2 LONGON #60 9 5CTL ZFIN ACROSS LOGOUT,7 7 5D*= NEXTP FREECORE 2 17 5DSW BCT 6 P1 [J IF MORE PARAMS. 8 5F#G BRN ONEP 19 5FS6 NOER GEOERR 1,PARANUMX [PARANUM NO. NOT NO. OF PARS. 10 5G?Q PERR COMERR ADOCER,JDOCN 10 5GRB NOPAR COMERR JPARMIS,JDOCN 9 5H?2 MENDAREA 20,K99DOC 4 5HQL #END 8 ____ ...24341513000100000000