Home » Archimedes archive » Acorn User » AU 1995-07.adf » !Regulars_Regulars » RunTheRisc/Steady3

RunTheRisc/Steady3

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 1995-07.adf » !Regulars_Regulars
Filename: RunTheRisc/Steady3
Read OK:
File size: 0295 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM>!PortMon.PortMon
   20ON ERROR PRINT REPORT$" at line ";ERL:END
   30
   40PRINT"Steady Hands 3 - Detect the fault, start & end"
   50PRINT"By Mike Cook"
   60
   70SYS"OS_ReadSysInfo",2 TO ,F%
   80IF (F% AND 1)=0 THEN
   90PRINT"You can't do this with a mono direction printer port"
  100END
  110ENDIF
  120
  130REPEAT
  140PRINT"Move the wand to the START"
  150REPEAT
  160SYS"Parallel_Op",0 TO ,,D%
  170UNTIL (D% AND &20) = 0
  180
  190PRINT"Start when you are ready"
  200REPEAT
  210SYS"Parallel_Op",0 TO ,,D%
  220UNTIL (D% AND &20) <> 0
  230
  240PRINT"Go!"
  250T%=TIME
  260REPEAT
  270SYS"Parallel_Op",0 TO ,,D%
  280IF (D% AND &80) <> 0 THEN VDU 7:PRINT"Ouch!":PROC_DELAY
  290UNTIL (D% AND &40) = 0
  300PRINT"Time taken ";(TIME-T%)/100;" seconds"
  310PRINT
  320UNTIL FALSE
  330END
  340
  350DEF PROC_DELAY
  360LOCAL T%
  370T%=TIME+10
  380REPEAT UNTIL TIME>T%
  390ENDPROC

�>!PortMon.PortMon
� � � �$" at line ";�:�

