Home » Archimedes archive » Acorn User » AU 1993-05 (2).adf » !StarInfo/Files/CIE

!StarInfo/Files/CIE

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1993-05 (2).adf
Filename: !StarInfo/Files/CIE
Read OK:
File size: 06F5 bytes
Load address: FFFFFB44
Exec address: 78BC896E
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM     >CIE (Info5)
   20REM By  DCA
   30REM For 32-bit machines (RO3.1)
   40REM (c) BAU May 1993
   50:
   60MODE 13
   70OFF
   80size%=1600
   90DIM code% &1000
  100sp=13:link=14:pc=15
  110FOR pass%=0 TO 2 STEP 2
  120P%=code%
  130[OPT pass%
  140.cie
  150        MVN     r8,#255 ; =&FFFFFF00
  160        ADR     r9,div_tab
  170        MOV     r5,#0
  180.xloop  SWI     &100+30
  190        MOV     r0,r5
  200        ADR     r1,str
  210        MOV     r2,#8
  220        SWI     "XOS_ConvertCardinal1"
  230        SWI     "XOS_Write0"
  240        MOV     r6,#0
  250.yloop  MOV     r7,#4
  260.zloop  MOV     r0,r5
  270        MOV     r1,r6
  280        MOV     r2,r7
  290        SWI     "ColourTrans_ConvertCIEToRGB"
  300        TST     r0,r8
  310        TSTEQ   r1,r8
  320        TSTEQ   r2,r8
  330        BNE     next_z
  340        ADD     r10,r5,r6
  350        ADD     r10,r10,r7
  360        MOV     r0,r0,LSL #8
  370        ORR     r0,r0,r1,LSL #16
  380        ORR     r0,r0,r2,LSL #24
  390        MOV     r1,#0
  400        MOV     r2,#0
  410        MOV     r3,#&100
  420        MOV     r4,#0
  430        SWI     "ColourTrans_SetGCOL"
  440        LDR     r3,[r9,r10,LSL #2]
  450        MUL     r1,r5,r3
  460        MUL     r2,r6,r3
  470        MOV     r1,r1,ASR #16
  480        MOV     r2,r2,ASR #16
  490        MOV     r0,#69
  500        SWI     "XOS_Plot"
  510.next_z ADD     r7,r7,#1
  520        CMP     r7,#256
  530        BLT     zloop
  540        ADD     r6,r6,#1
  550        CMP     r6,#256
  560        BLT     yloop
  570        SWI     "XOS_ReadEscapeState"
  580        MOVCS   pc,link
  590        ADD     r5,r5,#1
  600        CMP     r5,#256
  610        BLT     xloop
  620        MOV     pc,link
  630
  640.str    EQUS    STRING$(8," ")
  650]
  660div_tab=P%:P%+=4*&301
  670NEXT pass%
  680!div_tab=0
  690FOR i%=1 TO &300
  700 div_tab!(4*i%)=(size%*&10000)/i%
  710NEXT
  720CALL cie
  730END

�     >CIE (Info5)

� By  DCA
!� For 32-bit machines (RO3.1)
(� (c) BAU May 1993
2:
<� 13
F�
Psize%=1600
Z� code% &1000
dsp=13:link=14:pc=15
n� pass%=0 � 2 � 2
xP%=code%
�[OPT pass%
�.cie
�(        MVN     r8,#255 ; =&FFFFFF00
�        ADR     r9,div_tab
�        MOV     r5,#0
�.xloop  SWI     &100+30
�        MOV     r0,r5
�        ADR     r1,str
�        MOV     r2,#8
�*        SWI     "XOS_ConvertCardinal1"
�         SWI     "XOS_Write0"
�        MOV     r6,#0
�.yloop  MOV     r7,#4
.zloop  MOV     r0,r5
        MOV     r1,r6
        MOV     r2,r7
"1        SWI     "ColourTrans_ConvertCIEToRGB"
,        TST     r0,r8
6        TSTEQ   r1,r8
@        TSTEQ   r2,r8
J        BNE     next_z
T        ADD     r10,r5,r6
^        ADD     r10,r10,r7
h         MOV     r0,r0,LSL #8
r#        �R     r0,r0,r1,LSL #16
|#        �R     r0,r0,r2,LSL #24
�        MOV     r1,#0
�        MOV     r2,#0
�        MOV     r3,#&100
�        MOV     r4,#0
�)        SWI     "ColourTrans_SetGCOL"
�&        LDR     r3,[r9,r10,LSL #2]
�        MUL     r1,r5,r3
�        MUL     r2,r6,r3
�!        MOV     r1,r1,ASR #16
�!        MOV     r2,r2,ASR #16
�        MOV     r0,#69
�        SWI     "XOS_Plot"
�.next_z ADD     r7,r7,#1
        CMP     r7,#256
        BLT     zloop
        ADD     r6,r6,#1
&        CMP     r6,#256
0        BLT     yloop
:)        SWI     "XOS_ReadEscapeState"
D        MOVCS   pc,link
N        ADD     r5,r5,#1
X        CMP     r5,#256
b        BLT     xloop
l        MOV     pc,link
v
�.str    EQUS    �8," ")
�]
�div_tab=P%:P%+=4*&301
�� pass%
�!div_tab=0
�� i%=1 � &300
�% div_tab!(4*i%)=(size%*&10000)/i%
��
�	� cie
��
�
00000000  0d 00 0a 16 f4 20 20 20  20 20 3e 43 49 45 20 28  |.....     >CIE (|
00000010  49 6e 66 6f 35 29 0d 00  14 0d f4 20 42 79 20 20  |Info5)..... By  |
00000020  44 43 41 0d 00 1e 21 f4  20 46 6f 72 20 33 32 2d  |DCA...!. For 32-|
00000030  62 69 74 20 6d 61 63 68  69 6e 65 73 20 28 52 4f  |bit machines (RO|
00000040  33 2e 31 29 0d 00 28 16  f4 20 28 63 29 20 42 41  |3.1)..(.. (c) BA|
00000050  55 20 4d 61 79 20 31 39  39 33 0d 00 32 05 3a 0d  |U May 1993..2.:.|
00000060  00 3c 08 eb 20 31 33 0d  00 46 05 87 0d 00 50 0e  |.<.. 13..F....P.|
00000070  73 69 7a 65 25 3d 31 36  30 30 0d 00 5a 11 de 20  |size%=1600..Z.. |
00000080  63 6f 64 65 25 20 26 31  30 30 30 0d 00 64 17 73  |code% &1000..d.s|
00000090  70 3d 31 33 3a 6c 69 6e  6b 3d 31 34 3a 70 63 3d  |p=13:link=14:pc=|
000000a0  31 35 0d 00 6e 15 e3 20  70 61 73 73 25 3d 30 20  |15..n.. pass%=0 |
000000b0  b8 20 32 20 88 20 32 0d  00 78 0c 50 25 3d 63 6f  |. 2 . 2..x.P%=co|
000000c0  64 65 25 0d 00 82 0e 5b  4f 50 54 20 70 61 73 73  |de%....[OPT pass|
000000d0  25 0d 00 8c 08 2e 63 69  65 0d 00 96 28 20 20 20  |%.....cie...(   |
000000e0  20 20 20 20 20 4d 56 4e  20 20 20 20 20 72 38 2c  |     MVN     r8,|
000000f0  23 32 35 35 20 3b 20 3d  26 46 46 46 46 46 46 30  |#255 ; =&FFFFFF0|
00000100  30 0d 00 a0 1e 20 20 20  20 20 20 20 20 41 44 52  |0....        ADR|
00000110  20 20 20 20 20 72 39 2c  64 69 76 5f 74 61 62 0d  |     r9,div_tab.|
00000120  00 aa 19 20 20 20 20 20  20 20 20 4d 4f 56 20 20  |...        MOV  |
00000130  20 20 20 72 35 2c 23 30  0d 00 b4 1b 2e 78 6c 6f  |   r5,#0.....xlo|
00000140  6f 70 20 20 53 57 49 20  20 20 20 20 26 31 30 30  |op  SWI     &100|
00000150  2b 33 30 0d 00 be 19 20  20 20 20 20 20 20 20 4d  |+30....        M|
00000160  4f 56 20 20 20 20 20 72  30 2c 72 35 0d 00 c8 1a  |OV     r0,r5....|
00000170  20 20 20 20 20 20 20 20  41 44 52 20 20 20 20 20  |        ADR     |
00000180  72 31 2c 73 74 72 0d 00  d2 19 20 20 20 20 20 20  |r1,str....      |
00000190  20 20 4d 4f 56 20 20 20  20 20 72 32 2c 23 38 0d  |  MOV     r2,#8.|
000001a0  00 dc 2a 20 20 20 20 20  20 20 20 53 57 49 20 20  |..*        SWI  |
000001b0  20 20 20 22 58 4f 53 5f  43 6f 6e 76 65 72 74 43  |   "XOS_ConvertC|
000001c0  61 72 64 69 6e 61 6c 31  22 0d 00 e6 20 20 20 20  |ardinal1"...    |
000001d0  20 20 20 20 20 53 57 49  20 20 20 20 20 22 58 4f  |     SWI     "XO|
000001e0  53 5f 57 72 69 74 65 30  22 0d 00 f0 19 20 20 20  |S_Write0"....   |
000001f0  20 20 20 20 20 4d 4f 56  20 20 20 20 20 72 36 2c  |     MOV     r6,|
00000200  23 30 0d 00 fa 19 2e 79  6c 6f 6f 70 20 20 4d 4f  |#0.....yloop  MO|
00000210  56 20 20 20 20 20 72 37  2c 23 34 0d 01 04 19 2e  |V     r7,#4.....|
00000220  7a 6c 6f 6f 70 20 20 4d  4f 56 20 20 20 20 20 72  |zloop  MOV     r|
00000230  30 2c 72 35 0d 01 0e 19  20 20 20 20 20 20 20 20  |0,r5....        |
00000240  4d 4f 56 20 20 20 20 20  72 31 2c 72 36 0d 01 18  |MOV     r1,r6...|
00000250  19 20 20 20 20 20 20 20  20 4d 4f 56 20 20 20 20  |.        MOV    |
00000260  20 72 32 2c 72 37 0d 01  22 31 20 20 20 20 20 20  | r2,r7.."1      |
00000270  20 20 53 57 49 20 20 20  20 20 22 43 6f 6c 6f 75  |  SWI     "Colou|
00000280  72 54 72 61 6e 73 5f 43  6f 6e 76 65 72 74 43 49  |rTrans_ConvertCI|
00000290  45 54 6f 52 47 42 22 0d  01 2c 19 20 20 20 20 20  |EToRGB"..,.     |
000002a0  20 20 20 54 53 54 20 20  20 20 20 72 30 2c 72 38  |   TST     r0,r8|
000002b0  0d 01 36 19 20 20 20 20  20 20 20 20 54 53 54 45  |..6.        TSTE|
000002c0  51 20 20 20 72 31 2c 72  38 0d 01 40 19 20 20 20  |Q   r1,r8..@.   |
000002d0  20 20 20 20 20 54 53 54  45 51 20 20 20 72 32 2c  |     TSTEQ   r2,|
000002e0  72 38 0d 01 4a 1a 20 20  20 20 20 20 20 20 42 4e  |r8..J.        BN|
000002f0  45 20 20 20 20 20 6e 65  78 74 5f 7a 0d 01 54 1d  |E     next_z..T.|
00000300  20 20 20 20 20 20 20 20  41 44 44 20 20 20 20 20  |        ADD     |
00000310  72 31 30 2c 72 35 2c 72  36 0d 01 5e 1e 20 20 20  |r10,r5,r6..^.   |
00000320  20 20 20 20 20 41 44 44  20 20 20 20 20 72 31 30  |     ADD     r10|
00000330  2c 72 31 30 2c 72 37 0d  01 68 20 20 20 20 20 20  |,r10,r7..h      |
00000340  20 20 20 4d 4f 56 20 20  20 20 20 72 30 2c 72 30  |   MOV     r0,r0|
00000350  2c 4c 53 4c 20 23 38 0d  01 72 23 20 20 20 20 20  |,LSL #8..r#     |
00000360  20 20 20 84 52 20 20 20  20 20 72 30 2c 72 30 2c  |   .R     r0,r0,|
00000370  72 31 2c 4c 53 4c 20 23  31 36 0d 01 7c 23 20 20  |r1,LSL #16..|#  |
00000380  20 20 20 20 20 20 84 52  20 20 20 20 20 72 30 2c  |      .R     r0,|
00000390  72 30 2c 72 32 2c 4c 53  4c 20 23 32 34 0d 01 86  |r0,r2,LSL #24...|
000003a0  19 20 20 20 20 20 20 20  20 4d 4f 56 20 20 20 20  |.        MOV    |
000003b0  20 72 31 2c 23 30 0d 01  90 19 20 20 20 20 20 20  | r1,#0....      |
000003c0  20 20 4d 4f 56 20 20 20  20 20 72 32 2c 23 30 0d  |  MOV     r2,#0.|
000003d0  01 9a 1c 20 20 20 20 20  20 20 20 4d 4f 56 20 20  |...        MOV  |
000003e0  20 20 20 72 33 2c 23 26  31 30 30 0d 01 a4 19 20  |   r3,#&100.... |
000003f0  20 20 20 20 20 20 20 4d  4f 56 20 20 20 20 20 72  |       MOV     r|
00000400  34 2c 23 30 0d 01 ae 29  20 20 20 20 20 20 20 20  |4,#0...)        |
00000410  53 57 49 20 20 20 20 20  22 43 6f 6c 6f 75 72 54  |SWI     "ColourT|
00000420  72 61 6e 73 5f 53 65 74  47 43 4f 4c 22 0d 01 b8  |rans_SetGCOL"...|
00000430  26 20 20 20 20 20 20 20  20 4c 44 52 20 20 20 20  |&        LDR    |
00000440  20 72 33 2c 5b 72 39 2c  72 31 30 2c 4c 53 4c 20  | r3,[r9,r10,LSL |
00000450  23 32 5d 0d 01 c2 1c 20  20 20 20 20 20 20 20 4d  |#2]....        M|
00000460  55 4c 20 20 20 20 20 72  31 2c 72 35 2c 72 33 0d  |UL     r1,r5,r3.|
00000470  01 cc 1c 20 20 20 20 20  20 20 20 4d 55 4c 20 20  |...        MUL  |
00000480  20 20 20 72 32 2c 72 36  2c 72 33 0d 01 d6 21 20  |   r2,r6,r3...! |
00000490  20 20 20 20 20 20 20 4d  4f 56 20 20 20 20 20 72  |       MOV     r|
000004a0  31 2c 72 31 2c 41 53 52  20 23 31 36 0d 01 e0 21  |1,r1,ASR #16...!|
000004b0  20 20 20 20 20 20 20 20  4d 4f 56 20 20 20 20 20  |        MOV     |
000004c0  72 32 2c 72 32 2c 41 53  52 20 23 31 36 0d 01 ea  |r2,r2,ASR #16...|
000004d0  1a 20 20 20 20 20 20 20  20 4d 4f 56 20 20 20 20  |.        MOV    |
000004e0  20 72 30 2c 23 36 39 0d  01 f4 1e 20 20 20 20 20  | r0,#69....     |
000004f0  20 20 20 53 57 49 20 20  20 20 20 22 58 4f 53 5f  |   SWI     "XOS_|
00000500  50 6c 6f 74 22 0d 01 fe  1c 2e 6e 65 78 74 5f 7a  |Plot".....next_z|
00000510  20 41 44 44 20 20 20 20  20 72 37 2c 72 37 2c 23  | ADD     r7,r7,#|
00000520  31 0d 02 08 1b 20 20 20  20 20 20 20 20 43 4d 50  |1....        CMP|
00000530  20 20 20 20 20 72 37 2c  23 32 35 36 0d 02 12 19  |     r7,#256....|
00000540  20 20 20 20 20 20 20 20  42 4c 54 20 20 20 20 20  |        BLT     |
00000550  7a 6c 6f 6f 70 0d 02 1c  1c 20 20 20 20 20 20 20  |zloop....       |
00000560  20 41 44 44 20 20 20 20  20 72 36 2c 72 36 2c 23  | ADD     r6,r6,#|
00000570  31 0d 02 26 1b 20 20 20  20 20 20 20 20 43 4d 50  |1..&.        CMP|
00000580  20 20 20 20 20 72 36 2c  23 32 35 36 0d 02 30 19  |     r6,#256..0.|
00000590  20 20 20 20 20 20 20 20  42 4c 54 20 20 20 20 20  |        BLT     |
000005a0  79 6c 6f 6f 70 0d 02 3a  29 20 20 20 20 20 20 20  |yloop..:)       |
000005b0  20 53 57 49 20 20 20 20  20 22 58 4f 53 5f 52 65  | SWI     "XOS_Re|
000005c0  61 64 45 73 63 61 70 65  53 74 61 74 65 22 0d 02  |adEscapeState"..|
000005d0  44 1b 20 20 20 20 20 20  20 20 4d 4f 56 43 53 20  |D.        MOVCS |
000005e0  20 20 70 63 2c 6c 69 6e  6b 0d 02 4e 1c 20 20 20  |  pc,link..N.   |
000005f0  20 20 20 20 20 41 44 44  20 20 20 20 20 72 35 2c  |     ADD     r5,|
00000600  72 35 2c 23 31 0d 02 58  1b 20 20 20 20 20 20 20  |r5,#1..X.       |
00000610  20 43 4d 50 20 20 20 20  20 72 35 2c 23 32 35 36  | CMP     r5,#256|
00000620  0d 02 62 19 20 20 20 20  20 20 20 20 42 4c 54 20  |..b.        BLT |
00000630  20 20 20 20 78 6c 6f 6f  70 0d 02 6c 1b 20 20 20  |    xloop..l.   |
00000640  20 20 20 20 20 4d 4f 56  20 20 20 20 20 70 63 2c  |     MOV     pc,|
00000650  6c 69 6e 6b 0d 02 76 04  0d 02 80 1b 2e 73 74 72  |link..v......str|
00000660  20 20 20 20 45 51 55 53  20 20 20 20 c4 38 2c 22  |    EQUS    .8,"|
00000670  20 22 29 0d 02 8a 05 5d  0d 02 94 19 64 69 76 5f  | ")....]....div_|
00000680  74 61 62 3d 50 25 3a 50  25 2b 3d 34 2a 26 33 30  |tab=P%:P%+=4*&30|
00000690  31 0d 02 9e 0b ed 20 70  61 73 73 25 0d 02 a8 0e  |1..... pass%....|
000006a0  21 64 69 76 5f 74 61 62  3d 30 0d 02 b2 11 e3 20  |!div_tab=0..... |
000006b0  69 25 3d 31 20 b8 20 26  33 30 30 0d 02 bc 25 20  |i%=1 . &300...% |
000006c0  64 69 76 5f 74 61 62 21  28 34 2a 69 25 29 3d 28  |div_tab!(4*i%)=(|
000006d0  73 69 7a 65 25 2a 26 31  30 30 30 30 29 2f 69 25  |size%*&10000)/i%|
000006e0  0d 02 c6 05 ed 0d 02 d0  09 d6 20 63 69 65 0d 02  |.......... cie..|
000006f0  da 05 e0 0d ff                                    |.....|
000006f5