Home » Archimedes archive » Acorn User » AU 1998-10.adf » Regulars » StarInfo/nonsense/FatherJack

StarInfo/nonsense/FatherJack

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-10.adf » Regulars
Filename: StarInfo/nonsense/FatherJack
Read OK:
File size: 038B bytes
Load address: 0000
Exec address: 0000
File contents
   10REM Syntax ARSE! -file
   20ON ERROR REPORT:PRINT" at line ";ERL:END
   30DIM filein% 25000,fileout% 25000
   40SYS"OS_GetEnv" TO end$
   50start%=INSTR(end$,"-",10)
   60IF start%=0 PRINT"Select a file first!":END
   70file$=MID$(end$,start%+1)
   80SYS &08,17,file$ TO ,,,,len%
   90inptr%=0
  100outptr%=-1
  110REM ---
  120chance%=10
  130REM ---
  140OSCLI"Load "+file$+" "+STR$~filein%
  150OFF
  160PRINT"Please wait!"
  170REPEAT
  180PROCgetword
  190IF RND(100/chance%)=1 word$="ARSE! "
  200PROCputword
  210UNTIL word$="" OR INKEY(-99)
  220OSCLI"Save Result "+STR$~fileout%+" + "+ STR$~len%
  230OSCLI"SetType Result &fff"
  240END
  250
  260DEFPROCgetword
  270word$=""
  280FOR read%=inptr% TO len%
  290IF filein%?read%=32 OR filein%?read%=13 OR filein%?read%=10 THEN
  300FOR take%=inptr% TO read%
  310byte$=CHR$(filein%?(take%))
  320word$+=byte$
  330NEXT take%
  340inptr%=take%
  350ENDPROC
  360ENDIF
  370NEXT read%
  380ENDPROC
  390
  400DEFPROCputword
  410FOR write%=1 TO LEN(word$)
  420fileout%?(write%+outptr%)=ASC(MID$(word$,write%,1))
  430NEXT write%
  440IF word$="ARSE!" outptr%+=6:ENDPROC
  450outptr%+=write%-1
  460ENDPROC

� Syntax ARSE! -file
� � �:�" at line ";�:�
"� filein% 25000,fileout% 25000
(ș"OS_GetEnv" � end$
2start%=�end$,"-",10)
<(� start%=0 �"Select a file first!":�
Ffile$=�end$,start%+1)
Pș &08,17,file$ � ,,,,len%
Zinptr%=0
doutptr%=-1
n	� ---
xchance%=10
�	� ---
� �"Load "+file$+" "+�~filein%
��
��"Please wait!"
��
��getword
�%� �(100/chance%)=1 word$="ARSE! "
��putword
�� word$="" � �(-99)
�,�"Save Result "+�~fileout%+" + "+ �~len%
��"SetType Result &fff"
��
�

