8BitChip Forum

Atari => Software => Topic started by: Petari on 05-12-2018, 13:25:12

Title: How to combine GEMDOS and AES/Desktop parts from different TOS versions
Post by: Petari on 05-12-2018, 13:25:12
Some people surely know about it - I did it some 8-10 years ago, and called it TOS 1.26 (were same talk that it's not good numbering, but here point is on something other).
Why I come with this now ? Because Thorsten Otto accused me at German Atari forum that I used his TOS 2.06 sources for it.
So, I need to proof that it's incorrect, and he performed in fact criminal act - because false accuses are crime, and in Hungary for instance sentence can be even prison.

So, I will now give guide how to make combo of TOS 1.04 and 2.06 . Everyone can test it, and see that it is possible without any sources of TOS 2.06 and even sources of 1.04 .

I made quick mod of my RAMTOS.PRG for this purpose. Get at:  http://atari.8bitchip.info/T14RLE0.ZIP (http://atari.8bitchip.info/T14RLE0.ZIP)
Just run TOS exec after depacking all files in same DIR. Source (rushed mod for purpose) is included. Will get TOS 1.04 IMG file, what runs not at usual $FC0000 but at $E00000 - can check in Steem. Min 1MB RAM. Now I gotta go to real life ....

So, to run TOS 1.04 at different address than original, relocation is enough. However, because TOS coders from some reason did not made it simple - like complete GEMDOS part in 1 section, then AES, Desktop and end - they split GEMDOS part in 2 section, between them is begin of AES. That makes combining with 2.06 little harder, because GEMDOS part can not fit before AES (what starts at higher loc in 2.06m but not enough high for whole GEMDOS.) .  So, we need to reassemble TOS 1.04, only GEMDOS part, so that second section go to address where second section of TOS 2.06 starts. Btw. in that section is, right at start AES start address. And after it font definitions and like.

Here is ASM listing for those who can follow it. There are some useful comments in:  http://atari.8bitchip.info/T126M2.ZIP (http://atari.8bitchip.info/T126M2.ZIP)
It's from year 2009. It is ready to combine with totally not modded AES/Desktop part of 2.06, so no need for any sources of it.

Guide how to do combining with HxD hex editor.

First you need to assemble supplied source file T126M2.S with Devpac3 . Optimizations all off.
Note easier way, relocating is not good enough, because mentioned splitting of GEMDOS part in 2 section ... will see what I talking about lower.

Will get file T126M2.TOS (need to enter that filename in Control menu). Must get exact length of 93084 bytes. For those for who assembling is problem here is it:  http://atari.8bitchip.info/T126M2B.ZIP (http://atari.8bitchip.info/T126M2B.ZIP)
Now start HxD and open T126M2.TOS in one window, and TOS206UK.IMG in other (262144 bytes) - where to get it ? Use google ...
Filename may differ, of course.
Cut of first $1C bytes at start of 126's Window ... - I will use shortenings, and hex number format in further text.
That's TOS header, and we don't need it.
Start Search, Hex values, enter 87654321 to search . Fourth hit, at address $13D44 is what we looking for. Select backwards at it until beginning (where must be value $602E, length of selection must be $13D44 - Ctrl. + C (copy) . Now go in second window, where 2.06 is loaded, and paste (without insert) from start (0) , same length . With it, first section of GEMDOS is copied.
Next step is copy of second section, to address (relative) $32572 - that will replace TOS206 GEMDOS second section.
So select in window of 126 section from pos $13D44 until end. Length must be $2E3C. Copy it to pos $32572 of TOS206 window.
Maintaining same length of date in (so must select that len $2E3C starting at $32572, and then press Ctrl. + V (paste) .
With that 2 steps we mixed TOS 1.04 and 2.06 without need to change binary code of 2.06 at all.

Save it with name T126UK.IMG - length must be 262144 .  And you can try it in Steem . Will see 2.06 Desktop, but it may run some games which fail in original TOS206 - because GEMDOS part is as in 1.04 , so more compatible.