Native QL?

Discussion and advice about emulating the QL on other machines.
User avatar
Ruptor
Gold Card
Posts: 418
Joined: Fri Dec 20, 2019 2:23 pm
Location: London

Native QL?

Post 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.


User avatar
Pr0f
QL Wafer Drive
Posts: 1298
Joined: Thu Oct 12, 2017 9:54 am

Re: Native QL?

Post 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.


Derek_Stewart
Font of All Knowledge
Posts: 3929
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Native QL?

Post 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


Regards,

Derek
stephen_usher
Gold Card
Posts: 429
Joined: Tue Mar 11, 2014 8:00 pm
Location: Oxford, UK.
Contact:

Re: Native QL?

Post 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.


User avatar
dilwyn
Mr QL
Posts: 2753
Joined: Wed Dec 01, 2010 10:39 pm

Re: Native QL?

Post 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?


User avatar
M68008
Trump Card
Posts: 223
Joined: Sat Jan 29, 2011 1:55 am
Contact:

Re: Native QL?

Post 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.


User avatar
Ruptor
Gold Card
Posts: 418
Joined: Fri Dec 20, 2019 2:23 pm
Location: London

Re: Native QL?

Post 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?


User avatar
M68008
Trump Card
Posts: 223
Joined: Sat Jan 29, 2011 1:55 am
Contact:

Re: Native QL?

Post 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.


Derek_Stewart
Font of All Knowledge
Posts: 3929
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Native QL?

Post 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?


Regards,

Derek
User avatar
Ruptor
Gold Card
Posts: 418
Joined: Fri Dec 20, 2019 2:23 pm
Location: London

Re: Native QL?

Post 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. :)


Post Reply