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.JezC wrote: Sun Dec 19, 2021 3:07 pm think this work on the original versions is a very worthwhile project too.
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 :)
It helps build a picture where our "good traffic" is coming from..
Thanks :)
TOS 1.4 disassembly project
- thorsten.otto
- Posts: 148
- Joined: Mon Nov 04, 2019 2:20 am
Re: TOS 1.4 disassembly project
- thorsten.otto
- Posts: 148
- Joined: Mon Nov 04, 2019 2:20 am
Re: TOS 1.4 disassembly project
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
@stephen_usher i've send you an invite on github, but no answer yet. I hope stephen-usher was the right username there
- stephen_usher
- Site sponsor

- Posts: 7464
- Joined: Mon Nov 13, 2017 7:19 pm
- Location: Oxford, UK.
- Contact:
Re: TOS 1.4 disassembly project
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.
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.
Re: TOS 1.4 disassembly project
This is amazing - thank you! Don't worry about the interest - it's high - but the old Atari scene isn't synchronousthorsten.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.
/Troed
- thorsten.otto
- Posts: 148
- Joined: Mon Nov 04, 2019 2:20 am
Re: TOS 1.4 disassembly project
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
PS.: the repo is now publicitly visible, under https://github.com/th-otto/tos1x
Re: TOS 1.4 disassembly project
This is great news!

Re: TOS 1.4 disassembly project
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?
- thorsten.otto
- Posts: 148
- Joined: Mon Nov 04, 2019 2:20 am
Re: TOS 1.4 disassembly project
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.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.
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)Is there much difference between 1.04 and 1.62?
- stephen_usher
- Site sponsor

- Posts: 7464
- Joined: Mon Nov 13, 2017 7:19 pm
- Location: Oxford, UK.
- Contact:
Re: TOS 1.4 disassembly project
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.
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.
Re: TOS 1.4 disassembly project
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
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
