
PAGE 01    DAI FIRMWARE 2E7FC-2EA0A  V1.1

002                         ORG   :E7FC
003                 *
004                 *
005                 *
006                 **************************
007                 * MOVE POINTER UP / DOWN *
008                 **************************
009                 *
010                 * Subroutine of SDRAW (2E71B).
011                 * Takes a pointer to screen and moves it up or
012                 * down the screen a number of lines. The move
013                 * direction depends on DIRN1 (00BF).
014                 *
015                 * Entry: HL: Pointer.
016                 *        B:  Number of lines.
017                 * Exit:  HL: updated.
018                 *        AFBCDE preserved.
019                 *
020 E7FC F5         UPDTP   PUSH  PSW
021 E7FD D5                 PUSH  D
022 E7FE E5                 PUSH  H
023 E7FF 3A9800             LDA   :0098     Get number bytes/line
024 E802 6F                 MOV   L,A       ) Store it in HL
025 E803 2600               MVI   H,:00     )
026 E805 78                 MOV   A,B       Get nr of lines
027 E806 CD46EB             CALL  :EB46     Calc total length in HL
028 E809 3ABF00             LDA   :00BF     Get Y-direction
029 E80C B7                 ORA   A         Test if up or down
030 E80D C406E7             CNZ   :E706     If down:  Calc 2-compl of HL
031 E810 D1                 POP   D
032 E811 19                 DAD   D         Update pntr
033 E812 CDC7EA             CALL  :EAC7     Into or out archive area
034 E815 D1                 POP   D
035 E816 F1                 POP   PSW
036 E817 C9                 RET 
037                 *
038                 *****************************************
039                 * FILL A RECTANGULAR AREA ON THE SCREEN *
040                 *****************************************
041                 *
042                 * Fills an arbitrary rectangle with a given colour.
043                 *
044                 * The middle of the rectangle is filled first, then
045                 * the left and then the right edge vertical strips.
046                 * The coordinates are given inclusively.
047                 * The rectangle is filled in the same order, which
048                 * ever order the parameters are given in.
049                 *
050                 * Entry: B,DE: Y,X coordinate of one corner.
051                 *        C,HL: Idem of the opposite corner.
052                 *        A:    Colour.
053                 * Exit:  ABCDEHL preserved.
054                 *        CY=0: OK.
055                 *        CY=1: A contains error code.
056                 *
057 E818 B7         SFILL   ORA   A
058 E819 F5                 PUSH  PSW
059 E81A C5                 PUSH  B
060 E81B D5                 PUSH  D
061 E81C E5                 PUSH  H
062 E81D CD3AE8     FIL10   CALL  :E83A     Check arguments, get colour
063 E820 57                 MOV   D,A       Get Y-coord left corner

PAGE 02    DAI FIRMWARE 2E7FC-2EA0A  V1.1

064 E821 3ABF00             LDA   :00BF     ) Check if Y invert
065 E824 B7                 ORA   A         )
066 E825 7A                 MOV   A,D
067 E826 CA2AE8             JZ    :E82A     Jump if no Y-inversion
068 E829 93                 SUB   E         Y-pos bottom left
069 E82A E5         FIL20   PUSH  H         Save X-size
070 E82B CDB9EB             CALL  :EBB9     Get memory address
071 E82E 79                 MOV   A,C
072 E82F E607               ANI   :07
073 E831 4F                 MOV   C,A       Offset in C
074 E832 43                 MOV   B,E       Height in B
075 E833 D1                 POP   D         Width in DE
076 E834 CDF7EA             CALL  :EAF7     Fill block
077 E837 C338E1             JMP   :E138     Popall, ret
078                 *
079                 *******************************
080                 * CHECK ARGUMENTS, GET COLOUR *
081                 *******************************
082                 *
083                 * Checks the arguments given to a entry point and
084                 * sets up the colour variables. Swops order of two
085                 * points given if necessary.
086                 *
087                 * Entry: ABCDEHL: See SFILL.
088                 *        All registers and a returnaddr on stack.
089                 * Exit:  CY=0: O.K.:
090                 *              A,BC:  Set to left corner.
091                 *              DE,HL: Set to Y,X lengths of line.
092                 *              DIRN1: <>0 if Y-direction negative.
093                 *        CY=1: Error report:
094                 *              A=1:   Off screen.
095                 *              A=2:   Colour not available.
096                 *
097 E83A CDC3E9     ARGCHK  CALL  :E9C3     Set up colour variables
098 E83D DA75E8             JC    :E875     Jump if colour not av.
099 E840 CD7AEB             CALL  :EB7A     Check if room available
100 E843 DA7FE8             JC    :E87F     Jump if not
101 E846 C5                 PUSH  B
102 E847 48                 MOV   C,B       Y-coord one point in C
103 E848 EB                 XCHG
104 E849 CD7AEB             CALL  :EB7A     Check if room available
105 E84C EB                 XCHG
106 E84D C1                 POP   B
107 E84E DA7FE8             JC    :E87F     Jump if not
108 E851 CDFBE6             CALL  :E6FB     Compare HL-DE
109 E854 D25DE8             JNC   :E85D     Right most point to C,HL
110                             
111                 * Swop Y-coord.:
112                             
113 E857 EB                 XCHG
114 E858 F5                 PUSH  PSW
115 E859 78                 MOV   A,B       )
116 E85A 41                 MOV   B,C       ) Swop 2 points
117 E85B 4F                 MOV   C,A       )
118 E85C F1                 POP   PSW
119                 *
120 E85D CDF2E6     ARC10   CALL  :E6F2     Calc horizontal length
121 E860 D5                 PUSH  D         Save X-pos left corner
122 E861 79                 MOV   A,C
123 E862 90                 SUB   B
124 E863 1600               MVI   D,:00     Clear Y-invert flag
125 E865 D26BE8             JNC   :E86B     Jump if end above start

