Home » Archimedes archive » Archimedes World » AW-1995-02-Disc1.adf » Disk1Feb95 » !AWFeb95/Goodies/BasicComp/v1_24/!Run

!AWFeb95/Goodies/BasicComp/v1_24/!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 » Archimedes World » AW-1995-02-Disc1.adf » Disk1Feb95
Filename: !AWFeb95/Goodies/BasicComp/v1_24/!Run
Read OK:
File size: 04A6 bytes
Load address: 0000
Exec address: 0000
File contents
| Run file for BasCompress
|
| Complicated because can call direct to back end if any parameters passed

IconSprites <Obey$Dir>.!Sprites
Set BasCompress$Dir <Obey$Dir>
Set Alias$BasCompress /<BasCompress$Dir>.!Run 

If "<System$Path>"="" Then Error System resources cannot be found

Set Old$CAsm 0
RMEnsure CAssembler 0    Set Old$CAsm 1
RMEnsure CAssembler 0.07 Set Old$CAsm 0
If <Old$CAsm> Then Error An old version of the CAssembler module is resident
UnSet Old$CAsm
RMEnsure CAssembler 0.07 RMLoad <BasCompress$Dir>.CAssembler
RMEnsure CAssembler 0.07 Error CAssembler module not found or too old

RMEnsure FPEmulator 2.70 RMLoad System:Modules.FPEmulator
RMEnsure FPEmulator 2.70 Error FPEmulator module not found or too old