(5�"Steady Hands 3 - Detect the fault, start & end"
2�"By Mike Cook"
<
Fș"OS_ReadSysInfo",2 � ,F%
P� (F% � 1)=0 �
Z;�"You can't do this with a mono direction printer port"
d�
n�
x
��
�!�"Move the wand to the START"
��
�ș"Parallel_Op",0 � ,,D%
�� (D% � &20) = 0
�
��"Start when you are ready"
��
�ș"Parallel_Op",0 � ,,D%
�� (D% � &20) <> 0
�
�
�"Go!"
�T%=�
�
ș"Parallel_Op",0 � ,,D%
,� (D% � &80) <> 0 � � 7:�"Ouch!":�_DELAY
"� (D% � &40) = 0
,(�"Time taken ";(�-T%)/100;" seconds"
6�
@� �
J�
T
^
� �_DELAY
h� T%
rT%=�+10
|� � �>T%
��
�
00000000  0d 00 0a 16 f4 3e 21 50  6f 72 74 4d 6f 6e 2e 50  |.....>!PortMon.P|
00000010  6f 72 74 4d 6f 6e 0d 00  14 1b ee 20 85 20 f1 20  |ortMon..... . . |
00000020  f6 24 22 20 61 74 20 6c  69 6e 65 20 22 3b 9e 3a  |.$" at line ";.:|
00000030  e0 0d 00 1e 04 0d 00 28  35 f1 22 53 74 65 61 64  |.......(5."Stead|
00000040  79 20 48 61 6e 64 73 20  33 20 2d 20 44 65 74 65  |y Hands 3 - Dete|
00000050  63 74 20 74 68 65 20 66  61 75 6c 74 2c 20 73 74  |ct the fault, st|
00000060  61 72 74 20 26 20 65 6e  64 22 0d 00 32 13 f1 22  |art & end"..2.."|
00000070  42 79 20 4d 69 6b 65 20  43 6f 6f 6b 22 0d 00 3c  |By Mike Cook"..<|
00000080  04 0d 00 46 1e c8 99 22  4f 53 5f 52 65 61 64 53  |...F..."OS_ReadS|
00000090  79 73 49 6e 66 6f 22 2c  32 20 b8 20 2c 46 25 0d  |ysInfo",2 . ,F%.|
000000a0  00 50 12 e7 20 28 46 25  20 80 20 31 29 3d 30 20  |.P.. (F% . 1)=0 |
000000b0  8c 0d 00 5a 3b f1 22 59  6f 75 20 63 61 6e 27 74  |...Z;."You can't|
000000c0  20 64 6f 20 74 68 69 73  20 77 69 74 68 20 61 20  | do this with a |
000000d0  6d 6f 6e 6f 20 64 69 72  65 63 74 69 6f 6e 20 70  |mono direction p|
000000e0  72 69 6e 74 65 72 20 70  6f 72 74 22 0d 00 64 05  |rinter port"..d.|
000000f0  e0 0d 00 6e 05 cd 0d 00  78 04 0d 00 82 05 f5 0d  |...n....x.......|
00000100  00 8c 21 f1 22 4d 6f 76  65 20 74 68 65 20 77 61  |..!."Move the wa|
00000110  6e 64 20 74 6f 20 74 68  65 20 53 54 41 52 54 22  |nd to the START"|
00000120  0d 00 96 05 f5 0d 00 a0  1c c8 99 22 50 61 72 61  |..........."Para|
00000130  6c 6c 65 6c 5f 4f 70 22  2c 30 20 b8 20 2c 2c 44  |llel_Op",0 . ,,D|
00000140  25 0d 00 aa 14 fd 20 28  44 25 20 80 20 26 32 30  |%..... (D% . &20|
00000150  29 20 3d 20 30 0d 00 b4  04 0d 00 be 1f f1 22 53  |) = 0........."S|
00000160  74 61 72 74 20 77 68 65  6e 20 79 6f 75 20 61 72  |tart when you ar|
00000170  65 20 72 65 61 64 79 22  0d 00 c8 05 f5 0d 00 d2  |e ready"........|
00000180  1c c8 99 22 50 61 72 61  6c 6c 65 6c 5f 4f 70 22  |..."Parallel_Op"|
00000190  2c 30 20 b8 20 2c 2c 44  25 0d 00 dc 15 fd 20 28  |,0 . ,,D%..... (|
000001a0  44 25 20 80 20 26 32 30  29 20 3c 3e 20 30 0d 00  |D% . &20) <> 0..|
000001b0  e6 04 0d 00 f0 0a f1 22  47 6f 21 22 0d 00 fa 08  |......."Go!"....|
000001c0  54 25 3d 91 0d 01 04 05  f5 0d 01 0e 1c c8 99 22  |T%=............"|
000001d0  50 61 72 61 6c 6c 65 6c  5f 4f 70 22 2c 30 20 b8  |Parallel_Op",0 .|
000001e0  20 2c 2c 44 25 0d 01 18  2c e7 20 28 44 25 20 80  | ,,D%...,. (D% .|
000001f0  20 26 38 30 29 20 3c 3e  20 30 20 8c 20 ef 20 37  | &80) <> 0 . . 7|
00000200  3a f1 22 4f 75 63 68 21  22 3a f2 5f 44 45 4c 41  |:."Ouch!":._DELA|
00000210  59 0d 01 22 14 fd 20 28  44 25 20 80 20 26 34 30  |Y..".. (D% . &40|
00000220  29 20 3d 20 30 0d 01 2c  28 f1 22 54 69 6d 65 20  |) = 0..,(."Time |
00000230  74 61 6b 65 6e 20 22 3b  28 91 2d 54 25 29 2f 31  |taken ";(.-T%)/1|
00000240  30 30 3b 22 20 73 65 63  6f 6e 64 73 22 0d 01 36  |00;" seconds"..6|
00000250  05 f1 0d 01 40 07 fd 20  a3 0d 01 4a 05 e0 0d 01  |....@.. ...J....|
00000260  54 04 0d 01 5e 0d dd 20  f2 5f 44 45 4c 41 59 0d  |T...^.. ._DELAY.|
00000270  01 68 08 ea 20 54 25 0d  01 72 0b 54 25 3d 91 2b  |.h.. T%..r.T%=.+|
00000280  31 30 0d 01 7c 0c f5 20  fd 20 91 3e 54 25 0d 01  |10..|.. . .>T%..|
00000290  86 05 e1 0d ff                                    |.....|
00000295