PAGE 03    DAI FIRMWARE 2E7FC-2EA0A  V1.1

126 E868 2F                 CMA 
127 E869 3C                 INR   A
128 E86A 15                 DCR   D
129                 *
130 E86B 5F         ARC20   MOV   E,A       Get vertical length
131 E86C 7A                 MOV   A,D
132 E86D 32BF00             STA   :00BF     Set Y-invert flag
133 E870 1600               MVI   D,:00
134 E872 78                 MOV   A,B       Get Y-pos left corner
135 E873 C1                 POP   B         Get X-pos left corner
136 E874 C9                 RET 
137                             
138                 * If colour error:
139                             
140 E875 3E02       ARC90   MVI   A,:02     Error colour not available
141 E877 E1         ARC98   POP   H
142 E878 E1                 POP   H
143 E879 D1                 POP   D
144 E87A C1                 POP   B
145 E87B 33                 INX   SP
146 E87C 33                 INX   SP
147 E87D 37                 STC             Return error
148 E87E C9                 RET 
149                             
150                 * If off screen error:
151                             
152 E87F 3E01       ARC99   MVI   A,:01     Error off screen
153 E881 C377E8             JMP   :E877     Abort
154                 *
155                 *******************************************
156                 * ASK COLOUR OF A POINT ON THE SCREEN AND *
157                 *     ASK SIZE OF THE GRAPHICS SCREEN     *
158                 *******************************************
159                 *
160                 * Aks the colour of a given point on the screen
161                 * and the size of the graphics area of the screen.
162                 *
163                 * Entry: C,HL: Y,X coordinate of the dot required.
164                 * Exit:  CY=0: O.K.:
165                 *              A:    Colour at requested point.
166                 *              B,DE: Max. coordinates of the
167                 *                    graphics area.
168                 *              CHL preserved.
169                 *        CY=1: A:    Error code.
170                 *              BCDEHL preserved.
171                 *
172 E884 E5         SSCRN   PUSH  H
173 E885 C5                 PUSH  B
174 E886 CD7AEB             CALL  :EB7A     Check if room available
175 E889 DAD8E8             JC    :E8D8     Jump if not
176 E88C 7D                 MOV   A,L
177 E88D E607               ANI   :07
178 E88F F5                 PUSH  PSW       Remember field offset
179 E890 79                 MOV   A,C       )
180 E891 44                 MOV   B,H       ) Coord in A,B,C
181 E892 4D                 MOV   C,L       )
182 E893 CDB9EB             CALL  :EBB9     Get address of point
183 E896 3A9D00             LDA   :009D     Get current screen mode
184 E899 1F                 RAR 
185 E89A 1F                 RAR 
186 E89B DAB8E8             JC    :E8B8     Jump if 4-colour mode
187                             

PAGE 04    DAI FIRMWARE 2E7FC-2EA0A  V1.1

