Can all registered uses please login, even just for a few minutes..
It helps build a picture where our "good traffic" is coming from..
Thanks :)

TOS 1.4 disassembly project

General Discussion, STOS.
User avatar
thorsten.otto
Posts: 148
Joined: Mon Nov 04, 2019 2:20 am

Re: TOS 1.4 disassembly project

Post by thorsten.otto »

JezC wrote: Sun Dec 19, 2021 3:07 pm 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.
User avatar
thorsten.otto
Posts: 148
Joined: Mon Nov 04, 2019 2:20 am

Re: TOS 1.4 disassembly project

Post 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 ;)
User avatar
stephen_usher
Site sponsor
Site sponsor
Posts: 7464
Joined: Mon Nov 13, 2017 7:19 pm
Location: Oxford, UK.
Contact:

Re: TOS 1.4 disassembly project

Post by stephen_usher »

Morning, yeah, I've not had a chance to action it yet. :-)
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
troed
Posts: 936
Joined: Mon Aug 21, 2017 10:27 pm

Re: TOS 1.4 disassembly project

Post by troed »

thorsten.otto wrote: Tue Dec 21, 2021 9:48 am 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
User avatar
thorsten.otto
Posts: 148
Joined: Mon Nov 04, 2019 2:20 am

Re: TOS 1.4 disassembly project

Post 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
User avatar
exxos
Site Admin
Site Admin
Posts: 28671
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: TOS 1.4 disassembly project

Post by exxos »

This is great news! :dualthumbup: :yay2: :cheers:
miggymog
Posts: 13
Joined: Sun Sep 09, 2018 6:37 pm

Re: TOS 1.4 disassembly project

Post 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?
User avatar
thorsten.otto
Posts: 148
Joined: Mon Nov 04, 2019 2:20 am

Re: TOS 1.4 disassembly project

Post by thorsten.otto »

miggymog wrote: Tue Dec 21, 2021 6:22 pm 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)
User avatar
stephen_usher
Site sponsor
Site sponsor
Posts: 7464
Joined: Mon Nov 13, 2017 7:19 pm
Location: Oxford, UK.
Contact:

Re: TOS 1.4 disassembly project

Post 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.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
User avatar
Badwolf
Site sponsor
Site sponsor
Posts: 3060
Joined: Tue Nov 19, 2019 12:09 pm

Re: TOS 1.4 disassembly project

Post 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
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
Post Reply

Return to “SOFTWARE”