Home » Archimedes archive » Zipped Apps » ArtWorks » !ArtWorks/!Run

!ArtWorks/!Run

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 » Zipped Apps » ArtWorks
Filename: !ArtWorks/!Run
Read OK:
File size: 095F bytes
Load address: 0000
Exec address: 0000
File contents
|> !Run
|
|  Execution file for !ArtWorks
|
|  (c) 1992-1994 Computer Concepts Ltd.
|
Set TopDraw$Dir <Obey$Dir>
Set ArtWorks$Dir <Obey$Dir>
WimpSlot -min 352k -max 352k
Run <ArtWorks$Dir>.RiscOSV

| If CCShared not yet set up then set it up...
|
SetEval Flag 0
<ArtWorks$Dir>.FileEnsure <ArtWorks$Dir>.Flag Flag
If "<CCShared$Dir>"="" AND Flag Then Obey <ArtWorks$Dir>.!BootShare
Unset Flag

|  Look for ABI in the !System directory.  If it's not there then try to load
|  it from inside the application...
|
SetEval SysABI 0
RMEnsure ABI 2.73 SetEval SysABI -1
IF "<System$Path>"="" Then SetEval SysABI 0
If SysABI Then Run <ArtWorks$Dir>.FileEnsure System:Modules.ABIMod SysABI
If SysABI Then RMEnsure ABI 2.73 RMLoad System:Modules.ABIMod
If SysABI Then RMEnsure ABI 2.73 Error "The copy of ABIModule in !System is out of date. Please refer to the section 'Updating ABI' in the manual."
RMEnsure ABI 2.73 RMLoad <ArtWorks$Dir>.RMStore.ABIMod
RMEnsure ABI 2.73 Error "The copy of ABI used by ArtWorks is out of date. ArtWorks may have been incorrectly installed. Please re-install ArtWorks or seek technical help."
Unset SysABI

|  Ensure we have all the modules we will need.
|  They preferably come from !CCShared but fallback to <ArtWorks$Dir>.RMStore
|
Set RunApp$Name ArtWorks
<ArtWorks$Dir>.RMShare ImageExtnd ImageExtend 0.80 <ArtWorks$Dir>.RMStore
<ArtWorks$Dir>.RMShare GDraw GDraw 2.95 <ArtWorks$Dir>.RMStore
<ArtWorks$Dir>.RMShare FontDraw FontDraw 1.07 <ArtWorks$Dir>.RMStore
<ArtWorks$Dir>.RMShare CCSquash StreamSquash 0.64 <ArtWorks$Dir>.RMStore
<ArtWorks$Dir>.RMShare SpriteExt GSpriteExtend 0.67 <ArtWorks$Dir>.RMStore

|RMEnsure CCWord 0.45 RMLoad <ArtWorks$Dir>.RMStore.CCWord

IF RiscOS$Version = 200 THEN Obey <ArtWorks$Dir>.EnsureRO2
IF RiscOS$Version = 300 THEN Obey <ArtWorks$Dir>.EnsureRO3

<ArtWorks$Dir>.RMShare DitherExt DitherExtend 0.45 <ArtWorks$Dir>.RMStore
Unset RunApp$Name

SetEval LocalFonts 0
<ArtWorks$Dir>.FileEnsure <ArtWorks$Dir>.ArtFonts.AvantG.Book.IntMetrics LocalFonts
If LocalFonts Then <ArtWorks$Dir>.FInstall <ArtWorks$Dir>.ArtFonts.
UnSet LocalFonts

IconSprites <ArtWorks$Dir>.!Sprites

Set File$Type_D94 ArtWork
Set File$Type_D95 ArtWkMod
Set File$Type_D8E ABIDefs
Set Alias$@RunType_D94 Run <ArtWorks$Dir>.!Run %%*0
Set Alias$@RunType_D95 Error 0 "You cannot run an ArtWorks module without running ArtWorks!"

