Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape26a_acorn_eu_1991_august.wav » R.MenuPrg

R.MenuPrg

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 » Personal collection » Acorn tapes » Electron_User » Electron_User_tape26a_acorn_eu_1991_august.wav
Filename: R.MenuPrg
Read OK:
File size: 0341 bytes
Load address: FFFF1A00
Exec address: FFFF8023
Duplicates

There are 5 duplicate copies of this file in the archive:

File contents
   10REM Menu program
   20REM by Robin Greenaway
   30REM (c) The Micro User
   40MODE 7:PROCinit:PROChead:PROClist:PROCinput:PROCload:END
   50DEF PROChead:PRINT CHR$141;CHR$131;CHR$157;CHR$129;TAB(19,0);"MENU":PRINT CHR$141;CHR$131;CHR$157;CHR$129;TAB(19,1);"MENU":ENDPROC
   60DEF PROClist:X=1:Y=4:I=3:REPEAT
   70READ name$(X):IF name$(X)="END" THEN ENDPROC
   80IF X=10 THEN I=2
   90IF X>10 AND X<21 THEN I=21
  100Y=Y+1:IF Y=15 THEN Y=5
  110IF name$(X)="END" THEN ENDPROC
  120PRINT TAB(I,Y);X;" ";name$(X):X=X+1:UNTIL FALSE:ENDPROC
  130DEF PROCinput
  140INPUT TAB(2,18);"Choose the number of the program you    want to run "A$
  150IF VAL(A$)<1 OR VAL(A$)>number THEN PRINTTAB(10,19)SPC30:PROCinput
  160A=VAL(A$):ENDPROC
  170DEF PROCload
  180IF A=1 THEN CHAIN "FIRST"
  190IF A=2 THEN *SECOND
  200IF A=3 THEN *DIR $.DIRECT
  210IF A=3 THEN CHAIN "THIRD"
  220END
  230DEF PROCinit:number=15:DIM name$(number+1):ENDPROC
  240DATA "FIRST","SECOND","THIRD","FOURTH","FIFTH","SIXTH","SEVENTH"
  250DATA "EIGHTH","NINTH","TENTH","ELEVENTH","TWELFTH","THIRTEENTH"
  260DATA "FOURTEENTH","FIFTEENTH"
  270DATA "END"

