Extensions relating to compiler errors

STOS programming section.

Moderator: troed

Post Reply
User avatar
Site Admin
Site Admin
Posts: 6615
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK

Extensions relating to compiler errors

Post by exxos » Sun May 13, 2018 10:15 pm

There is a discussion recently on Michael Keenleyside's STOS group over a compiler error when installing the 3D extension.

I thought I would explain some things relating to extensions to prevent this confusion again with other extensions..

Basically all extensions which going the STOS folder will all be ".ESx" where 'x' is the extension letter which can be any letter other than currently use letters, or letter "B". Apparently there is some bug which does not allow "B" to be used as a extension.

Extensions in the COMPILER folder will all be ".ECx". The extension letters must match the ones in the STOS folder. For example LINK1.ESQ would be in the STOS folder, and LINK1.ECQ will be in the COMPILER folder..

When compiling with wrong extension letters or conflicting extensions compiler will error as to trying to compile a command which will basically result in a syntax error because it is trying to read the command from a different extension.

Basically the compiler through up this error...

32423058_1656492194457963_2538865059698835456_n.jpg (43.71 KiB) Viewed 444 times

Where line 100 was totally innocent here...

32294326_1656492697791246_9043370958206795776_n.jpg (28.51 KiB) Viewed 444 times

The problem is because STOS 3D uses the same extension letter as part of the missing link extension.. You cannot have two extensions with the same letter..
32414066_1656880994419083_1456489690008911872_n.jpg (167.62 KiB) Viewed 444 times
So in order to resolve this, LINK3.ECS needs to be renamed to something like LINK3.S. Now this will also disable all the commands in that extension. So if you were running the missing link extension with any of the commands in LINK3.ECS, then you will no longer be able to use them..

BUT. You can rename extension to any letter and then you can use the commands in LINK3 extension. For example you can rename it to LINK3.ECT where the letter "T" is the extension letter. However you must realise any programs created with the previous extension letter will longer work with the new extension letter.

Workaround for this is to save files as the ASC format which will export the actual text which then can be imported after extensions have been renamed.

For example if you loaded a missing link demo without the 3-D extension installed you would do something like..

load "demo.bas"
save "demo.asc"

This will allow you to now rename any extension letters and re-add the 3-D extension.

One thing to bear in mind is that saving in ASC format does not save any memory banks. So you will need to save them separately such as..

save "banks.mbs"

And you'll need to load them after loading in the ASC file such as..

load "demo.asc"
load "banks.mbs".

Then you can save normally such as..

save "demo.bas".

Then this way the extensions have been renamed and you can still use all the commands in the extensions.

But obviously if you are not using any extensions, then really you should just rename them by deleting the last letter of the file name, or just remove them.
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

Post Reply