TOS 1.4 disassembly project

General Discussion, STOS.

Moderator: 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 »

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
Posts: 5578
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
Moderator
Moderator
Posts: 908
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: 23490
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:
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
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
Posts: 5578
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
Posts: 2230
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
DSTB1 Open source 16Mhz 68k and AltRAM accelerator for the ST
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
Post Reply

Return to “SOFTWARE”