Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_16.ADF » PROGS/MENU

PROGS/MENU

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_User_Group » EUG_16.ADF
Filename: PROGS/MENU
Read OK:
File size: 055C bytes
Load address: FFFF1D00
Exec address: FFFF8023
File contents
   10REM EUG MENU ADAPTED FROM PROGS BY R. DIAMOND
   20HIMEM=&2500
   30PROCassem
   40VDU22,4:VDU19,0,4;0;23;8202;0;0;0;
   50MOVE12,12:DRAW1267,12:DRAW1267,1011:DRAW12,1011:DRAW12,12
   60PRINTTAB(10,3)" PROGRAMS MENU"
   70PRINTTAB(10,5)"~~~~~~~~~~~~~~~"
   80VDU28,10,29,35,7 
   90COLOUR1:PRINT"PLEASE SELECT -":COLOUR3
  100PRINT'"<A>  LANGUAGE TRANSLATOR"
  110PRINT'"<B>  IMPROVED VIEW SPELL"''"     CHECKER"
  120PRINT'"<C>  IMPROVED RALLY GAME"
  180PRINT'"<R>  RETURN TO MAIN MENU"
  190VDU26
  200*FX21,0
  210REPEAT:a%=INSTR("ABCDEFGHR",GET$):UNTILa%  
  220IFa%=1THENOSCLI"DIR TRANS":f$="DOCUMENT":p$="MENU":PROCprog
  230IFa%=2THENOSCLI"DIR VEWCHK":f$="v-chk-doc":p$="VIEWCHECK":PROCprog
  240IFa%=3THENHIMEM=&8000:CHAIN"RALLY"
  300IFa%=9THENOSCLI"DIR $":CHAIN"MENU"
  310IFINKEY-102GOTO40ELSEEND
  320END
  460DEFPROCprog
  470CALLclear 
  480VDU22,6:OSCLI"LOAD "+f$+" 2500"
  490VDU22,3,14:PRINT''"PRESS SHIFT TO SCROLL"''
  500CALLprint
  510PRINT;"<P> TO PRINT TEXT, <M> FOR PROGRAM MENU <R> TO RUN PROGRAM"
  520REPEAT
  530a$=GET$
  540IFa$="M"THENOSCLI"DIR ^":GOTO40
  550IFa$="P"THENVDU15,0,2:CALLprint:VDU3:GOTO40
  560IF a$="R"THENVDU22,6:HIMEM=&6000:CHAIN p$
  570UNTILFALSE
  580CALLclear
  590ENDPROC 
  600DEFPROCassem
  610FORi=0TO2STEP2
  620P%=&900
  630[OPTi
  640.print
  650LDA#0:STA&70
  660LDA#&25:STA&71
  670.L1 LDY#0
  680.L2 LDA(&70),Y
  690CMP#0:BEQrts
  700CMP#&0D:BEQprt
  710CMP#&20:BCCspc
  720CMP#&7F:BCSspc
  730.prt JSR&FFE3
  740.inc INY:BNE L2
  750INC&71:JMP L1
  760.spc LDA#&20
  770JSR&FFE3:JMPinc
  780.rts RTS
  790.clear
  800LDA#0:STA&72
  810LDA#&25:STA&73
  820.L3 LDY#0
  830.L4 LDA#0
  840STA(&72),Y
  850INY:BNE L4
  860INC&73
  870LDA&73
  880CMP#&40
  890BNE L3
  900RTS
  910]
  920NEXT
  930ENDPROC

/� EUG MENU ADAPTED FROM PROGS BY R. DIAMOND
�=&2500

