;********************************************************************* ; ; Alpha Base Subroutine : ABUTIL.SBR ; Version 4.8B(1) Hash: 066-146-331-704 ; ; ; ; -------------------------------------------------------------------- ; MAP1 PPN,S,7 ;xxx,xxx ; MAP1 DEVICE,S,5 ;DSKxx ; MAP1 RETURN,F,6 ; ; XCALL ABUTIL,1,PPN,DEVICE,RETURN ; ; Will create the ppn specified in PPN on the device specified ; in DEVICE. RETURN will contain the following on return: ; ; 0 - add was sucessful ; -1 - ; -2 - ; 1 - You are not logged into 1,2 ; 2 - The specified ppn already exists ; 3 - the specified ppn is not valid ; -------------------------------------------------------------------- ; MAP1 PPN,S,7 ;xxx,xxx ; MAP1 DEVICE,S,5 ;DSKxx ; MAP1 RETURN,F,6 ; ; XCALL ABUTIL,2,PPN,DEVICE,RETURN ; ; Will try to locate the PPN on the device specified in DEVICE. ; If successful you will be logged to the device:ppn specified. ; RETURN will contain the following on return: ; ; 0 - PPn was located sucessfully ; -1 - ; -2 - ; 1 - The specified PPn was not found in the MFD ; -------------------------------------------------------------------- ; MAP1 PPN,S,7 ;xxx,xxx ; MAP1 DEVICE,S,5 ;DSKxx ; MAP1 RETURN,F,6 ; ; XCALL ABUTIL,3,PPN,DEVICE,RETURN ; ; Will delete the specified PPN on the device specified in DEVICE. ; RETURN will contain the following on return: ; ; 0 - PPn was deleted sucessfully ; -1 - ; -2 - ; 1 - you are not logged into 1,2 ; 2 - The specified ppn already exists ; 3 - the specified ppn is not valid ; 4 - the specified ppn was not found in the MFD ; 5 - the specified ppn contains files ; -------------------------------------------------------------------- ; MAP1 PPN,S,7 ;xxx,xxx ; MAP1 DEVICE,S,5 ;DSKxx ; MAP1 RETURN,F,6 ; ; XCALL ABUTIL,4,PPN,DEVICE,RETURN ; ; Will delete all of the files in the specifid PPN on the specified ; DEVICE. RETURN will contain the following on return: ; ; 0 - PPn was deleted sucessfully ; -1 - ; -2 - ; 1 - you are not logged into 1,2 ; 2 - The specified ppn already exists ; 3 - the specified ppn is not valid ; 4 - the specified ppn was not found in the MFD ; 5 - the specified ppn contains files ; -------------------------------------------------------------------- ; MAP1 SOURCE,S,25 ; MAP1 DESTIN,S,25 ; ; XCALL ABUTIL,5,SOURCE,DESTIN ; ; will copy sequential file from source filespec to destination ; filespec. Both source and destination dsk:ppn's must exist ; or you will be left in 1,2. Source and destin are string ; variables that contain a filespec. ; -------------------------------------------------------------------- ; MAP1 APPID,S,2 ; MAP1 SYSNO,B,2 ; ; XCALL ABUTIL,6,APPID,SYSNO ; ; Will set the specified system number and application into ; GINDTA.SV This is essentially an Alpha Base LOG. ;********************************************************************* ;********************************************************************* ; ; Alpha Base Subroutine : ALMUTL.SBR ; Version: 4.8B(4) Hash: 234-340-061-446 ; ; USEAGE: XCALL ALMUTL,VARIABLE ; ; Returns a list of User Id's that represents Alpha Base ; users logged into system. An asterisk preceeds ; the user id if the user is at an Alpha Base menu. ; ; VARIABLE should be an unmapped variable containing 8 chars ; for each job on the system. ; ; MAP1 UTL'REC ; MAP2 USR'REC(X) !where x is at least number of ; ! jobs on system ; MAP3 UTL'FLG,S,1 !will contain "*" if at menu ; MAP3 UTL'USR,S,6 !will contain user id ; ;********************************************************************* ;********************************************************************* ; ; Alpha Base Subroutine : AWCONV.SBR ; Version: 1.0(100) Hash: 262-166-646-367 ; ; USEAGE: XCALL AWCONV,STRING ; ; I beleive this routine will input a line from a previously ; opened alphaWRITE file and return the line to the basic ; program in the variable STRING. ; ; It terminates the input when it encounters a CR in the input file. ;********************************************************************* ;********************************************************************* ; ; Alpha Base Subroutine : BITIT.SBR ; Version 1.0(102) Hash: 676-255-722-003 ; ; USEAGE: XCALL BITIT,BYTE,STRING ; ; BYTE is mapped B,1 ; STRING is mapped S,8 ; ; Routine returns string of "Y"'s and "N"'s representing ; the bit condition of each bit in the binary variable ; passed to it. STRING[X,X] = BIT X where X = 1 to 8 ; ; For Example: BYTE=00000011 would return "YYNNNNNN" ; BYTE=00110011 would return "YYNNYYNN" ; ;********************************************************************* ;********************************************************************* ; ; Double-D Software Services Dave Drake ; 4924 Chantilly (702) 438-2173 ; Las Vegas, Nv. 89110 ; ; USEAGE: XCALL BITOT,STRING,BYTE ; ; BYTE is mapped B,1 ; STRING is mapped S,8 ; ; Routine returns single byte variable with bits set in ; the byte corresponding to the presence of a "Y" or "N" ; in the string passed to it. ; STRING[X,X] = BIT X where X = 1 to 8 ; ; For Example: STRING "YYNNNNNN" would return BYTE=00000011 ; STRING "YYNNYYNN" would return BYTE=00110011 ; ; NOTE: This is the complement to BITIT.SBR ; ;********************************************************************* ;********************************************************************* ; ; Alpha Base Subroutine : DBDMTC.SBR ; Version: 7.7A Hash: 473-611-702-331 ; ;********************************************************************* ; DBDMTC.SBR AlphaBASE Routine ; ; 1) log to new device/ppn from within a program. ; ppn must exist on device specified ; ; 2) log back to original device/ppn ; ; 3) copy contents of one file to another (expand/contract) ; *) will copy smaller file to larger file ; *) will copy larger file to smaller file (excess will ; be lost). ; ; *) normally deletes old source file and renames destin ; file to source file ; *) optionally will return with both files intact ;--------------------------------------------------------------------- ;--------------------------------------------------------------------- ; 1) DBDMTC.SBR - Log to another account ;--------------------------------------------------------------------- ; MAP1 WRK,X,350 ! used for DDBs ; MAP1 LOG ; MAP2 LGDSK,S,6 ; MAP2 LGERR,S,1 ; MAP2 LGPPN,S,9 ; ; LGDSK = "DSK0:X" !DEVICE (pad with X) ; LGPPN = "[10,1]" !PPN (Include the brackets) ; ; XCALL DBDMTC,WRK,LOG ! Actually change accounts ; ; IF LGERR <> "X" THEN FAILURE ! Test for failure ; ; LGERR = "D" = no MFD on Device ; LGERR = "E" = PPN not found on specified device ;--------------------------------------------------------------------- ; 2) DBDMTC.SBR - Log back to original account - must have been ; called previously. ;--------------------------------------------------------------------- ; MAP1 WRK,X,350 ! used for DDBs ; ; XCALL DBDMTC,WRK ! Actually change accounts ; ;--------------------------------------------------------------------- ; 3) DBDMTC.SBR - Copy one random file to another ; ; assumes both files exist!! ;--------------------------------------------------------------------- ; MAP1 WRK,X,350 ! used for DDBs ; MAP1 FILE1,S,24 ! for File1 Path ; MAP1 FILE2,S,24 ! for File2 Path ;------------------------------------------------------------------- ; Set file1 and file2 strings (ext is optional - file1 assumes DBD ; file2 assumes TMP). ;------------------------------------------------------------------- ; FILE1 = "DSKn:filnam.ext[nnn,nnn] ; FILE2 = "DSKn:filnam.ext[nnn,nnn] ;------------------------------------------------ ; Copy file1 to file2 (will copy to file2 smaller ; than file1 - remaining file1 will be lost) ; then deletes file1 and renames file2 to ; file1. ; ; 4th arg (optional) will return with both file1 ; and file2 intact. (no delete or rename). ;------------------------------------------------ ; XCALL DBDMTC,WRK,FILE1,FILE2,{0} ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;********************************************************************* ; ; Alpha Base Subroutine : DCALC.SBR ; Version: 1.0(2) Hash: 306-254-752-217 ; ; XCALL DCALC,FRM,TOX,RES{,CHAR} ; ; FRM,B,3 !from date ; TOX,B,3 ! to date ; RES,B,2 ! number of days between dates ; CHAR,S,1 (?<=>) ! Date Relationship ; ! (>)GT (<)LT (=)EQ, (?)bad date ;********************************************************************* ;********************************************************************* ; ; Alpha Base Subroutine : GETJOB.SBR ; Version: 1.1(2) Hash: 237-504-276-354 ; ; Retreive your Job Name and Job Number ; ; MAP1 JOBNAM,S,6 ; MAP1 JOBNUM,B,2 ; ; XCALL GETJOB,JOBNAM,JOBNUM ; ;********************************************************************* ;********************************************************************* ; ; Alpha Base Subroutine : GETTRM.SBR ; Version: 4.8(1) Hash: 514-007-764-017 ; ; Retreive your Terminal Driver Name and optionally Job Name ; ; MAP1 DVRNAM,S,6 ; MAP1 JOBNAM,S,6 ; ; XCALL GETTRM,DVRNAM{,JOBNAM} ; ; DVRNAM - RETURNS WITH TERMINAL DRIVER NAME ; JOBNAM - RETURNS WITH JOB NAME ; ;********************************************************************* ;********************************************************************* ; ; Alpha Base Subroutine : MOVDTA.SBR ; Version: 1.0 Hash: 503-765-605-637 ; ; USEAGE: XCALL MOVDTA,SOURCE,OFFSET,COUNT,DESTINATION ; ; SOURCE = SOURCE DATA VARIABLE (ANY TYPE) ; OFFSET = HOW MANY BYTES INTO SOURCE TO START TRANSFER ; COUNT = HOW MANY BYTES TO TRANSFER ; DESTIN = DESTINATION DATA VARIABLE (ANY TYPE) ; ; OFFSET AND COUNT SHOULD BE MAPPED B,2 ; ; ; ; ;********************************************************************* ;********************************************************************* ; ; Alpha Base Subroutine : ONECHR.SBR ; Version: 1.1 Hash: 105-734-167-552 ; ; USEAGE: XCALL ONECHR,CHAR ; ; CHAR IS MAPPED S,1 ; ; ; RETREIVES ONE CHAR FROM INPUT BUFFER ; WAITS FOR INPUT IF BUFFER EMPTY ; ;********************************************************************* ;********************************************************************* ; ; Alpha Base Subroutine : STATUS.SBR ; Version: 4.8B(4) Hash: 432-143-501-673 ; ; XCALL STATUS,CHAR{,TIME} ; ; CHAR=STRING1 OR BIN1 ; TIME=FLOATING POINT NUMBER OF SECONDS TO TRY FOR CHAR ; ;********************************************************************* ;********************************************************************* ; ; Alpha Base Subroutine : SYSCHG.SBR ; Version 4.8B Hash: 372-210-653-535 ; ; XCALL SYSCHG,SYSNO ; ; SYSNO=STRING OR FLOATING OR BIN2 ; ; Changes system numbers for user (essentially log to new system) ;********************************************************************* ;********************************************************************* ; ; Alpha Base Subroutine : USR.SBR ; Version : 1.0(102) Hash: 466-313-576-353 ; ; ; GETTING YOUR CURRENT LOGIN INFORMATION ; ; MAP1 PPN,S,7 ; MAP1 DRV,S,2 !drive name (DSK, Etc.) ; MAP1 DEV,S,3 !Device number ; MAP1 NAM,S,6 !Job name ; ; XCALL USR,PPN,DRV,DEV,NAM ; ; You may call this routine with from 1 to 4 arguments ; but the arguments must be in the order shown ; that is, if you want DEV, you must ask for PPN and DRV ; ;********************************************************************* ;********************************************************************* ; ; Double-D Software Services Dave Drake ; 4924 Chantilly (702) 438-2173 ; Las Vegas, Nv. 89110 ; ;********************************************************************* These documentation files are what I have been able to decipher from looking at AlphaBase's routines. Most of this information is undocumented. I hope that you find it useful. Dave Drake 10/02/87 .