Home » Personal collection » Acorn ADFS disks » Electron » Digital_pictures_2.ADF » DIRMENU

DIRMENU

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 ADFS disks » Electron » Digital_pictures_2.ADF
Filename: DIRMENU
Read OK:
File size: 03A1 bytes
Load address: FFFF1D00
Exec address: FFFF8023
File contents
  100REM Menu program
  110REM BEEBUG April/May 83
  115ON ERROR GOTO 5020
  200 READ TITLE$
  300DIM F$(20),N$(20),D$(20)
  400I=0
  500REPEAT
  600I=I+1
  700READ F$(I),N$(I),D$(I)
  800UNTIL F$(I)="DONE"
  850MAX=I-1
  900MODE7
 1000PROCCENTRE(TITLE$)
 1100FOR J=1 TO MAX
 1150IF MAX<10 THEN PRINT
 1160letter$=CHR$(64+J)+"."
 1170 
 1200PRINTletter$;N$(J);TAB(14);"- ";D$(J)   
 1300NEXT
 1350VDU28,0,24,39,VPOS
 1400PRINT''"Enter the letter of your choice ";
 1405REPEAT
 1410A=GET
 1415PRINTCHR$(A)
 1420REQ=A-64
 1430IF REQ>0 AND REQ<=MAX THEN OSCLI("DIR "+F$(A-64)):CHAIN"MENU"
 1500PRINT'"Select a letter from A to ";CHR$(MAX+64);" ";
 1505UNTIL FALSE
 1510END
 1600DEFPROCCENTRE(T$)
 1605PRINT'
 1610L%=LEN(T$)/2
 1620REMFOR Y=1 TO 2    
 1630PRINTTAB(20-L%);T$  
 1650ENDPROC
 1740REM Enter title of disc here
 1750DATA ADFS GAMES DISK 4
 1790REM Filename,Title,Description
 1800DATA GAMES1,GAMES1, Games dir one.
 1810DATA GAMES2,GAMES2, Games dir two.
 1820DATA PICTURES,PICTURES, Screen Pictures two.
 2270REM This neyt line must be present
 2300DATA DONE,DONE,DONE
 5010REM Error routine
 5020REPORT
 5025IF ERR<200 PRINTERL:END
 5030PRINT"  ( ";F$(A-64);" )"
 5035X=INKEY(500)
 5036 ENDCASE
 5040RUN
 5050END
d� Menu program
n� BEEBUG April/May 83
s� � � �t\S
�
 � TITLE$
,� F$(20),N$(20),D$(20)
�I=0
��
X	I=I+1
�� F$(I),N$(I),D$(I)
 � F$(I)="DONE"
