Page 1 of 2

Native QL?

Posted: Wed Oct 07, 2020 1:45 pm
by Ruptor
Does a native QL operating system exist? I probably use the wrong description but what I mean is are any of the existing emulators running the QL operating system written as code compiled for the target processor rather than emulating a 68000 on another processor if that makes sense. I see some of you have mentioned code translators that I guess would be needed for assembler based code to convert it. I wonder how fast the code would go and I would like to see that on an RPi.

Re: Native QL?

Posted: Wed Oct 07, 2020 3:16 pm
by Pr0f
I think the answer to that is no - the QL OS is written in 68000 Assembler and hand tuned and further tuned for performance and brevity of code - it's amazing to see what can be put in 48K!

So whatever the emulators do - they have to 'interpret' the OS code and emulate the devices that would be attached to a QL.

Re: Native QL?

Posted: Wed Oct 07, 2020 4:35 pm
by Derek_Stewart
Hi,

I think what the answer this question, convert Minerva or SMSQ/E from 68000 assembly language to RISC assembly code.

This should be easy, as both operating systems are documented and open source.

I do not know if there is any good assemblers on the Raspberry Pi in Linux or RiscOS.

/Dream Mode Off

I must of dreamt all this, I doubt anyone would want do this from the RPI world.

Use an emulator like UQLX or Sqlux

Re: Native QL?

Posted: Wed Oct 07, 2020 7:15 pm
by stephen_usher
You could potentially create a "just-in-time" compiler which interprets the 68000 op codes and translates them into the native processor instructions and replaces calls the hardware or ROM with function calls. Similar to the way Java VMs speed up bytecode.

This would generally be for allowing individual programs to run on the host system rather than the OS though. Having said that, the OS is merely a program which runs other programs.

Re: Native QL?

Posted: Wed Oct 07, 2020 7:46 pm
by dilwyn
Do QL emulators running on 68000 systems count, e.g. the Amiga QL emulators (QDOS4Amiga and QDOS Classic)? And possibly QLem for Atari ST?

Re: Native QL?

Posted: Wed Oct 07, 2020 7:51 pm
by M68008
stephen_usher wrote:You could potentially create a "just-in-time" compiler which interprets the 68000 op codes and translates them into the native processor instructions and replaces calls the hardware or ROM with function calls. Similar to the way Java VMs speed up bytecode.
I had an experimental version of Q-emuLator that translated 68000 code to x86 "just in time". I think it was 4 times faster than the interpreter, but less compatible (for example a number of QL programs use self-modifying code, which is an issue with this approach). In theory it could go much faster with more work and by further reducing compatibility.

Re: Native QL?

Posted: Wed Oct 07, 2020 11:14 pm
by Ruptor
M68008 wrote:(for example a number of QL programs use self-modifying code, which is an issue with this approach)
Talk about bad programming practice. :shock: Do those programs start taking over and talking amongst themselves? :lol: Do you mean the software modifies its own instructions or its data?
Would it really be difficult to write the QL OS in a high level language so it could be booted instead of Linux or Windows on modern hardware?

Re: Native QL?

Posted: Thu Oct 08, 2020 7:24 am
by M68008
Ruptor wrote:Do you mean the software modifies its own instructions or its data?
Instructions.

Ruptor wrote:Would it really be difficult to write the QL OS in a high level language so it could be booted instead of Linux or Windows on modern hardware?
Yes, a fair amount of work, and the apps would still be limited by QDOS and unable to use all the hardware capabilities.

Re: Native QL?

Posted: Thu Oct 08, 2020 8:53 am
by Derek_Stewart
Hi,

Java runs on the R-PI, so SMSQmulator will run, C compiled UQLX, sQLux will run OK.

It is reported that Wine runs on certain R-PI desktop packages, so maybe QPC2 would run.

But a RISC based QL system to run 68000 programmes would require many man hours of work and probably the take up of sucha system would not justify the work involved.

I doubt other R-PI owners would use this type of system, as there are some old applications, but nothing new, rather like the situation of SMSQ/E on Atari computers, which made them very usable but no applications software.

So lets suppose a RISC based M68K system was available, call it RISK_QDOS, with access to to all the Raspberry Pi hardware: HDMI video, Sound, Network, GPIO.

What use would the system be put to use, when other existing systems like Q68, QL-SGC Minerva I2C, QPC2 with PC I/O, could be used or enhanced to use?

Re: Native QL?

Posted: Thu Oct 08, 2020 10:46 am
by Ruptor
Derek_Stewart wrote:What use would the system be put to use, when other existing systems like Q68, QL-SGC Minerva I2C, QPC2 with PC I/O, could be used or enhanced to use?
I think the same about all the different emulators what is the point when one is enough. For me a native QL OS would show that GHz & Gbytes are not required and highlight the ridiculous path software engineering has taken. The QL does most stuff with 48K and Windows did everything with 10Meg so I dream of an old OS on a modern CPU. :)