188                 * If 16-colour mode:
189                             
190 E89E CDF6E8             CALL  :E8F6     Colours to buffer
191 E8A1 21A300             LXI   H,:00A3   Addr SCXBUF
192 E8A4 F1                 POP   PSW
193 E8A5 CD01E7             CALL  :E701     Calc addr in buffer
194 E8A8 7E                 MOV   A,M       Get colour for reqd blob
195 E8A9 2A9600     SSC10   LHLD  :0096     Get nr of graphics lines
196 E8AC 45                 MOV   B,L
197 E8AD 05                 DCR   B         lobyte -1 in B
198 E8AE 2A9400             LHLD  :0094     Get nr of hor. blobs
199 E8B1 2B                 DCX   H         -1
200 E8B2 EB                 XCHG            in DE
201 E8B3 E1                 POP   H
202 E8B4 4D                 MOV   C,L       Y-coord in C
203 E8B5 E1                 POP   H         X-coord in HL
204 E8B6 B7                 ORA   A         CY=0
205 E8B7 C9                 RET 
206                             
207                 * If 4-colour mode:
208                             
209 E8B8 56         SSC30   MOV   D,M       )
210 E8B9 2B                 DCX   H         ) Get screen data of
211 E8BA 5E                 MOV   E,M       ) point in DE
212 E8BB F1                 POP   PSW
213 E8BC 4F                 MOV   C,A       Field offset in C
214 E8BD 0601               MVI   B,:01
215 E8BF CDE1EB             CALL  :EBE1     Set mask for bits
216 E8C2 219E00             LXI   H,:009E   Pntr to COLORG colours
217 E8C5 78                 MOV   A,B
218 E8C6 A2                 ANA   D         Test top bit result
219 E8C7 CACCE8             JZ    :E8CC     Skip if 0
220 E8CA 23                 INX   H
221 E8CB 23                 INX   H
222 E8CC 78         SSC40   MOV   A,B
223 E8CD A3                 ANA   E         Test bottom bit result
224 E8CE CAD2E8             JZ    :E8D2     Skip if 0
225 E8D1 23                 INX   H
226 E8D2 7E         SSC50   MOV   A,M       Get result from table
227 E8D3 E60F               ANI   :0F       Colour bits only
228 E8D5 C3A9E8             JMP   :E8A9
229                             
230                 * If off screen:
231                             
232 E8D8 E1         SSC99   POP   H
233 E8D9 C1                 POP   B
234 E8DA 3E01               MVI   A,:01     Error 'off screen'
235 E8DC 37                 STC 
236 E8DD C9                 RET 
237                 *
238                 ******************
239                 * UPDATE A FIELD *
240                 ******************
241                 *
242                 * Given a mask of bits to be changed, a colour to
243                 * set them to and a memory address where the field
244                 * starts. This routine reads, updates and replaces
245                 * a field.
246                 *
247                 * Entry: HL: Memory address of start of field.
248                 *        B:  Mask of bits to be changed.
249                 *        C:  Colour to change to (hinibble).

PAGE 05    DAI FIRMWARE 2E7FC-2EA0A  V1.1

250                 * Exit:  All registers preserved.
251                 *
252 E8DE F5         SUPDTE  PUSH  PSW
253 E8DF C5                 PUSH  B
254 E8E0 D5                 PUSH  D
255 E8E1 E5                 PUSH  H
256 E8E2 79                 MOV   A,C       )
257 E8E3 0F                 RRC             )
258 E8E4 0F                 RRC             ) Move hinibble C into
259 E8E5 0F                 RRC             ) lonibble
260 E8E6 0F                 RRC             )
261 E8E7 4F                 MOV   C,A       )
262 E8E8 C5                 PUSH  B
263 E8E9 CDF6E8             CALL  :E8F6     Get current state of screen
264 E8EC C1                 POP   B
265 E8ED CDB2E9             CALL  :E9B2     Change as required
266 E8F0 E1                 POP   H
267 E8F1 E5                 PUSH  H
268 E8F2 C3BAC6             JMP   :C6BA     Set up screen bits for
269                                         mode 1
270                 *
271 E8F5 FF                 DATA  :FF
272                 *
273                 **********************************
274                 * LOAD BUFFER SCXBUF FROM SCREEN *
275                 **********************************
276                 *
277                 * Takes 2 bytes of screen info in 16-colour mode
278                 * and places them in SCXBUF (00A3-AB) in 'standard
279                 * form'.
280                 *
281                 * Entry: HL: Points to 1st byte of info on screen.
282                 * Exit:  All registers corrupted.
283                 *
284 E8F6 23         SSFM    INX   H
285 E8F7 7E                 MOV   A,M       Get previous colour byte
286 E8F8 E60F               ANI   :0F       Background only
287 E8FA 4F                 MOV   C,A       Previous background in C
288 E8FB 2B                 DCX   H
289 E8FC 56                 MOV   D,M       Select byte in D
290 E8FD 2B                 DCX   H
291 E8FE 5E                 MOV   E,M       Colour byte in E
292 E8FF 2B                 DCX   H
293 E900 E5                 PUSH  H         Save pntr to next field
294                                         select byte
295 E901 7B                 MOV   A,E       Colour byte in A
296 E902 E6F0               ANI   :F0       )
297 E904 0F                 RRC             ) Foreground colour
298 E905 0F                 RRC             ) in lonibble
299 E906 0F                 RRC             )
300 E907 0F                 RRC             )
301 E908 47                 MOV   B,A       Foreground colour in B
302 E909 21A300             LXI   H,:00A3   Addr SCXBUF
303 E90C 7A                 MOV   A,D       Get bit mask
304 E90D 1608               MVI   D,:08     8 bytes to set
305 E90F 07         SSF10   RLC 
306 E910 71                 MOV   M,C       Set background
307 E911 D21EE9             JNC   :E91E     Jump if background
308 E914 70                 MOV   M,B       Else: set foreground
309 E915 F5                 PUSH  PSW
310 E916 7B                 MOV   A,E       Get colour byte
311 E917 E60F               ANI   :0F       Background colour only

