Home » Archimedes archive » Acorn User » AU 1998-09.adf » Features » DesktopPD/Director/!Director/Menus/Modes/XxYsub

DesktopPD/Director/!Director/Menus/Modes/XxYsub

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/Modes/XxYsub
Read OK:
File size: 0413 bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
    1REM >Director:Menus.Modes.XxYsub
    2ON ERROR PRINT REPORT$;" at line ";ERL:END
    3SYS "OS_GetEnv" TO in$
    4x=EVAL(FNarg(in$,"-x","-1"))
    5y=EVAL(FNarg(in$,"-y","-1"))
    6DIM block 32
    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
   14menu$=STR$x+" x "+STR$y
   15menu$=""
   16SYS "OS_CLI","Menu """+menu$+""" Modelist -temp"
   17DIM bpp$(5)
   18bpp$()="2","4","16","256","32T","16M"
   19FOR bpp=0 TO 5
   20 !block=1
   21 block!4=x
   22 block!8=y
   23 block!12=bpp
   24 block!16=-1
   25 block!20=-1
   26 SYS "OS_CheckModeValid",block TO ok
   27 IF ok=-1 grey$=" -grey" ELSE grey$=""
   28 SYS option,bpp$(bpp)+grey$
   29    SYS command,"WimpMode X"+STR$(x)+" Y"+STR$(y)+" C"+bpp$(bpp)
   30NEXT
   31SYS endmenu
   32
   33*Set Director$Menu Modelist
   34END
   35
   36DEF FNarg(str$,arg$,def$)
   37LOCAL i,j
   38i=INSTR(str$,arg$)
   39IF i=0 THEN =def$
   40i+=LENarg$+1
   41j=INSTR(str$+" <"," ",i)
   42=MID$(str$,i,j-i)
   43
   44DEF FNswi_number(swi$)
   45SYS "OS_SWINumberFromString",,swi$ TO swi%
   46=swi%
"� >Director:Menus.Modes.XxYsub
� � � �$;" at line ";�:�
ș "OS_GetEnv" � in$
x=�(�arg(in$,"-x","-1"))
y=�(�arg(in$,"-y","-1"))
� block 32

%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")


menu$=�x+" x "+�y
menu$=""
3ș "OS_CLI","Menu """+menu$+""" Modelist -temp"

� bpp$(5)
)bpp$()="2","4","16","256","32T","16M"
� bpp=0 � 5

 !block=1
 block!4=x
 block!8=y
 block!12=bpp
 block!16=-1
 block!20=-1
& ș "OS_CheckModeValid",block � ok
& � ok=-1 grey$=" -grey" � grey$=""
 ș option,bpp$(bpp)+grey$
=    ș command,"WimpMode X"+�(x)+" Y"+�(y)+" C"+bpp$(bpp)
�
ș endmenu
 
!*Set Director$Menu Modelist
"�
#
$� �arg(str$,arg$,def$)
%	� i,j
&i=�str$,arg$)
'� i=0 � =def$
(i+=�arg$+1
)j=�str$+" <"," ",i)
*=�str$,i,j-i)
+
,� �swi_number(swi$)
-,ș "OS_SWINumberFromString",,swi$ � swi%
.	=swi%
�
00000000  0d 00 01 22 f4 20 3e 44  69 72 65 63 74 6f 72 3a  |...". >Director:|
00000010  4d 65 6e 75 73 2e 4d 6f  64 65 73 2e 58 78 59 73  |Menus.Modes.XxYs|
00000020  75 62 0d 00 02 1c ee 20  85 20 f1 20 f6 24 3b 22  |ub..... . . .$;"|
00000030  20 61 74 20 6c 69 6e 65  20 22 3b 9e 3a e0 0d 00  | at line ";.:...|
00000040  03 18 c8 99 20 22 4f 53  5f 47 65 74 45 6e 76 22  |.... "OS_GetEnv"|
00000050  20 b8 20 69 6e 24 0d 00  04 1c 78 3d a0 28 a4 61  | . in$....x=.(.a|
00000060  72 67 28 69 6e 24 2c 22  2d 78 22 2c 22 2d 31 22  |rg(in$,"-x","-1"|
00000070  29 29 0d 00 05 1c 79 3d  a0 28 a4 61 72 67 28 69  |))....y=.(.arg(i|
00000080  6e 24 2c 22 2d 79 22 2c  22 2d 31 22 29 29 0d 00  |n$,"-y","-1"))..|
00000090  06 0e de 20 62 6c 6f 63  6b 20 33 32 0d 00 07 04  |... block 32....|
000000a0  0d 00 08 25 6d 65 6e 75  3d a4 73 77 69 5f 6e 75  |...%menu=.swi_nu|
000000b0  6d 62 65 72 28 22 44 69  72 65 63 74 6f 72 5f 4d  |mber("Director_M|
000000c0  65 6e 75 22 29 0d 00 09  2b 65 6e 64 6d 65 6e 75  |enu")...+endmenu|
000000d0  3d a4 73 77 69 5f 6e 75  6d 62 65 72 28 22 44 69  |=.swi_number("Di|
000000e0  72 65 63 74 6f 72 5f 45  6e 64 4d 65 6e 75 22 29  |rector_EndMenu")|
000000f0  0d 00 0a 29 6f 70 74 69  6f 6e 3d a4 73 77 69 5f  |...)option=.swi_|
00000100  6e 75 6d 62 65 72 28 22  44 69 72 65 63 74 6f 72  |number("Director|
00000110  5f 4f 70 74 69 6f 6e 22  29 0d 00 0b 2b 63 6f 6d  |_Option")...+com|
00000120  6d 61 6e 64 3d a4 73 77  69 5f 6e 75 6d 62 65 72  |mand=.swi_number|
00000130  28 22 44 69 72 65 63 74  6f 72 5f 43 6f 6d 6d 61  |("Director_Comma|
00000140  6e 64 22 29 0d 00 0c 25  64 61 73 68 3d a4 73 77  |nd")...%dash=.sw|
00000150  69 5f 6e 75 6d 62 65 72  28 22 44 69 72 65 63 74  |i_number("Direct|
00000160  6f 72 5f 44 61 73 68 22  29 0d 00 0d 04 0d 00 0e  |or_Dash").......|
00000170  15 6d 65 6e 75 24 3d c3  78 2b 22 20 78 20 22 2b  |.menu$=.x+" x "+|
00000180  c3 79 0d 00 0f 0c 6d 65  6e 75 24 3d 22 22 0d 00  |.y....menu$=""..|
00000190  10 33 c8 99 20 22 4f 53  5f 43 4c 49 22 2c 22 4d  |.3.. "OS_CLI","M|
000001a0  65 6e 75 20 22 22 22 2b  6d 65 6e 75 24 2b 22 22  |enu """+menu$+""|
000001b0  22 20 4d 6f 64 65 6c 69  73 74 20 2d 74 65 6d 70  |" Modelist -temp|
000001c0  22 0d 00 11 0d de 20 62  70 70 24 28 35 29 0d 00  |"..... bpp$(5)..|
000001d0  12 29 62 70 70 24 28 29  3d 22 32 22 2c 22 34 22  |.)bpp$()="2","4"|
000001e0  2c 22 31 36 22 2c 22 32  35 36 22 2c 22 33 32 54  |,"16","256","32T|
000001f0  22 2c 22 31 36 4d 22 0d  00 13 0f e3 20 62 70 70  |","16M"..... bpp|
00000200  3d 30 20 b8 20 35 0d 00  14 0d 20 21 62 6c 6f 63  |=0 . 5.... !bloc|
00000210  6b 3d 31 0d 00 15 0e 20  62 6c 6f 63 6b 21 34 3d  |k=1.... block!4=|
00000220  78 0d 00 16 0e 20 62 6c  6f 63 6b 21 38 3d 79 0d  |x.... block!8=y.|
00000230  00 17 11 20 62 6c 6f 63  6b 21 31 32 3d 62 70 70  |... block!12=bpp|
00000240  0d 00 18 10 20 62 6c 6f  63 6b 21 31 36 3d 2d 31  |.... block!16=-1|
00000250  0d 00 19 10 20 62 6c 6f  63 6b 21 32 30 3d 2d 31  |.... block!20=-1|
00000260  0d 00 1a 26 20 c8 99 20  22 4f 53 5f 43 68 65 63  |...& .. "OS_Chec|
00000270  6b 4d 6f 64 65 56 61 6c  69 64 22 2c 62 6c 6f 63  |kModeValid",bloc|
00000280  6b 20 b8 20 6f 6b 0d 00  1b 26 20 e7 20 6f 6b 3d  |k . ok...& . ok=|
00000290  2d 31 20 67 72 65 79 24  3d 22 20 2d 67 72 65 79  |-1 grey$=" -grey|
000002a0  22 20 8b 20 67 72 65 79  24 3d 22 22 0d 00 1c 1e  |" . grey$=""....|
000002b0  20 c8 99 20 6f 70 74 69  6f 6e 2c 62 70 70 24 28  | .. option,bpp$(|
000002c0  62 70 70 29 2b 67 72 65  79 24 0d 00 1d 3d 20 20  |bpp)+grey$...=  |
000002d0  20 20 c8 99 20 63 6f 6d  6d 61 6e 64 2c 22 57 69  |  .. command,"Wi|
000002e0  6d 70 4d 6f 64 65 20 58  22 2b c3 28 78 29 2b 22  |mpMode X"+.(x)+"|
000002f0  20 59 22 2b c3 28 79 29  2b 22 20 43 22 2b 62 70  | Y"+.(y)+" C"+bp|
00000300  70 24 28 62 70 70 29 0d  00 1e 05 ed 0d 00 1f 0e  |p$(bpp).........|
00000310  c8 99 20 65 6e 64 6d 65  6e 75 0d 00 20 04 0d 00  |.. endmenu.. ...|
00000320  21 1f 2a 53 65 74 20 44  69 72 65 63 74 6f 72 24  |!.*Set Director$|
00000330  4d 65 6e 75 20 4d 6f 64  65 6c 69 73 74 0d 00 22  |Menu Modelist.."|
00000340  05 e0 0d 00 23 04 0d 00  24 1a dd 20 a4 61 72 67  |....#...$.. .arg|
00000350  28 73 74 72 24 2c 61 72  67 24 2c 64 65 66 24 29  |(str$,arg$,def$)|
00000360  0d 00 25 09 ea 20 69 2c  6a 0d 00 26 11 69 3d a7  |..%.. i,j..&.i=.|
00000370  73 74 72 24 2c 61 72 67  24 29 0d 00 27 11 e7 20  |str$,arg$)..'.. |
00000380  69 3d 30 20 8c 20 3d 64  65 66 24 0d 00 28 0e 69  |i=0 . =def$..(.i|
00000390  2b 3d a9 61 72 67 24 2b  31 0d 00 29 17 6a 3d a7  |+=.arg$+1..).j=.|
000003a0  73 74 72 24 2b 22 20 3c  22 2c 22 20 22 2c 69 29  |str$+" <"," ",i)|
000003b0  0d 00 2a 11 3d c1 73 74  72 24 2c 69 2c 6a 2d 69  |..*.=.str$,i,j-i|
000003c0  29 0d 00 2b 04 0d 00 2c  17 dd 20 a4 73 77 69 5f  |)..+...,.. .swi_|
000003d0  6e 75 6d 62 65 72 28 73  77 69 24 29 0d 00 2d 2c  |number(swi$)..-,|
000003e0  c8 99 20 22 4f 53 5f 53  57 49 4e 75 6d 62 65 72  |.. "OS_SWINumber|
000003f0  46 72 6f 6d 53 74 72 69  6e 67 22 2c 2c 73 77 69  |FromString",,swi|
00000400  24 20 b8 20 73 77 69 25  0d 00 2e 09 3d 73 77 69  |$ . swi%....=swi|
00000410  25 0d ff                                          |%..|
00000413