Home » Archimedes archive » Archimedes World » AW-1996-02-Disc2.adf » !Z80Dem_Z80Demo » !Z80Dem/Resources/Check2

!Z80Dem/Resources/Check2

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 » Archimedes World » AW-1996-02-Disc2.adf » !Z80Dem_Z80Demo
Filename: !Z80Dem/Resources/Check2
Read OK:
File size: 01DD bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > Check 2.00
   11REM not for RISC OS 2
   20DIM buffer 30
   30
   40SYS "OS_GetEnv" TO F$
   50I%=0
   60REPEATI%+=1:UNTILMID$(F$,LENF$-I%,1)<>" "
   70REPEATI%+=1:UNTILMID$(F$,LENF$-I%,1)=" "
   80
   90F$=RIGHT$(F$,I%)
  100
  170IF FNcheck("Z80Em") THEN OSCLI"Filer_Run "+F$ ELSE OSCLI"Run <Z80Em$Dir>.!Run "+F$
  190
  200END
  210
  220DEFFNcheck(A$)
  230LOCAL A%,task$
  240REPEAT
  250SYS "TaskManager_EnumerateTasks",A%,buffer,30 TO A%
  260IF A%<0 THEN =FALSE
  270B%=buffer!4-1
  280task$=""
  290REPEAT B%+=1
  300IF ?B%>31 THEN task$=task$+CHR$?B%
  310UNTIL ?B%<32
  320IF task$=A$ THEN =TRUE
  330UNTIL A%<0
  340=FALSE

� > Check 2.00
� not for RISC OS 2
� buffer 30

(ș "OS_GetEnv" � F$
2I%=0
<�I%+=1:��F$,�F$-I%,1)<>" "
F�I%+=1:��F$,�F$-I%,1)=" "
P
ZF$=�F$,I%)
d
�F� �check("Z80Em") � �"Filer_Run "+F$ � �"Run <Z80Em$Dir>.!Run "+F$
�
��
�
�ݤcheck(A$)
�� A%,task$
��
�5ș "TaskManager_EnumerateTasks",A%,buffer,30 � A%
� A%<0 � =�
B%=buffer!4-1
task$=""
"� B%+=1
,� ?B%>31 � task$=task$+�?B%
6� ?B%<32
@� task$=A$ � =�
J
� A%<0
T=�
�
00000000  0d 00 0a 12 f4 20 3e 20  43 68 65 63 6b 20 32 2e  |..... > Check 2.|
00000010  30 30 0d 00 0b 17 f4 20  6e 6f 74 20 66 6f 72 20  |00..... not for |
00000020  52 49 53 43 20 4f 53 20  32 0d 00 14 0f de 20 62  |RISC OS 2..... b|
00000030  75 66 66 65 72 20 33 30  0d 00 1e 04 0d 00 28 17  |uffer 30......(.|
00000040  c8 99 20 22 4f 53 5f 47  65 74 45 6e 76 22 20 b8  |.. "OS_GetEnv" .|
00000050  20 46 24 0d 00 32 08 49  25 3d 30 0d 00 3c 1e f5  | F$..2.I%=0..<..|
00000060  49 25 2b 3d 31 3a fd c1  46 24 2c a9 46 24 2d 49  |I%+=1:..F$,.F$-I|
00000070  25 2c 31 29 3c 3e 22 20  22 0d 00 46 1d f5 49 25  |%,1)<>" "..F..I%|
00000080  2b 3d 31 3a fd c1 46 24  2c a9 46 24 2d 49 25 2c  |+=1:..F$,.F$-I%,|
00000090  31 29 3d 22 20 22 0d 00  50 04 0d 00 5a 0e 46 24  |1)=" "..P...Z.F$|
000000a0  3d c2 46 24 2c 49 25 29  0d 00 64 04 0d 00 aa 46  |=.F$,I%)..d....F|
000000b0  e7 20 a4 63 68 65 63 6b  28 22 5a 38 30 45 6d 22  |. .check("Z80Em"|
000000c0  29 20 8c 20 ff 22 46 69  6c 65 72 5f 52 75 6e 20  |) . ."Filer_Run |
000000d0  22 2b 46 24 20 8b 20 ff  22 52 75 6e 20 3c 5a 38  |"+F$ . ."Run <Z8|
000000e0  30 45 6d 24 44 69 72 3e  2e 21 52 75 6e 20 22 2b  |0Em$Dir>.!Run "+|
000000f0  46 24 0d 00 be 04 0d 00  c8 05 e0 0d 00 d2 04 0d  |F$..............|
00000100  00 dc 0f dd a4 63 68 65  63 6b 28 41 24 29 0d 00  |.....check(A$)..|
00000110  e6 0e ea 20 41 25 2c 74  61 73 6b 24 0d 00 f0 05  |... A%,task$....|
00000120  f5 0d 00 fa 35 c8 99 20  22 54 61 73 6b 4d 61 6e  |....5.. "TaskMan|
00000130  61 67 65 72 5f 45 6e 75  6d 65 72 61 74 65 54 61  |ager_EnumerateTa|
00000140  73 6b 73 22 2c 41 25 2c  62 75 66 66 65 72 2c 33  |sks",A%,buffer,3|
00000150  30 20 b8 20 41 25 0d 01  04 0f e7 20 41 25 3c 30  |0 . A%..... A%<0|
00000160  20 8c 20 3d a3 0d 01 0e  11 42 25 3d 62 75 66 66  | . =.....B%=buff|
00000170  65 72 21 34 2d 31 0d 01  18 0c 74 61 73 6b 24 3d  |er!4-1....task$=|
00000180  22 22 0d 01 22 0b f5 20  42 25 2b 3d 31 0d 01 2c  |""..".. B%+=1..,|
00000190  1f e7 20 3f 42 25 3e 33  31 20 8c 20 74 61 73 6b  |.. ?B%>31 . task|
000001a0  24 3d 74 61 73 6b 24 2b  bd 3f 42 25 0d 01 36 0c  |$=task$+.?B%..6.|
000001b0  fd 20 3f 42 25 3c 33 32  0d 01 40 13 e7 20 74 61  |. ?B%<32..@.. ta|
000001c0  73 6b 24 3d 41 24 20 8c  20 3d b9 0d 01 4a 0a fd  |sk$=A$ . =...J..|
000001d0  20 41 25 3c 30 0d 01 54  06 3d a3 0d ff           | A%<0..T.=...|
000001dd