If "%0"<>"" Then WimpSlot -Min 96K -Max 96K
If "%0"<>"" Then /<BasCompress$Dir>.!RunImage %*0
If "%0"="" Then RMEnsure InterfaceManager 1.30 RMLoad <BasCompress$Dir>.Interface
If "%0"="" Then RMEnsure InterfaceManager 1.30 Error Interface module not found or too old
If "%0"="" Then Set BasCompressFE$Dir <BasCompress$Dir>.fe
If "%0"="" Then WimpSlot -Min 96K -Max 96K
If "%0"="" Then WimpSlot -Min 64K -Max 64K
If "%0"="" Then /<BasCompressFE$Dir>.!RunImage
00000000  7c 20 52 75 6e 20 66 69  6c 65 20 66 6f 72 20 42  || Run file for B|
00000010  61 73 43 6f 6d 70 72 65  73 73 0a 7c 0a 7c 20 43  |asCompress.|.| C|
00000020  6f 6d 70 6c 69 63 61 74  65 64 20 62 65 63 61 75  |omplicated becau|
00000030  73 65 20 63 61 6e 20 63  61 6c 6c 20 64 69 72 65  |se can call dire|
00000040  63 74 20 74 6f 20 62 61  63 6b 20 65 6e 64 20 69  |ct to back end i|
00000050  66 20 61 6e 79 20 70 61  72 61 6d 65 74 65 72 73  |f any parameters|
00000060  20 70 61 73 73 65 64 0a  0a 49 63 6f 6e 53 70 72  | passed..IconSpr|
00000070  69 74 65 73 20 3c 4f 62  65 79 24 44 69 72 3e 2e  |ites <Obey$Dir>.|
00000080  21 53 70 72 69 74 65 73  0a 53 65 74 20 42 61 73  |!Sprites.Set Bas|
00000090  43 6f 6d 70 72 65 73 73  24 44 69 72 20 3c 4f 62  |Compress$Dir <Ob|
000000a0  65 79 24 44 69 72 3e 0a  53 65 74 20 41 6c 69 61  |ey$Dir>.Set Alia|
000000b0  73 24 42 61 73 43 6f 6d  70 72 65 73 73 20 2f 3c  |s$BasCompress /<|
000000c0  42 61 73 43 6f 6d 70 72  65 73 73 24 44 69 72 3e  |BasCompress$Dir>|
000000d0  2e 21 52 75 6e 20 0a 0a  49 66 20 22 3c 53 79 73  |.!Run ..If "<Sys|
000000e0  74 65 6d 24 50 61 74 68  3e 22 3d 22 22 20 54 68  |tem$Path>"="" Th|
000000f0  65 6e 20 45 72 72 6f 72  20 53 79 73 74 65 6d 20  |en Error System |
00000100  72 65 73 6f 75 72 63 65  73 20 63 61 6e 6e 6f 74  |resources cannot|
00000110  20 62 65 20 66 6f 75 6e  64 0a 0a 53 65 74 20 4f  | be found..Set O|
00000120  6c 64 24 43 41 73 6d 20  30 0a 52 4d 45 6e 73 75  |ld$CAsm 0.RMEnsu|
00000130  72 65 20 43 41 73 73 65  6d 62 6c 65 72 20 30 20  |re CAssembler 0 |
00000140  20 20 20 53 65 74 20 4f  6c 64 24 43 41 73 6d 20  |   Set Old$CAsm |
00000150  31 0a 52 4d 45 6e 73 75  72 65 20 43 41 73 73 65  |1.RMEnsure CAsse|
00000160  6d 62 6c 65 72 20 30 2e  30 37 20 53 65 74 20 4f  |mbler 0.07 Set O|
00000170  6c 64 24 43 41 73 6d 20  30 0a 49 66 20 3c 4f 6c  |ld$CAsm 0.If <Ol|
00000180  64 24 43 41 73 6d 3e 20  54 68 65 6e 20 45 72 72  |d$CAsm> Then Err|
00000190  6f 72 20 41 6e 20 6f 6c  64 20 76 65 72 73 69 6f  |or An old versio|
000001a0  6e 20 6f 66 20 74 68 65  20 43 41 73 73 65 6d 62  |n of the CAssemb|
000001b0  6c 65 72 20 6d 6f 64 75  6c 65 20 69 73 20 72 65  |ler module is re|
000001c0  73 69 64 65 6e 74 0a 55  6e 53 65 74 20 4f 6c 64  |sident.UnSet Old|
000001d0  24 43 41 73 6d 0a 52 4d  45 6e 73 75 72 65 20 43  |$CAsm.RMEnsure C|
000001e0  41 73 73 65 6d 62 6c 65  72 20 30 2e 30 37 20 52  |Assembler 0.07 R|
000001f0  4d 4c 6f 61 64 20 3c 42  61 73 43 6f 6d 70 72 65  |MLoad <BasCompre|
00000200  73 73 24 44 69 72 3e 2e  43 41 73 73 65 6d 62 6c  |ss$Dir>.CAssembl|
00000210  65 72 0a 52 4d 45 6e 73  75 72 65 20 43 41 73 73  |er.RMEnsure CAss|
00000220  65 6d 62 6c 65 72 20 30  2e 30 37 20 45 72 72 6f  |embler 0.07 Erro|
00000230  72 20 43 41 73 73 65 6d  62 6c 65 72 20 6d 6f 64  |r CAssembler mod|
00000240  75 6c 65 20 6e 6f 74 20  66 6f 75 6e 64 20 6f 72  |ule not found or|
00000250  20 74 6f 6f 20 6f 6c 64  0a 0a 52 4d 45 6e 73 75  | too old..RMEnsu|
00000260  72 65 20 46 50 45 6d 75  6c 61 74 6f 72 20 32 2e  |re FPEmulator 2.|
00000270  37 30 20 52 4d 4c 6f 61  64 20 53 79 73 74 65 6d  |70 RMLoad System|
00000280  3a 4d 6f 64 75 6c 65 73  2e 46 50 45 6d 75 6c 61  |:Modules.FPEmula|
00000290  74 6f 72 0a 52 4d 45 6e  73 75 72 65 20 46 50 45  |tor.RMEnsure FPE|
000002a0  6d 75 6c 61 74 6f 72 20  32 2e 37 30 20 45 72 72  |mulator 2.70 Err|
000002b0  6f 72 20 46 50 45 6d 75  6c 61 74 6f 72 20 6d 6f  |or FPEmulator mo|
000002c0  64 75 6c 65 20 6e 6f 74  20 66 6f 75 6e 64 20 6f  |dule not found o|
000002d0  72 20 74 6f 6f 20 6f 6c  64 0a 0a 0a 49 66 20 22  |r too old...If "|
000002e0  25 30 22 3c 3e 22 22 20  54 68 65 6e 20 57 69 6d  |%0"<>"" Then Wim|
000002f0  70 53 6c 6f 74 20 2d 4d  69 6e 20 39 36 4b 20 2d  |pSlot -Min 96K -|
00000300  4d 61 78 20 39 36 4b 0a  49 66 20 22 25 30 22 3c  |Max 96K.If "%0"<|
00000310  3e 22 22 20 54 68 65 6e  20 2f 3c 42 61 73 43 6f  |>"" Then /<BasCo|
00000320  6d 70 72 65 73 73 24 44  69 72 3e 2e 21 52 75 6e  |mpress$Dir>.!Run|
00000330  49 6d 61 67 65 20 25 2a  30 0a 49 66 20 22 25 30  |Image %*0.If "%0|
00000340  22 3d 22 22 20 54 68 65  6e 20 52 4d 45 6e 73 75  |"="" Then RMEnsu|
00000350  72 65 20 49 6e 74 65 72  66 61 63 65 4d 61 6e 61  |re InterfaceMana|
00000360  67 65 72 20 31 2e 33 30  20 52 4d 4c 6f 61 64 20  |ger 1.30 RMLoad |
00000370  3c 42 61 73 43 6f 6d 70  72 65 73 73 24 44 69 72  |<BasCompress$Dir|
00000380  3e 2e 49 6e 74 65 72 66  61 63 65 0a 49 66 20 22  |>.Interface.If "|
00000390  25 30 22 3d 22 22 20 54  68 65 6e 20 52 4d 45 6e  |%0"="" Then RMEn|
000003a0  73 75 72 65 20 49 6e 74  65 72 66 61 63 65 4d 61  |sure InterfaceMa|
000003b0  6e 61 67 65 72 20 31 2e  33 30 20 45 72 72 6f 72  |nager 1.30 Error|
000003c0  20 49 6e 74 65 72 66 61  63 65 20 6d 6f 64 75 6c  | Interface modul|
000003d0  65 20 6e 6f 74 20 66 6f  75 6e 64 20 6f 72 20 74  |e not found or t|
000003e0  6f 6f 20 6f 6c 64 0a 49  66 20 22 25 30 22 3d 22  |oo old.If "%0"="|
000003f0  22 20 54 68 65 6e 20 53  65 74 20 42 61 73 43 6f  |" Then Set BasCo|
00000400  6d 70 72 65 73 73 46 45  24 44 69 72 20 3c 42 61  |mpressFE$Dir <Ba|
00000410  73 43 6f 6d 70 72 65 73  73 24 44 69 72 3e 2e 66  |sCompress$Dir>.f|
00000420  65 0a 49 66 20 22 25 30  22 3d 22 22 20 54 68 65  |e.If "%0"="" The|
00000430  6e 20 57 69 6d 70 53 6c  6f 74 20 2d 4d 69 6e 20  |n WimpSlot -Min |
00000440  39 36 4b 20 2d 4d 61 78  20 39 36 4b 0a 49 66 20  |96K -Max 96K.If |
00000450  22 25 30 22 3d 22 22 20  54 68 65 6e 20 57 69 6d  |"%0"="" Then Wim|
00000460  70 53 6c 6f 74 20 2d 4d  69 6e 20 36 34 4b 20 2d  |pSlot -Min 64K -|
00000470  4d 61 78 20 36 34 4b 0a  49 66 20 22 25 30 22 3d  |Max 64K.If "%0"=|
00000480  22 22 20 54 68 65 6e 20  2f 3c 42 61 73 43 6f 6d  |"" Then /<BasCom|
00000490  70 72 65 73 73 46 45 24  44 69 72 3e 2e 21 52 75  |pressFE$Dir>.!Ru|
000004a0  6e 49 6d 61 67 65                                 |nImage|
000004a6