Run "<ArtWorks$Dir>.!RunImage" %*0
00000000  7c 3e 20 21 52 75 6e 0a  7c 0a 7c 20 20 45 78 65  ||> !Run.|.|  Exe|
00000010  63 75 74 69 6f 6e 20 66  69 6c 65 20 66 6f 72 20  |cution file for |
00000020  21 41 72 74 57 6f 72 6b  73 0a 7c 0a 7c 20 20 28  |!ArtWorks.|.|  (|
00000030  63 29 20 31 39 39 32 2d  31 39 39 34 20 43 6f 6d  |c) 1992-1994 Com|
00000040  70 75 74 65 72 20 43 6f  6e 63 65 70 74 73 20 4c  |puter Concepts L|
00000050  74 64 2e 0a 7c 0a 53 65  74 20 54 6f 70 44 72 61  |td..|.Set TopDra|
00000060  77 24 44 69 72 20 3c 4f  62 65 79 24 44 69 72 3e  |w$Dir <Obey$Dir>|
00000070  0a 53 65 74 20 41 72 74  57 6f 72 6b 73 24 44 69  |.Set ArtWorks$Di|
00000080  72 20 3c 4f 62 65 79 24  44 69 72 3e 0a 57 69 6d  |r <Obey$Dir>.Wim|
00000090  70 53 6c 6f 74 20 2d 6d  69 6e 20 33 35 32 6b 20  |pSlot -min 352k |
000000a0  2d 6d 61 78 20 33 35 32  6b 0a 52 75 6e 20 3c 41  |-max 352k.Run <A|
000000b0  72 74 57 6f 72 6b 73 24  44 69 72 3e 2e 52 69 73  |rtWorks$Dir>.Ris|
000000c0  63 4f 53 56 0a 0a 7c 20  49 66 20 43 43 53 68 61  |cOSV..| If CCSha|
000000d0  72 65 64 20 6e 6f 74 20  79 65 74 20 73 65 74 20  |red not yet set |
000000e0  75 70 20 74 68 65 6e 20  73 65 74 20 69 74 20 75  |up then set it u|
000000f0  70 2e 2e 2e 0a 7c 0a 53  65 74 45 76 61 6c 20 46  |p....|.SetEval F|
00000100  6c 61 67 20 30 0a 3c 41  72 74 57 6f 72 6b 73 24  |lag 0.<ArtWorks$|
00000110  44 69 72 3e 2e 46 69 6c  65 45 6e 73 75 72 65 20  |Dir>.FileEnsure |
00000120  3c 41 72 74 57 6f 72 6b  73 24 44 69 72 3e 2e 46  |<ArtWorks$Dir>.F|
00000130  6c 61 67 20 46 6c 61 67  0a 49 66 20 22 3c 43 43  |lag Flag.If "<CC|
00000140  53 68 61 72 65 64 24 44  69 72 3e 22 3d 22 22 20  |Shared$Dir>"="" |
00000150  41 4e 44 20 46 6c 61 67  20 54 68 65 6e 20 4f 62  |AND Flag Then Ob|
00000160  65 79 20 3c 41 72 74 57  6f 72 6b 73 24 44 69 72  |ey <ArtWorks$Dir|
00000170  3e 2e 21 42 6f 6f 74 53  68 61 72 65 0a 55 6e 73  |>.!BootShare.Uns|
00000180  65 74 20 46 6c 61 67 0a  0a 7c 20 20 4c 6f 6f 6b  |et Flag..|  Look|
00000190  20 66 6f 72 20 41 42 49  20 69 6e 20 74 68 65 20  | for ABI in the |
000001a0  21 53 79 73 74 65 6d 20  64 69 72 65 63 74 6f 72  |!System director|
000001b0  79 2e 20 20 49 66 20 69  74 27 73 20 6e 6f 74 20  |y.  If it's not |
000001c0  74 68 65 72 65 20 74 68  65 6e 20 74 72 79 20 74  |there then try t|
000001d0  6f 20 6c 6f 61 64 0a 7c  20 20 69 74 20 66 72 6f  |o load.|  it fro|
000001e0  6d 20 69 6e 73 69 64 65  20 74 68 65 20 61 70 70  |m inside the app|
000001f0  6c 69 63 61 74 69 6f 6e  2e 2e 2e 0a 7c 0a 53 65  |lication....|.Se|
00000200  74 45 76 61 6c 20 53 79  73 41 42 49 20 30 0a 52  |tEval SysABI 0.R|
00000210  4d 45 6e 73 75 72 65 20  41 42 49 20 32 2e 37 33  |MEnsure ABI 2.73|
00000220  20 53 65 74 45 76 61 6c  20 53 79 73 41 42 49 20  | SetEval SysABI |
00000230  2d 31 0a 49 46 20 22 3c  53 79 73 74 65 6d 24 50  |-1.IF "<System$P|
00000240  61 74 68 3e 22 3d 22 22  20 54 68 65 6e 20 53 65  |ath>"="" Then Se|
00000250  74 45 76 61 6c 20 53 79  73 41 42 49 20 30 0a 49  |tEval SysABI 0.I|
00000260  66 20 53 79 73 41 42 49  20 54 68 65 6e 20 52 75  |f SysABI Then Ru|
00000270  6e 20 3c 41 72 74 57 6f  72 6b 73 24 44 69 72 3e  |n <ArtWorks$Dir>|
00000280  2e 46 69 6c 65 45 6e 73  75 72 65 20 53 79 73 74  |.FileEnsure Syst|
00000290  65 6d 3a 4d 6f 64 75 6c  65 73 2e 41 42 49 4d 6f  |em:Modules.ABIMo|
000002a0  64 20 53 79 73 41 42 49  0a 49 66 20 53 79 73 41  |d SysABI.If SysA|
000002b0  42 49 20 54 68 65 6e 20  52 4d 45 6e 73 75 72 65  |BI Then RMEnsure|
000002c0  20 41 42 49 20 32 2e 37  33 20 52 4d 4c 6f 61 64  | ABI 2.73 RMLoad|
000002d0  20 53 79 73 74 65 6d 3a  4d 6f 64 75 6c 65 73 2e  | System:Modules.|
000002e0  41 42 49 4d 6f 64 0a 49  66 20 53 79 73 41 42 49  |ABIMod.If SysABI|
000002f0  20 54 68 65 6e 20 52 4d  45 6e 73 75 72 65 20 41  | Then RMEnsure A|
00000300  42 49 20 32 2e 37 33 20  45 72 72 6f 72 20 22 54  |BI 2.73 Error "T|
00000310  68 65 20 63 6f 70 79 20  6f 66 20 41 42 49 4d 6f  |he copy of ABIMo|
00000320  64 75 6c 65 20 69 6e 20  21 53 79 73 74 65 6d 20  |dule in !System |
00000330  69 73 20 6f 75 74 20 6f  66 20 64 61 74 65 2e 20  |is out of date. |
00000340  50 6c 65 61 73 65 20 72  65 66 65 72 20 74 6f 20  |Please refer to |
00000350  74 68 65 20 73 65 63 74  69 6f 6e 20 27 55 70 64  |the section 'Upd|
00000360  61 74 69 6e 67 20 41 42  49 27 20 69 6e 20 74 68  |ating ABI' in th|
00000370  65 20 6d 61 6e 75 61 6c  2e 22 0a 52 4d 45 6e 73  |e manual.".RMEns|
00000380  75 72 65 20 41 42 49 20  32 2e 37 33 20 52 4d 4c  |ure ABI 2.73 RML|
00000390  6f 61 64 20 3c 41 72 74  57 6f 72 6b 73 24 44 69  |oad <ArtWorks$Di|
000003a0  72 3e 2e 52 4d 53 74 6f  72 65 2e 41 42 49 4d 6f  |r>.RMStore.ABIMo|
000003b0  64 0a 52 4d 45 6e 73 75  72 65 20 41 42 49 20 32  |d.RMEnsure ABI 2|
000003c0  2e 37 33 20 45 72 72 6f  72 20 22 54 68 65 20 63  |.73 Error "The c|
000003d0  6f 70 79 20 6f 66 20 41  42 49 20 75 73 65 64 20  |opy of ABI used |
000003e0  62 79 20 41 72 74 57 6f  72 6b 73 20 69 73 20 6f  |by ArtWorks is o|
000003f0  75 74 20 6f 66 20 64 61  74 65 2e 20 41 72 74 57  |ut of date. ArtW|
00000400  6f 72 6b 73 20 6d 61 79  20 68 61 76 65 20 62 65  |orks may have be|
00000410  65 6e 20 69 6e 63 6f 72  72 65 63 74 6c 79 20 69  |en incorrectly i|
00000420  6e 73 74 61 6c 6c 65 64  2e 20 50 6c 65 61 73 65  |nstalled. Please|
00000430  20 72 65 2d 69 6e 73 74  61 6c 6c 20 41 72 74 57  | re-install ArtW|
00000440  6f 72 6b 73 20 6f 72 20  73 65 65 6b 20 74 65 63  |orks or seek tec|
00000450  68 6e 69 63 61 6c 20 68  65 6c 70 2e 22 0a 55 6e  |hnical help.".Un|
00000460  73 65 74 20 53 79 73 41  42 49 0a 0a 7c 20 20 45  |set SysABI..|  E|
00000470  6e 73 75 72 65 20 77 65  20 68 61 76 65 20 61 6c  |nsure we have al|
00000480  6c 20 74 68 65 20 6d 6f  64 75 6c 65 73 20 77 65  |l the modules we|
00000490  20 77 69 6c 6c 20 6e 65  65 64 2e 0a 7c 20 20 54  | will need..|  T|
000004a0  68 65 79 20 70 72 65 66  65 72 61 62 6c 79 20 63  |hey preferably c|
000004b0  6f 6d 65 20 66 72 6f 6d  20 21 43 43 53 68 61 72  |ome from !CCShar|
000004c0  65 64 20 62 75 74 20 66  61 6c 6c 62 61 63 6b 20  |ed but fallback |
000004d0  74 6f 20 3c 41 72 74 57  6f 72 6b 73 24 44 69 72  |to <ArtWorks$Dir|
000004e0  3e 2e 52 4d 53 74 6f 72  65 0a 7c 0a 53 65 74 20  |>.RMStore.|.Set |
000004f0  52 75 6e 41 70 70 24 4e  61 6d 65 20 41 72 74 57  |RunApp$Name ArtW|
00000500  6f 72 6b 73 0a 3c 41 72  74 57 6f 72 6b 73 24 44  |orks.<ArtWorks$D|
00000510  69 72 3e 2e 52 4d 53 68  61 72 65 20 49 6d 61 67  |ir>.RMShare Imag|
00000520  65 45 78 74 6e 64 20 49  6d 61 67 65 45 78 74 65  |eExtnd ImageExte|
00000530  6e 64 20 30 2e 38 30 20  3c 41 72 74 57 6f 72 6b  |nd 0.80 <ArtWork|
00000540  73 24 44 69 72 3e 2e 52  4d 53 74 6f 72 65 0a 3c  |s$Dir>.RMStore.<|
00000550  41 72 74 57 6f 72 6b 73  24 44 69 72 3e 2e 52 4d  |ArtWorks$Dir>.RM|
00000560  53 68 61 72 65 20 47 44  72 61 77 20 47 44 72 61  |Share GDraw GDra|
00000570  77 20 32 2e 39 35 20 3c  41 72 74 57 6f 72 6b 73  |w 2.95 <ArtWorks|
00000580  24 44 69 72 3e 2e 52 4d  53 74 6f 72 65 0a 3c 41  |$Dir>.RMStore.<A|
00000590  72 74 57 6f 72 6b 73 24  44 69 72 3e 2e 52 4d 53  |rtWorks$Dir>.RMS|
000005a0  68 61 72 65 20 46 6f 6e  74 44 72 61 77 20 46 6f  |hare FontDraw Fo|
000005b0  6e 74 44 72 61 77 20 31  2e 30 37 20 3c 41 72 74  |ntDraw 1.07 <Art|
000005c0  57 6f 72 6b 73 24 44 69  72 3e 2e 52 4d 53 74 6f  |Works$Dir>.RMSto|
000005d0  72 65 0a 3c 41 72 74 57  6f 72 6b 73 24 44 69 72  |re.<ArtWorks$Dir|
000005e0  3e 2e 52 4d 53 68 61 72  65 20 43 43 53 71 75 61  |>.RMShare CCSqua|
000005f0  73 68 20 53 74 72 65 61  6d 53 71 75 61 73 68 20  |sh StreamSquash |
00000600  30 2e 36 34 20 3c 41 72  74 57 6f 72 6b 73 24 44  |0.64 <ArtWorks$D|
00000610  69 72 3e 2e 52 4d 53 74  6f 72 65 0a 3c 41 72 74  |ir>.RMStore.<Art|
00000620  57 6f 72 6b 73 24 44 69  72 3e 2e 52 4d 53 68 61  |Works$Dir>.RMSha|
00000630  72 65 20 53 70 72 69 74  65 45 78 74 20 47 53 70  |re SpriteExt GSp|
00000640  72 69 74 65 45 78 74 65  6e 64 20 30 2e 36 37 20  |riteExtend 0.67 |
00000650  3c 41 72 74 57 6f 72 6b  73 24 44 69 72 3e 2e 52  |<ArtWorks$Dir>.R|
00000660  4d 53 74 6f 72 65 0a 0a  7c 52 4d 45 6e 73 75 72  |MStore..|RMEnsur|
00000670  65 20 43 43 57 6f 72 64  20 30 2e 34 35 20 52 4d  |e CCWord 0.45 RM|
00000680  4c 6f 61 64 20 3c 41 72  74 57 6f 72 6b 73 24 44  |Load <ArtWorks$D|
00000690  69 72 3e 2e 52 4d 53 74  6f 72 65 2e 43 43 57 6f  |ir>.RMStore.CCWo|
000006a0  72 64 0a 0a 49 46 20 52  69 73 63 4f 53 24 56 65  |rd..IF RiscOS$Ve|
000006b0  72 73 69 6f 6e 20 3d 20  32 30 30 20 54 48 45 4e  |rsion = 200 THEN|
000006c0  20 4f 62 65 79 20 3c 41  72 74 57 6f 72 6b 73 24  | Obey <ArtWorks$|
000006d0  44 69 72 3e 2e 45 6e 73  75 72 65 52 4f 32 0a 49  |Dir>.EnsureRO2.I|
000006e0  46 20 52 69 73 63 4f 53  24 56 65 72 73 69 6f 6e  |F RiscOS$Version|
000006f0  20 3d 20 33 30 30 20 54  48 45 4e 20 4f 62 65 79  | = 300 THEN Obey|
00000700  20 3c 41 72 74 57 6f 72  6b 73 24 44 69 72 3e 2e  | <ArtWorks$Dir>.|
00000710  45 6e 73 75 72 65 52 4f  33 0a 0a 3c 41 72 74 57  |EnsureRO3..<ArtW|
00000720  6f 72 6b 73 24 44 69 72  3e 2e 52 4d 53 68 61 72  |orks$Dir>.RMShar|
00000730  65 20 44 69 74 68 65 72  45 78 74 20 44 69 74 68  |e DitherExt Dith|
00000740  65 72 45 78 74 65 6e 64  20 30 2e 34 35 20 3c 41  |erExtend 0.45 <A|
00000750  72 74 57 6f 72 6b 73 24  44 69 72 3e 2e 52 4d 53  |rtWorks$Dir>.RMS|
00000760  74 6f 72 65 0a 55 6e 73  65 74 20 52 75 6e 41 70  |tore.Unset RunAp|
00000770  70 24 4e 61 6d 65 0a 0a  53 65 74 45 76 61 6c 20  |p$Name..SetEval |
00000780  4c 6f 63 61 6c 46 6f 6e  74 73 20 30 0a 3c 41 72  |LocalFonts 0.<Ar|
00000790  74 57 6f 72 6b 73 24 44  69 72 3e 2e 46 69 6c 65  |tWorks$Dir>.File|
000007a0  45 6e 73 75 72 65 20 3c  41 72 74 57 6f 72 6b 73  |Ensure <ArtWorks|
000007b0  24 44 69 72 3e 2e 41 72  74 46 6f 6e 74 73 2e 41  |$Dir>.ArtFonts.A|
000007c0  76 61 6e 74 47 2e 42 6f  6f 6b 2e 49 6e 74 4d 65  |vantG.Book.IntMe|
000007d0  74 72 69 63 73 20 4c 6f  63 61 6c 46 6f 6e 74 73  |trics LocalFonts|
000007e0  0a 49 66 20 4c 6f 63 61  6c 46 6f 6e 74 73 20 54  |.If LocalFonts T|
000007f0  68 65 6e 20 3c 41 72 74  57 6f 72 6b 73 24 44 69  |hen <ArtWorks$Di|
00000800  72 3e 2e 46 49 6e 73 74  61 6c 6c 20 3c 41 72 74  |r>.FInstall <Art|
00000810  57 6f 72 6b 73 24 44 69  72 3e 2e 41 72 74 46 6f  |Works$Dir>.ArtFo|
00000820  6e 74 73 2e 0a 55 6e 53  65 74 20 4c 6f 63 61 6c  |nts..UnSet Local|
00000830  46 6f 6e 74 73 0a 0a 49  63 6f 6e 53 70 72 69 74  |Fonts..IconSprit|
00000840  65 73 20 3c 41 72 74 57  6f 72 6b 73 24 44 69 72  |es <ArtWorks$Dir|
00000850  3e 2e 21 53 70 72 69 74  65 73 0a 0a 53 65 74 20  |>.!Sprites..Set |
00000860  46 69 6c 65 24 54 79 70  65 5f 44 39 34 20 41 72  |File$Type_D94 Ar|
00000870  74 57 6f 72 6b 0a 53 65  74 20 46 69 6c 65 24 54  |tWork.Set File$T|
00000880  79 70 65 5f 44 39 35 20  41 72 74 57 6b 4d 6f 64  |ype_D95 ArtWkMod|
00000890  0a 53 65 74 20 46 69 6c  65 24 54 79 70 65 5f 44  |.Set File$Type_D|
000008a0  38 45 20 41 42 49 44 65  66 73 0a 53 65 74 20 41  |8E ABIDefs.Set A|
000008b0  6c 69 61 73 24 40 52 75  6e 54 79 70 65 5f 44 39  |lias$@RunType_D9|
000008c0  34 20 52 75 6e 20 3c 41  72 74 57 6f 72 6b 73 24  |4 Run <ArtWorks$|
000008d0  44 69 72 3e 2e 21 52 75  6e 20 25 25 2a 30 0a 53  |Dir>.!Run %%*0.S|
000008e0  65 74 20 41 6c 69 61 73  24 40 52 75 6e 54 79 70  |et Alias$@RunTyp|
000008f0  65 5f 44 39 35 20 45 72  72 6f 72 20 30 20 22 59  |e_D95 Error 0 "Y|
00000900  6f 75 20 63 61 6e 6e 6f  74 20 72 75 6e 20 61 6e  |ou cannot run an|
00000910  20 41 72 74 57 6f 72 6b  73 20 6d 6f 64 75 6c 65  | ArtWorks module|
00000920  20 77 69 74 68 6f 75 74  20 72 75 6e 6e 69 6e 67  | without running|
00000930  20 41 72 74 57 6f 72 6b  73 21 22 0a 0a 52 75 6e  | ArtWorks!"..Run|
00000940  20 22 3c 41 72 74 57 6f  72 6b 73 24 44 69 72 3e  | "<ArtWorks$Dir>|
00000950  2e 21 52 75 6e 49 6d 61  67 65 22 20 25 2a 30     |.!RunImage" %*0|
0000095f