� Menu program
� by Robin Greenaway
� (c) The Micro User
((� 7:�init:�head:�list:�input:�load:�
2U� �head:� �141;�131;�157;�129;�19,0);"MENU":� �141;�131;�157;�129;�19,1);"MENU":�
<� �list:X=1:Y=4:I=3:�
F#� name$(X):� name$(X)="END" � �
P� X=10 � I=2
Z� X>10 � X<21 � I=21
dY=Y+1:� Y=15 � Y=5
n� name$(X)="END" � �
x&� �I,Y);X;" ";name$(X):X=X+1:� �:�
�� �input
�E� �2,18);"Choose the number of the program you    want to run "A$
�1� �(A$)<1 � �(A$)>number � �10,19)�30:�input
�
A=�(A$):�
�� �load
�� A=1 � � "FIRST"
�� A=2 � *SECOND
�� A=3 � *DIR $.DIRECT
�� A=3 � � "THIRD"
��
�)� �init:number=15:� name$(number+1):�
�A� "FIRST","SECOND","THIRD","FOURTH","FIFTH","SIXTH","SEVENTH"
�@� "EIGHTH","NINTH","TENTH","ELEVENTH","TWELFTH","THIRTEENTH"
� "FOURTEENTH","FIFTEENTH"
� "END"
�
00000000  0d 00 0a 12 f4 20 4d 65  6e 75 20 70 72 6f 67 72  |..... Menu progr|
00000010  61 6d 0d 00 14 18 f4 20  62 79 20 52 6f 62 69 6e  |am..... by Robin|
00000020  20 47 72 65 65 6e 61 77  61 79 0d 00 1e 18 f4 20  | Greenaway..... |
00000030  28 63 29 20 54 68 65 20  4d 69 63 72 6f 20 55 73  |(c) The Micro Us|
00000040  65 72 0d 00 28 28 eb 20  37 3a f2 69 6e 69 74 3a  |er..((. 7:.init:|
00000050  f2 68 65 61 64 3a f2 6c  69 73 74 3a f2 69 6e 70  |.head:.list:.inp|
00000060  75 74 3a f2 6c 6f 61 64  3a e0 0d 00 32 55 dd 20  |ut:.load:...2U. |
00000070  f2 68 65 61 64 3a f1 20  bd 31 34 31 3b bd 31 33  |.head:. .141;.13|
00000080  31 3b bd 31 35 37 3b bd  31 32 39 3b 8a 31 39 2c  |1;.157;.129;.19,|
00000090  30 29 3b 22 4d 45 4e 55  22 3a f1 20 bd 31 34 31  |0);"MENU":. .141|
000000a0  3b bd 31 33 31 3b bd 31  35 37 3b bd 31 32 39 3b  |;.131;.157;.129;|
000000b0  8a 31 39 2c 31 29 3b 22  4d 45 4e 55 22 3a e1 0d  |.19,1);"MENU":..|
000000c0  00 3c 19 dd 20 f2 6c 69  73 74 3a 58 3d 31 3a 59  |.<.. .list:X=1:Y|
000000d0  3d 34 3a 49 3d 33 3a f5  0d 00 46 23 f3 20 6e 61  |=4:I=3:...F#. na|
000000e0  6d 65 24 28 58 29 3a e7  20 6e 61 6d 65 24 28 58  |me$(X):. name$(X|
000000f0  29 3d 22 45 4e 44 22 20  8c 20 e1 0d 00 50 10 e7  |)="END" . ...P..|
00000100  20 58 3d 31 30 20 8c 20  49 3d 32 0d 00 5a 18 e7  | X=10 . I=2..Z..|
00000110  20 58 3e 31 30 20 80 20  58 3c 32 31 20 8c 20 49  | X>10 . X<21 . I|
00000120  3d 32 31 0d 00 64 16 59  3d 59 2b 31 3a e7 20 59  |=21..d.Y=Y+1:. Y|
00000130  3d 31 35 20 8c 20 59 3d  35 0d 00 6e 18 e7 20 6e  |=15 . Y=5..n.. n|
00000140  61 6d 65 24 28 58 29 3d  22 45 4e 44 22 20 8c 20  |ame$(X)="END" . |
00000150  e1 0d 00 78 26 f1 20 8a  49 2c 59 29 3b 58 3b 22  |...x&. .I,Y);X;"|
00000160  20 22 3b 6e 61 6d 65 24  28 58 29 3a 58 3d 58 2b  | ";name$(X):X=X+|
00000170  31 3a fd 20 a3 3a e1 0d  00 82 0c dd 20 f2 69 6e  |1:. .:...... .in|
00000180  70 75 74 0d 00 8c 45 e8  20 8a 32 2c 31 38 29 3b  |put...E. .2,18);|
00000190  22 43 68 6f 6f 73 65 20  74 68 65 20 6e 75 6d 62  |"Choose the numb|
000001a0  65 72 20 6f 66 20 74 68  65 20 70 72 6f 67 72 61  |er of the progra|
000001b0  6d 20 79 6f 75 20 20 20  20 77 61 6e 74 20 74 6f  |m you    want to|
000001c0  20 72 75 6e 20 22 41 24  0d 00 96 31 e7 20 bb 28  | run "A$...1. .(|
000001d0  41 24 29 3c 31 20 84 20  bb 28 41 24 29 3e 6e 75  |A$)<1 . .(A$)>nu|
000001e0  6d 62 65 72 20 8c 20 f1  8a 31 30 2c 31 39 29 89  |mber . ..10,19).|
000001f0  33 30 3a f2 69 6e 70 75  74 0d 00 a0 0d 41 3d bb  |30:.input....A=.|
00000200  28 41 24 29 3a e1 0d 00  aa 0b dd 20 f2 6c 6f 61  |(A$):...... .loa|
00000210  64 0d 00 b4 15 e7 20 41  3d 31 20 8c 20 d7 20 22  |d..... A=1 . . "|
00000220  46 49 52 53 54 22 0d 00  be 13 e7 20 41 3d 32 20  |FIRST"..... A=2 |
00000230  8c 20 2a 53 45 43 4f 4e  44 0d 00 c8 19 e7 20 41  |. *SECOND..... A|
00000240  3d 33 20 8c 20 2a 44 49  52 20 24 2e 44 49 52 45  |=3 . *DIR $.DIRE|
00000250  43 54 0d 00 d2 15 e7 20  41 3d 33 20 8c 20 d7 20  |CT..... A=3 . . |
00000260  22 54 48 49 52 44 22 0d  00 dc 05 e0 0d 00 e6 29  |"THIRD"........)|
00000270  dd 20 f2 69 6e 69 74 3a  6e 75 6d 62 65 72 3d 31  |. .init:number=1|
00000280  35 3a de 20 6e 61 6d 65  24 28 6e 75 6d 62 65 72  |5:. name$(number|
00000290  2b 31 29 3a e1 0d 00 f0  41 dc 20 22 46 49 52 53  |+1):....A. "FIRS|
000002a0  54 22 2c 22 53 45 43 4f  4e 44 22 2c 22 54 48 49  |T","SECOND","THI|
000002b0  52 44 22 2c 22 46 4f 55  52 54 48 22 2c 22 46 49  |RD","FOURTH","FI|
000002c0  46 54 48 22 2c 22 53 49  58 54 48 22 2c 22 53 45  |FTH","SIXTH","SE|
000002d0  56 45 4e 54 48 22 0d 00  fa 40 dc 20 22 45 49 47  |VENTH"...@. "EIG|
000002e0  48 54 48 22 2c 22 4e 49  4e 54 48 22 2c 22 54 45  |HTH","NINTH","TE|
000002f0  4e 54 48 22 2c 22 45 4c  45 56 45 4e 54 48 22 2c  |NTH","ELEVENTH",|
00000300  22 54 57 45 4c 46 54 48  22 2c 22 54 48 49 52 54  |"TWELFTH","THIRT|
00000310  45 45 4e 54 48 22 0d 01  04 1e dc 20 22 46 4f 55  |EENTH"..... "FOU|
00000320  52 54 45 45 4e 54 48 22  2c 22 46 49 46 54 45 45  |RTEENTH","FIFTEE|
00000330  4e 54 48 22 0d 01 0e 0b  dc 20 22 45 4e 44 22 0d  |NTH"..... "END".|
00000340  ff                                                |.|
00000341
R.MenuPrg.m0
R.MenuPrg.m1
R.MenuPrg.m2
R.MenuPrg.m4
R.MenuPrg.m5