Turbo compiled Apps in ROM...

Anything QL Software or Programming Related.
martyn_hill
QL Wafer Drive
Posts: 1048
Joined: Sat Oct 25, 2014 9:53 am

Re: Turbo compiled Apps in ROM...

Post by martyn_hill »

Ah, yes, Ralf - I have that RPM toolkit and will try that as well as manual inspection...


User avatar
RalfR
QL Wafer Drive
Posts: 1141
Joined: Fri Jun 15, 2018 8:58 pm

Re: Turbo compiled Apps in ROM...

Post by RalfR »

Attention, do not confuse Liberation's "RPM" with Jochen's "Thing and EPROM Manager"!


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

Re: Turbo compiled Apps in ROM...

Post by tofro »

martyn_hill wrote: Thu Feb 13, 2025 12:25 pm

I'll dig a bit deeper to see exactly what Turbo'd apps do that currently renders them non-rentrant today... Might be a dead-end, but worth a look...
Well you could always load a Turbo-compiled job twice (once with FET and once with LBYTES) and compare. Then activate the job loaded with FET and let it finish - then compare again to the LBYTESed area. This should give you the differences.

I do understand that a TURBOed job that has ">64k" set in its compile options would need to be relocated - It's clear it has to fiddle with its code area in this case. But I basically see no need to modify its own code areas when it's compiled with the "<64k" option which should in principle result in a PC-relative program.


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
martyn_hill
QL Wafer Drive
Posts: 1048
Joined: Sat Oct 25, 2014 9:53 am

Re: Turbo compiled Apps in ROM...

Post by martyn_hill »

RalfR wrote: Thu Feb 13, 2025 1:13 pm Attention, do not confuse Liberation's "RPM" with Jochen's "Thing and EPROM Manager"!
Good call, Ralf - it is the "Thing and EPROM Manger" I was also meaning to refer to...


Martin_Head
Aurora
Posts: 939
Joined: Tue Dec 17, 2013 1:17 pm

Re: Turbo compiled Apps in ROM...

Post by Martin_Head »

I've been having a quick look at my Turbo decompiler notes. And it looks like the compiled program writes to its own program area. Which means that it looks like it can't be placed in a ROM.

It stores some WHEN_ERROR addresses near the start of the job, and it also looks like something to with channels (maybe channel definition blocks) are also in the program area. Also the pointers for DATA lines. See the attached notes.

Also if you look at a disassembly of a Turbo'ed program, there are some big gaps, which suggest that something will get written there.
Attachments
TurboNote.pdf
(58.12 KiB) Downloaded 16 times


martyn_hill
QL Wafer Drive
Posts: 1048
Joined: Sat Oct 25, 2014 9:53 am

Re: Turbo compiled Apps in ROM...

Post by martyn_hill »

Thank you Martin!

So, WHEN ERROR, DATA and Channel-blocks (so far). These may be too tedious to unravel...


Martin_Head
Aurora
Posts: 939
Joined: Tue Dec 17, 2013 1:17 pm

Re: Turbo compiled Apps in ROM...

Post by Martin_Head »

I don't know if looking at the Turbo sources would help to identify what may get stored in the program area during run time.

I've never really got around to looking at how Turbo itself works, as I have only really been interested in the de-compiling side.


User avatar
pjw
QL Wafer Drive
Posts: 1588
Joined: Fri Jul 11, 2014 8:44 am
Location: Norway
Contact:

Re: Turbo compiled Apps in ROM...

Post by pjw »

I dont know if its any help, but there are a few technical documents on SuperCharge and Turbo in existence. In an email to me by Simon Goodwin (SNG) writes:
There was a project report describing the thing that came
before Supercharge (which generated macros for Metacomco's
assembler). I attach the raw text, hope it helps. This was
included in the Turbo documentation Tim Swenson edited
from my large collection of development files. I also
attach one about the intermediate code and an example of
the output - including the macro form used by the original
compiler - from an article I wrote in QL World about ten
years ago, and which gave a good overview of the
architecture and main datastructures.
I still have these documents if you are interested. Im sure SNG wouldnt mind if I passed them on to someone for a good cause, though I wouldnt make them generally available without his permission. Tim might have more, and a better idea of what might be useful for this endeavour..


Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
User avatar
tofro
Font of All Knowledge
Posts: 3007
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Turbo compiled Apps in ROM...

Post by tofro »

pjw wrote: Sat Feb 15, 2025 11:39 am I still have these documents if you are interested. Im sure SNG wouldnt mind if I passed them on to someone for a good cause, though I wouldnt make them generally available without his permission. Tim might have more, and a better idea of what might be useful for this endeavour..
I guess the file you are referring to is contained in the Turbo Manuals package from the late George Gwilt in https://github.com/SinclairQL/GeorgeGwi ... rbom16.zip , called "TurboRep.txt"


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
pjw
QL Wafer Drive
Posts: 1588
Joined: Fri Jul 11, 2014 8:44 am
Location: Norway
Contact:

Re: Turbo compiled Apps in ROM...

Post by pjw »

tofro wrote: Sat Feb 15, 2025 11:46 am <>
I guess the file you are referring to is contained in the Turbo Manuals package from the late George Gwilt in https://github.com/SinclairQL/GeorgeGwi ... rbom16.zip , called "TurboRep.txt"
Thats the one. It looks like trbom16 contains the complete collection. Its pretty esoteric stuff, but could be useful for research purposes. Ideally, they shouldnt be hidden away in obscure repositories..


Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
Post Reply