home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.atari.st
- Path: sparky!uunet!pipex!warwick!dcs.warwick.ac.uk!leo
- From: leo@dcs.warwick.ac.uk (Leo Hendry)
- Subject: Re: New TOS versions?
- Message-ID: <1992Nov20.160320.11380@dcs.warwick.ac.uk>
- Sender: news@dcs.warwick.ac.uk (Network News)
- Nntp-Posting-Host: stone
- Organization: Department of Computer Science, Warwick University, England
- References: <1992Nov17.122627.16049@crc.ac.uk> <1992Nov19.024438.22369@microsoft.com>
- Date: Fri, 20 Nov 1992 16:03:20 GMT
- Lines: 47
-
- In article <1992Nov19.024438.22369@microsoft.com> darekm@microsoft.com (Darek Mihocka) writes:
- :
- :
- >So in my opinion, trying to rewrite all of TOS in assembler would be
- >a bigger waste of time than simply having Atari recompile TOS using an
- >optimizing 68000 compiler instead of relying on a 1985 compiler. Sure,
- >the hand coded assembly language version might be a little smaller and
- >a little faster, but you'd be surprised at what a good C compiler could do.
-
- I agree entirely - I have looked at the VDI/AES code too and it is
- absolutely dire and hasn't changed in later versions of TOS. This lead me to
- the conclusion that Atari must have lost the entire GEM source code at some
- time - this would explain why they haven't recompiled it and why they have had
- such difficultly making modifications to it (And when they do, more bugs creep
- in). However, the source to the example CPX that Atari provide compiles to
- literally half the size using Lattice C5 compared to their precompiled
- version. What is more their code is totally non-ANSI (no prototypes etc.)
- which seems to indicate they are still using the same old compiler.
- Another possiblity is that Atari are unable to recompile the GEM parts of
- the operating system due to legal problems - I remember a few years back that
- Apple or Microsoft (or somebody, although not Xerox!) took action that
- meant Atari could not update to the latest PC version of GEM in their
- machines.
- Back to what you said about algorithms - why is there an incredible pause
- after the desktop reads a directory from the disk and before it starts drawing
- the icons? What is it doing? I can only assume it is doing something like a
- bubble sort on the filenames, except instead of juggling pointers copying the
- filenames backwards and forwards. Does anybody know?
- I didn't know the story behind the inclusion of Line-F system before - I
- always thought it seem an extreamly slow way of doing things.
- Interestingly some of the line A functions are actually very well written
- - I tried to write a fast resolution dependant line drawing routine in
- assembler once, using the best algorithms I could find in books and in the end
- used line A because it was so very nearly as fast.
-
- Conclusion:
- Rewrite the VDI and AES in C then compile it with a good compiler this
- should give a 40% speed up at the very least (switching on all optimisations
- on Lattice C gave literally a 50% improvement in a Dhrystone bench mark, and
- the code with all optimisations off looks alot better than that in TOS). You
- can then always hand assembly code time critical sections. The entire code
- should take up less than 100K of RAM (remember it's just the GEM parts you're
- rewriting).
- Then sell the source to Derek for recompilation to 386 code for his
- Gemulator which would then be usably fast on a sub #1000 PC (if not too fast).
-
- - Leo
-