Home » Archimedes archive » Acorn User » AU 1998-09.adf » Features » DesktopPD/Director/!Director/Menus/System/CharsSub
DesktopPD/Director/!Director/Menus/System/CharsSub
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-09.adf » Features |
Filename: | DesktopPD/Director/!Director/Menus/System/CharsSub |
Read OK: | ✔ |
File size: | 033B bytes |
Load address: | 0000 |
Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Archimedes archive » Acorn User » AU 1995-10.adf » !Direct » Director/!Director/Menus/System/CharsSub
- Archimedes archive » Acorn User » AU 1998-09.adf » Features » DesktopPD/Director/!Director/Menus/System/CharsSub
File contents
1REM >Director:Menus.System.CharsSub 2 3REM This makes a menu of all the characters 4 5ON ERROR: ON ERROR OFF: ERROR ERR,REPORT$+" at "+STR$ERL 6DIM block% 256 7 8Menu=FNswi_number("Director_Menu") 9EndMenu=FNswi_number("Director_EndMenu") 10Option=FNswi_number("Director_Option") 11Command=FNswi_number("Director_Command") 12Dash=FNswi_number("Director_Dash") 13 14chars$=FNread_sysvar("MenuText") 15 16SYS Menu,""""" CharsSub -temp" 17 18IF chars$<>"" THEN 19 FOR i%=1 TO LENchars$ 20 a$="""<"+STR$ASCMID$(chars$,i%,1)+">""" 21 SYS Option,a$ 22 SYS Command,"ProcessKeys "+a$ 23 NEXT i% 24ENDIF 25 26SYS EndMenu 27 28*Set Director$Menu CharsSub 29 30END 31 32DEF FNswi_number(name$) 33 SYS "OS_SWINumberFromString",,name$ TO A% 34=A% 35 36DEF FNread_sysvar(name$) 37 SYS "OS_ReadVarVal",name$,block%,255,0,3 TO ,,A% 38 block%?A%=13 39=$block%
%� >Director:Menus.System.CharsSub -� This makes a menu of all the characters � �: � � �: � �,�$+" at "+Þ � block% 256 %Menu=�swi_number("Director_Menu") +EndMenu=�swi_number("Director_EndMenu") )Option=�swi_number("Director_Option") +Command=�swi_number("Director_Command") %Dash=�swi_number("Director_Dash") #chars$=�read_sysvar("MenuText") !ș Menu,""""" CharsSub -temp" � chars$<>"" � � i%=1 � �chars$ & a$="""<"+×�chars$,i%,1)+">""" ș Option,a$ $ ș Command,"ProcessKeys "+a$ � i% � ș EndMenu *Set Director$Menu CharsSub � � �swi_number(name$) !- ș "OS_SWINumberFromString",,name$ � A% "=A% # $� �read_sysvar(name$) %4 ș "OS_ReadVarVal",name$,block%,255,0,3 � ,,A% & block%?A%=13 '=$block% �
00000000 0d 00 01 25 f4 20 3e 44 69 72 65 63 74 6f 72 3a |...%. >Director:| 00000010 4d 65 6e 75 73 2e 53 79 73 74 65 6d 2e 43 68 61 |Menus.System.Cha| 00000020 72 73 53 75 62 0d 00 02 04 0d 00 03 2d f4 20 54 |rsSub.......-. T| 00000030 68 69 73 20 6d 61 6b 65 73 20 61 20 6d 65 6e 75 |his makes a menu| 00000040 20 6f 66 20 61 6c 6c 20 74 68 65 20 63 68 61 72 | of all the char| 00000050 61 63 74 65 72 73 0d 00 04 04 0d 00 05 20 ee 20 |acters....... . | 00000060 85 3a 20 ee 20 85 20 87 3a 20 85 20 9f 2c f6 24 |.: . . .: . .,.$| 00000070 2b 22 20 61 74 20 22 2b c3 9e 0d 00 06 10 de 20 |+" at "+....... | 00000080 62 6c 6f 63 6b 25 20 32 35 36 0d 00 07 04 0d 00 |block% 256......| 00000090 08 25 4d 65 6e 75 3d a4 73 77 69 5f 6e 75 6d 62 |.%Menu=.swi_numb| 000000a0 65 72 28 22 44 69 72 65 63 74 6f 72 5f 4d 65 6e |er("Director_Men| 000000b0 75 22 29 0d 00 09 2b 45 6e 64 4d 65 6e 75 3d a4 |u")...+EndMenu=.| 000000c0 73 77 69 5f 6e 75 6d 62 65 72 28 22 44 69 72 65 |swi_number("Dire| 000000d0 63 74 6f 72 5f 45 6e 64 4d 65 6e 75 22 29 0d 00 |ctor_EndMenu")..| 000000e0 0a 29 4f 70 74 69 6f 6e 3d a4 73 77 69 5f 6e 75 |.)Option=.swi_nu| 000000f0 6d 62 65 72 28 22 44 69 72 65 63 74 6f 72 5f 4f |mber("Director_O| 00000100 70 74 69 6f 6e 22 29 0d 00 0b 2b 43 6f 6d 6d 61 |ption")...+Comma| 00000110 6e 64 3d a4 73 77 69 5f 6e 75 6d 62 65 72 28 22 |nd=.swi_number("| 00000120 44 69 72 65 63 74 6f 72 5f 43 6f 6d 6d 61 6e 64 |Director_Command| 00000130 22 29 0d 00 0c 25 44 61 73 68 3d a4 73 77 69 5f |")...%Dash=.swi_| 00000140 6e 75 6d 62 65 72 28 22 44 69 72 65 63 74 6f 72 |number("Director| 00000150 5f 44 61 73 68 22 29 0d 00 0d 04 0d 00 0e 23 63 |_Dash").......#c| 00000160 68 61 72 73 24 3d a4 72 65 61 64 5f 73 79 73 76 |hars$=.read_sysv| 00000170 61 72 28 22 4d 65 6e 75 54 65 78 74 22 29 0d 00 |ar("MenuText")..| 00000180 0f 04 0d 00 10 21 c8 99 20 4d 65 6e 75 2c 22 22 |.....!.. Menu,""| 00000190 22 22 22 20 43 68 61 72 73 53 75 62 20 2d 74 65 |""" CharsSub -te| 000001a0 6d 70 22 0d 00 11 04 0d 00 12 12 e7 20 63 68 61 |mp"......... cha| 000001b0 72 73 24 3c 3e 22 22 20 8c 0d 00 13 16 20 20 e3 |rs$<>"" ..... .| 000001c0 20 69 25 3d 31 20 b8 20 a9 63 68 61 72 73 24 0d | i%=1 . .chars$.| 000001d0 00 14 26 20 20 20 20 61 24 3d 22 22 22 3c 22 2b |..& a$="""<"+| 000001e0 c3 97 c1 63 68 61 72 73 24 2c 69 25 2c 31 29 2b |...chars$,i%,1)+| 000001f0 22 3e 22 22 22 0d 00 15 14 20 20 20 20 c8 99 20 |">""".... .. | 00000200 4f 70 74 69 6f 6e 2c 61 24 0d 00 16 24 20 20 20 |Option,a$...$ | 00000210 20 c8 99 20 43 6f 6d 6d 61 6e 64 2c 22 50 72 6f | .. Command,"Pro| 00000220 63 65 73 73 4b 65 79 73 20 22 2b 61 24 0d 00 17 |cessKeys "+a$...| 00000230 0a 20 20 ed 20 69 25 0d 00 18 05 cd 0d 00 19 04 |. . i%.........| 00000240 0d 00 1a 0e c8 99 20 45 6e 64 4d 65 6e 75 0d 00 |...... EndMenu..| 00000250 1b 04 0d 00 1c 1f 2a 53 65 74 20 44 69 72 65 63 |......*Set Direc| 00000260 74 6f 72 24 4d 65 6e 75 20 43 68 61 72 73 53 75 |tor$Menu CharsSu| 00000270 62 0d 00 1d 04 0d 00 1e 05 e0 0d 00 1f 04 0d 00 |b...............| 00000280 20 18 dd 20 a4 73 77 69 5f 6e 75 6d 62 65 72 28 | .. .swi_number(| 00000290 6e 61 6d 65 24 29 0d 00 21 2d 20 20 c8 99 20 22 |name$)..!- .. "| 000002a0 4f 53 5f 53 57 49 4e 75 6d 62 65 72 46 72 6f 6d |OS_SWINumberFrom| 000002b0 53 74 72 69 6e 67 22 2c 2c 6e 61 6d 65 24 20 b8 |String",,name$ .| 000002c0 20 41 25 0d 00 22 07 3d 41 25 0d 00 23 04 0d 00 | A%..".=A%..#...| 000002d0 24 19 dd 20 a4 72 65 61 64 5f 73 79 73 76 61 72 |$.. .read_sysvar| 000002e0 28 6e 61 6d 65 24 29 0d 00 25 34 20 20 c8 99 20 |(name$)..%4 .. | 000002f0 22 4f 53 5f 52 65 61 64 56 61 72 56 61 6c 22 2c |"OS_ReadVarVal",| 00000300 6e 61 6d 65 24 2c 62 6c 6f 63 6b 25 2c 32 35 35 |name$,block%,255| 00000310 2c 30 2c 33 20 b8 20 2c 2c 41 25 0d 00 26 12 20 |,0,3 . ,,A%..&. | 00000320 20 62 6c 6f 63 6b 25 3f 41 25 3d 31 33 0d 00 27 | block%?A%=13..'| 00000330 0c 3d 24 62 6c 6f 63 6b 25 0d ff |.=$block%..| 0000033b