PAGE 06    DAI FIRMWARE 2E7FC-2EA0A  V1.1

312 E919 4F                 MOV   C,A       Background is current BG
313 E91A 32AC00             STA   :00AC     Store it as colour carried
314                                         out to next field
315 E91D F1                 POP   PSW
316 E91E 23         SSF20   INX   H         Next pos in SCXBUF
317 E91F 15                 DCR   D         Count -1
318 E920 C20FE9             JNZ   :E90F     Loop if more bits
319 E923 C1                 POP   B         Get pntr to next field
320                                         select byte
321 E924 36FF               MVI   M,:FF     Flag no carry out in SBGOU
322 E926 0A                 LDAX  B         Get next select byte
323 E927 34         SSF30   INR   M         Set 'carry out' flag
324 E928 07                 RLC 
325 E929 D227E9             JNC   :E927     Loop counting carry out
326 E92C C9                 RET 
327                 *
328                 *********************************
329                 * SET UP SCREEN BITS FOR MODE 1 *
330                 *********************************
331                 *
332                 * Takes the 8 blobs represented in standard form
333                 * in SCXBUF, and tries to represent them in a way
334                 * which the screen requires for mode 1.
335                 * Up to 2 colours is easy. 3 require to attempt
336                 * to carry in the 1st colour from the previous
337                 * byte.
338                 *
339                 * Entry: HL: Points to 1st of the 2 screen bytes.
340                 * Exit:  Screen will be updated as well as
341                 *        possible.
342                 *        All registers preserved.
343                 *
344                 *SBF00
345 E92D 23         SBFM    INX   H
346 E92E 7E                 MOV   A,M
347 E92F F680               ORI   :80
348 E931 5F                 MOV   E,A       Prev background in E
349 E932 1600               MVI   D,:00     Init bit map
350 E934 21A300             LXI   H,:00A3   Addr SCXBUF
351 E937 00                 NOP 
352 E938 00                 NOP 
353 E939 3AAB00     SBF05   LDA   :00AB     Get flag for colour carried
354                                         out
355 E93C B7                 ORA   A
356 E93D CA45E9             JZ    :E945     Jump if no carry out
357 E940 3AAC00             LDA   :00AC     Get colour carried out
358 E943 F680               ORI   :80       Set msb=1
359 E945 4F         SBF10   MOV   C,A       Background colour in C
360 E946 7E                 MOV   A,M
361 E947 23                 INX   H
362 E948 47                 MOV   B,A       Set 1st blob as FG colour
363 E949 7A                 MOV   A,D       )
364 E94A 37                 STC             ) 1 bit in right end bit
365 E94B 17                 RAL             ) mask
366 E94C 57                 MOV   D,A       )
367 E94D 7E         SBF30   MOV   A,M
368 E94E 23                 INX   H
369 E94F B8                 CMP   B         Is next blob FG colour ?
370 E950 37                 STC 
371 E951 CA61E9             JZ    :E961     Jump if true
372 E954 F680               ORI   :80
373 E956 B9                 CMP   C         Test if same as BG ?

