blob: 4cd4aa39ccfa3bd7a990d8b2fb0c4079c5924d13 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
|
# Fix length of user area
define LEN_USER_AREA 2880
# Offsets to elements of the IPPS raster header (RDUMPF)
define DATA_TYPE_OFFSET 33 # Offset to data_type (nbpp)
define NCOLS_OFFSET 35 # Offset to ncols (nppr)
define NWORDS_OFFSET 37 # Offet to nwords_per_row
define NROWS_OFFSET 41 # Offset to nrows
define FIRST_PRU_OFFSET 43 # Offset to 1st pru of raster
define MIN_OFFSET 63 # Offset to data min
define MAX_OFFSET 65 # Offset to data max
define EOR_OFFSET 89 # Offset to terminating pru
# Bit-offsets to fields in the Permanent File Table (LDUMPF)
define PFN_OFFSET (27 * 60 + 1 - 6) # Name: Left justified
define PF_ID_OFFSET (26 * 60 + 1 - 6) # ID: Right justified
define CY_OFFSET (31 * 60 + 1 - 12) # Cycle number
define CREATE_OFFSET (32 * 60 + 1 - 18) # Creation date
define ATTACH_OFFSET (33 * 60 + 1 - 18) # Date of last attach
define ALTER_OFFSET (34 * 60 + 1 - 18) # Date of last alteration
define NCHARS_OFFSET (8 * 60 + 7) # Nchars in PF name
# The IPPS raster descriptor structure DT (RDUMPF):
define LEN_DT 10 + SZ_IPPS_ID + 1
define BITS_PIXEL Memi[$1]
define PRU_EOR Memi[$1+1]
define WRDS_PER_ROW Memi[$1+2]
define NPRU_ROW Memi[$1+3]
define PRU_ROW_ONE Memi[$1+4]
define NCOLS Memi[$1+5]
define NROWS Memi[$1+6]
define DATA_MIN Memr[P2R($1+7)]
define DATA_MAX Memr[P2R($1+8)]
define IPPS_ID Memc[P2C($1+10)]
# The DUMPF tape descriptor structure DMP (LDUMPF):
define LEN_DMP 15 + SZ_PFN + SZ_PF_ID + 2
define CY Memi[$1]
define M_CREATE Memi[$1+1]
define D_CREATE Memi[$1+2]
define Y_CREATE Memi[$1+3]
define M_ALTER Memi[$1+4]
define D_ALTER Memi[$1+5]
define Y_ALTER Memi[$1+6]
define M_ATTACH Memi[$1+7]
define D_ATTACH Memi[$1+8]
define Y_ATTACH Memi[$1+9]
define NCHARS_PFN Memi[$1+10]
define PFN Memc[P2C($1+15)]
define ID Memc[P2C($1+50)]
# Bit-offsets to various IDSFILE header words are defined:
define TAPE_OFFSET ((512 + (15 - 1)) * 64 + 1)
define SCAN_OFFSET ((512 + (1 - 1)) * 64 + 1)
define ITM_OFFSET ((512 + (2 - 1)) * 64 + 1)
define NP1_OFFSET ((512 + (5 - 1)) * 64 + 1)
define NP2_OFFSET ((512 + (6 - 1)) * 64 + 1)
define BEAM_OFFSET ((512 + (7 - 1)) * 64 + 1)
define COMPANION_OFFSET ((512 + (64 - 1)) * 64 + 1)
define OLD_OFFSET ((512 + (64 - 1)) * 64 + 1)
define SMODE_OFFSET ((512 + (10 - 1)) * 64 + 1)
define UT_OFFSET ((512 + (11 - 1)) * 64 + 1)
define ST_OFFSET ((512 + (12 - 1)) * 64 + 1)
define DF_OFFSET ((512 + (16 - 1)) * 64 + 1)
define SM_OFFSET ((512 + (17 - 1)) * 64 + 1)
define QF_OFFSET ((512 + (18 - 1)) * 64 + 1)
define DC_OFFSET ((512 + (19 - 1)) * 64 + 1)
define QD_OFFSET ((512 + (20 - 1)) * 64 + 1)
define EX_OFFSET ((512 + (21 - 1)) * 64 + 1)
define BS_OFFSET ((512 + (22 - 1)) * 64 + 1)
define CA_OFFSET ((512 + (23 - 1)) * 64 + 1)
define CO_OFFSET ((512 + (24 - 1)) * 64 + 1)
define HA_OFFSET ((512 + 26) * 64 + 1)
define AIR_OFFSET ((512 + 27) * 64 + 1)
define RA_OFFSET ((512 + 12) * 64 + 1)
define DEC_OFFSET ((512 + 13) * 64 + 1)
define LAM_OFFSET ((512 + 2) * 64 + 1)
define DEL_OFFSET ((512 + 3) * 64 + 1)
define OFLAG_OFFSET ((512 + (26 - 1)) * 64 + 1)
define ALPHA1_OFFSET ((512 + (25 - 1)) * 64 + 55)
define ALPHA2_OFFSET (ALPHA1_OFFSET - 6)
define ALPHA3_OFFSET (ALPHA2_OFFSET - 6)
define IDS_ID_OFFSET (512 + 28)
define COEFF_OFFSET (512 + 37)
define IDSO_REC_OFF 1
define IDSO_TAPE_OFF 961
# Definition of the control parameter descriptor structure (RIDSFILE, RIDSOUT)
define LEN_CP 5 + SZ_FNAME + SZ_LINE + 2
define MAKE_IMAGE Memi[$1]
define PRINT_PIXELS Memi[$1+1]
define LONG_HEADER Memi[$1+2]
define DATA_TYPE Memi[$1+3]
define IRAF_FILE Memc[P2C($1+5)]
define REC_NUMBERS Memc[P2C($1+5+SZ_FNAME)]
# The IDSFILE descriptor structure IDS (RIDSOUT, RIDSFILE):
define LEN_IDS 35 + 5 + SZ_IDS_ID + 1
define HA Memd[P2D($1)]
define AIRMASS Memd[P2D($1+2)]
define RA Memd[P2D($1+4)]
define DEC Memd[P2D($1+6)]
define LAMBDA0 Memd[P2D($1+8)]
define DELTA_LAMBDA Memd[P2D($1+10)]
define RECORD_NUMBER Memi[$1+12]
define ITM Memi[$1+13]
define NP1 Memi[$1+14]
define NP2 Memi[$1+15]
define BEAM_NUMBER Memi[$1+16]
define COMPANION_RECORD Memi[$1+17]
define SMODE Memi[$1+18]
define UT Memi[$1+19]
define ST Memi[$1+20]
define DF_FLAG Memi[$1+21]
define SM_FLAG Memi[$1+22]
define QF_FLAG Memi[$1+23]
define DC_FLAG Memi[$1+24]
define QD_FLAG Memi[$1+25]
define EX_FLAG Memi[$1+26]
define BS_FLAG Memi[$1+27]
define CA_FLAG Memi[$1+28]
define CO_FLAG Memi[$1+29]
define OFLAG Memi[$1+30]
define COEFF Memi[$1+31]
define ALPHA_ID Memc[P2C($1+35)]
define LABEL Memc[P2C($1+40)]
# Definitions for the Cyber DUMPF tape reading programs RDUMPF and LDUMPF
define NBITS_CHAR (NBITS_BYTE * SZB_CHAR) # Number of bits per char
define NBITS_CYBER_WORD 60 # Number of bits per Cyber word
define LEN_PRU 64 # Number of words per Cyber pru
define NCHARS_PRU (64 * 60 / NBITS_CHAR) # Nchars per PRU
define NBITS_PRU 3840 # Number of bits per Cyber pru
define NCHARS_NOISE (48 / NBITS_CHAR) # Nchars in a Cyber noise record
define NBITS_EOR_MARK 48 # Number of bits per eor marker
define LEN_HEADER 64 # Number of words per header
define SZ_HEADER ((64 * 60) / NBITS_CHAR) # Nchars in IPPS header
define SZ_TAPE_BLK ((512 * 60) / NBITS_CHAR) # Size in chars of tape block
define SZ_TAPE_BUFFER (SZ_TAPE_BLK + 60) # Size of tape buffer for read
define LEN_PFT 48 # Size of Permanent File Table
define SZ_IPPS_ID 127 # Max number of characters in ID
define MAX_RANGES 100
define NOT_SET 0 # Flag for data_type not set
define BLANK 0.0 # Temporary value for blanks
define NBYTES_WORD 5 # 5 12-bit bytes per Cyber word
define NINT_CYBER_WRD 2
define LEN_CYBER_READ (4 * 65) # Number of Cyber words read at once
define SZ_PFT ((48 * 60) / NBITS_CHAR) # Chars in Perm file table
define SZ_PFN 40 # Max characters in PF Name
define SZ_PF_ID 9 # Max characters in PF ID
define NBITS_DATE 18 # Dates are written in 18 bits
define NBITS_CY 12 # Cycle # written in 12 bits
define NBITS_DC 6 # Nbits display code character
define NCHARS_WORD 10 # Number of display code
# characters per cyber word
define LEN_INDEX (5 * LEN_PRU)
define LEN_USER_INDEX (2 * LEN_PRU)
define LEN_IDS_RECORD (9 * LEN_PRU)
define NPIX_IDS_RECORD 1024
define SZ_IDS_ID 64
define NCHAR_ALPHA 3
define START_OF_IDSFILE 6 # First PRU of IDSFILE after index
define NBITS_LRN 18
define NBITS_HRN 18
define NBITS_NPRU 24
define LRN_OFFSET 19 # Offset in index to lrn
define HRN_OFFSET 1 # Offset in index to hrn
define NPRU_OFFSET 37 # Offset in index to pru ordinal
define NBITS_DC 6 # Number of bits in a display code char
define MAX_COEFF 28 # Maximum n_coeff if DF is set
define NPIX_LINE 8 # Npixels per line of text (IDSOUT)
define NLINES_PIXELS 128 # Nlines of text containing pixels
|