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

!AWFeb95/Goodies/BasicComp/!BC/!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/!BC/!Run
Read OK:
File size: 04DC 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.14 Set Old$CAsm 0
If <Old$CAsm> Then Error An old version of the CAssembler module is resident
UnSet Old$CAsm
Set BasCompressFE$Path <BasCompress$Dir>.,System:Modules.
RMEnsure CAssembler 0.14 RMLoad BasCompressFE:CAssembler
RMEnsure CAssembler 0.14 Error CAssembler module not found or too old

If "%0"="" Then RMEnsure FontWindow 1.40 RMLoad BasCompressFE:FontWindow
If "%0"="" Then RMEnsure FontWindow 1.40 Error FontWindow module not found or too old

UnSet BasCompressFE$Path

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

WimpSlot -Min 128K -Max 128K
If "%0"<>"" Then WimpSlot -Min 96K -Max 96K
If "%0"<>"" Then /<BasCompress$Dir>.!RunImage %*0
If "%0"="" Then Set BasCompressFE$Dir <BasCompress$Dir>.!fe
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  31 34 20 53 65 74 20 4f  |mbler 0.14 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 53 65  74 20 42 61 73 43 6f 6d  |$CAsm.Set BasCom|
000001e0  70 72 65 73 73 46 45 24  50 61 74 68 20 3c 42 61  |pressFE$Path <Ba|
000001f0  73 43 6f 6d 70 72 65 73  73 24 44 69 72 3e 2e 2c  |sCompress$Dir>.,|
00000200  53 79 73 74 65 6d 3a 4d  6f 64 75 6c 65 73 2e 0a  |System:Modules..|
00000210  52 4d 45 6e 73 75 72 65  20 43 41 73 73 65 6d 62  |RMEnsure CAssemb|
00000220  6c 65 72 20 30 2e 31 34  20 52 4d 4c 6f 61 64 20  |ler 0.14 RMLoad |
00000230  42 61 73 43 6f 6d 70 72  65 73 73 46 45 3a 43 41  |BasCompressFE:CA|
00000240  73 73 65 6d 62 6c 65 72  0a 52 4d 45 6e 73 75 72  |ssembler.RMEnsur|
00000250  65 20 43 41 73 73 65 6d  62 6c 65 72 20 30 2e 31  |e CAssembler 0.1|
00000260  34 20 45 72 72 6f 72 20  43 41 73 73 65 6d 62 6c  |4 Error CAssembl|
00000270  65 72 20 6d 6f 64 75 6c  65 20 6e 6f 74 20 66 6f  |er module not fo|
00000280  75 6e 64 20 6f 72 20 74  6f 6f 20 6f 6c 64 0a 0a  |und or too old..|
00000290  49 66 20 22 25 30 22 3d  22 22 20 54 68 65 6e 20  |If "%0"="" Then |
000002a0  52 4d 45 6e 73 75 72 65  20 46 6f 6e 74 57 69 6e  |RMEnsure FontWin|
000002b0  64 6f 77 20 31 2e 34 30  20 52 4d 4c 6f 61 64 20  |dow 1.40 RMLoad |
000002c0  42 61 73 43 6f 6d 70 72  65 73 73 46 45 3a 46 6f  |BasCompressFE:Fo|
000002d0  6e 74 57 69 6e 64 6f 77  0a 49 66 20 22 25 30 22  |ntWindow.If "%0"|
000002e0  3d 22 22 20 54 68 65 6e  20 52 4d 45 6e 73 75 72  |="" Then RMEnsur|
000002f0  65 20 46 6f 6e 74 57 69  6e 64 6f 77 20 31 2e 34  |e FontWindow 1.4|
00000300  30 20 45 72 72 6f 72 20  46 6f 6e 74 57 69 6e 64  |0 Error FontWind|
00000310  6f 77 20 6d 6f 64 75 6c  65 20 6e 6f 74 20 66 6f  |ow module not fo|
00000320  75 6e 64 20 6f 72 20 74  6f 6f 20 6f 6c 64 0a 0a  |und or too old..|
00000330  55 6e 53 65 74 20 42 61  73 43 6f 6d 70 72 65 73  |UnSet BasCompres|
00000340  73 46 45 24 50 61 74 68  0a 0a 52 4d 45 6e 73 75  |sFE$Path..RMEnsu|
00000350  72 65 20 46 50 45 6d 75  6c 61 74 6f 72 20 32 2e  |re FPEmulator 2.|
00000360  37 30 20 52 4d 4c 6f 61  64 20 53 79 73 74 65 6d  |70 RMLoad System|
00000370  3a 4d 6f 64 75 6c 65 73  2e 46 50 45 6d 75 6c 61  |:Modules.FPEmula|
00000380  74 6f 72 0a 52 4d 45 6e  73 75 72 65 20 46 50 45  |tor.RMEnsure FPE|
00000390  6d 75 6c 61 74 6f 72 20  32 2e 37 30 20 45 72 72  |mulator 2.70 Err|
000003a0  6f 72 20 46 50 45 6d 75  6c 61 74 6f 72 20 6d 6f  |or FPEmulator mo|
000003b0  64 75 6c 65 20 6e 6f 74  20 66 6f 75 6e 64 20 6f  |dule not found o|
000003c0  72 20 74 6f 6f 20 6f 6c  64 0a 0a 57 69 6d 70 53  |r too old..WimpS|
000003d0  6c 6f 74 20 2d 4d 69 6e  20 31 32 38 4b 20 2d 4d  |lot -Min 128K -M|
000003e0  61 78 20 31 32 38 4b 0a  49 66 20 22 25 30 22 3c  |ax 128K.If "%0"<|
000003f0  3e 22 22 20 54 68 65 6e  20 57 69 6d 70 53 6c 6f  |>"" Then WimpSlo|
00000400  74 20 2d 4d 69 6e 20 39  36 4b 20 2d 4d 61 78 20  |t -Min 96K -Max |
00000410  39 36 4b 0a 49 66 20 22  25 30 22 3c 3e 22 22 20  |96K.If "%0"<>"" |
00000420  54 68 65 6e 20 2f 3c 42  61 73 43 6f 6d 70 72 65  |Then /<BasCompre|
00000430  73 73 24 44 69 72 3e 2e  21 52 75 6e 49 6d 61 67  |ss$Dir>.!RunImag|
00000440  65 20 25 2a 30 0a 49 66  20 22 25 30 22 3d 22 22  |e %*0.If "%0"=""|
00000450  20 54 68 65 6e 20 53 65  74 20 42 61 73 43 6f 6d  | Then Set BasCom|
00000460  70 72 65 73 73 46 45 24  44 69 72 20 3c 42 61 73  |pressFE$Dir <Bas|
00000470  43 6f 6d 70 72 65 73 73  24 44 69 72 3e 2e 21 66  |Compress$Dir>.!f|
00000480  65 0a 49 66 20 22 25 30  22 3d 22 22 20 54 68 65  |e.If "%0"="" The|
00000490  6e 20 57 69 6d 70 53 6c  6f 74 20 2d 4d 69 6e 20  |n WimpSlot -Min |
000004a0  36 34 4b 20 2d 4d 61 78  20 36 34 4b 0a 49 66 20  |64K -Max 64K.If |
000004b0  22 25 30 22 3d 22 22 20  54 68 65 6e 20 2f 3c 42  |"%0"="" Then /<B|
000004c0  61 73 43 6f 6d 70 72 65  73 73 46 45 24 44 69 72  |asCompressFE$Dir|
000004d0  3e 2e 21 52 75 6e 49 6d  61 67 65 0a              |>.!RunImage.|
000004dc