Home » Archimedes archive » Micro User » MU 1991-08.adf » Listings » Arc/I2CTracer

Arc/I2CTracer

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 » Micro User » MU 1991-08.adf » Listings
Filename: Arc/I2CTracer
Read OK:
File size: 05A9 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > I2CTracer (Arc only)
   20MODE 12
   30PRINTTAB(18,1)"I"CHR$&B2"C Interface Curve plotter  By Mike Cook"
   40*Alphabet GREEK
   50DIM V%(255,8),I%(255,8),PBK% 3,PBR% 3,PBD% 3
   60DIM IX$(5)
   70X1%=192:Y1%=200
   80?PBK%=&64
   90SYS "IIC_Control",&90,PBK%,2
  100PROC_AXIS
  110REPEAT
  120FOR B%=1 TO 7
  130?PBD%=B%
  140GCOL 0,B%
  150SYS "IIC_Control",&70,PBD%,1
  160FOR A%=0 TO 255
  170PBK%?1=A%
  180SYS "IIC_Control",&90,PBK%,2
  190SYS "IIC_Control",&91,PBR%,5
  200PLOT 71,V%(A%,B%),I%(A%,B%)
  210V%(A%,B%)=(PBR%?1)*4+X1%
  220I%(A%,B%)=(PBR%?3)*4+Y1%+4
  230PLOT 69,V%(A%,B%),I%(A%,B%)
  240NEXT:NEXT
  250UNTIL FALSE
  260END
  270
  280DEF PROC_AXIS
  290PROC_XAXIS
  300PROC_YAXIS(33)
  310ENDPROC
  320
  330DEF PROC_XAXIS
  340VDU 5
  350LINE X1%-34,Y1%,1084+X1%,Y1%
  360FOR V=1 TO 5
  370MOVE X1%+(V*(1024/5))-(512/5),Y1%
  380PLOT 1,0,-12
  390MOVE X1%+(V*(1024/5)),Y1%
  400PLOT 1,0,-20
  410PLOT 0,-8,-12
  420PRINT;V
  430NEXT
  440MOVE X1%+460,Y1%-78
  450PRINT"VOLTAGE"
  460Y1%+=4
  470VDU 4
  480ENDPROC
  490
  500DEF PROC_YAXIS(R)
  510LOCAL I%,T,SC
  520GCOL 0,0
  530RECTANGLE FILL X1%-170,Y1%+4,166,550
  540GCOL 0,7
  550SC=0
  560IF R>10 THEN R=R/1000:SC=1
  570FOR I%=1 TO 5
  580T=INT(10*I%*((2.5/R)/5))/10
  590IX$(I%)=LEFT$(STR$(T),4)
  600IF LEN(IX$(I%))=1 THEN IX$(I%)=IX$(I%)+".00"
  610IF LEN(IX$(I%))=2 THEN IX$(I%)=IX$(I%)+".0"
  620IF LEN(IX$(I%))=3 THEN IX$(I%)=IX$(I%)+"0"
  630NEXT
  640VDU 5
  650MOVE X1%-160,Y1%+408
  660VDU 23,16,8,0,0,0,0,0,0,0
  670PRINT;"Current "
  680VDU 23,16,0,0,0,0,0,0,0,0
  690MOVE X1%-170,Y1%+150
  700IF SC=0 THEN PRINT;"mA" ELSE PRINT;CHR$(&EC);CHR$(&C1)
  710LINE X1%-2,Y1%-40,X1%-2,Y1%+572
  720LINE X1%-4,Y1%-40,X1%-4,Y1%+572
  730FOR I%=1 TO 5
  740MOVE X1%-2,Y1%+(I%*(512/5))
  750PLOT 1,-8,0
  760PLOT 0,-80,12
  770PRINT;IX$(I%)
  780NEXT
  790VDU 4
  800ENDPROC