PAGE 07    DAI FIRMWARE 2E7FC-2EA0A  V1.1

374 E957 CA60E9             JZ    :E960     Jump if true
375 E95A 0D                 DCR   C
376 E95B 0C                 INR   C
377 E95C FA86E9             JM    :E986     No luck if BG used already
378 E95F 4F                 MOV   C,A       Else set it to BG
379 E960 B7         SBF40   ORA   A
380 E961 7A         SBF45   MOV   A,D       )
381 E962 17                 RAL             ) New bit in bottom of mask
382 E963 57                 MOV   D,A       )
383 E964 7D         SBF50   MOV   A,L
384 E965 FEAB               CPI   :AB       End of buffer reached ?
385 E967 C24DE9             JNZ   :E94D     Loop until all set up
386 E96A E1                 POP   H
387 E96B E5                 PUSH  H
388 E96C 23                 INX   H
389 E96D 7B                 MOV   A,E
390 E96E E60F               ANI   :0F
391 E970 5F                 MOV   E,A       Only lonibble of E
392 E971 7E                 MOV   A,M
393 E972 E6F0               ANI   :F0       Only hinibble of M
394 E974 B3                 ORA   E
395 E975 77                 MOV   M,A       Add both nibbles together
396 E976 2B                 DCX   H
397 E977 78                 MOV   A,B
398 E978 87                 ADD   A
399 E979 87                 ADD   A
400 E97A 87                 ADD   A
401 E97B 87                 ADD   A         FG colour to top bits
402 E97C 47                 MOV   B,A
403 E97D 79                 MOV   A,C
404 E97E E60F               ANI   :0F       Low nibble only
405 E980 B0                 ORA   B
406 E981 72                 MOV   M,D       Bit map from D
407 E982 2B                 DCX   H
408 E983 77                 MOV   M,A       Colours from E
409 E984 E1         SBF90   POP   H
410 E985 C9                 RET 
411                             
412                 * 3 colours needed:
413                             
414 E986 7B         SBF80   MOV   A,E
415 E987 B7                 ORA   A
416 E988 F284E9             JP    :E984     Jump if tried BG carried in
417 E98B E60F               ANI   :0F       Previous BG
418 E98D B8                 CMP   B         Test against 1st blob colour
419 E98E E1                 POP   H
420 E98F E5                 PUSH  H
421 E990 23                 INX   H
422 E991 23                 INX   H
423 E992 7E                 MOV   A,M       Get bit map
424 E993 37         SBF83   STC 
425 E994 17                 RAL 
426 E995 D293E9             JNC   :E993     Ignore leading BG
427 E998 CAA1E9             JZ    :E9A1     Jump if colour matches
428                                         anyway
429 E99B 3C                 INR   A
430 E99C C284E9             JNZ   :E984     No good if BG used
431                             
432                 * Background not in use:
433                             
434 E99F 58                 MOV   E,B       Set previous BG
435 E9A0 00                 NOP 

PAGE 08    DAI FIRMWARE 2E7FC-2EA0A  V1.1