�assem
("�22,4:�19,0,4;0;23;8202;0;0;0;
2.�12,12:�1267,12:�1267,1011:�12,1011:�12,12
<�10,3)" PROGRAMS MENU"
F�10,5)"~~~~~~~~~~~~~~~"
P�28,10,29,35,7 
Z�1:�"PLEASE SELECT -":�3
d �'"<A>  LANGUAGE TRANSLATOR"
n0�'"<B>  IMPROVED VIEW SPELL"''"     CHECKER"
x �'"<C>  IMPROVED RALLY GAME"
� �'"<R>  RETURN TO MAIN MENU"
��26
�*FX21,0
��:a%=�"ABCDEFGHR",�):�a%  
�4�a%=1��"DIR TRANS":f$="DOCUMENT":p$="MENU":�prog
�;�a%=2��"DIR VEWCHK":f$="v-chk-doc":p$="VIEWCHECK":�prog
��a%=3��=&8000:�"RALLY"
,�a%=9��"DIR $":�"MENU"
6�-102�Th@��
@�
�
��prog
��clear 
��22,6:�"LOAD "+f$+" 2500"
�)�22,3,14:�''"PRESS SHIFT TO SCROLL"''
�
�print
�B�;"<P> TO PRINT TEXT, <M> FOR PROGRAM MENU <R> TO RUN PROGRAM"
�
a$=�
�a$="M"��"DIR ^":�Th@
&#�a$="P"��15,0,2:�print:�3:�Th@
0� a$="R"��22,6:�=&6000:� p$
:��
D
�clear
N� 
X��assem
b�i=0�2�2
lP%=&900
v	[OPTi
�
.print
�LDA#0:STA&70
�LDA#&25:STA&71
�
.L1 LDY#0
�.L2 LDA(&70),Y
�CMP#0:BEQrts
�CMP#&0D:BEQprt
�CMP#&20:BCCspc
�CMP#&7F:BCSspc
�.prt JSR&FFE3
�.inc INY:BNE L2
�INC&71:JMP L1
�.spc LDA#&20
JSR&FFE3:JMPinc
.rts RTS

.clear
 LDA#0:STA&72
*LDA#&25:STA&73
4
.L3 LDY#0
>
.L4 LDA#0
HSTA(&72),Y
RINY:BNE L4
\
INC&73
f
LDA&73
pCMP#&40
z
BNE L3
�RTS
�]
��
��
�
00000000  0d 00 0a 2f f4 20 45 55  47 20 4d 45 4e 55 20 41  |.../. EUG MENU A|
00000010  44 41 50 54 45 44 20 46  52 4f 4d 20 50 52 4f 47  |DAPTED FROM PROG|
00000020  53 20 42 59 20 52 2e 20  44 49 41 4d 4f 4e 44 0d  |S BY R. DIAMOND.|
00000030  00 14 0b d3 3d 26 32 35  30 30 0d 00 1e 0a f2 61  |....=&2500.....a|
00000040  73 73 65 6d 0d 00 28 22  ef 32 32 2c 34 3a ef 31  |ssem..(".22,4:.1|
00000050  39 2c 30 2c 34 3b 30 3b  32 33 3b 38 32 30 32 3b  |9,0,4;0;23;8202;|
00000060  30 3b 30 3b 30 3b 0d 00  32 2e ec 31 32 2c 31 32  |0;0;0;..2..12,12|
00000070  3a df 31 32 36 37 2c 31  32 3a df 31 32 36 37 2c  |:.1267,12:.1267,|
00000080  31 30 31 31 3a df 31 32  2c 31 30 31 31 3a df 31  |1011:.12,1011:.1|
00000090  32 2c 31 32 0d 00 3c 1b  f1 8a 31 30 2c 33 29 22  |2,12..<...10,3)"|
000000a0  20 50 52 4f 47 52 41 4d  53 20 4d 45 4e 55 22 0d  | PROGRAMS MENU".|
000000b0  00 46 1c f1 8a 31 30 2c  35 29 22 7e 7e 7e 7e 7e  |.F...10,5)"~~~~~|
000000c0  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 22 0d 00 50 13 ef  |~~~~~~~~~~"..P..|
000000d0  32 38 2c 31 30 2c 32 39  2c 33 35 2c 37 20 0d 00  |28,10,29,35,7 ..|
000000e0  5a 1c fb 31 3a f1 22 50  4c 45 41 53 45 20 53 45  |Z..1:."PLEASE SE|
000000f0  4c 45 43 54 20 2d 22 3a  fb 33 0d 00 64 20 f1 27  |LECT -":.3..d .'|
00000100  22 3c 41 3e 20 20 4c 41  4e 47 55 41 47 45 20 54  |"<A>  LANGUAGE T|
00000110  52 41 4e 53 4c 41 54 4f  52 22 0d 00 6e 30 f1 27  |RANSLATOR"..n0.'|
00000120  22 3c 42 3e 20 20 49 4d  50 52 4f 56 45 44 20 56  |"<B>  IMPROVED V|
00000130  49 45 57 20 53 50 45 4c  4c 22 27 27 22 20 20 20  |IEW SPELL"''"   |
00000140  20 20 43 48 45 43 4b 45  52 22 0d 00 78 20 f1 27  |  CHECKER"..x .'|
00000150  22 3c 43 3e 20 20 49 4d  50 52 4f 56 45 44 20 52  |"<C>  IMPROVED R|
00000160  41 4c 4c 59 20 47 41 4d  45 22 0d 00 b4 20 f1 27  |ALLY GAME"... .'|
00000170  22 3c 52 3e 20 20 52 45  54 55 52 4e 20 54 4f 20  |"<R>  RETURN TO |
00000180  4d 41 49 4e 20 4d 45 4e  55 22 0d 00 be 07 ef 32  |MAIN MENU".....2|
00000190  36 0d 00 c8 0b 2a 46 58  32 31 2c 30 0d 00 d2 1e  |6....*FX21,0....|
000001a0  f5 3a 61 25 3d a7 22 41  42 43 44 45 46 47 48 52  |.:a%=."ABCDEFGHR|
000001b0  22 2c be 29 3a fd 61 25  20 20 0d 00 dc 34 e7 61  |",.):.a%  ...4.a|
000001c0  25 3d 31 8c ff 22 44 49  52 20 54 52 41 4e 53 22  |%=1.."DIR TRANS"|
000001d0  3a 66 24 3d 22 44 4f 43  55 4d 45 4e 54 22 3a 70  |:f$="DOCUMENT":p|
000001e0  24 3d 22 4d 45 4e 55 22  3a f2 70 72 6f 67 0d 00  |$="MENU":.prog..|
000001f0  e6 3b e7 61 25 3d 32 8c  ff 22 44 49 52 20 56 45  |.;.a%=2.."DIR VE|
00000200  57 43 48 4b 22 3a 66 24  3d 22 76 2d 63 68 6b 2d  |WCHK":f$="v-chk-|
00000210  64 6f 63 22 3a 70 24 3d  22 56 49 45 57 43 48 45  |doc":p$="VIEWCHE|
00000220  43 4b 22 3a f2 70 72 6f  67 0d 00 f0 1a e7 61 25  |CK":.prog.....a%|
00000230  3d 33 8c d3 3d 26 38 30  30 30 3a d7 22 52 41 4c  |=3..=&8000:."RAL|
00000240  4c 59 22 0d 01 2c 1a e7  61 25 3d 39 8c ff 22 44  |LY"..,..a%=9.."D|
00000250  49 52 20 24 22 3a d7 22  4d 45 4e 55 22 0d 01 36  |IR $":."MENU"..6|
00000260  11 e7 a6 2d 31 30 32 e5  8d 54 68 40 8b e0 0d 01  |...-102..Th@....|
00000270  40 05 e0 0d 01 cc 0a dd  f2 70 72 6f 67 0d 01 d6  |@........prog...|
00000280  0b d6 63 6c 65 61 72 20  0d 01 e0 1d ef 32 32 2c  |..clear .....22,|
00000290  36 3a ff 22 4c 4f 41 44  20 22 2b 66 24 2b 22 20  |6:."LOAD "+f$+" |
000002a0  32 35 30 30 22 0d 01 ea  29 ef 32 32 2c 33 2c 31  |2500"...).22,3,1|
000002b0  34 3a f1 27 27 22 50 52  45 53 53 20 53 48 49 46  |4:.''"PRESS SHIF|
000002c0  54 20 54 4f 20 53 43 52  4f 4c 4c 22 27 27 0d 01  |T TO SCROLL"''..|
000002d0  f4 0a d6 70 72 69 6e 74  0d 01 fe 42 f1 3b 22 3c  |...print...B.;"<|
000002e0  50 3e 20 54 4f 20 50 52  49 4e 54 20 54 45 58 54  |P> TO PRINT TEXT|
000002f0  2c 20 3c 4d 3e 20 46 4f  52 20 50 52 4f 47 52 41  |, <M> FOR PROGRA|
00000300  4d 20 4d 45 4e 55 20 3c  52 3e 20 54 4f 20 52 55  |M MENU <R> TO RU|
00000310  4e 20 50 52 4f 47 52 41  4d 22 0d 02 08 05 f5 0d  |N PROGRAM"......|
00000320  02 12 08 61 24 3d be 0d  02 1c 1a e7 61 24 3d 22  |...a$=......a$="|
00000330  4d 22 8c ff 22 44 49 52  20 5e 22 3a e5 8d 54 68  |M".."DIR ^":..Th|
00000340  40 0d 02 26 23 e7 61 24  3d 22 50 22 8c ef 31 35  |@..&#.a$="P"..15|
00000350  2c 30 2c 32 3a d6 70 72  69 6e 74 3a ef 33 3a e5  |,0,2:.print:.3:.|
00000360  8d 54 68 40 0d 02 30 1f  e7 20 61 24 3d 22 52 22  |.Th@..0.. a$="R"|
00000370  8c ef 32 32 2c 36 3a d3  3d 26 36 30 30 30 3a d7  |..22,6:.=&6000:.|
00000380  20 70 24 0d 02 3a 06 fd  a3 0d 02 44 0a d6 63 6c  | p$..:.....D..cl|
00000390  65 61 72 0d 02 4e 06 e1  20 0d 02 58 0b dd f2 61  |ear..N.. ..X...a|
000003a0  73 73 65 6d 0d 02 62 0c  e3 69 3d 30 b8 32 88 32  |ssem..b..i=0.2.2|
000003b0  0d 02 6c 0b 50 25 3d 26  39 30 30 0d 02 76 09 5b  |..l.P%=&900..v.[|
000003c0  4f 50 54 69 0d 02 80 0a  2e 70 72 69 6e 74 0d 02  |OPTi.....print..|
000003d0  8a 10 4c 44 41 23 30 3a  53 54 41 26 37 30 0d 02  |..LDA#0:STA&70..|
000003e0  94 12 4c 44 41 23 26 32  35 3a 53 54 41 26 37 31  |..LDA#&25:STA&71|
000003f0  0d 02 9e 0d 2e 4c 31 20  4c 44 59 23 30 0d 02 a8  |.....L1 LDY#0...|
00000400  12 2e 4c 32 20 4c 44 41  28 26 37 30 29 2c 59 0d  |..L2 LDA(&70),Y.|
00000410  02 b2 10 43 4d 50 23 30  3a 42 45 51 72 74 73 0d  |...CMP#0:BEQrts.|
00000420  02 bc 12 43 4d 50 23 26  30 44 3a 42 45 51 70 72  |...CMP#&0D:BEQpr|
00000430  74 0d 02 c6 12 43 4d 50  23 26 32 30 3a 42 43 43  |t....CMP#&20:BCC|
00000440  73 70 63 0d 02 d0 12 43  4d 50 23 26 37 46 3a 42  |spc....CMP#&7F:B|
00000450  43 53 73 70 63 0d 02 da  11 2e 70 72 74 20 4a 53  |CSspc.....prt JS|
00000460  52 26 46 46 45 33 0d 02  e4 13 2e 69 6e 63 20 49  |R&FFE3.....inc I|
00000470  4e 59 3a 42 4e 45 20 4c  32 0d 02 ee 11 49 4e 43  |NY:BNE L2....INC|
00000480  26 37 31 3a 4a 4d 50 20  4c 31 0d 02 f8 10 2e 73  |&71:JMP L1.....s|
00000490  70 63 20 4c 44 41 23 26  32 30 0d 03 02 13 4a 53  |pc LDA#&20....JS|
000004a0  52 26 46 46 45 33 3a 4a  4d 50 69 6e 63 0d 03 0c  |R&FFE3:JMPinc...|
000004b0  0c 2e 72 74 73 20 52 54  53 0d 03 16 0a 2e 63 6c  |..rts RTS.....cl|
000004c0  65 61 72 0d 03 20 10 4c  44 41 23 30 3a 53 54 41  |ear.. .LDA#0:STA|
000004d0  26 37 32 0d 03 2a 12 4c  44 41 23 26 32 35 3a 53  |&72..*.LDA#&25:S|
000004e0  54 41 26 37 33 0d 03 34  0d 2e 4c 33 20 4c 44 59  |TA&73..4..L3 LDY|
000004f0  23 30 0d 03 3e 0d 2e 4c  34 20 4c 44 41 23 30 0d  |#0..>..L4 LDA#0.|
00000500  03 48 0e 53 54 41 28 26  37 32 29 2c 59 0d 03 52  |.H.STA(&72),Y..R|
00000510  0e 49 4e 59 3a 42 4e 45  20 4c 34 0d 03 5c 0a 49  |.INY:BNE L4..\.I|
00000520  4e 43 26 37 33 0d 03 66  0a 4c 44 41 26 37 33 0d  |NC&73..f.LDA&73.|
00000530  03 70 0b 43 4d 50 23 26  34 30 0d 03 7a 0a 42 4e  |.p.CMP#&40..z.BN|
00000540  45 20 4c 33 0d 03 84 07  52 54 53 0d 03 8e 05 5d  |E L3....RTS....]|
00000550  0d 03 98 05 ed 0d 03 a2  05 e1 0d ff              |............|
0000055c
PROGS/MENU.m0
PROGS/MENU.m1
PROGS/MENU.m2
PROGS/MENU.m4
PROGS/MENU.m5