TOS after 32 years - what could be done better ?

News,announcements,programming,fixes,game patches & discussions.

Moderator: Petari

User avatar
arf
Posts: 57
Joined: Sun Oct 29, 2017 9:30 am

Re: TOS after 32 years - what could be done better ?

Post by arf » Wed Dec 20, 2017 9:19 am

Petari wrote:
Wed Dec 20, 2017 6:41 am
I just don't like that general "great job" opinion. I like to go in details. This thread is not about being constructive, but about being realistic toward our beloved, and yet flawed machine(s).
Okay, now you lost me again. You want to go into details, not being constructive but realistic. So what is the goal of the discussion? Have a base upon which "someone" can start reprogramming a modern yet compatible TOS?
Petari wrote:
Wed Dec 20, 2017 6:41 am
Here is that EmuTOS incompat. list: https://github.com/emutos/emutos/blob/m ... atible.txt
And right the 5-6 entries is about programs assuming things that are not documented. Perhaps we just want two different things - I’d like to have a more modern, less buggy TOS, that is API-compatible so that it can run the majority of GEM software. It seems to me that you’d prefer a 100% compatible TOS, where undocumented memory locations stay at the same place as before. To me, that’s not that relevant, because games don’t use the OS anyway, so why would I put a modern replacement "under" them? Games would not benefit from it.
Petari wrote:
Wed Dec 20, 2017 6:41 am
Namely, they, OS, C programmers always act as some superior ones toward game programmers for instance. That's just wrong - game programming at top level is extremely hard, demanding. ST coders needed years to achieve some level of it.
Now this turns towards having more like a "who does the real stuff" thing. I met excellent people doing GEM apps in C, Modula-2 or Pascal (hey Thomas, Christian, Sven, Wilfried, Alex, Thomas, Christian, Alvar, …), and excellent people coding demos in TurboAss (greetings to TSCC!). So I’d like to stay out of that treacherous water of "these guys are always like …", sorry.
Petari wrote:
Wed Dec 20, 2017 6:41 am
Additionally, thanx to poor docs for Atari ST, game programmers needed to discover many things self, which should be in docs.
Agreed. I would like to extend that to "all programmers on the Atari TOS platform". Ataris docs were incomplete and buggy. Many people tried to fix that, be it some engaged employees at Atari, or 3rd party programmers like Julian F. Reschke, Dave Small, Claus Brod, Uwe Seimet, Eric Böhnisch, Geiß & Geiß and so on. That’s a huge disadvantage over "more complete" systems like the Apple Macintosh, but it has been also a huge potential to drive things forward. Many protocols, improvements, implementations and conventions that the Atari TOS platform lacked were (successfully) defined by 3rd parties - XHDI, XBRA, MiNT, MagiC, NVDI, OLGA, GemScript, WINX … The impact 3rd parties had on the OS-level is much richer on the Atari platform, than it was for e.g. MS Win or Apple Mac OS.
Petari wrote:
Wed Dec 20, 2017 6:41 am
I have Atari ST ProfiBuch since 1987, and I still see errors there - yesterday found that ICONBLK structure description has error. Somehow, I think that it is not ProfiBuch error, they just copied there Atari, DRI doc content.
Well, the Profibuch of 1987 is outdated since 1992 or so, when the updated Profibuch has been released. And there has been errata to that release. I agree, when I’ve been doing some programming, that the multitude of locations for documentation and appropriate programming style has been headache-inducing sometimes. I changed the way my application enters the supervisor mode at least 4 times, because of new conventions or better behaviour with multitasking OSses like MagiC, Geneva, MiNT+N.AES … for such a simple thing of "give me the cookie jar, please". There should’ve been an OS function for that …

Code: Select all

/* get pointer to Cookie Jar */
	LONG *cookiejar = (LONG *) Setexc(0x5A0/4, (void (*)())-1);
*shudder*
--
Against signature spam!