� > I2CTracer (Arc only)
� 12
;�18,1)"I"�&B2"C Interface Curve plotter  By Mike Cook"
(*Alphabet GREEK
2.� V%(255,8),I%(255,8),PBK% 3,PBR% 3,PBD% 3
<� IX$(5)
FX1%=192:Y1%=200
P
?PBK%=&64
Zș "IIC_Control",&90,PBK%,2
d
�_AXIS
n�
x� B%=1 � 7
�?PBD%=B%
�
� 0,B%
�ș "IIC_Control",&70,PBD%,1
�� A%=0 � 255
�
PBK%?1=A%
�ș "IIC_Control",&90,PBK%,2
�ș "IIC_Control",&91,PBR%,5
�� 71,V%(A%,B%),I%(A%,B%)
�V%(A%,B%)=(PBR%?1)*4+X1%
�I%(A%,B%)=(PBR%?3)*4+Y1%+4
�� 69,V%(A%,B%),I%(A%,B%)
��:�
�� �
�

� �_AXIS
"�_XAXIS
,�_YAXIS(33)
6�
@
J
� �_XAXIS
T� 5
^� X1%-34,Y1%,1084+X1%,Y1%
h
� V=1 � 5
r"� X1%+(V*(1024/5))-(512/5),Y1%
|
� 1,0,-12
�� X1%+(V*(1024/5)),Y1%
�
� 1,0,-20
�� 0,-8,-12
��;V
��
�� X1%+460,Y1%-78
��"VOLTAGE"
�
Y1%+=4
�� 4
��
�
�� �_YAXIS(R)
�
� I%,T,SC
	� 0,0
ȓ Ȑ X1%-170,Y1%+4,166,550
	� 0,7
&SC=0
0� R>10 � R=R/1000:SC=1
:� I%=1 � 5
DT=�(10*I%*((2.5/R)/5))/10
NIX$(I%)=��(T),4)
X*� �(IX$(I%))=1 � IX$(I%)=IX$(I%)+".00"
b)� �(IX$(I%))=2 � IX$(I%)=IX$(I%)+".0"
l(� �(IX$(I%))=3 � IX$(I%)=IX$(I%)+"0"
v�
�� 5
�� X1%-160,Y1%+408
�� 23,16,8,0,0,0,0,0,0,0
��;"Current "
�� 23,16,0,0,0,0,0,0,0,0
�� X1%-170,Y1%+150
�%� SC=0 � �;"mA" � �;�(&EC);�(&C1)
� � X1%-2,Y1%-40,X1%-2,Y1%+572
� � X1%-4,Y1%-40,X1%-4,Y1%+572
�� I%=1 � 5
�� X1%-2,Y1%+(I%*(512/5))
�� 1,-8,0
�� 0,-80,12

�;IX$(I%)
�
� 4
 �
�
00000000  0d 00 0a 1c f4 20 3e 20  49 32 43 54 72 61 63 65  |..... > I2CTrace|
00000010  72 20 28 41 72 63 20 6f  6e 6c 79 29 0d 00 14 08  |r (Arc only)....|
00000020  eb 20 31 32 0d 00 1e 3b  f1 8a 31 38 2c 31 29 22  |. 12...;..18,1)"|
00000030  49 22 bd 26 42 32 22 43  20 49 6e 74 65 72 66 61  |I".&B2"C Interfa|
00000040  63 65 20 43 75 72 76 65  20 70 6c 6f 74 74 65 72  |ce Curve plotter|
00000050  20 20 42 79 20 4d 69 6b  65 20 43 6f 6f 6b 22 0d  |  By Mike Cook".|
00000060  00 28 13 2a 41 6c 70 68  61 62 65 74 20 47 52 45  |.(.*Alphabet GRE|
00000070  45 4b 0d 00 32 2e de 20  56 25 28 32 35 35 2c 38  |EK..2.. V%(255,8|
00000080  29 2c 49 25 28 32 35 35  2c 38 29 2c 50 42 4b 25  |),I%(255,8),PBK%|
00000090  20 33 2c 50 42 52 25 20  33 2c 50 42 44 25 20 33  | 3,PBR% 3,PBD% 3|
000000a0  0d 00 3c 0c de 20 49 58  24 28 35 29 0d 00 46 13  |..<.. IX$(5)..F.|
000000b0  58 31 25 3d 31 39 32 3a  59 31 25 3d 32 30 30 0d  |X1%=192:Y1%=200.|
000000c0  00 50 0d 3f 50 42 4b 25  3d 26 36 34 0d 00 5a 1f  |.P.?PBK%=&64..Z.|
000000d0  c8 99 20 22 49 49 43 5f  43 6f 6e 74 72 6f 6c 22  |.. "IIC_Control"|
000000e0  2c 26 39 30 2c 50 42 4b  25 2c 32 0d 00 64 0a f2  |,&90,PBK%,2..d..|
000000f0  5f 41 58 49 53 0d 00 6e  05 f5 0d 00 78 0e e3 20  |_AXIS..n....x.. |
00000100  42 25 3d 31 20 b8 20 37  0d 00 82 0c 3f 50 42 44  |B%=1 . 7....?PBD|
00000110  25 3d 42 25 0d 00 8c 0a  e6 20 30 2c 42 25 0d 00  |%=B%..... 0,B%..|
00000120  96 1f c8 99 20 22 49 49  43 5f 43 6f 6e 74 72 6f  |.... "IIC_Contro|
00000130  6c 22 2c 26 37 30 2c 50  42 44 25 2c 31 0d 00 a0  |l",&70,PBD%,1...|
00000140  10 e3 20 41 25 3d 30 20  b8 20 32 35 35 0d 00 aa  |.. A%=0 . 255...|
00000150  0d 50 42 4b 25 3f 31 3d  41 25 0d 00 b4 1f c8 99  |.PBK%?1=A%......|
00000160  20 22 49 49 43 5f 43 6f  6e 74 72 6f 6c 22 2c 26  | "IIC_Control",&|
00000170  39 30 2c 50 42 4b 25 2c  32 0d 00 be 1f c8 99 20  |90,PBK%,2...... |
00000180  22 49 49 43 5f 43 6f 6e  74 72 6f 6c 22 2c 26 39  |"IIC_Control",&9|
00000190  31 2c 50 42 52 25 2c 35  0d 00 c8 1c f0 20 37 31  |1,PBR%,5..... 71|
000001a0  2c 56 25 28 41 25 2c 42  25 29 2c 49 25 28 41 25  |,V%(A%,B%),I%(A%|
000001b0  2c 42 25 29 0d 00 d2 1c  56 25 28 41 25 2c 42 25  |,B%)....V%(A%,B%|
000001c0  29 3d 28 50 42 52 25 3f  31 29 2a 34 2b 58 31 25  |)=(PBR%?1)*4+X1%|
000001d0  0d 00 dc 1e 49 25 28 41  25 2c 42 25 29 3d 28 50  |....I%(A%,B%)=(P|
000001e0  42 52 25 3f 33 29 2a 34  2b 59 31 25 2b 34 0d 00  |BR%?3)*4+Y1%+4..|
000001f0  e6 1c f0 20 36 39 2c 56  25 28 41 25 2c 42 25 29  |... 69,V%(A%,B%)|
00000200  2c 49 25 28 41 25 2c 42  25 29 0d 00 f0 07 ed 3a  |,I%(A%,B%).....:|
00000210  ed 0d 00 fa 07 fd 20 a3  0d 01 04 05 e0 0d 01 0e  |...... .........|
00000220  04 0d 01 18 0c dd 20 f2  5f 41 58 49 53 0d 01 22  |...... ._AXIS.."|
00000230  0b f2 5f 58 41 58 49 53  0d 01 2c 0f f2 5f 59 41  |.._XAXIS..,.._YA|
00000240  58 49 53 28 33 33 29 0d  01 36 05 e1 0d 01 40 04  |XIS(33)..6....@.|
00000250  0d 01 4a 0d dd 20 f2 5f  58 41 58 49 53 0d 01 54  |..J.. ._XAXIS..T|
00000260  07 ef 20 35 0d 01 5e 1d  86 20 58 31 25 2d 33 34  |.. 5..^.. X1%-34|
00000270  2c 59 31 25 2c 31 30 38  34 2b 58 31 25 2c 59 31  |,Y1%,1084+X1%,Y1|
00000280  25 0d 01 68 0d e3 20 56  3d 31 20 b8 20 35 0d 01  |%..h.. V=1 . 5..|
00000290  72 22 ec 20 58 31 25 2b  28 56 2a 28 31 30 32 34  |r". X1%+(V*(1024|
000002a0  2f 35 29 29 2d 28 35 31  32 2f 35 29 2c 59 31 25  |/5))-(512/5),Y1%|
000002b0  0d 01 7c 0d f0 20 31 2c  30 2c 2d 31 32 0d 01 86  |..|.. 1,0,-12...|
000002c0  1a ec 20 58 31 25 2b 28  56 2a 28 31 30 32 34 2f  |.. X1%+(V*(1024/|
000002d0  35 29 29 2c 59 31 25 0d  01 90 0d f0 20 31 2c 30  |5)),Y1%..... 1,0|
000002e0  2c 2d 32 30 0d 01 9a 0e  f0 20 30 2c 2d 38 2c 2d  |,-20..... 0,-8,-|
000002f0  31 32 0d 01 a4 07 f1 3b  56 0d 01 ae 05 ed 0d 01  |12.....;V.......|
00000300  b8 14 ec 20 58 31 25 2b  34 36 30 2c 59 31 25 2d  |... X1%+460,Y1%-|
00000310  37 38 0d 01 c2 0e f1 22  56 4f 4c 54 41 47 45 22  |78....."VOLTAGE"|
00000320  0d 01 cc 0a 59 31 25 2b  3d 34 0d 01 d6 07 ef 20  |....Y1%+=4..... |
00000330  34 0d 01 e0 05 e1 0d 01  ea 04 0d 01 f4 10 dd 20  |4.............. |
00000340  f2 5f 59 41 58 49 53 28  52 29 0d 01 fe 0d ea 20  |._YAXIS(R)..... |
00000350  49 25 2c 54 2c 53 43 0d  02 08 09 e6 20 30 2c 30  |I%,T,SC..... 0,0|
00000360  0d 02 12 1f c8 93 20 c8  90 20 58 31 25 2d 31 37  |...... .. X1%-17|
00000370  30 2c 59 31 25 2b 34 2c  31 36 36 2c 35 35 30 0d  |0,Y1%+4,166,550.|
00000380  02 1c 09 e6 20 30 2c 37  0d 02 26 08 53 43 3d 30  |.... 0,7..&.SC=0|
00000390  0d 02 30 1a e7 20 52 3e  31 30 20 8c 20 52 3d 52  |..0.. R>10 . R=R|
000003a0  2f 31 30 30 30 3a 53 43  3d 31 0d 02 3a 0e e3 20  |/1000:SC=1..:.. |
000003b0  49 25 3d 31 20 b8 20 35  0d 02 44 1d 54 3d a8 28  |I%=1 . 5..D.T=.(|
000003c0  31 30 2a 49 25 2a 28 28  32 2e 35 2f 52 29 2f 35  |10*I%*((2.5/R)/5|
000003d0  29 29 2f 31 30 0d 02 4e  14 49 58 24 28 49 25 29  |))/10..N.IX$(I%)|
000003e0  3d c0 c3 28 54 29 2c 34  29 0d 02 58 2a e7 20 a9  |=..(T),4)..X*. .|
000003f0  28 49 58 24 28 49 25 29  29 3d 31 20 8c 20 49 58  |(IX$(I%))=1 . IX|
00000400  24 28 49 25 29 3d 49 58  24 28 49 25 29 2b 22 2e  |$(I%)=IX$(I%)+".|
00000410  30 30 22 0d 02 62 29 e7  20 a9 28 49 58 24 28 49  |00"..b). .(IX$(I|
00000420  25 29 29 3d 32 20 8c 20  49 58 24 28 49 25 29 3d  |%))=2 . IX$(I%)=|
00000430  49 58 24 28 49 25 29 2b  22 2e 30 22 0d 02 6c 28  |IX$(I%)+".0"..l(|
00000440  e7 20 a9 28 49 58 24 28  49 25 29 29 3d 33 20 8c  |. .(IX$(I%))=3 .|
00000450  20 49 58 24 28 49 25 29  3d 49 58 24 28 49 25 29  | IX$(I%)=IX$(I%)|
00000460  2b 22 30 22 0d 02 76 05  ed 0d 02 80 07 ef 20 35  |+"0"..v....... 5|
00000470  0d 02 8a 15 ec 20 58 31  25 2d 31 36 30 2c 59 31  |..... X1%-160,Y1|
00000480  25 2b 34 30 38 0d 02 94  1b ef 20 32 33 2c 31 36  |%+408..... 23,16|
00000490  2c 38 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |,8,0,0,0,0,0,0,0|
000004a0  0d 02 9e 10 f1 3b 22 43  75 72 72 65 6e 74 20 22  |.....;"Current "|
000004b0  0d 02 a8 1b ef 20 32 33  2c 31 36 2c 30 2c 30 2c  |..... 23,16,0,0,|
000004c0  30 2c 30 2c 30 2c 30 2c  30 2c 30 0d 02 b2 15 ec  |0,0,0,0,0,0.....|
000004d0  20 58 31 25 2d 31 37 30  2c 59 31 25 2b 31 35 30  | X1%-170,Y1%+150|
000004e0  0d 02 bc 25 e7 20 53 43  3d 30 20 8c 20 f1 3b 22  |...%. SC=0 . .;"|
000004f0  6d 41 22 20 8b 20 f1 3b  bd 28 26 45 43 29 3b bd  |mA" . .;.(&EC);.|
00000500  28 26 43 31 29 0d 02 c6  20 86 20 58 31 25 2d 32  |(&C1)... . X1%-2|
00000510  2c 59 31 25 2d 34 30 2c  58 31 25 2d 32 2c 59 31  |,Y1%-40,X1%-2,Y1|
00000520  25 2b 35 37 32 0d 02 d0  20 86 20 58 31 25 2d 34  |%+572... . X1%-4|
00000530  2c 59 31 25 2d 34 30 2c  58 31 25 2d 34 2c 59 31  |,Y1%-40,X1%-4,Y1|
00000540  25 2b 35 37 32 0d 02 da  0e e3 20 49 25 3d 31 20  |%+572..... I%=1 |
00000550  b8 20 35 0d 02 e4 1c ec  20 58 31 25 2d 32 2c 59  |. 5..... X1%-2,Y|
00000560  31 25 2b 28 49 25 2a 28  35 31 32 2f 35 29 29 0d  |1%+(I%*(512/5)).|
00000570  02 ee 0c f0 20 31 2c 2d  38 2c 30 0d 02 f8 0e f0  |.... 1,-8,0.....|
00000580  20 30 2c 2d 38 30 2c 31  32 0d 03 02 0d f1 3b 49  | 0,-80,12.....;I|
00000590  58 24 28 49 25 29 0d 03  0c 05 ed 0d 03 16 07 ef  |X$(I%)..........|
000005a0  20 34 0d 03 20 05 e1 0d  ff                       | 4.. ....|
000005a9