{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: VIPBFREE865)}}
====== VIPBFREE865 ======
(George Source)
**Macros used:** [[george:macro:ABANDCOM|ABANDCOM]], [[george:macro:CCOUT|CCOUT]], [[george:macro:COMERR|COMERR]], [[george:macro:COMERRX|COMERRX]], [[george:macro:DOWN|DOWN]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:FMOPACT|FMOPACT]], [[george:macro:HUNT2J|HUNT2J]], [[george:macro:HUNTW|HUNTW]], [[george:macro:INFORM|INFORM]], [[george:macro:JENVNOT|JENVNOT]], [[george:macro:JV7900|JV7900]], [[george:macro:LDSA|LDSA]], [[george:macro:LGEOG|LGEOG]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:OUTBLOCN|OUTBLOCN]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:PARANUMB|PARANUMB]], [[george:macro:PARSORT|PARSORT]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SUICIDE|SUICIDE]]
22FL SEG VIPBFREE,865,SUE HAWTHORNE COMM
22^= #LIS K0VIPBFREE>K0IPB>K0ALLGEO>K0GREATGEO
23DW [ THIS SEGMENT CONTAINS THE CODE FOR THE FREE COMMAND, A
23YG [ VIRTUAL 7900 COMMAND, IT ENABLES USERS AND OPERATORS TO
24D6 [ DETACH TERMINALS AND RJE DEVICES FROM GEORGE IN ORDER
24XQ [ TO CONNECT TO SOME OTHER SYSTEM FUNCTION USING COMMS.
25CB [ MANAGER.
25X2 [
26BL [ ENTRY POINT
26W= SEGENTRY K1VIPBFREE,SK1VIPBFREE
27*W XMESS1 +JIDEBUSY1
27TG XMESS2 +HNOTMOPON
28*6 XMESS3 +HREP
28SQ XMESS4 +AV7900R
29#B XMESS5 +HTEXT
29S2 [
2=?L [ SUBROUTINE TO SET UP SUPERVISORY
2=R= [
2?=W VSETUP
2?QG SBX 7 FX1 [ RELATEVISE LINK
2#=6 LDN 0 #200 [BIT 16
2#PQ ORS 0 A1+FOURTHWD(3) [SET BIT 16
2*9B LDN 0 #0277 [SUPERVISORY 63 2 WORDS LONG
2*P2 STO 0 ACOMMUNE1(2)
2B8L LDN 0 17
2BN= STO 0 ACOMMUNE4(2)
2C7W CCOUT 6,1 [SET UP AMXOR IOUT AND CHAIN BEHIND
2CMG [AMOP IPBOUT ACTIVITY WHICH WILL THEN
2D76 ADX 7 FX1
2DLQ EXIT 7 0 [ EXIT FROM SUB
2F6B [
2FL2 [ SUBROUTINE TO OUTPUT MESSAGE
2G5L [
2GK= XMESS
2H4W SBX 7 FX1
2HJG OUTBLOCN 4
2J46 OUTNUM 4,2,1 [UNIT NO
2JHQ OUTNUM 6,0 [IDENT NO
2K3B INFORM 2,HIDFR,0 [INFORM OPERATORS IDENT FREED
2KH2 INFORMQUIT
2L2L ADX 7 FX1
2LG= EXIT 7 0
2L^W [
2MFG [ SUBROUTINE TO FIND IPBIN ACTIVITY & ADEVS ENTRY FOR DEVICE
2M^6 [
2NDQ VFIND
2NYB SBX 7 FX1
2PD2 FMOPACT 1,5,IPB [X1 = PNTR TO AMOP IPBIN
2PXL BNG 1 XNOIPBIN
2QC= HUNT2J 3,AMXOR,ADEVS,1,XNOTMOPON
2QWW LDX 0 6
2RBG SBX 0 A1+FOURTHWD(3) [LOWEST IDENT NO
2RW6 SLL 0 2
2S*Q ADX 3 0 [PNTR TO RIGHT ADEVS ENTRY FOR IDENT
2STB LDEX 0 A1+FOURTHWD(3)
2T*2 ANDN 0 #17
2TSL ADX 7 FX1
2W#= EXIT 7 0
2WRW [ * * *
2X?G [ * * **
2XR6 [ ** *
2Y=Q [ * * *
2YQB [ * * *
2^=2 SK1VIPBFREE
2^PL #SKI
329= JENVNOT WRONGENZ,DME [TEST IF DME
32NW PARANUMB 5 [TEST IF ANY PARAMS
338G BNZ 5 VPARAM [IF NOT, MUST BE FREEING HIMSELF
33N6 ... HUNTW 3,AMXOR,ADCB
36KW BNG 3 N7900 [J. NOT A REMOTE DEVICE
375G SMO IADIN(3) [PTR. TO AMOP IPBIN
37K6 LDX 3 CPPTR [LD. DEVICE PTR
384Q JV7900 3,V790K1
38JB BRN N7900
3942 V790K1
39HL LDX 0 JSOURCE2(2)
3=3= BNG 0 VID [J. RJE
3=GW LDSA 6,JSOURCE2(2)
3?2G BRN VIDA
3?G6 VID
3?^Q LDSA 6,JSOURCE1(2) [X6 = IDENTIFIE^ NO
3#FB VIDA
3#^2 LGEOG 3,4 [LD. GEOG NO IN X4
3*DL LDX 5 3
3*Y= CALL 7 VFIND
3BCW BZE 0 VMOP [J MOP
3BXG SBN 0 10
3CC6 BNZ 0 VRJE [J RJE
3CWQ VMOP
3DBB CALL 7 VSETUP [OUPUT SUPERVISORY
3DW2 DOWN IPBMOPB,11 [DOWN TO TIDY UP IF MOP
3F*L CALL 7 XMESS [OUPUT MESSAGES
3FT= MHUNTW 2,AMXOR,ADCB
3G#W STOZ A1+BPTR(2)
3GSG LDX 2 A1+FPTR(2)
3H#6 STOZ BPTR(2)
3HRQ LDX 2 FX2
3J?B MFREEW AMXOR,ADCB [DERING ADCB AND FREE IT
3JR2 ENDCOM [REMOVE ACTIVITY
3K=L [
3KQ= [ RJE DEVICES FREEING THEMSELVES
3L9W [
3LPG VRJE
3M96 CALL 7 VSETUP [SEND SUPERVISORY
3MNQ CALL 7 XMESS [SEND MESSAGES
3N8B SUICIDE [REMOVE CPAT ACTIVITY CONSA I7023 REM
3NN2 [
3P7L [
3PM= [ DEVICE BEING FREED THAT ARE NOT CALLING DEVICE
3Q6W [
3QLG [
3R66 VPARAM
3RKQ LDX 0 JSOURCE2(2)
3S5B BNG 0 VREMT [J. REMOTE DEVICE
3SK2 BNZ 0 XMOP [J. MOP CONSOLE
3T4L VREMT
3TJ= PARSORT XBRKIN [CHECKS VALIDITY OF PARAMETER
3W3W HUNTW 3,CPAR,JSCE [BLK SET UP BY PARSORT
3WHG BNG 3 XEXIT [NO BLK = NO VALID PARAM
3X36 JV7900 JSCEP(3),V79OK2 [TEST IF DEV TO BE FREED IS ON V7900
3XGQ N7900
3Y2B LDX 6 XMESS4(1)
3YG2 BRN XCOM
3Y^L V79OK2
3^F= LDSA 6,JSCEA(3) [X6 = IDENTIFIER NO
3^YW LDEX 4 JSCEB(3) [X4 = UNIT NO
42DG LDX 5 JSCEP(3)
42Y6 CALL 7 VFIND
43CQ LDX 7 A1+BPTR(3) [PNTR TO ADCB BLK IF DEV BUSY
43XB BNZ 7 XBUSY [O IF DEV BUSY
44C2 CALL 7 VSETUP [SEND SUPERVISORY
44WL CALL 7 XMESS [SEND MESSAGE
45B=
45TW XEXIT
46*G ENDCOM
46T6 WRONGENZ
47#Q COMERR JENVMUSTBE,JENVDME [COMMAND ONLY ALLOWED UNDER DME
47SB XBRKIN
48#2 ABANDCOM
48RL XMOP
49?= SMO FX1
49QW LDX 6 XMESS5 [ERROR FREE FROM MOP WITH PARAMS
4==G BRN XCOM
4=Q6 XBUSY
4?9Q SMO FX1
4?PB LDX 6 XMESS1
4#92 BRN XCOM
4#NL XNOTMOPON
4*8= SMO FX1
4*MW LDX 6 XMESS2
4B7G BRN XCOM
4BM6 XNOIPBIN
4C6Q SMO FX1
4CLB LDX 6 XMESS3
4D62 XCOM
4DKL COMERRX 6
4F5= #END
^^^^ ...050660220002