Petari
Posts: 452
Joined: Tue Nov 28, 2017 1:32 pm

Re: TOS after 32 years - what could be done better ?

Post by Petari » Wed Dec 20, 2017 10:04 am

I already said what is the point. Basically just talking about. If that's not OK for you, you know what to do ... :D
There is lot of Atari people convinced how TOS is something superior, how DRI was robbed by Bill Gates and other conspiracy theories. I don't think so.
I remember some reviews in magazines, of 520ST with TOS on floppy: very bad reviews. Basic was demolished, with reason. So much RAM, and almost nothing for user's SW. Who to blame ? I think that you know after reading those Landon memories. DRI RSC editor was not much better.
And I don't think that there is need for some new TOS release. We have diverse TOS patches, KAOS TOS, etc.

I don't want to use undocumented locations - that was bad practice, mostly used by input read in games. I made universal STOS fix, what uses not address tables, like others, but right way to read input via TOS functions. Now I'm pretty sure that poor docs are main culprit. Those 9 vectors for input 'intercept' and functions related with it are just not documented enough in detail. And of course, In Profibuch 1987 are some errors .
I don't know how many later releases were done of that book, I have PDF of one from 1992. Some errors are fixed, some sections were complete removed - as ACSI port programming (which had maybe only 1 error) .

And usual error: "guys are always like" - when I said 'always' ? There are some patterns in human behavior, and I see them. That means not that it is always, or even in most cases so. Actually, I don't like C at all. That forcing of structured code, local variables often makes code slower than some 'dirty way' . And on oldies that matters. C source looks ugly on screen, it's hard to follow all those "cat nail scratch" characters (as we here call them) .
So, I would add (and would be nice to stay at topic): It could be done in pure ASM instead 80% in C :D
Yeah - space was tight, they needed to use tricks as Line-F emulator (only in 2.06 is removed) .
There is 2 kind of people: one thinking about moving to Mars after here becomes too bad, the others thinking about how to keep this planet habitable.

User avatar
arf
Posts: 57
Joined: Sun Oct 29, 2017 9:30 am

Re: TOS after 32 years - what could be done better ?

Post by arf » Wed Dec 20, 2017 10:24 am

Petari wrote:
Wed Dec 20, 2017 10:04 am
And usual error: "guys are always like" - when I said 'always' ? There are some patterns in human behavior, and I see them.
Just in the previous post:
Petari wrote: Namely, they, OS, C programmers always act as some superior ones toward game programmers for instance.
(highlighting by me)

Perhaps a misunderstanding, English isn’t my native language (but that should’ve been obvious by now :)

So, now AFK, some christmas shopping, including the "Apple IIe VGA scaler" card for myself, as no-one in my family will think of that for me :lol:
--
Against signature spam!

Petari
Posts: 452
Joined: Tue Nov 28, 2017 1:32 pm

Re: TOS after 32 years - what could be done better ?

Post by Petari » Wed Dec 20, 2017 10:59 am

My bad. Will edit it.
There is 2 kind of people: one thinking about moving to Mars after here becomes too bad, the others thinking about how to keep this planet habitable.

BlankVector
Posts: 20
Joined: Fri Sep 15, 2017 10:51 pm

Re: TOS after 32 years - what could be done better ?

Post by BlankVector » Wed Dec 20, 2017 8:02 pm

Petari wrote:
Wed Dec 20, 2017 5:14 am
[about EmuTOS] For instance built in hard disk driver system is not compatible with some SW
Which software?
Petari wrote:
Wed Dec 20, 2017 5:14 am
They even blame coders of famous Spectrum 512
Yes. This is indeed well described in the link you posted (see at bottom). No one could argue that such behaviour is clean programming, in respect of the OS API. By design, Spectrum 512 developers chose to rely on very specific TOS internals. So their users need to use appropriate TOS, that's all.

