MACRO 00001000
ADT 00002000
PUSH PRINT 00002200
AIF ('&SYSPARM' NE 'SUP').ACC01 00002400
PRINT OFF,NOGEN 00002600
.ACC01 ANOP 00002800
* 00003000
* ACTIVE DISK TABLE BLOCK 00004000
* 00005000
ADTSECT DSECT 00006000
* 00007000
* NEEDED FOR READ-ONLY DISKS AND READ-WRITE DISKS 00008000
* 00009000
ADTID DS CL6 DISK-IDENTIFIER (LABEL) 00010000
ADTFLG3 DS 1X THIRD FLAG BYTE 00011100
ADTFTYP DS 1X FILETYPE FLAG-BYTE 00012000
ADTPTR DS 1A POINTER TO NEXT ADT BLOCK IN CHAIN 00013000
ADTDTA DS 1A DEVICE TABLE ADDRESS IN NUCON 00014000
ADTFDA DS 1A FILE DIRECTORY (PSTAT) ADDRESS 00015000
ADTMFDN DS 1F (1) NUMBER DBL-WORDS IN MFD 00016000
ADTMFDA DS 1A (2) MASTER FILE DIRECTORY ADDRESS 00017000
OSADTVTA DS 0F VTOC ADDRESS OF O/S PACK 00018000
ADTHBCT DS 1F FST HYPERBLOCK COUNT 00019000
ADTFSTC DS 1F NUMBER OF FST 40-BYTE ENTRIES (FILES) 00020000
OSADTFST DS 0F ADDRESS OF 1ST. O/S FST 00021000
ADTCHBA DS 1A (1) POINTER TO CURRENT FST HYPERBLOCK 00022000
OSADTVTB DS 0F UPPER VTOC ADDR OF O/S PACK 00023000
ADTCFST DS 1F (2) DISPLACEMENT OF CURRENT FST ENTRY 00024000
ADT1ST DS 1F (1) DISP. OF 1ST WORD IN BIT-MASK WITH 'HOLE' 00025000
OSADTDSK DS 0F O/S DISK ADDRESS (CUU) 00026000
ADTNUM DS 1F (2) NUMBER OF RECORDS (NUMTRKS) 00027000
OSADTSV1 DS 0F SAVE AREA 00028000
ADTUSED DS 1F (3) NUMBER OF RECORDS IN USE (QTUSEDP) 00029000
ADTLEFT DS 1F (4) NUMBER OF RECORDS LEFT (QTLEFTP) 00030000
ADTLAST DS 1F (5) DISP. OF LAST NONZERO BYTE IN BIT-MASK 00031000
ADTCYL DS 1F (6) NUMBER OF CYLINDERS ON DISK (NUMCYLP) 00032000
ADTM DS 1C MODE LETTER (A,B,C,...,S,Y, ETC.) 00033000
ADTMX DS 1C EXTENSION-OF-MODE LETTER (A,B,C, ETC.) 00034000
ADTFLG1 DS 1X FIRST FLAG-BYTE 00035000
ADTFLG2 DS 1X SECOND FLAG BYTE 00036000
* 00037000
ADT2ND DS 0D 00038000
* 00039000
* NEEDED PRIMARILY FOR READ-WRITE DISKS 00040000
* (ADTLHBA & ADTLFST APPLY TO ALL CMS DISKS EXCEPT S-DISK) 00040100
* 00041000
ADTMSK DS 1A 800-BYTE (PQMSK) BIT-MASK ADDRESS 00042000
ADTQQM DS 1A 200-BYTE (PQQMSK) BIT-MASK ADDRESS 00043000
ADTPQM1 DS 1F (1) PQMSIZ = NO. BYTES IN PQMSK > 215 00044000
ADTPQM2 DS 1F (2) PQMNUM = NO. 800 BYTE-REC FOR PQMSK 00045000
ADTPQM3 DS 1F (3) R0NUM = NO. DBL-WORDS IN PQMSK 00046000
ADTLHBA DS 1A (1) POINTER TO LAST FST HYPER-BLOCK 00047000
ADTLFST DS 1F (2) DISP. OF LAST FST IN LAST HYPER-BLOCK 00048000
ADTNACW DS 1H NUMBER OF ACTIVE WRITE FILES - HALFWORD 00049000
ADTRES DS 1H RESERVE-COUNT (RESRVCNT) - HALFWORD 00050000
* 00051000
ADTXNREC DS 1F (1) NO. DBL WORDS OF EXTRA CHAIN LINK RECORDS 00051100
ADTXAREC DS 1F (2) ADDR OF BLOCK OF EXTRA CHAIN LINK RECORDS 00051200
* 00051300
ADTLBM EQU ADT2ND-ADTSECT LENGTH OF MINIMUM ADT BLOCK (BYTES) 00052000
ADTLDM EQU ADTLBM/8 LENGTH OF MINIMUM ADT BLOCK IN DBL-WORDS 00053000
* 00054000
ADTLB EQU *-ADTSECT LENGTH OF FULL ADT BLOCK (BYTES) 00055000
ADTLD EQU (ADTLB+7)/8 LENGTH OF FULL ADT BLOCK IN DBL-WORDS 00056000
* 00057000
* FIRST FLAG-BYTE (ADTFLG1) DEFINITIONS 00058000
* 00059000
ADTFSF EQU X'80' ADT BLOCK IN FREE STORAGE 00060000
ADTFRO EQU X'40' CMS READ-ONLY DISK (ATTACHED & READY) 00061100
ADTFRW EQU X'20' CMS READ-WRITE DISK (ATTACHED & READY) 00062100
ADTFFSTF EQU X'10' 1ST FST HYPERBLOCK IS IN FREE STORAGE 00063000
ADTFFSTV EQU X'08' FST HYPERBLOCKS ARE OF VARYING LENGTH 00064000
ADTFQQF EQU X'04' 200-BYTE QQMSK IS IN FREE STORAGE 00065000
ADTROX EQU X'02' THIS DISK HAS READ-ONLY EXTENSION(S) 00066000
ADTFMIN EQU X'01' ADT BLOCK IS MINIMUM SIZE 00067000
* 00068000
* SECOND FLAG-BYTE (ADTFLG2) DEFINITIONS 00069000
* 00070000
ADTFMFD EQU X'80' MFD IS IN CORE 00071000
ADTFALNM EQU X'40' ALL FILENAMES ARE IN CORE 00072000
ADTFALTY EQU X'20' ALL FILETYPES ARE IN CORE 00073000
ADTFMDRO EQU X'10' MODES 1-5 ARE IN CORE 00074100
ADTFALMD EQU ADTFMDRO+X'08' ALL MODES (0-5) ARE IN CORE 00075100
ADTFALUF EQU ADTFMFD+ADTFALNM+ADTFALTY+ADTFALMD ALL UFD IS IN CORE 00076000
ADTPSTM EQU X'02' ADT PSTAT CHAIN MODIFIED N3220 00078000
ADTFROS EQU X'04' INDICATES THIS IS AN OS DISK N3220 00079000
ADTFDOS EQU X'01' INDICATES THIS IS A DOS DISK 00080000
* 00081000
* THIRD FLAG-BYTE (ADTFLG3) DEFINITIONS 00081100
ADTFUPD1 EQU X'80' 1ST HALF OF "UPDISK" HAS BEEN CALLED 00081200
ADTFXCHN EQU X'40' EXTRA CHAIN LINK(S) NEED TO BE RETURNED 00081300
ADTFRWOS EQU X'20' READ-WRITE OS OR DOS DISK 00081350
ADTFSORT EQU X'10' ALL FST HYPERBLOCKS & FST ENTRIES SORTED 00081400
ADTFORCE EQU X'08' CMS/DOS/OS DISK FORCED READ-ONLY 00081500
ADTFNOAB EQU X'04' FOR DMSAUD - DON'T ABEND IF DISK ERROR 00081600
ADTFZERO EQU X'01' ACCESS MODE 0 HRC010DS 00081650
* 00081700
* OTHER PARAMETERS 00082000
* 00083000
ADTRL EQU 800 LOGICAL RECORD LENGTH 00084000
ADTMXBML EQU 10 MAX BIT MAP LENGTH (NO. RECORDS) FOR 3330 00085100
* 00086000
* NUCON DEVICE TABLE OFFSETS 00087000
* 00088000
DTAD EQU 0 DEVICE NUMBER 00089000
DTADT EQU 3 DEVICE TYPE BYTE 00090000
DTAS EQU 4 SYMBOLIC DEVICE NAME 00091000
EJECT 00092000
POP PRINT 00092100
MEND 00093000