436 E9A1 21A300     SBF85   LXI   H,:00A3   Addr SCXBUF
437 E9A4 1600               MVI   D,:00     Init D
438 E9A6 00                 NOP 
439 E9A7 4A                 MOV   C,D       and C (BG free)
440 E9A8 7E         SBF88   MOV   A,M       Get byte from SCXBUF
441 E9A9 B8                 CMP   B
442 E9AA C239E9             JNZ   :E939     Jump if blob not old BG
443                                         colour
444 E9AD 00                 NOP 
445 E9AE 23                 INX   H
446 E9AF C3A8E9             JMP   :E9A8     Next blob
447                 *
448                 ************************
449                 * UPDATE BUFFER SCXBUF *
450                 ************************
451                 *
452                 * Takes a set of 'update instructions' in BC and
453                 * sets various bytes in SCXBUF accordingly.
454                 *
455                 * Entry: BC: Instructions.
456                 * Exit:  All registers corrupted.
457                 *
458 E9B2 21A300     SUDCH   LXI   H,:00A3   Addr SCXBUF
459 E9B5 78                 MOV   A,B       Mask in A
460 E9B6 0608               MVI   B,:08     8 byte to be done
461 E9B8 07         SUD10   RLC             Bit from mask into CY
462 E9B9 D2BDE9             JNC   :E9BD     Jump if bit = 0
463 E9BC 71                 MOV   M,C       Else: C into SCXBUF
464 E9BD 23         SUD20   INX   H
465 E9BE 05                 DCR   B
466 E9BF C2B8E9             JNZ   :E9B8     Next byte if not ready
467 E9C2 C9                 RET 
468                 *
469                 ***************************
470                 * SET UP COLOUR VARIABLES *
471                 ***************************
472                 *
473                 * Entry: A: Colour.
474                 * Exit:  CY=1: Colour not available.
475                 *        CY=0: O.K.: ABCDEHL preserved.
476                 *
477 E9C3 B7         COLSU   ORA   A
478 E9C4 F5                 PUSH  PSW
479 E9C5 C5                 PUSH  B
480 E9C6 4F                 MOV   C,A       Colour in C
481 E9C7 AF                 XRA   A
482 E9C8 32C100             STA   :00C1     Reset animate flag
483 E9CB 3A9D00             LDA   :009D     Get current screen mode
484 E9CE 1F                 RAR 
485 E9CF 1F                 RAR 
486 E9D0 D2FDE9             JNC   :E9FD     Jump if 16-colour
487                             
488                 * If 4-colour:
489                             
490 E9D3 79                 MOV   A,C       Get colour
491 E9D4 FE10               CPI   :10
492 E9D6 DAE1E9             JC    :E9E1     Jump if < 16
493 E9D9 CD86D8             CALL  :D886     Check if >= 20. Set 00C1
494                                         for 4-colour animate if not
495 E9DC E603       CSU04   ANI   :03
496 E9DE C3E7E9             JMP   :E9E7     Bottom 3 bits only
497 E9E1 CD9BEB     CSU05   CALL  :EB9B     Find colour in COLORG reg

PAGE 09    DAI FIRMWARE 2E7FC-2EA0A  V1.1

498                                         (2 bit code)
499 E9E4 D207EA             JNC   :EA07     Jump if colour not av.
500 E9E7 0600       CSU08   MVI   B,:00
501 E9E9 FE02               CPI   :02
502 E9EB DAEFE9             JC    :E9EF     Jump if top bit 0
503 E9EE 05                 DCR   B         Set 00/FF on top bit
504 E9EF E601       CSU10   ANI   :01
505 E9F1 2F                 CMA 
506 E9F2 3C                 INR   A         Set 00/FF on bottom bit
507 E9F3 32C200     CSU30   STA   :00C2     )
508 E9F6 78                 MOV   A,B       ) Store details for colour
509 E9F7 32C300             STA   :00C3     ) reqd
510 E9FA C1                 POP   B
511 E9FB F1                 POP   PSW
512 E9FC C9                 RET 
513                             
514                 * If 16-colour:
515                             
516 E9FD 79         CSU40   MOV   A,C       Get colour
517 E9FE 87                 ADD   A         )
518 E9FF 87                 ADD   A         ) SHL 8
519 EA00 87                 ADD   A         )
520 EA01 87                 ADD   A         )
521 EA02 06FF               MVI   B,:FF
522 EA04 C3F3E9             JMP   :E9F3     Store details for colour
523                                         reqd
524                             
525                 * If colour not found:
526                             
527 EA07 C1         CSU99   POP   B
528 EA08 F1                 POP   PSW
529 EA09 3F                 CMC             Quit; 'colour not available'
530 EA0A C9                 RET 
531                 *
532                 *
533                 *
537 EA0B                    END 
 
***************************
* S Y M B O L   T A B L E *
***************************
 
ARC10  E85D   ARC20  E86B   ARC90  E875   ARC98  E877   
ARC99  E87F   ARGCHK E83A   COLSU  E9C3   CSU04  E9DC   
CSU05  E9E1   CSU08  E9E7   CSU10  E9EF   CSU30  E9F3   
CSU40  E9FD   CSU99  EA07   FIL10  E81D   FIL20  E82A   
SBF00  E92D   SBF05  E939   SBF10  E945   SBF30  E94D   
SBF40  E960   SBF45  E961   SBF50  E964   SBF80  E986   
SBF83  E993   SBF85  E9A1   SBF88  E9A8   SBF90  E984   
SBFM   E92D   SFILL  E818   SSC10  E8A9   SSC30  E8B8   
SSC40  E8CC   SSC50  E8D2   SSC99  E8D8   SSCRN  E884   
SSF10  E90F   SSF20  E91E   SSF30  E927   SSFM   E8F6   
SUD10  E9B8   SUD20  E9BD   SUDCH  E9B2   SUPDTE E8DE   
UPDTP  E7FC
