Home » Archimedes archive » Acorn User » Acorn User - Shareware Collection (1993).adf » ModeView » !ModeView/!RunImage
!ModeView/!RunImage
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 » Acorn User - Shareware Collection (1993).adf » ModeView |
Filename: | !ModeView/!RunImage |
Read OK: | ✔ |
File size: | 05B4 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM > !RunImage 20: 30 ON ERROR PRINT REPORT$;" internal error (";ERL;")":END 40 DIM q% 255 50 SYS "Wimp_Initialise",200,&4B534154,"Mode View" TO ,ourtask 60 ON ERROR PROCerror:END 70 PROCupdatesprite 80 : 90 quit%=FALSE 100 REPEAT 110 SYS "Wimp_Poll",%1111111111111,q% TO reason% 120 CASE reason% OF 130 WHEN 17,18 : PROCreceive(q%) 140 ENDCASE 150 UNTIL quit% 160 170 IF remove% THEN 180 *Iconsprites <ModeView$Dir>.Sprites 190 ENDIF 200 210 SYS "Wimp_BaseOfSprites" TO ,ramspr% 220 SYS "OS_SpriteOp",&13C,ramspr%,"palette" TO R0,R1,R2,R3 230 SYS "OS_SpriteOp",R0,R1,R2,R3 240 PROCupdatepaletteicon 250 SYS "Wimp_CloseDown" 260END 270: 280DEF PROCreceive(b) 290 CASE b!16 OF 300 WHEN 0:quit%=TRUE:remove%=TRUE 310 WHEN &400C1:PROCupdatesprite 320 WHEN &400C2:remove%=FALSE:quit%=(FNgetzstring(b+28)="Mode View" AND b!4<>ourtask) 330 ENDCASE 340ENDPROC 350: 360DEFPROCupdatesprite 370 mode%=MODE 380 SYS "Wimp_BaseOfSprites" TO ,ramspr% 390 SYS "OS_SpriteOp",&13C,ramspr%,"palette" TO R0,R1,R2,R3 400 GCOL 1 410 RECTANGLEFILL 10,12,42,40 420 GCOL7 430 PROCprint(STR$(mode%),44) 440 SYS "OS_SpriteOp",R0,R1,R2,R3 450 PROCupdatepaletteicon 460ENDPROC 470: 480DEFPROCprint(a$,y%) 490VDU5:MOVE 32-LENa$*8,y%:PRINTa$ 500ENDPROC 510: 520DEF PROCupdatepaletteicon 530 !q%=-1 : REM RHS of Icon bar 540 q%!4=4 : REM Icon 4 ... Max be different on your archimedes use !Spy to find out 550 560 q%!8=0 : q%!12=0 570 SYS "Wimp_SetIconState",,q% 580ENDPROC 590: 600DEFPROCerror 610 ON ERROR OFF 620 SYS "Wimp_CloseDown" 630 PRINT REPORT$;" internal error (";ERL;")" 640ENDPROC 650 660DEF FNgetzstring(ptr) 670LOCAL p$ 680 p$="" 690 WHILE ?ptr<>0 700 p$+=CHR$?ptr:ptr+=1 710 ENDWHILE 720=p$
� > !RunImage : * � � � �$;" internal error (";�;")":� ( � q% 255 2? ș "Wimp_Initialise",200,&4B534154,"Mode View" � ,ourtask < � � �error:� F �updatesprite P : Z quit%=� d � n1 ș "Wimp_Poll",%1111111111111,q% � reason% x Ȏ reason% � � � 17,18 : �receive(q%) � � � � quit% � � � remove% � �+ *Iconsprites <ModeView$Dir>.Sprites � � � �( ș "Wimp_BaseOfSprites" � ,ramspr% �; ș "OS_SpriteOp",&13C,ramspr%,"palette" � R0,R1,R2,R3 �" ș "OS_SpriteOp",R0,R1,R2,R3 � �updatepaletteicon � ș "Wimp_CloseDown" � : � �receive(b) " Ȏ b!16 � , � 0:quit%=�:remove%=� 6 � &400C1:�updatesprite @M � &400C2:remove%=�:quit%=(�getzstring(b+28)="Mode View" � b!4<>ourtask) J � T� ^: h��updatesprite r mode%=� |' ș "Wimp_BaseOfSprites" � ,ramspr% �: ș "OS_SpriteOp",&13C,ramspr%,"palette" � R0,R1,R2,R3 � � 1 � ȓȐ 10,12,42,40 � �7 � �print(�(mode%),44) �! ș "OS_SpriteOp",R0,R1,R2,R3 � �updatepaletteicon �� �: ���print(a$,y%) ��5:� 32-�a$*8,y%:�a$ �� �: � �updatepaletteicon !q%=-1 : � RHS of Icon bar S q%!4=4 : � Icon 4 ... Max be different on your archimedes use !Spy to find out & 0 q%!8=0 : q%!12=0 : ș "Wimp_SetIconState",,q% D� N: X��error b � � � l ș "Wimp_CloseDown" v# � �$;" internal error (";�;")" �� � �� �getzstring(ptr) �� p$ � p$="" � ȕ ?ptr<>0 � p$+=�?ptr:ptr+=1 � � �=p$ �
00000000 0d 00 0a 11 f4 20 3e 20 21 52 75 6e 49 6d 61 67 |..... > !RunImag| 00000010 65 0d 00 14 05 3a 0d 00 1e 2a 20 20 ee 20 85 20 |e....:...* . . | 00000020 f1 20 f6 24 3b 22 20 69 6e 74 65 72 6e 61 6c 20 |. .$;" internal | 00000030 65 72 72 6f 72 20 28 22 3b 9e 3b 22 29 22 3a e0 |error (";.;")":.| 00000040 0d 00 28 0e 20 20 de 20 71 25 20 32 35 35 0d 00 |..(. . q% 255..| 00000050 32 3f 20 20 c8 99 20 22 57 69 6d 70 5f 49 6e 69 |2? .. "Wimp_Ini| 00000060 74 69 61 6c 69 73 65 22 2c 32 30 30 2c 26 34 42 |tialise",200,&4B| 00000070 35 33 34 31 35 34 2c 22 4d 6f 64 65 20 56 69 65 |534154,"Mode Vie| 00000080 77 22 20 b8 20 2c 6f 75 72 74 61 73 6b 0d 00 3c |w" . ,ourtask..<| 00000090 12 20 20 ee 20 85 20 f2 65 72 72 6f 72 3a e0 0d |. . . .error:..| 000000a0 00 46 13 20 20 f2 75 70 64 61 74 65 73 70 72 69 |.F. .updatespri| 000000b0 74 65 0d 00 50 07 20 20 3a 0d 00 5a 0d 20 20 71 |te..P. :..Z. q| 000000c0 75 69 74 25 3d a3 0d 00 64 07 20 20 f5 0d 00 6e |uit%=...d. ...n| 000000d0 31 20 20 20 c8 99 20 22 57 69 6d 70 5f 50 6f 6c |1 .. "Wimp_Pol| 000000e0 6c 22 2c 25 31 31 31 31 31 31 31 31 31 31 31 31 |l",%111111111111| 000000f0 31 2c 71 25 20 b8 20 72 65 61 73 6f 6e 25 0d 00 |1,q% . reason%..| 00000100 78 13 20 20 20 c8 8e 20 72 65 61 73 6f 6e 25 20 |x. .. reason% | 00000110 ca 0d 00 82 1e 20 20 20 20 c9 20 31 37 2c 31 38 |..... . 17,18| 00000120 20 3a 20 f2 72 65 63 65 69 76 65 28 71 25 29 0d | : .receive(q%).| 00000130 00 8c 08 20 20 20 cb 0d 00 96 0d 20 20 fd 20 71 |... ..... . q| 00000140 75 69 74 25 0d 00 a0 04 0d 00 aa 11 20 20 e7 20 |uit%........ . | 00000150 72 65 6d 6f 76 65 25 20 8c 0d 00 b4 2b 20 20 20 |remove% ....+ | 00000160 20 2a 49 63 6f 6e 73 70 72 69 74 65 73 20 3c 4d | *Iconsprites <M| 00000170 6f 64 65 56 69 65 77 24 44 69 72 3e 2e 53 70 72 |odeView$Dir>.Spr| 00000180 69 74 65 73 0d 00 be 07 20 20 cd 0d 00 c8 04 0d |ites.... ......| 00000190 00 d2 28 20 20 c8 99 20 22 57 69 6d 70 5f 42 61 |..( .. "Wimp_Ba| 000001a0 73 65 4f 66 53 70 72 69 74 65 73 22 20 b8 20 2c |seOfSprites" . ,| 000001b0 72 61 6d 73 70 72 25 0d 00 dc 3b 20 20 c8 99 20 |ramspr%...; .. | 000001c0 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 26 31 |"OS_SpriteOp",&1| 000001d0 33 43 2c 72 61 6d 73 70 72 25 2c 22 70 61 6c 65 |3C,ramspr%,"pale| 000001e0 74 74 65 22 20 b8 20 52 30 2c 52 31 2c 52 32 2c |tte" . R0,R1,R2,| 000001f0 52 33 0d 00 e6 22 20 20 c8 99 20 22 4f 53 5f 53 |R3..." .. "OS_S| 00000200 70 72 69 74 65 4f 70 22 2c 52 30 2c 52 31 2c 52 |priteOp",R0,R1,R| 00000210 32 2c 52 33 0d 00 f0 18 20 20 f2 75 70 64 61 74 |2,R3.... .updat| 00000220 65 70 61 6c 65 74 74 65 69 63 6f 6e 0d 00 fa 19 |epaletteicon....| 00000230 20 20 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 | .. "Wimp_Close| 00000240 44 6f 77 6e 22 0d 01 04 05 e0 0d 01 0e 05 3a 0d |Down".........:.| 00000250 01 18 11 dd 20 f2 72 65 63 65 69 76 65 28 62 29 |.... .receive(b)| 00000260 0d 01 22 0e 20 c8 8e 20 62 21 31 36 20 ca 0d 01 |..". .. b!16 ...| 00000270 2c 1b 20 20 c9 20 30 3a 71 75 69 74 25 3d b9 3a |,. . 0:quit%=.:| 00000280 72 65 6d 6f 76 65 25 3d b9 0d 01 36 1c 20 20 c9 |remove%=...6. .| 00000290 20 26 34 30 30 43 31 3a f2 75 70 64 61 74 65 73 | &400C1:.updates| 000002a0 70 72 69 74 65 0d 01 40 4d 20 20 c9 20 26 34 30 |prite..@M . &40| 000002b0 30 43 32 3a 72 65 6d 6f 76 65 25 3d a3 3a 71 75 |0C2:remove%=.:qu| 000002c0 69 74 25 3d 28 a4 67 65 74 7a 73 74 72 69 6e 67 |it%=(.getzstring| 000002d0 28 62 2b 32 38 29 3d 22 4d 6f 64 65 20 56 69 65 |(b+28)="Mode Vie| 000002e0 77 22 20 80 20 62 21 34 3c 3e 6f 75 72 74 61 73 |w" . b!4<>ourtas| 000002f0 6b 29 0d 01 4a 06 20 cb 0d 01 54 05 e1 0d 01 5e |k)..J. ...T....^| 00000300 05 3a 0d 01 68 12 dd f2 75 70 64 61 74 65 73 70 |.:..h...updatesp| 00000310 72 69 74 65 0d 01 72 0c 20 6d 6f 64 65 25 3d eb |rite..r. mode%=.| 00000320 0d 01 7c 27 20 c8 99 20 22 57 69 6d 70 5f 42 61 |..|' .. "Wimp_Ba| 00000330 73 65 4f 66 53 70 72 69 74 65 73 22 20 b8 20 2c |seOfSprites" . ,| 00000340 72 61 6d 73 70 72 25 0d 01 86 3a 20 c8 99 20 22 |ramspr%...: .. "| 00000350 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 26 31 33 |OS_SpriteOp",&13| 00000360 43 2c 72 61 6d 73 70 72 25 2c 22 70 61 6c 65 74 |C,ramspr%,"palet| 00000370 74 65 22 20 b8 20 52 30 2c 52 31 2c 52 32 2c 52 |te" . R0,R1,R2,R| 00000380 33 0d 01 90 08 20 e6 20 31 0d 01 9a 15 20 c8 93 |3.... . 1.... ..| 00000390 c8 90 20 31 30 2c 31 32 2c 34 32 2c 34 30 0d 01 |.. 10,12,42,40..| 000003a0 a4 07 20 e6 37 0d 01 ae 18 20 f2 70 72 69 6e 74 |.. .7.... .print| 000003b0 28 c3 28 6d 6f 64 65 25 29 2c 34 34 29 0d 01 b8 |(.(mode%),44)...| 000003c0 21 20 c8 99 20 22 4f 53 5f 53 70 72 69 74 65 4f |! .. "OS_SpriteO| 000003d0 70 22 2c 52 30 2c 52 31 2c 52 32 2c 52 33 0d 01 |p",R0,R1,R2,R3..| 000003e0 c2 17 20 f2 75 70 64 61 74 65 70 61 6c 65 74 74 |.. .updatepalett| 000003f0 65 69 63 6f 6e 0d 01 cc 05 e1 0d 01 d6 05 3a 0d |eicon.........:.| 00000400 01 e0 12 dd f2 70 72 69 6e 74 28 61 24 2c 79 25 |.....print(a$,y%| 00000410 29 0d 01 ea 18 ef 35 3a ec 20 33 32 2d a9 61 24 |).....5:. 32-.a$| 00000420 2a 38 2c 79 25 3a f1 61 24 0d 01 f4 05 e1 0d 01 |*8,y%:.a$.......| 00000430 fe 05 3a 0d 02 08 18 dd 20 f2 75 70 64 61 74 65 |..:..... .update| 00000440 70 61 6c 65 74 74 65 69 63 6f 6e 0d 02 12 1f 20 |paletteicon.... | 00000450 21 71 25 3d 2d 31 20 3a 20 f4 20 52 48 53 20 6f |!q%=-1 : . RHS o| 00000460 66 20 49 63 6f 6e 20 62 61 72 0d 02 1c 53 20 71 |f Icon bar...S q| 00000470 25 21 34 3d 34 20 3a 20 f4 20 49 63 6f 6e 20 34 |%!4=4 : . Icon 4| 00000480 20 2e 2e 2e 20 4d 61 78 20 62 65 20 64 69 66 66 | ... Max be diff| 00000490 65 72 65 6e 74 20 6f 6e 20 79 6f 75 72 20 61 72 |erent on your ar| 000004a0 63 68 69 6d 65 64 65 73 20 75 73 65 20 21 53 70 |chimedes use !Sp| 000004b0 79 20 74 6f 20 66 69 6e 64 20 6f 75 74 0d 02 26 |y to find out..&| 000004c0 04 0d 02 30 15 20 71 25 21 38 3d 30 20 3a 20 71 |...0. q%!8=0 : q| 000004d0 25 21 31 32 3d 30 0d 02 3a 1f 20 c8 99 20 22 57 |%!12=0..:. .. "W| 000004e0 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 |imp_SetIconState| 000004f0 22 2c 2c 71 25 0d 02 44 05 e1 0d 02 4e 05 3a 0d |",,q%..D....N.:.| 00000500 02 58 0b dd f2 65 72 72 6f 72 0d 02 62 0a 20 ee |.X...error..b. .| 00000510 20 85 20 87 0d 02 6c 18 20 c8 99 20 22 57 69 6d | . ...l. .. "Wim| 00000520 70 5f 43 6c 6f 73 65 44 6f 77 6e 22 0d 02 76 23 |p_CloseDown"..v#| 00000530 20 f1 20 f6 24 3b 22 20 69 6e 74 65 72 6e 61 6c | . .$;" internal| 00000540 20 65 72 72 6f 72 20 28 22 3b 9e 3b 22 29 22 0d | error (";.;")".| 00000550 02 80 05 e1 0d 02 8a 04 0d 02 94 16 dd 20 a4 67 |............. .g| 00000560 65 74 7a 73 74 72 69 6e 67 28 70 74 72 29 0d 02 |etzstring(ptr)..| 00000570 9e 08 ea 20 70 24 0d 02 a8 0a 20 70 24 3d 22 22 |... p$.... p$=""| 00000580 0d 02 b2 0f 20 c8 95 20 3f 70 74 72 3c 3e 30 0d |.... .. ?ptr<>0.| 00000590 02 bc 16 20 20 70 24 2b 3d bd 3f 70 74 72 3a 70 |... p$+=.?ptr:p| 000005a0 74 72 2b 3d 31 0d 02 c6 06 20 ce 0d 02 d0 07 3d |tr+=1.... .....=| 000005b0 70 24 0d ff |p$..| 000005b4