��getword
word$=""
� read%=inptr% � len%
">� filein%?read%=32 � filein%?read%=13 � filein%?read%=10 �
,� take%=inptr% � read%
6byte$=�(filein%?(take%))
@word$+=byte$
J� take%
Tinptr%=take%
^�
h�
r� read%
|�
�
�
��putword
�� write%=1 � �(word$)
�1fileout%?(write%+outptr%)=�(�word$,write%,1))
�� write%
� � word$="ARSE!" outptr%+=6:�
�outptr%+=write%-1
��
�
00000000  0d 00 0a 18 f4 20 53 79  6e 74 61 78 20 41 52 53  |..... Syntax ARS|
00000010  45 21 20 2d 66 69 6c 65  0d 00 14 1a ee 20 85 20  |E! -file..... . |
00000020  f6 3a f1 22 20 61 74 20  6c 69 6e 65 20 22 3b 9e  |.:." at line ";.|
00000030  3a e0 0d 00 1e 22 de 20  66 69 6c 65 69 6e 25 20  |:....". filein% |
00000040  32 35 30 30 30 2c 66 69  6c 65 6f 75 74 25 20 32  |25000,fileout% 2|
00000050  35 30 30 30 0d 00 28 18  c8 99 22 4f 53 5f 47 65  |5000..(..."OS_Ge|
00000060  74 45 6e 76 22 20 b8 20  65 6e 64 24 0d 00 32 18  |tEnv" . end$..2.|
00000070  73 74 61 72 74 25 3d a7  65 6e 64 24 2c 22 2d 22  |start%=.end$,"-"|
00000080  2c 31 30 29 0d 00 3c 28  e7 20 73 74 61 72 74 25  |,10)..<(. start%|
00000090  3d 30 20 f1 22 53 65 6c  65 63 74 20 61 20 66 69  |=0 ."Select a fi|
000000a0  6c 65 20 66 69 72 73 74  21 22 3a e0 0d 00 46 19  |le first!":...F.|
000000b0  66 69 6c 65 24 3d c1 65  6e 64 24 2c 73 74 61 72  |file$=.end$,star|
000000c0  74 25 2b 31 29 0d 00 50  1e c8 99 20 26 30 38 2c  |t%+1)..P... &08,|
000000d0  31 37 2c 66 69 6c 65 24  20 b8 20 2c 2c 2c 2c 6c  |17,file$ . ,,,,l|
000000e0  65 6e 25 0d 00 5a 0c 69  6e 70 74 72 25 3d 30 0d  |en%..Z.inptr%=0.|
000000f0  00 64 0e 6f 75 74 70 74  72 25 3d 2d 31 0d 00 6e  |.d.outptr%=-1..n|
00000100  09 f4 20 2d 2d 2d 0d 00  78 0e 63 68 61 6e 63 65  |.. ---..x.chance|
00000110  25 3d 31 30 0d 00 82 09  f4 20 2d 2d 2d 0d 00 8c  |%=10..... ---...|
00000120  20 ff 22 4c 6f 61 64 20  22 2b 66 69 6c 65 24 2b  | ."Load "+file$+|
00000130  22 20 22 2b c3 7e 66 69  6c 65 69 6e 25 0d 00 96  |" "+.~filein%...|
00000140  05 87 0d 00 a0 13 f1 22  50 6c 65 61 73 65 20 77  |......."Please w|
00000150  61 69 74 21 22 0d 00 aa  05 f5 0d 00 b4 0c f2 67  |ait!"..........g|
00000160  65 74 77 6f 72 64 0d 00  be 25 e7 20 b3 28 31 30  |etword...%. .(10|
00000170  30 2f 63 68 61 6e 63 65  25 29 3d 31 20 77 6f 72  |0/chance%)=1 wor|
00000180  64 24 3d 22 41 52 53 45  21 20 22 0d 00 c8 0c f2  |d$="ARSE! ".....|
00000190  70 75 74 77 6f 72 64 0d  00 d2 17 fd 20 77 6f 72  |putword..... wor|
000001a0  64 24 3d 22 22 20 84 20  a6 28 2d 39 39 29 0d 00  |d$="" . .(-99)..|
000001b0  dc 2c ff 22 53 61 76 65  20 52 65 73 75 6c 74 20  |.,."Save Result |
000001c0  22 2b c3 7e 66 69 6c 65  6f 75 74 25 2b 22 20 2b  |"+.~fileout%+" +|
000001d0  20 22 2b 20 c3 7e 6c 65  6e 25 0d 00 e6 1a ff 22  | "+ .~len%....."|
000001e0  53 65 74 54 79 70 65 20  52 65 73 75 6c 74 20 26  |SetType Result &|
000001f0  66 66 66 22 0d 00 f0 05  e0 0d 00 fa 04 0d 01 04  |fff"............|
00000200  0d dd f2 67 65 74 77 6f  72 64 0d 01 0e 0c 77 6f  |...getword....wo|
00000210  72 64 24 3d 22 22 0d 01  18 19 e3 20 72 65 61 64  |rd$=""..... read|
00000220  25 3d 69 6e 70 74 72 25  20 b8 20 6c 65 6e 25 0d  |%=inptr% . len%.|
00000230  01 22 3e e7 20 66 69 6c  65 69 6e 25 3f 72 65 61  |.">. filein%?rea|
00000240  64 25 3d 33 32 20 84 20  66 69 6c 65 69 6e 25 3f  |d%=32 . filein%?|
00000250  72 65 61 64 25 3d 31 33  20 84 20 66 69 6c 65 69  |read%=13 . filei|
00000260  6e 25 3f 72 65 61 64 25  3d 31 30 20 8c 0d 01 2c  |n%?read%=10 ...,|
00000270  1a e3 20 74 61 6b 65 25  3d 69 6e 70 74 72 25 20  |.. take%=inptr% |
00000280  b8 20 72 65 61 64 25 0d  01 36 1c 62 79 74 65 24  |. read%..6.byte$|
00000290  3d bd 28 66 69 6c 65 69  6e 25 3f 28 74 61 6b 65  |=.(filein%?(take|
000002a0  25 29 29 0d 01 40 10 77  6f 72 64 24 2b 3d 62 79  |%))..@.word$+=by|
000002b0  74 65 24 0d 01 4a 0b ed  20 74 61 6b 65 25 0d 01  |te$..J.. take%..|
000002c0  54 10 69 6e 70 74 72 25  3d 74 61 6b 65 25 0d 01  |T.inptr%=take%..|
000002d0  5e 05 e1 0d 01 68 05 cd  0d 01 72 0b ed 20 72 65  |^....h....r.. re|
000002e0  61 64 25 0d 01 7c 05 e1  0d 01 86 04 0d 01 90 0d  |ad%..|..........|
000002f0  dd f2 70 75 74 77 6f 72  64 0d 01 9a 19 e3 20 77  |..putword..... w|
00000300  72 69 74 65 25 3d 31 20  b8 20 a9 28 77 6f 72 64  |rite%=1 . .(word|
00000310  24 29 0d 01 a4 31 66 69  6c 65 6f 75 74 25 3f 28  |$)...1fileout%?(|
00000320  77 72 69 74 65 25 2b 6f  75 74 70 74 72 25 29 3d  |write%+outptr%)=|
00000330  97 28 c1 77 6f 72 64 24  2c 77 72 69 74 65 25 2c  |.(.word$,write%,|
00000340  31 29 29 0d 01 ae 0c ed  20 77 72 69 74 65 25 0d  |1))..... write%.|
00000350  01 b8 20 e7 20 77 6f 72  64 24 3d 22 41 52 53 45  |.. . word$="ARSE|
00000360  21 22 20 6f 75 74 70 74  72 25 2b 3d 36 3a e1 0d  |!" outptr%+=6:..|
00000370  01 c2 15 6f 75 74 70 74  72 25 2b 3d 77 72 69 74  |...outptr%+=writ|
00000380  65 25 2d 31 0d 01 cc 05  e1 0d ff                 |e%-1.......|
0000038b