Home » Archimedes archive » Acorn User » AU 1998-07.adf » Regulars » StarInfo/Boham/Triang13

StarInfo/Boham/Triang13

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 1998-07.adf » Regulars
Filename: StarInfo/Boham/Triang13
Read OK:
File size: 037B bytes
Load address: 0000
Exec address: 0000
File contents
    1ON ERROR: ON ERROR OFF: PRINT REPORT$;" at line ";ERL:END
    2MODE 9
    3MODE 13:OFF
    4PROCass
    5CALL code%
    6END
    7:
    8DEFPROCass
    9DIM code% 1024,L% -1
   10FOR pass=8 TO 10 STEP 2
   11P%=code%
   12[OPT pass
   13LDR R12,scr
   14MOV R5,#158
   15MOV R6,#128
   16SWI "OS_ReadMonotonicTime"
   17MOV R9,R0
   18.loop
   19
   20.rnd
   21ADD R9,R9,R9,ROR #7
   22AND R10,R9,#%11
   23CMP R10,#0
   24BEQ rnd
   25
   26CMP R10,#1:MOVEQ R0,#0:MOVEQ R1,#255
   27CMP R10,#2:MOVEQ R0,#158:MOVEQ R1,#0
   28CMP R10,#3:MOVEQ R0,#316:MOVEQ R1,#255
   29
   30ADD R5,R5,R0
   31MOV R5,R5,LSR #1
   32ADD R6,R6,R1
   33MOV R6,R6,LSR #1
   34
   35MOV R2,R6,LSL #8
   36ADD R2,R2,R6,LSL #6
   37ADD R2,R2,R5
   38
   39LDRB R3,[R2,R12]
   40ADD R3,R3,#1
   41CMP R3,#4 :MOVEQ R3,#44
   42CMP R3,#48:MOVEQ R3,#208
   43CMP R3,#212:MOVEQ R3,#252
   44CMP R3,#256:MOVEQ R3,#255
   45STRB R3,[R2,R12]
   46
   47CMP R10,#4
   48MOVEQ R10,#1
   49SWI "OS_ReadEscapeState"
   50BCC loop
   51MOV PC,R14
   52.scr EQUD 148:EQUD -1
   53]
   54NEXT pass
   55SYS &31,scr,scr
   56ENDPROC
$� �: � � �: � �$;" at line ";�:�
� 9

� 13:�
�ass
� code%
�
:
	��ass
	� code% 1024,L% -1

� pass=8 � 10 � 2
P%=code%

