sQLux v1.1.1 (Deutshland Edition)

Discussion and advice about emulating the QL on other machines.
User avatar
desin
Brittle Membrane
Posts: 114
Joined: Mon May 10, 2021 10:33 am

Re: sQLux v1.1.1 (Deutshland Edition)

Post by desin »

You are correct !
My QL is a english version, so i stuck to it

Greetings from Switzerland
Markus


User avatar
XorA
Site Admin
Posts: 1595
Joined: Thu Jun 02, 2011 11:31 am
Location: Shotts, North Lanarkshire, Scotland, UK

Re: sQLux v1.1.1 (Deutshland Edition)

Post by XorA »

Erk, this means we actually need a matrix!


User avatar
ql_freak
Gold Card
Posts: 444
Joined: Sun Jan 18, 2015 1:29 am

Re: sQLux v1.1.1 (Deutshland Edition)

Post by ql_freak »

I'm afraid, I have found a horrible bug in sQLux (also present in UQLX, at least on Windows with WSL2):

As I formerly mostly have used QPC2 (with SMSQ/E and SBASIC) I have used SAVE to save the last loaded BASIC program (BTW: Does every MultiBASIC store it's own last loaded SBASIC program).

DO NOT DO THIS ON UQLX / sQLux!!!

If e.g. DATAD$ is 'WIN1_bas_' and you enter "SAVE"

You get:

WIN1_bas_ already exists, OK to overwrite (Y/N)

If you now enter Y, UQLX overwrites the directory file WIN1_bas_ and all files in this directory are lost. I have lost some files because of this. Unfortunately I have not currently the time to write (extend) the Minerva LOAD/SAVE commands (I think it should not so difficult, to patch them), so that SAVE will save the last loaded SuperBASIC program.


http://peter-sulzer.bplaced.net
GERMAN! QL-Download page also available in English: GETLINE$() function, UNIX-like "ls" command, improved DIY-Toolkit function EDLINE$ - All with source. AND a good Python 3 Tutorial (German) for Win/UNIX :-)
User avatar
XorA
Site Admin
Posts: 1595
Joined: Thu Jun 02, 2011 11:31 am
Location: Shotts, North Lanarkshire, Scotland, UK

Re: sQLux v1.1.1 (Deutshland Edition)

Post by XorA »

ql_freak wrote: Tue Mar 25, 2025 12:30 am I'm afraid, I have found a horrible bug in sQLux (also present in UQLX, at least on Windows with WSL2):

As I formerly mostly have used QPC2 (with SMSQ/E and SBASIC) I have used SAVE to save the last loaded BASIC program (BTW: Does every MultiBASIC store it's own last loaded SBASIC program).

DO NOT DO THIS ON UQLX / sQLux!!!

If e.g. DATAD$ is 'WIN1_bas_' and you enter "SAVE"

You get:

WIN1_bas_ already exists, OK to overwrite (Y/N)

If you now enter Y, UQLX overwrites the directory file WIN1_bas_ and all files in this directory are lost. I have lost some files because of this. Unfortunately I have not currently the time to write (extend) the Minerva LOAD/SAVE commands (I think it should not so difficult, to patch them), so that SAVE will save the last loaded SuperBASIC program.
This is the same bug you listed in the other thread though?

Would probably be easier for all if you logged these in github rather than buried in threads, can't promise to fix them quickly, but someone might!


swensont
Forum Moderator
Posts: 313
Joined: Tue Dec 06, 2011 3:30 am
Location: SF Bay Area
Contact:

Re: sQLux v1.1.1 (Deutshland Edition)

Post by swensont »

> You get:
>
> WIN1_bas_ already exists, OK to overwrite (Y/N)
>
> If you now enter Y, UQLX overwrites the directory file WIN1_bas_ and all files in this directory are lost.
Is this really a bug or it QDOS letting you do something stupid? I've never just used the "SAVE" command without a file name as how would QDOS know what file name to use. It looks like it is picking up the file name from DATAD$, which is supposed to be a directory and not a file. QDOS found that there was a file/directory there and you did say "yes", so it did what you told it to do.

Tim


User avatar
tofro
Font of All Knowledge
Posts: 3021
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: sQLux v1.1.1 (Deutshland Edition)

Post by tofro »

No, it is in fact a bug.

Trying to overwrite a directory with a plain file of the very same name should be rejected with an "in use" error (and all the QDOSSMSQ implementations I know do exactly that - Although there really isn't any specification of Level 2 drivers that I know of that would define this exact behavior).

I'm generally with you that the OS should let you do stupid things if you insist, but throwing away a complete subtree of the file system goes a bit too far :)
Last edited by tofro on Wed Mar 26, 2025 7:38 am, edited 1 time in total.


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
desin
Brittle Membrane
Posts: 114
Joined: Mon May 10, 2021 10:33 am

Re: sQLux v1.1.1 (Deutshland Edition)

Post by desin »

QPC2
MAKE_DIR win1_bas_
SAVE win1_bas_test_bas
SAVE win1_bas_test1_bas
DIR win1_bas_
win1_test_bas
win1_test1_bas


sqlux
UQLX 1.1.1.2
DATA_USE win1_bas_
DIR
win1_test_bas
win1_test1_bas
SAVE
win1_bas_ exists, OK to overwrite.. Y or N ? Y
bad parameter
DIR
xx/xxx/xxx/xx
xxx/xxx sectors
DATA_USE win1_
DIR
xx/xxx/xxx/xx
xxx/xxx sectors
bas ->
DIR win2_bas_
xx/xxx/xxx/xx
xxx/xxx sectors

the Subdirectory still exists; but the file names are gone
under SMSQE and Qemulator you get " in use "

can someone test this on hardware ?

hope it helps
Markus


Post Reply