Page 4 of 5

Re: Tridim - the 3D modelling program

Posted: Thu Feb 22, 2018 11:04 am
by tofro
Turbo is probably very close to SupecrCharge when it is creating threaded code, which is more a list of to-be-called subroutines than machine code - Turbo has the additional option to optimize for speed ("FAST") which is in the manuals described as "assembles 680008 machine code"), and I would guess if you use that you'd be ending up with a fundamentally different program than what SuperCharge used to produce.

Tobias

Re: Tridim - the 3D modelling program

Posted: Thu Feb 22, 2018 12:24 pm
by RWAP
Derek_Stewart wrote:Hi Martin,

I have compared a Supercharge and Turbo compiled programme, the SuperBasic commands look to appear at the same point. There maybe be some sort of common data structure between the two. Since Turbo is supposed to be an enhanced Supercharge Compiler.

I was reading the Turbo manuals when I was in disposed, I will resume this and get a better insight into the way Turbo is structured.

I do not have any Supercharge manuals except for the Updates in the DP Collection, do you have the Surpercharge that I could scan?
In the longer term it would make sense to get Simon Goodwin involved in this :)

I should have a Supercharge manual somewhere - although not sure how easy it will be to scan in as it will be on DP's classic coloured paper!

Re: Tridim - the 3D modelling program

Posted: Thu Feb 22, 2018 5:38 pm
by pjw
Simon Goodwin wrote a detailed thesis on SuperCharge. IIRC, SC was his BSc project. I had a copy once but I cant find it anywhere just now. However, the Turbo source code is available. Wouldnt that be a good place to start?

Re: Tridim - the 3D modelling program

Posted: Thu Feb 22, 2018 5:50 pm
by Derek_Stewart
RWAP wrote: I should have a Supercharge manual somewhere - although not sure how easy it will be to scan in as it will be on DP's classic coloured paper!
Hi Rich,

The coloured paper is no problem in modern scanning software. The colour can be contrasted out with the software controls.

If you want send it to me I can scan easily.

Re: Tridim - the 3D modelling program

Posted: Thu Feb 22, 2018 6:01 pm
by Derek_Stewart
pjw wrote:Simon Goodwin wrote a detailed thesis on SuperCharge. IIRC, SC was his BSc project. I had a copy once but I cant find it anywhere just now. However, the Turbo source code is available. Wouldnt that be a good place to start?
Hi Per,

Simon's Thesis is included in the Turbo Manuals.

I was trying disassemble the Turbo compiled code to produce the intermediate code. Then work the Intermediate code to S*Basic output.

Re: Tridim - the 3D modelling program

Posted: Thu Feb 22, 2018 8:02 pm
by pjw
Hi Derek,

I understand your intention. All I meant was that to unpick something, the code describing how it was put together would be a useful key. After all its not like unscrambling eggs, where knowing how the egg was scrambled wont help very much ;)
For my part, I much rather like to see how Q-Liberator does its stuff. Not to unravel the old program, but to update QLib at last! But thats a different topic..

Re: Tridim - the 3D modelling program

Posted: Fri Feb 23, 2018 11:15 am
by Martin_Head
Derek_Stewart wrote:I have compared a Supercharge and Turbo compiled programme, the SuperBasic commands look to appear at the same point. There maybe be some sort of common data structure between the two. Since Turbo is supposed to be an enhanced Supercharge Compiler.
From my investigations, The list of SuperBASIC commands at the end of the program are not complete. They help a lot as they get called like a SuperBASIC extension would normally with a name table entry set up. The commands that are missing are things like FOR, IF, PRINT, INPUT ,PEEK, POKE, REPeat etc. (REPeat loops end up as GOTO's).

In front of the SuperBASIC commands is the 'coded' version of the SuperBASIC program, In front of that is the routines that the 'coded' version of the SuperBASIC programs calls. And in front of that is the code that actually runs everything.

I know I've put it in reverse order, but you get the idea.

Martin

Re: Tridim - the 3D modelling program

Posted: Fri Feb 23, 2018 1:56 pm
by Martin_Head
Here is a copy of my disassembly of Tridim that you could use to compare with Turbo files. It shows where I have identified various bits, and hand decompiled various parts of the coded version of the SuperBASIC program. Some of the comments I have made may be incorrect, as well as some of my hand decompiling. So I have also included a copy of the raw output of the decompiler program, so you can compare it with what's in the disassembly.

Martin

Re: Tridim - the 3D modelling program

Posted: Sat Feb 24, 2018 12:19 pm
by bixio60
Martin_Head wrote:Here is a copy of my disassembly of Tridim that you could use to compare with Turbo files. It shows where I have identified various bits, and hand decompiled various parts of the coded version of the SuperBASIC program. Some of the comments I have made may be incorrect, as well as some of my hand decompiling. So I have also included a copy of the raw output of the decompiler program, so you can compare it with what's in the disassembly.

Martin
Martin , this is absolutely brilliant, I thought decompiling Super/Turbo program was basically impossible and you did it in one way or the other.
I am also (sometime) spend sometime with older program to de-assembler to make them working with modern SMSQ/E (I did some work with different CPM emulator :D ) but only in case the original code was assembler .

Can I ask you to have your disassembler to see how it works? Even if incomplete or need manual intervention could be source of inspiration, or even, by any chance, you wrote any documentation of how you did it.

Last but not least, let me take this opportunity to thank you for IpNet driver, I am using regurarly in my personal lan to connect to my home main file server (even from remote using VPN) :D

Regards

Fabrizio

Re: Tridim - the 3D modelling program

Posted: Mon Feb 26, 2018 10:24 am
by Martin_Head
bixio60 wrote:Can I ask you to have your disassembler to see how it works? Even if incomplete or need manual intervention could be source of inspiration, or even, by any chance, you wrote any documentation of how you did it.

Last but not least, let me take this opportunity to thank you for IpNet driver, I am using regurarly in my personal lan to connect to my home main file server (even from remote using VPN) :D

Regards

Fabrizio
I don't really want to post the decompiler here, because as it stands it can only deal with Tridim, and the documentation is almost nil. If you PM me an email address I will email you a copy.

Martin