sQLux v1.0 (The Xmas Turkey)

Discussion and advice about emulating the QL on other machines.
User avatar
XorA
Site Admin
Posts: 1357
Joined: Thu Jun 02, 2011 11:31 am
Location: Shotts, North Lanarkshire, Scotland, UK

Re: sQLux v1.0 (The Xmas Turkey)

Post by XorA »

Ruptor wrote:
XorA wrote:Release v1.0.5 now contains the sound and joystick code from @Exile
Thanks for the update. I know OS like tyche bigger than the standard ROM that work in the real world don't in emulators but if say the top of the ROM that exceeds the 48K is chopped and put as
SYSROM = tyche48k.rom
ROMIM = tychetop16k.rom
would that work?
Still no, as I explained last time, because of the way uQLx/sQLux patches the rom it wont work with Tyche!


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

Re: sQLux v1.0 (The Xmas Turkey)

Post by Ruptor »

Derek_Stewart wrote:I tried a while back, but it did not run very well.
I used the attached files to answer the question will Tyche run if spread across the ROMs and ROM slot and the answer is no. :(
XorA wrote:Still no, as I explained last time, because of the way uQLx/sQLux patches the rom it wont work with Tyche!
I know Tyche wouldn't run as a 48K block but I thought the emulator would mimic the internal ROMs and external ROM cartridge. It just seems alien to me that the ROM areas would not be a contiguous block like in the real machine. :?
Update: Oh what a dipstick I chopped up the Tyche ROM wrong and did 0 to 7FFF instead of 0 to BFFF. :roll: Deleted the erroneous attachment.


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

Re: sQLux v1.0 (The Xmas Turkey)

Post by tofro »

Ruptor wrote:I know Tyche wouldn't run as a 48K block but I thought the emulator would mimic the internal ROMs and external ROM cartridge.
It actually does.
Ruptor wrote:It just seems alien to me that the ROM areas would not be a contiguous block like in the real machine.
They actually are.

sQLux mimics the original QL's memory map completely (but ignores its limitations - i.e. there can be memory outside the original adress range)

Why Tyche won't run has an entirely different reason: In order to work properly and bail out of the 68000 emulation into native code (mainly for doing I/O), sQLux/uqlx patches the ROM in certain places. And it simply doesn't know where those "certain places" are in the Tyche ROM.


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
Ruptor
Gold Card
Posts: 418
Joined: Fri Dec 20, 2019 2:23 pm
Location: London

Re: sQLux v1.0 (The Xmas Turkey)

Post by Ruptor »

tofro wrote:Why Tyche won't run has an entirely different reason: In order to work properly and bail out of the 68000 emulation into native code (mainly for doing I/O), sQLux/uqlx patches the ROM in certain places. And it simply doesn't know where those "certain places" are in the Tyche ROM.
OK thanks, I almost understand that explanation so Minerva, JS & JM have identical code positions but Tyche doesn't.


Silvester
Gold Card
Posts: 436
Joined: Thu Dec 12, 2013 10:14 am
Location: UK

Re: sQLux v1.0 (The Xmas Turkey)

Post by Silvester »

Ruptor wrote:
tofro wrote:Why Tyche won't run has an entirely different reason: In order to work properly and bail out of the 68000 emulation into native code (mainly for doing I/O), sQLux/uqlx patches the ROM in certain places. And it simply doesn't know where those "certain places" are in the Tyche ROM.
OK thanks, I almost understand that explanation so Minerva, JS & JM have identical code positions but Tyche doesn't.
I had a play with Tyche on real QL http://www.dilwyn.me.uk/qlrom/tycheasm.zip quite similar to JS http://www.dilwyn.me.uk/docs/disassem/jsromasm.zip

If you know what has to be patched perhaps you may be able to provide Tyche patch points for sQLux (from comparing two files above). Though IMHO its probably not worth the effort.


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

Re: sQLux v1.0 (The Xmas Turkey)

Post by Ruptor »

XorA wrote:Still no, as I explained last time, because of the way uQLx/sQLux patches the rom it wont work with Tyche!
I didn't mean to kick off a discussion of using Tyche it was just an example to see if the emulator could run anything in the 64K ROM space. An emulator to me is a block that runs what code it is given and dumps the result back in memory just like a plug in hardware one. Tyche like any other code has to write to the display or read the keyboard at the same locations because they are fixed by the QL hardware so any code that runs on the real hardware should do the same on an emulator shouldn't it?
Has anyone tried running the Pro Pascal with the dongle on the emulator?


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

Re: sQLux v1.0 (The Xmas Turkey)

Post by XorA »

I didn't mean to kick off a discussion of using Tyche it was just an example to see if the emulator could run anything in the 64K ROM space. An emulator to me is a block that runs what code it is given and dumps the result back in memory just like a plug in hardware one. Tyche like any other code has to write to the display or read the keyboard at the same locations because they are fixed by the QL hardware so any code that runs on the real hardware should do the same on an emulator shouldn't it?
uqlx/sqlux dont work like that though. The screen does change locations in memory, it does not emulate any keyboard handling hardware. So your premise is wrong.


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

Re: sQLux v1.0 (The Xmas Turkey)

Post by Ruptor »

XorA wrote:uqlx/sqlux dont work like that though. The screen does change locations in memory, it does not emulate any keyboard handling hardware. So your premise is wrong.
Is there a bug in the emulator because it looks like if the system ROM image is 48K it doesn't work? I noticed this because trying out Tyche I wrongly split the image as system ROM= 32k & Cartridge ROM= 32k which ran a bit and gave a screen with Green blocks across the bottom but splitting to the correct sizes of 48k and 16k the emulator didn't load. I attach the files for your convenience if you want to test.
Attachments
TycheTest.zip
(93.84 KiB) Downloaded 49 times


User avatar
Peter
QL Wafer Drive
Posts: 1949
Joined: Sat Jan 22, 2011 8:47 am

Re: sQLux v1.0 (The Xmas Turkey)

Post by Peter »

Ruptor wrote:Is there a bug in the emulator because it looks like if the system ROM image is 48K it doesn't work?
Are you aware that uQLx / sQLux are not exactly QL hardware emulators, but make assumptions about the OS?
One can not just take any ROM that runs in a QL and expect it will be emulated correctly.
I have written non-QDOS/Minerva ROMs for the QL myself and always had to resort to Qemulator, which is closer to the actual hardware.


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

Re: sQLux v1.0 (The Xmas Turkey)

Post by Ruptor »

Peter wrote:Are you aware that uQLx / sQLux are not exactly QL hardware emulators, but make assumptions about the OS?
Yes I have figured out that so called emulators only emulate what they think is necessary partly because not enough information is available but a top level 48K OS and 16K ROM slot that is well documented is fundamental isn't it? I am not expecting perfect chip level emulation at signal level like this guy is trying to implement where Motorola hides the microcode,
https://gendev.spritesmind.net/forum/vi ... 00d63fc988
just QL emulation so software that runs on a QL works. I am not complaining because it is free and we have a close emulator, thank you, it just amazes me this is a fault. I tried looking at the code to see if I could fix it but it is too complicated for me. :(


Post Reply