Extensions relating to compiler errors

STOS programming section.

Moderator: troed

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

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
32423058_1656492194457963_2538865059698835456_n.jpg (43.71 KiB) Viewed 272 times

Where line 100 was totally innocent here...

32294326_1656492697791246_9043370958206795776_n.jpg
32294326_1656492697791246_9043370958206795776_n.jpg (28.51 KiB) Viewed 272 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
32414066_1656880994419083_1456489690008911872_n.jpg (167.62 KiB) Viewed 272 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