Back to the topic:
Petari wrote:
Mon Dec 18, 2017 2:54 pm
1: Better documentation for programmers
1) IMHO this is the most important.
Especially, for each API (trap, callbacks), specify precisely:
- where input parameters are expected (usually well specified)
- where output is expected (usually well specified)
- which registers are allowed to be clobbered, which means modified by implementation, leaving random private data on exit. (very badly specified)
This leaded to confusion, bad practices and incompatibilities.

2) Another unfortunate choice has been to pass trap parameters on the stack. Because since 68010, the exception stack frame format has changed. All old code intercepting traps and looking at stack parameters does not work anymore on such processors, unless they are aware of such difference (with the help of the _longframe $59e variable). And the situation degraded again on ColdFire, where the exception stack frame changed completely again.

3) Other shame about TOS is the lack of API for STe features:
- Blitter (except transparent VDI acceleration)
- STe shifter improvements
- STe joysticks
- STe DMA sound
If some software wants to use that features, it has to bang the hardware. So it will be incompatible with any other hardware, unless it provides perfect hardware compatibility at register level. What a pity.

4) Add an Fsclose() system call, to clean resources that may have been allocated by Fsfirst() and Fsnext()

...

Petari
Posts: 452
Joined: Tue Nov 28, 2017 1:32 pm

Re: TOS after 32 years - what could be done better ?

Post by Petari » Wed Dec 20, 2017 8:15 pm

I will start new thread about EmuTOS incompatibility with some SW couple days later.
There is 2 kind of people: one thinking about moving to Mars after here becomes too bad, the others thinking about how to keep this planet habitable.

Petari
Posts: 452
Joined: Tue Nov 28, 2017 1:32 pm

Re: TOS after 32 years - what could be done better ?

Post by Petari » Thu Dec 21, 2017 11:27 am

For me, this whole TOS quality issue is very interesting. Recent demo is related with all my thoughts in last weeks. I see some things now better. Concrete, why some errors happened. ST was very good and balanced HW design, from genius who created most sold home computer - C64. That was good base for GUI general purpose machine. Was 'team', who created TOS on same level as HW designers ? I doubt it seriously. I did put team in quotes because there was actually no team ... As we know, SW takes usually more time and effort than HW. Maybe Tramiel was not aware of it -in case of C64 it was certainly not the case. So many interesting questions ....
There is 2 kind of people: one thinking about moving to Mars after here becomes too bad, the others thinking about how to keep this planet habitable.

User avatar
exxos
Site Admin
Posts: 2886
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: TOS after 32 years - what could be done better ?

Post by exxos » Thu Dec 21, 2017 11:31 am

I wonder if any of the DRI team are about still, who are they ? Maybe we could ask them some things.. at least what it was like back when they were creating the OS..
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

User avatar
arf
Posts: 57
Joined: Sun Oct 29, 2017 9:30 am

Re: TOS after 32 years - what could be done better ?

Post by arf » Thu Dec 21, 2017 2:30 pm

exxos wrote:
Thu Dec 21, 2017 11:31 am
I wonder if any of the DRI team are about still, who are they ? Maybe we could ask them some things.. at least what it was like back when they were creating the OS..
I posted the link to Landon’s web site. He’s been part of the team for TOS.
--
Against signature spam!

User avatar
exxos
Site Admin
Posts: 2886
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: TOS after 32 years - what could be done better ?

Post by exxos » Thu Dec 21, 2017 2:35 pm

arf wrote:
Thu Dec 21, 2017 2:30 pm
exxos wrote:
Thu Dec 21, 2017 11:31 am
I wonder if any of the DRI team are about still, who are they ? Maybe we could ask them some things.. at least what it was like back when they were creating the OS..
I posted the link to Landon’s web site. He’s been part of the team for TOS.
Okay thanks, I did talk to him about something a few months ago in fact...

I have not fully read all the posts yet, as I am really busy and have a lot of catching up to do yet...
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

Post Reply