[OPT pass

LDR R12,scr
MOV R5,#158
MOV R6,#128
SWI "OS_ReadMonotonicTime"

MOV R9,R0
	.loop

.rnd
ADD R9,R9,R9,ROR #7
� R10,R9,#%11
CMP R10,#0
BEQ rnd

"CMP R10,#1:�Q R0,#0:�Q R1,#255
"CMP R10,#2:�Q R0,#158:�Q R1,#0
$CMP R10,#3:�Q R0,#316:�Q R1,#255

ADD R5,R5,R0
MOV R5,R5,LSR #1
 ADD R6,R6,R1
!MOV R6,R6,LSR #1
"
#MOV R2,R6,LSL #8
$ADD R2,R2,R6,LSL #6
%ADD R2,R2,R5
&
'LDRB R3,[R2,R12]
(ADD R3,R3,#1
)CMP R3,#4 :�Q R3,#44
*CMP R3,#48:�Q R3,#208
+CMP R3,#212:�Q R3,#252
,CMP R3,#256:�Q R3,#255
-STRB R3,[R2,R12]
.
/CMP R10,#4
0
�Q R10,#1
1SWI "OS_ReadEscapeState"
2BCC loop
3MOV PC,R14
4.scr EQUD 148:EQUD -1
5]
6
� pass
7ș &31,scr,scr
8�
�
00000000  0d 00 01 24 ee 20 85 3a  20 ee 20 85 20 87 3a 20  |...$. .: . . .: |
00000010  f1 20 f6 24 3b 22 20 61  74 20 6c 69 6e 65 20 22  |. .$;" at line "|
00000020  3b 9e 3a e0 0d 00 02 07  eb 20 39 0d 00 03 0a eb  |;.:...... 9.....|
00000030  20 31 33 3a 87 0d 00 04  08 f2 61 73 73 0d 00 05  | 13:......ass...|
00000040  0b d6 20 63 6f 64 65 25  0d 00 06 05 e0 0d 00 07  |.. code%........|
00000050  05 3a 0d 00 08 09 dd f2  61 73 73 0d 00 09 16 de  |.:......ass.....|
00000060  20 63 6f 64 65 25 20 31  30 32 34 2c 4c 25 20 2d  | code% 1024,L% -|
00000070  31 0d 00 0a 15 e3 20 70  61 73 73 3d 38 20 b8 20  |1..... pass=8 . |
00000080  31 30 20 88 20 32 0d 00  0b 0c 50 25 3d 63 6f 64  |10 . 2....P%=cod|
00000090  65 25 0d 00 0c 0d 5b 4f  50 54 20 70 61 73 73 0d  |e%....[OPT pass.|
000000a0  00 0d 0f 4c 44 52 20 52  31 32 2c 73 63 72 0d 00  |...LDR R12,scr..|
000000b0  0e 0f 4d 4f 56 20 52 35  2c 23 31 35 38 0d 00 0f  |..MOV R5,#158...|
000000c0  0f 4d 4f 56 20 52 36 2c  23 31 32 38 0d 00 10 1e  |.MOV R6,#128....|
000000d0  53 57 49 20 22 4f 53 5f  52 65 61 64 4d 6f 6e 6f  |SWI "OS_ReadMono|
000000e0  74 6f 6e 69 63 54 69 6d  65 22 0d 00 11 0d 4d 4f  |tonicTime"....MO|
000000f0  56 20 52 39 2c 52 30 0d  00 12 09 2e 6c 6f 6f 70  |V R9,R0.....loop|
00000100  0d 00 13 04 0d 00 14 08  2e 72 6e 64 0d 00 15 17  |.........rnd....|
00000110  41 44 44 20 52 39 2c 52  39 2c 52 39 2c 52 4f 52  |ADD R9,R9,R9,ROR|
00000120  20 23 37 0d 00 16 11 80  20 52 31 30 2c 52 39 2c  | #7..... R10,R9,|
00000130  23 25 31 31 0d 00 17 0e  43 4d 50 20 52 31 30 2c  |#%11....CMP R10,|
00000140  23 30 0d 00 18 0b 42 45  51 20 72 6e 64 0d 00 19  |#0....BEQ rnd...|
00000150  04 0d 00 1a 22 43 4d 50  20 52 31 30 2c 23 31 3a  |...."CMP R10,#1:|
00000160  ec 51 20 52 30 2c 23 30  3a ec 51 20 52 31 2c 23  |.Q R0,#0:.Q R1,#|
00000170  32 35 35 0d 00 1b 22 43  4d 50 20 52 31 30 2c 23  |255..."CMP R10,#|
00000180  32 3a ec 51 20 52 30 2c  23 31 35 38 3a ec 51 20  |2:.Q R0,#158:.Q |
00000190  52 31 2c 23 30 0d 00 1c  24 43 4d 50 20 52 31 30  |R1,#0...$CMP R10|
000001a0  2c 23 33 3a ec 51 20 52  30 2c 23 33 31 36 3a ec  |,#3:.Q R0,#316:.|
000001b0  51 20 52 31 2c 23 32 35  35 0d 00 1d 04 0d 00 1e  |Q R1,#255.......|
000001c0  10 41 44 44 20 52 35 2c  52 35 2c 52 30 0d 00 1f  |.ADD R5,R5,R0...|
000001d0  14 4d 4f 56 20 52 35 2c  52 35 2c 4c 53 52 20 23  |.MOV R5,R5,LSR #|
000001e0  31 0d 00 20 10 41 44 44  20 52 36 2c 52 36 2c 52  |1.. .ADD R6,R6,R|
000001f0  31 0d 00 21 14 4d 4f 56  20 52 36 2c 52 36 2c 4c  |1..!.MOV R6,R6,L|
00000200  53 52 20 23 31 0d 00 22  04 0d 00 23 14 4d 4f 56  |SR #1.."...#.MOV|
00000210  20 52 32 2c 52 36 2c 4c  53 4c 20 23 38 0d 00 24  | R2,R6,LSL #8..$|
00000220  17 41 44 44 20 52 32 2c  52 32 2c 52 36 2c 4c 53  |.ADD R2,R2,R6,LS|
00000230  4c 20 23 36 0d 00 25 10  41 44 44 20 52 32 2c 52  |L #6..%.ADD R2,R|
00000240  32 2c 52 35 0d 00 26 04  0d 00 27 14 4c 44 52 42  |2,R5..&...'.LDRB|
00000250  20 52 33 2c 5b 52 32 2c  52 31 32 5d 0d 00 28 10  | R3,[R2,R12]..(.|
00000260  41 44 44 20 52 33 2c 52  33 2c 23 31 0d 00 29 18  |ADD R3,R3,#1..).|
00000270  43 4d 50 20 52 33 2c 23  34 20 3a ec 51 20 52 33  |CMP R3,#4 :.Q R3|
00000280  2c 23 34 34 0d 00 2a 19  43 4d 50 20 52 33 2c 23  |,#44..*.CMP R3,#|
00000290  34 38 3a ec 51 20 52 33  2c 23 32 30 38 0d 00 2b  |48:.Q R3,#208..+|
000002a0  1a 43 4d 50 20 52 33 2c  23 32 31 32 3a ec 51 20  |.CMP R3,#212:.Q |
000002b0  52 33 2c 23 32 35 32 0d  00 2c 1a 43 4d 50 20 52  |R3,#252..,.CMP R|
000002c0  33 2c 23 32 35 36 3a ec  51 20 52 33 2c 23 32 35  |3,#256:.Q R3,#25|
000002d0  35 0d 00 2d 14 53 54 52  42 20 52 33 2c 5b 52 32  |5..-.STRB R3,[R2|
000002e0  2c 52 31 32 5d 0d 00 2e  04 0d 00 2f 0e 43 4d 50  |,R12]....../.CMP|
000002f0  20 52 31 30 2c 23 34 0d  00 30 0d ec 51 20 52 31  | R10,#4..0..Q R1|
00000300  30 2c 23 31 0d 00 31 1c  53 57 49 20 22 4f 53 5f  |0,#1..1.SWI "OS_|
00000310  52 65 61 64 45 73 63 61  70 65 53 74 61 74 65 22  |ReadEscapeState"|
00000320  0d 00 32 0c 42 43 43 20  6c 6f 6f 70 0d 00 33 0e  |..2.BCC loop..3.|
00000330  4d 4f 56 20 50 43 2c 52  31 34 0d 00 34 19 2e 73  |MOV PC,R14..4..s|
00000340  63 72 20 45 51 55 44 20  31 34 38 3a 45 51 55 44  |cr EQUD 148:EQUD|
00000350  20 2d 31 0d 00 35 05 5d  0d 00 36 0a ed 20 70 61  | -1..5.]..6.. pa|
00000360  73 73 0d 00 37 12 c8 99  20 26 33 31 2c 73 63 72  |ss..7... &31,scr|
00000370  2c 73 63 72 0d 00 38 05  e1 0d ff                 |,scr..8....|
0000037b