;DF.BLK = 0 .MACRO E.VEN,?L1,?L2 .IF DF DF.BLK .EMIT <.EVEN> .IFF L1: .EVEN L2: .=L1 .IIF NE .EMIT <.BYTE 0> .ENDC .ENDM E.VEN .MACRO B.LKW REPT=1 .IF DF DF.BLK .EMIT <.BLKW REPT> .IFF .REPT REPT .EMIT <.WORD 0> .ENDR .ENDC .ENDM B.LKW .MACRO B.LKB REPT=1 .IF DF DF.BLK .EMIT <.BLKB REPT> .IFF .REPT REPT .EMIT <.BYTE 0> .ENDR .ENDC .ENDM B.LKB ; ; Low memory syscom variables ; SY.DEV =: ^O<40> ; .BYTE = system device unit number SY.COD =: ^O<41> ; .BYTE = LMD - low media code SY.EXI =: ^O<42> ; .WORD = batch diagnostic managed exit path ; ; XXDP disk structure ; ; ; HOMBLK - XXDP MFD block ; HBBLK. =: ^O<1> ; block 1 (for DL:) HBBAS. =: ^O<1000> ; disk byte address HB.NXT =: ^O<0> ;0 ; next block (always zero) HB.UFD =: ^O<2> ; ; first UFD directory block HB.DBC =: ^O<4> ; ; directory block count HB.MAP =: ^O<6> ; ; first map block HB.MBC =: ^O<10> ; ; map block count HB.MFD =: ^O<12> ; ; MFD block (self-reference to block 1) HB.VER =: ^O<14> ; ; XXDP version (never seen used) DBXV2. =: ^O<1002> ;0 ; XXDP V2 version code HB.TOT =: ^O<16> ; ; total blocks HB.RES =: ^O<20> ; ; reserved blocks HB.INT =: ^O<22> ; ; interleave factor HB.BOO =: ^O<24> ;0 ; boot block HB.MON =: ^O<26> ;30 ; monitor block HB.REF =: ^O<30> ; ; MFD refreshed flag (not-0 = yes) HBBBS. =: ^O<30> ; block size ; ; MFD (variety 2) block ; MF.UFD =: ^O<2> ; First UFD block MF.MON =: ^O<26> ; First block of monitor core image H2.UFD =: ^O<0> ; First UFD directory block H2.DBC =: ^O<2> ; Directory block count H2.MAP =: ^O<4> ; First map block H2.MBC =: ^O<6> ; Map block count H2.MFD =: ^O<10> ; MFD block (self-reference to block 1) H2.VER =: ^O<12> ; XXDP version (never seen used) DBXV2. =: ^O<1002> ; XXDP V2 version code H2.TOT =: ^O<14> ; Total blocks H2.RES =: ^O<16> ; Reserved blocks H2.INT =: ^O<20> ; Interleave factor H2.BOO =: ^O<22> ; Boot block H2.MON =: ^O<24> ; Monitor block ; ; Directory entry ; EN.FIL =: ^O<0> ;fil ; rad50 filename (0=>deleted) EN.NAM =: ^O<2> ;nam ; EN.TYP =: ^O<4> ;typ ; EN.DAT =: ^O<6> ; ; file date and contiguous flag EN.ACT =: ^O<10> ; ; ACT-11 use only, logical end. Not used in XXDP EN.STA =: ^O<12> ; ; start block EN.LEN =: ^O<14> ; ; length in blocks EN.LST =: ^O<16> ; ; last block in use EN.FLG =: ^O<20> ; ; flags (ACT-11 use only, logical 52. Not used in XXDP ??) EN.BBS =: ^O<22> ;18. ; UFDFLC =: ^D<510/EN.BBS> ; File entries count on UFD block FILNMS =: ^D<9> ; Filename Size (without point) ; ; EN.DAT - XXDP/DOSbatch date ; ; DATE = (YEAR*1000.) + day-in-year ENDAT$ =: ^O<077777> ; date field mask ENCTG$ =: ^O<100000> ; contiguous file flag