Page 2 of 3

Re: TOS 1.4 disassembly project

Posted: 19 Dec 2021 16:53
by thorsten.otto
JezC wrote: 19 Dec 2021 15:07 think this work on the original versions is a very worthwhile project too.
It's a bit harder to read than the EmuTOS or the original DRI sources, because Alcyon does not understand prototypes, but i wanted to be able to compile them also by eg. GNU-C, just to take advantage of the better warnings, so definitions of functions look a bit ugly. There are also some ifdefs left over from the other source archive which are not relevant for TOS 1.x, but most of them are stripped because otherwise it would be unreadable.

Re: TOS 1.4 disassembly project

Posted: 21 Dec 2021 09:48
by thorsten.otto
Sources are complete now. Have to do a bit of cleanup, and add some readme, but other than that i consider it finished. Maybe it can be extended to also compile 1.06/1.62, but have to check how large the differences are (you will find most ROM addresses of 1.06 already in comments in the sources)

@stephen_usher i've send you an invite on github, but no answer yet. I hope stephen-usher was the right username there ;)

Re: TOS 1.4 disassembly project

Posted: 21 Dec 2021 10:54
by stephen_usher
Morning, yeah, I've not had a chance to action it yet. :-)

Re: TOS 1.4 disassembly project

Posted: 21 Dec 2021 13:35
by troed
thorsten.otto wrote: 21 Dec 2021 09:48 Sources are complete now. Have to do a bit of cleanup, and add some readme, but other than that i consider it finished.
This is amazing - thank you! Don't worry about the interest - it's high - but the old Atari scene isn't synchronous ;) I predict this will be very very worthwhile for the ST remake & Shifter replacement projects, being able to make some very targeted changes to 1.04 and 2.06 codebases.

/Troed

Re: TOS 1.4 disassembly project

Posted: 21 Dec 2021 16:09
by thorsten.otto
The VDI code was actually mostly present in the 2.06 sources (conditionally compiled by some ifdefs). The only real difference is the handling of resolutions in v_opnwk. Its just that there were lots of small differences which don't affect functionality (like word branches vs short branches), which was the main reason why i did not finish it when working on TOS 2.06, and which is also the reason why i started a new repo for this, because handling that all in the same source base would be very difficult and make the code unreadable. But the blitter code for example is almost unchanged.

PS.: the repo is now publicitly visible, under https://github.com/th-otto/tos1x

Re: TOS 1.4 disassembly project

Posted: 21 Dec 2021 16:43
by exxos
This is great news! :dualthumbup: :yay2: :cheers:

Re: TOS 1.4 disassembly project

Posted: 21 Dec 2021 18:22
by miggymog
Amazing work, it would be good to see a structure chart (call graph?!) of how it all hangs together. Is there much difference between 1.04 and 1.62?

Re: TOS 1.4 disassembly project

Posted: 21 Dec 2021 18:47
by thorsten.otto
miggymog wrote: 21 Dec 2021 18:22 Amazing work, it would be good to see a structure chart (call graph?!) of how it all hangs together.
Maybe that can now be generated by creating a symbol map, and feeding that into Hatari. However it would be a bit difficult to read, due to the 8 character limit of symbols of the DRI format that is used.
Is there much difference between 1.04 and 1.62?
I don't know yet. One major difference is of course that the hack of using linef opcodes for function calls is not longer needed (1.06 already got rid of these, because the ROM is 256k). I think the desktop will also be a bit different again. However i was a bit surprised that it already has support to read the hardware clock of a MSTE type hardware clock, which is only found in later models (AFAIK 1.04 was only shipped with ST, but not with STE)

Re: TOS 1.4 disassembly project

Posted: 21 Dec 2021 21:18
by stephen_usher
I would have thought that the main change between 1.04 and 1.6x would be the support for the STE hardware, such as microwire sound system, new joystick ports and enhanced shifter. However, I could see them adding support for future hardware which was in development too.

Re: TOS 1.4 disassembly project

Posted: 21 Dec 2021 22:19
by Badwolf
:thanksyellow: :dualthumbup:

Whilst I have no direct use for this myself, I'm inordinately pleased this has been done.

This is a brilliant bit of software archeology which, I'm sure will be of great help to many projects.

Bravo, Thorsten.

BW