Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: USERTYPE83)}} ====== USERTYPE83 ====== (George Source) **Macros used:** [[george:macro:BXE|BXE]], [[george:macro:BXU|BXU]], [[george:macro:FREEBAX|FREEBAX]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNTW|HUNTW]], [[george:macro:JBS|JBS]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:P|P]], [[george:macro:READ|READ]], [[george:macro:SARAH|SARAH]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETMODE|SETMODE]], [[george:macro:SETREP2|SETREP2]], [[george:macro:TRACE|TRACE]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:VFREEBAX|VFREEBAX]] <code - USERTYPE83.txt>22FL ... SEG USERTYPE,83,MIKE PUTNAM,USEROPES 22^= [ 23DW [ 23YG SEGENTRY K1USERTYPE,WRIT 24D6 SEGENTRY K2USERTYPE,READ 24XQ [ 25CB [ 25X2 # USERTYPE CHECKS THAT THE PERIPHERAL TYPE MODE WORD OF A FILE (AS G 26BL [ IN A FILE/ENT BLOCK IS SUCH THAT THE FILE CAN BE USED FOR A PERIPH 26W= [ TYPE/MODE AS SPECIFIED IN A FILE/CREATE BLOCK. THE REPLY PERITYPE 27*W [ GIVEN WHEN FILE TYPES CLASH AND THE REPLY PERIMODE IS GIVEN 27TG [ WHEN FILE MODES CLASH. FILE TYPES FOR MK7+ ARE: 28*6 [ BASIC (#400...) 28SQ [ *MT (#405...) 29#B [ *DA (#406..., #411..., #415...) 29S2 [ 2=?L [ BUT MK7- FILES MIGHT BE AROUND. SO A GOOD DEAL OF PRESENT 2=R= [ CODE CONCERNS THEM. FILE TYPES (#400... TO #404...) 2?=W [ 2?QG [ THIS TABLE COULD BE COMPRESSED TO ONE QUARTER BUT REQUIRES THOUGHT ON 2#=6 [ HOW TO MAKE IT COMPREHENSIBLE AND CHANGEABLE 2#PQ [ ANOTHER PROBLEM IS COPYING DIRECTORIES. CETM DOES NOT DISTIN- 2*9B [ GUISH BETWEEN DIR & *FH; WE DO NOT WANT TO APPEND (COPY OF) DIR TO 2*P2 [ A TERMINAL FILE BECAUSE OF RECHDR DIFFERENCES. WE DO NOT ALLOW 2B8L [ COPY TO SET UP A F/CREATE BLK WITH BITS DISTINGUISHING DIRS 2BN= [ BECAUSE IN THE CREATE(MODE)/NOFILE(REPLY) CASE WE GO DIRECTLY 2C7W [ TO USERCREA & BY-PASS USERTYPE. 2CMG [ MARK8+ MEASURE IS TO HAVE ASSIGN SET UP CETM FOR *FH AS : 2D76 [ 2DLQ [ *FR (#462...) 2F6B [ *FW (#463...) 2FB8 ...[ *FH (#464...) 2FL2 [ 2G5L [ USEROPEN AND USERCREA WILL ZEROIZE CETM IN THESE CASES. 2GK= [ USERTYPE,MEANWHILE, ALLOWS [CETM] = 0 TO APPEND TO FILES 2H4W ...[ WITH [CETM] = 0 ONLY AND IT ALLOWS #462,#463,#464 TO ACCESS 2HJG [ ANY SERIAL FILE WHATSOEVER 2J46 [ 2JHQ T0 #40000000 2K3B T3 2KH2 T4 2L2L #40300000 2LG= #40400000 2L^W T2 2MFG #40200000 2M^6 T1 2NDQ #40100000 2NYB #40000000 2PD2 T5 2PXL #40500000 2QC= T6 2QWW T13 2RBG #40600000 2RW6 #41500000 2S*Q T9 2STB #41100000 2T*2 #DEF T=T0-1 2TSL TABLE 2W#= [ CHARACTER N GIVES THE START IN THE ABOVE TABLE OF THE GROUP OF 2WRW [ PERMISSIBLE PTMS FOR FILES IF DESIRED TYPE (IN CREATE BLOCK) IS N 2X?G [ MARK7 PREVENTS *TP WRITING TO TP FILE FRIG 2ND CHAR= T0 2XR6 SARAH T0,T0,T2,T3,T 2Y=Q SARAH T4,T5,T6,T,T 2YQB SARAH T,T9,T,T,T 2^=2 SARAH T,T13,T,T,T 2^PL TABLEN 329= [ NO. OF ALLOWED PTMS IF FILE IS BEING READ 32NW #05010105 338G #02010200 33N6 #00010000 347Q #00020000 34MB TABLEN2 3572 [ NO. OF ALLOWED PTMS IF FILE IS BEING WRITTEN 35LL #01010102 366= #02010200 36KW #00010000 375G #00020000 37K6 [ 384Q [ 38JB WRIT 3942 [ 39HL [ THIS PART SEES TO IT THAT AMORPHOUS FILES CAN BE APPENDED 3=3= [ TO BY AMORPHOUS NEW DATA AND THAT *FH CAN ACCESS ANY SERIAL 3=GW [ 3?2G MHUNTW 3,FILE,CREATE 3?G6 LDX 2 CETM(3) 3?^Q BZE 2 MORPHOUS [J IF SETTING UP AMORPHOUS DATA 3#FB LDX 4 2 3#^2 SRL 4 15 3*DL SBN 4 #462 3*Y= BZE 4 YHANDLER [J IF *FR 3BCW SBN 4 1 3BMN ... BZE 4 YHANDLER [J IF *FW 3BXG ... SBN 4 1 3C7# ... BNZ 4 TC1 [J IF NOT *FH 3CC6 YHANDLER 3CWQ MHUNTW 3,FILE,ENT 3DBB JBS TX,3,BESERIAL [J IF SERIAL 3DW2 [ CETM = 0 & FILE EXISTS. THEN FILE MUST BE SERIAL (FOR *FH) 3F*L #SKI K6USEROPEN>99-99 3FT= TRACE EINF1(3),USERNSER 3G#W BRN XR [ENTRANT NOT A SERIAL FILE 3GSG MORPHOUS 3H#6 LDCT 0 #100 3HRQ LDX 1 FX2 3J?B ANDX 0 AWORK3(1) 3JR2 BNZ 0 YHANDLER [J IF WAS ORIGINALLY AN *FH 3K=L SETMODE 0,MULTEL 3KQ= ANDX 0 AWORK4(1) 3L9W BNZ 0 YHANDLER [CETM CHECK ALREADY MADE WITH MDF 3LPG MHUNTW 1,FILE,ENT 3M96 LDX 0 ETM(1) 3MNQ BZE 0 TY [J IF AMORPHOUS FILE 3N8B BRN XR 3NN2 TC1 3P7L #SKI K6USEROPEN>699-699 3PM= TRACE 2,USERCETM 3Q6W BPZ 2 TYPERONG 3QLG LDCT 0 #17 [GEORGE ERROR IF PERIPHERAL TYPE IS 3R66 [ [GREATER THAN 15 3RKQ ANDS 0 2 3S5B BZE 2 TMODE [J IF *TR - LIKE FILE 3SK2 SLC 2 7 [MAKE INTO CHAR POINTER FOR TABLES 3T4L ADX 2 FX1 3TJ= LDN 0 #7000 3W3W ANDX 0 5 3WHG SBN 0 #3000 3X36 BNG 0 TC10 [J IF INPUT MODE 3XGQ [ 3Y2B [ LOAD NO.OF ALLOWED PTMS FOR WRITING TO THIS FILE 3YG2 LDCH 4 TABLEN2(2) 3Y^L BRN TC11 3^F= [ 3^YW [ LOAD NO.OF ALLOWED PTMS FOR READING THIS FILE 42DG TC9 42Y6 ADX 2 FX1 43CQ TC10 43XB LDCH 4 TABLEN(2) 44C2 [ 44WL [ LOAD START ADDRESS REL.TO START OF TABLE T FOR THIS FILE TYPE 45B= TC11 45TW LDCH 2 TABLE(2) 46*G #SKI K6USEROPEN 46T6 ( 47#Q BNZ 2 S1 47SB GEOERR 1,TYPE 48#2 S1 48RL ) 49?= MHUNTW 3,FILE,ENT 49QW ADX 2 FX1 4==G LDCT 0 #777 4=Q6 ANDX 0 ETM(3) 4?9Q [ IS THIS FILE TYPE IN THE LIST OF PERMITTED TYPES? 4?PB TM 4#92 BXE 0 T(2),TX 4#NL ADN 2 1 4*8= BCT 4 TM [J IF MORE TYPES PERMITTED 4*MW #SKI K6USEROPEN>99-99 4B7G TRACE ETM(3),USERXETM 4BM6 XR 4C6Q MFREEW FILE,ENT 4CLB MFREEW FILE,CREATE 4D62 VFREEBAX [MAY AS WELL FREE BS HERE 4DKL SETREP2 PERITYPE 4F5= UP 4FJW TX 4G4G #SKI 4GJ6 ( 4H3Q HUNTW 1,BSTB,FULLB 4HHB BNG 1 TY 4J32 FREEBAX 4JGL MFREEW BSTB,EMPTYB [FREE BS FOR FILE,SINCE FILE EXISTS. 4K2= ) 4KFW TY 4K^G UPPLUS 1 4LF6 TYPERONG 4LYQ GEOERR 1,TYPEMODE 4MDB [ 4MY2 [ 4NCL [ THIS SECTION IS MARK7 CHECK ON MODES. *TR WRITES ONLY TO TR FILES 4NX= TMODE 4PBW LDN 6 #7000 4PWG ANDX 6 5 [GET MAIN USEROPEN MODE 4QB6 SBN 6 #3000 4QTQ BNG 6 TC9 [J IF READING 4R*B LDEX 6 CETM(3) [GET MODE OF NEW RECORD 4RT2 MHUNTW 3,FILE,ENT 4S#L LDCT 0 #17 4SS= ANDX 0 ETM(3) 4T?W BNZ 0 XR [IF TYPE NOT *TR, ERROR 4TRG LDEX 0 ETM(3) [GET EXISTING FILE MODE 4W?6 SBX 0 6 [IF MODES COMPATIBLE, GO HOME 4WQQ BZE 0 TX 4X=B MFREEW FILE,ENT [OTHERWISE MODE ERROR 4XQ2 MFREEW FILE,CREATE 4Y9L HUNTW 1,BSTB,FULLB 4YP= BNG 1 XOUT 4^8W FREEBAX 4^NG MFREEW BSTB,EMPTYB 5286 XOUT 52MQ SETREP2 PERIMODE 537B UP 53M2 [ 546L [ 54L= [ 555W # THIS SECTION CHECKS T/M FOR LISTFILE 55KG [ N.B. MT PLACE IN P AND M TABLES IS FOR MONITORING FILES 5656 P [PTR TO START OF PERIPH TYPES TABLE 56JQ #01010403 574B #03040000 57J2 N [ TABLE OF NUMBER OF TYPES 583L #03030304 58H= #04020000 592W TN1 59GG [ TABLE OF PERMISSIBLE PERIPHERAL TYPES. 5=26 #00000000 [MON FILE FOR TAPE FILES 5=FQ #02000000 [LP FOR TAPE FILES 5=^B #01000000 5?F2 #00000000 [MON FILE 5?YL #02000000 5#D= #04000000 5#XW [ 5*CG [ 5*X6 READ 5BBQ MHUNTW 1,FILE,ENT 5BWB LDCT 2 #477 5CB2 ANDX 2 ETM(1) [FILE TYPE 5CTL ... LDCT 7 #40 [MULTIFILE BITS 5D*= ANDX 7 EINF1(1) 5DSW MHUNTW 1,GOUT,INFO 5F#G BZE 2 OKTYPE 5FS6 LDCT 0 #77 5G?Q ANDX 0 2 5GRB SLC 0 9 5H?2 SBN 0 5 [ERROR IF TYPE > 4 5HQL BPZ 0 XT 5J== BRN OKTYPE 5JPW OLDTYPE 5K9G SRC 2 2 [CHAR PTR. 5KP6 ADX 2 FX1 5L8Q LDCH 3 P(2) [POINTER REL.TO START OF PERIPHERAL 5LNB [ TYPES TABLE TN1 5M82 BZE 3 XT 5MML LDCH 6 N(2) [NUMBER OF ALLOWABLE TYPES 5N7= NEX 5NLW SMO FX1 5P6G LDX 4 TN1-1(3) [PICK UP NEXT PERMISSIBLE TYPE 5PL6 LDCT 0 #770 5Q5Q ANDX 0 GOPTY(1) [TEST TOP CHAR ONLY 5QKB BXU 4 0,TNX [J IF NOT THE TYPE OF O/P DEVICE REQD 5R52 OKTYPE 5RJL BZE 7 OKNOST [J UNLESS A MULTIFILE. 5S4= [ TYPE OK,BUT CHECK FROM AND OR LINES NOT GIVEN FOR MULTIFILE. 5SHW LDX 0 GFLI(1) [FROM 5T3G ORX 0 GNLI(1) [ & LINES 5TH6 BZE 0 OKNOST [ NOT ALLOWED WIT MULTIFS 5W2Q MFREEW FILE,ENT 5WGB SETREP2 FRLINE 5X22 UP 5XFL OKNOST 5X^= UPPLUS 1 [OK 5YDW TNX 5YYG ADN 3 1 5^D6 BCT 6 NEX 5^XQ BRN XT 62CB XT MFREEW FILE,ENT 62X2 SETREP2 LISTTYPE 63BL UP 63W= [ 64*W [ 64TG [ GAP FOR USEROPEN'S SAKE 65*6 ... MENDAREA 150,K99USERTYPE 66#B #END ^^^^ ...42263303001000000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In