RMAX=I-1
��7
��CENTRE(TITLE$)
L� J=1 � MAX
~� MAX<10 � �
�letter$=�(64+J)+"."
� 
�%�letter$;N$(J);�14);"- ";D$(J)   
�
F�28,0,24,39,�
x*�''"Enter the letter of your choice ";
}�
�A=�
�	�(A)
�REQ=A-64
�3� REQ>0 � REQ<=MAX � �("DIR "+F$(A-64)):�"MENU"
�1�'"Select a letter from A to ";�(MAX+64);" ";
�� �
��
@��CENTRE(T$)
E�'
JL%=�(T$)/2
T�FOR Y=1 TO 2    
^�20-L%);T$  
r�
�� Enter title of disc here
�� ADFS GAMES DISK 4
� � Filename,Title,Description
#� GAMES1,GAMES1, Games dir one.
#� GAMES2,GAMES2, Games dir two.
-� PICTURES,PICTURES, Screen Pictures two.
�$� This neyt line must be present
�� DONE,DONE,DONE
�� Error routine
��
�� �<200 �:�
��"  ( ";F$(A-64);" )"
�X=�(500)
� �
��
��
�
00000000  0d 00 64 12 f4 20 4d 65  6e 75 20 70 72 6f 67 72  |..d.. Menu progr|
00000010  61 6d 0d 00 6e 19 f4 20  42 45 45 42 55 47 20 41  |am..n.. BEEBUG A|
00000020  70 72 69 6c 2f 4d 61 79  20 38 33 0d 00 73 0e ee  |pril/May 83..s..|
00000030  20 85 20 e5 20 8d 74 5c  53 0d 00 c8 0d 20 f3 20  | . . .t\S.... . |
00000040  54 49 54 4c 45 24 0d 01  2c 1a de 20 46 24 28 32  |TITLE$..,.. F$(2|
00000050  30 29 2c 4e 24 28 32 30  29 2c 44 24 28 32 30 29  |0),N$(20),D$(20)|
00000060  0d 01 90 07 49 3d 30 0d  01 f4 05 f5 0d 02 58 09  |....I=0.......X.|
00000070  49 3d 49 2b 31 0d 02 bc  17 f3 20 46 24 28 49 29  |I=I+1..... F$(I)|
00000080  2c 4e 24 28 49 29 2c 44  24 28 49 29 0d 03 20 12  |,N$(I),D$(I).. .|
00000090  fd 20 46 24 28 49 29 3d  22 44 4f 4e 45 22 0d 03  |. F$(I)="DONE"..|
000000a0  52 0b 4d 41 58 3d 49 2d  31 0d 03 84 06 eb 37 0d  |R.MAX=I-1.....7.|
000000b0  03 e8 13 f2 43 45 4e 54  52 45 28 54 49 54 4c 45  |....CENTRE(TITLE|
000000c0  24 29 0d 04 4c 0f e3 20  4a 3d 31 20 b8 20 4d 41  |$)..L.. J=1 . MA|
000000d0  58 0d 04 7e 10 e7 20 4d  41 58 3c 31 30 20 8c 20  |X..~.. MAX<10 . |
000000e0  f1 0d 04 88 17 6c 65 74  74 65 72 24 3d bd 28 36  |.....letter$=.(6|
000000f0  34 2b 4a 29 2b 22 2e 22  0d 04 92 05 20 0d 04 b0  |4+J)+".".... ...|
00000100  25 f1 6c 65 74 74 65 72  24 3b 4e 24 28 4a 29 3b  |%.letter$;N$(J);|
00000110  8a 31 34 29 3b 22 2d 20  22 3b 44 24 28 4a 29 20  |.14);"- ";D$(J) |
00000120  20 20 0d 05 14 05 ed 0d  05 46 11 ef 32 38 2c 30  |  .......F..28,0|
00000130  2c 32 34 2c 33 39 2c bc  0d 05 78 2a f1 27 27 22  |,24,39,...x*.''"|
00000140  45 6e 74 65 72 20 74 68  65 20 6c 65 74 74 65 72  |Enter the letter|
00000150  20 6f 66 20 79 6f 75 72  20 63 68 6f 69 63 65 20  | of your choice |
00000160  22 3b 0d 05 7d 05 f5 0d  05 82 07 41 3d a5 0d 05  |";..}......A=...|
00000170  87 09 f1 bd 28 41 29 0d  05 8c 0c 52 45 51 3d 41  |....(A)....REQ=A|
00000180  2d 36 34 0d 05 96 33 e7  20 52 45 51 3e 30 20 80  |-64...3. REQ>0 .|
00000190  20 52 45 51 3c 3d 4d 41  58 20 8c 20 ff 28 22 44  | REQ<=MAX . .("D|
000001a0  49 52 20 22 2b 46 24 28  41 2d 36 34 29 29 3a d7  |IR "+F$(A-64)):.|
000001b0  22 4d 45 4e 55 22 0d 05  dc 31 f1 27 22 53 65 6c  |"MENU"...1.'"Sel|
000001c0  65 63 74 20 61 20 6c 65  74 74 65 72 20 66 72 6f  |ect a letter fro|
000001d0  6d 20 41 20 74 6f 20 22  3b bd 28 4d 41 58 2b 36  |m A to ";.(MAX+6|
000001e0  34 29 3b 22 20 22 3b 0d  05 e1 07 fd 20 a3 0d 05  |4);" ";..... ...|
000001f0  e6 05 e0 0d 06 40 10 dd  f2 43 45 4e 54 52 45 28  |.....@...CENTRE(|
00000200  54 24 29 0d 06 45 06 f1  27 0d 06 4a 0e 4c 25 3d  |T$)..E..'..J.L%=|
00000210  a9 28 54 24 29 2f 32 0d  06 54 15 f4 46 4f 52 20  |.(T$)/2..T..FOR |
00000220  59 3d 31 20 54 4f 20 32  20 20 20 20 0d 06 5e 11  |Y=1 TO 2    ..^.|
00000230  f1 8a 32 30 2d 4c 25 29  3b 54 24 20 20 0d 06 72  |..20-L%);T$  ..r|
00000240  05 e1 0d 06 cc 1e f4 20  45 6e 74 65 72 20 74 69  |....... Enter ti|
00000250  74 6c 65 20 6f 66 20 64  69 73 63 20 68 65 72 65  |tle of disc here|
00000260  0d 06 d6 17 dc 20 41 44  46 53 20 47 41 4d 45 53  |..... ADFS GAMES|
00000270  20 44 49 53 4b 20 34 0d  06 fe 20 f4 20 46 69 6c  | DISK 4... . Fil|
00000280  65 6e 61 6d 65 2c 54 69  74 6c 65 2c 44 65 73 63  |ename,Title,Desc|
00000290  72 69 70 74 69 6f 6e 0d  07 08 23 dc 20 47 41 4d  |ription...#. GAM|
000002a0  45 53 31 2c 47 41 4d 45  53 31 2c 20 47 61 6d 65  |ES1,GAMES1, Game|
000002b0  73 20 64 69 72 20 6f 6e  65 2e 0d 07 12 23 dc 20  |s dir one....#. |
000002c0  47 41 4d 45 53 32 2c 47  41 4d 45 53 32 2c 20 47  |GAMES2,GAMES2, G|
000002d0  61 6d 65 73 20 64 69 72  20 74 77 6f 2e 0d 07 1c  |ames dir two....|
000002e0  2d dc 20 50 49 43 54 55  52 45 53 2c 50 49 43 54  |-. PICTURES,PICT|
000002f0  55 52 45 53 2c 20 53 63  72 65 65 6e 20 50 69 63  |URES, Screen Pic|
00000300  74 75 72 65 73 20 74 77  6f 2e 0d 08 de 24 f4 20  |tures two....$. |
00000310  54 68 69 73 20 6e 65 79  74 20 6c 69 6e 65 20 6d  |This neyt line m|
00000320  75 73 74 20 62 65 20 70  72 65 73 65 6e 74 0d 08  |ust be present..|
00000330  fc 14 dc 20 44 4f 4e 45  2c 44 4f 4e 45 2c 44 4f  |... DONE,DONE,DO|
00000340  4e 45 0d 13 92 13 f4 20  45 72 72 6f 72 20 72 6f  |NE..... Error ro|
00000350  75 74 69 6e 65 0d 13 9c  05 f6 0d 13 a1 10 e7 20  |utine.......... |
00000360  9f 3c 32 30 30 20 f1 9e  3a e0 0d 13 a6 19 f1 22  |.<200 ..:......"|
00000370  20 20 28 20 22 3b 46 24  28 41 2d 36 34 29 3b 22  |  ( ";F$(A-64);"|
00000380  20 29 22 0d 13 ab 0c 58  3d a6 28 35 30 30 29 0d  | )"....X=.(500).|
00000390  13 ac 06 20 cb 0d 13 b0  05 f9 0d 13 ba 05 e0 0d  |... ............|
000003a0  ff                                                |.|
000003a1
DIRMENU.m0
DIRMENU.m1
DIRMENU.m2
DIRMENU.m4
DIRMENU.m5