sQLux v1.1.1 (Deutshland Edition)

Discussion and advice about emulating the QL on other machines.
User avatar
desin
Brittle Membrane
Posts: 115
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: 3023
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: 115
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


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

Re: sQLux v1.1.1 (Deutshland Edition)

Post by tofro »

The exact behavior is not so much a QDOS/SMSQ or even BASIC thing, but rather depends on the device driver implementation of the specific device. If you want testing, it needs to be tested with floppies, microdrives,....


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

Re: sQLux v1.1.1 (Deutshland Edition)

Post by desin »

IMHO
the missing level 2 file system is the cause

a test with the rd211 ramdisk from the *****/gold card
which has level 2 support leaves the files intact

Greetings from Switzerland
Markus


Post Reply