[comp.sys.atari.st] To fix or not to fix.

bryan@ihnet.ATT.COM (b. k. delaney) (08/15/88)

There is a very simple solution to the problem of fixing things in
the ROMS that cause bad programs to break.

If you have a program that does not work with the old version of the OS
then boot from Floppy the old version of the OS and use your program!!

Remember the Original 520ST came with a floppy that booted in the OS

				Bryan DeLaney
				AT&T Bell Laboratories
				Naperville, IL

rich@lakesys.UUCP (Rich Dankert) (08/16/88)

In article <635@ihnet.ATT.COM> bryan@ihnet.ATT.COM (b. k. delaney) writes:
>
>There is a very simple solution to the problem of fixing things in
>the ROMS that cause bad programs to break.
>
>If you have a program that does not work with the old version of the OS
>then boot from Floppy the old version of the OS and use your program!!
>
>Remember the Original 520ST came with a floppy that booted in the OS

	One thing that one *must remember here though.

	Although one can boo ththe old rom from floppy, that does not 
	mean the program will work. I have the Blit roms installed in my 
	machine, and although say a program bombs with say 4 bombs, when 
	I boot the TOS on disk, and then run the program, I get 2 bombs, 
	er mushrooms... 

	One comes immediatley to mind, say ST Accounts.

	Also remember that many are self booting disks, and don't always 
	blow GEM\TOS out of the machine.


>
>				Bryan DeLaney
>				AT&T Bell Laboratories
>				Naperville, IL


	rich.....
	UUCP: {uwvax}!uwmcsd1!lakesys!rich


-- 
 Disclaimer: The words, expressions posted here are my own.....
 Nothing is ever so bad that it can't be made worse by trying to fix it 
						   -- Law of the Hacker

rosenkra@Alliant.COM (Bill Rosenkranz) (08/16/88)

---
In article <635@ihnet.ATT.COM> bryan@ihnet.ATT.COM (b. k. delaney) writes:
->There is a very simple solution to the problem of fixing things in
->the ROMS that cause bad programs to break.
->
->If you have a program that does not work with the old version of the OS
->then boot from Floppy the old version of the OS and use your program!!
->
->				Bryan DeLaney
->				AT&T Bell Laboratories
->				Naperville, IL

now why didn't our friends at atari think of that? all they would have to do
is provide a floppy boot disk with the new ROMs containing (say) the 11/20/85
OS or the mega os. they could even make another incremental profit by charging
(say) $10-15 for the floppy (if the person ordering wanted it). it shouldn't
take more than a man month to put the os on a bootable floppy and maybe
another man month to test. i suspect they really didn't fix anything or
they just don't have the marketing saavy :^).

good suggestion...hope atari is listening...

-bill

rosenkra@Alliant.COM (Bill Rosenkranz) (08/17/88)

---
In article <635@ihnet.ATT.COM> bryan@ihnet.ATT.COM (b. k. delaney) writes:
->There is a very simple solution to the problem of fixing things in
->the ROMS that cause bad programs to break.
->
->If you have a program that does not work with the old version of the OS
->then boot from Floppy the old version of the OS and use your program!!
->
->				Bryan DeLaney
->				AT&T Bell Laboratories
->				Naperville, IL

now why didn't our friends at atari think of that? all they would have to do
is provide a boot disk along with the new ROMs containing (say) the 11/20
OS or the mega os. they could even make another incremental profit by charging
(say) $10-15 for the floppy (if the person ordering wanted it). it shouldn't
take more than a man month to put the os on a bootable floppy and maybe
another man month to test. i suspect they really didn't fix anything or
they just don't have the marketing saavy :^).

good suggestion...hope atari is listening...

-bill

news@SJ.ATE.SLB.COM (USENET News System) (08/17/88)

In article <635@ihnet.ATT.COM> bryan@ihnet.ATT.COM (b. k. delaney) writes:
>
>There is a very simple solution to the problem of fixing things in
>the ROMS that cause bad programs to break.
>
>If you have a program that does not work with the old version of the OS
>then boot from Floppy the old version of the OS and use your program!!
>
>Remember the Original 520ST came with a floppy that booted in the OS
From: greg@bilbo (Greg Wageman)
Path: bilbo!greg

Yes, but not all of us have the OS on disc.  I know that I don't; my
1040ST came only with BASIC when bought about a year and a half ago.

But you're right; Atari could release the 'fixed' version in ROM for
new machines and retrofits, and provide the old version on a floppy
disk, so that users could boot the appropriate version for the software
they wish to use.  This is a pain, admittedly, but Macintosh users
seem to cope (there are some programs which run with only certain
versions of System/Finder).

The OS-on-disc eats into user memory too, don't forget.  But it seems
like a good way to get the fixes everyone wants into the ROMS without
undue hardship to the writers of "misbehaved" software.  They could
even supply the proper OS on their release discs, with Atari's
permission and cooperation, of course.

Are you listening, Mr. Good?

leo@philmds.UUCP (Leo de Wit) (08/19/88)

In article <635@ihnet.ATT.COM> bryan@ihnet.ATT.COM (b. k. delaney) writes:
>
>There is a very simple solution to the problem of fixing things in
>the ROMS that cause bad programs to break.
>
>If you have a program that does not work with the old version of the OS
>then boot from Floppy the old version of the OS and use your program!!

This will work ... a bit.
It's OK if your program takes a long time to run (read: it is worth the
effort to reboot).
It is a problem if you have an environment in which you want several
programs to run (and you can't afford to reboot each time) of which
some old ones are bad in the above sense and some new ones are broken
by the OLD TOS and/or GEM (remember it wasn't perfect, to use an
euphemism 8-).

>Remember the Original 520ST came with a floppy that booted in the OS

Sure I do. Some of the more annoying problems were
1) the buggy memory allocation: after having started a number of programs
from the desktop you couldn't open a floppy disk icon anymore. I think
the problem was in the desktop.
2) problems with eight character folder names. When I created a folder
whose name consisted of 8 characters all files put into the folder
magically vanished. Also floppies from a friend that had this type of
folder names couldn't be read (the folder seemed empty).

Maybe Atari should redistribute an improved O.S. (e.g. the one current
in the ROMs) on floppy together with the new ROMs. Or (alternative
solution) have code in the ROMs for both old and new programs
(triggered by the date of the program); the flag old prog/new prog
could be set by Pexec and put into the basepage, to be picked up by
GEMDOS calls.

                Leo.

hase@netmbx.UUCP (Hartmut Semken) (08/21/88)

In article <383@snjsn1.SJ.ATE.SLB.COM> greg%sentry@spar.slb.com (Greg Wageman) writes:
>In article <635@ihnet.ATT.COM> bryan@ihnet.ATT.COM (b. k. delaney) writes:
>>
>>There is a very simple solution to the problem of fixing things in
>>the ROMS that cause bad programs to break.
>>
>>If you have a program that does not work with the old version of the OS
>>then boot from Floppy the old version of the OS and use your program!!

Or just release the fix on disk: a little residend program replacing the
original (ROM-) trap handler.
This would be my way of releasing a fix; if it works and everybody likes
it, put it in a new ROM set.

Another solution would be a set of big ROMs containing both versions of
the system.
I put 6*27C512 in my 520ST+ to have the "old" and Blitter TOS availeble;
this is kind of expensive but useful...

hase
-- 
Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 hase@netmbx.UUCP
If there is something more important than my ego, I want it caught and shot,
NOW! (Zaphod Beeblebrox)

gert@nikhefh.hep.nl (Gert Poletiek) (08/22/88)

In article <1224@netmbx.UUCP> hase@netmbx.UUCP (Hartmut Semken) writes:
>
>Or just release the fix on disk: a little residend program replacing the
>original (ROM-) trap handler.
>This would be my way of releasing a fix; if it works and everybody likes
>it, put it in a new ROM set.
>
>Another solution would be a set of big ROMs containing both versions of
>the system.
>I put 6*27C512 in my 520ST+ to have the "old" and Blitter TOS availeble;
>this is kind of expensive but useful...
>
>hase
>-- 
>Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 hase@netmbx.UUCP
>If there is something more important than my ego, I want it caught and shot,
>NOW! (Zaphod Beeblebrox)

I wouldn't like that! Just imagine what happens when one happens to have
5 fixes on GemDos. 

	level 1

	trap handler
	if not pathed call
	  goto old trap
	else
	  do own stuff
	return
					   level 2, 3, 4, 5
					   same

This means that in order to get the 5th trap patch activated the system call
from a user program has to traverse FIVE trap handlers. This takes lots of
time.

Even with an efficient trap handler like the one in GemDos one does not want
to loose that processing time (grin)

Look at the way things are organized in the Macintosh OS. All system traps
are routed by a trap address table (just like in GemDos). The subtle
difference with GemDos is that the trap address table is located somewhere in
RAM, not ROM. (Well, it is copied from ROM to RAM at system boot time).

The Mac OS has two calls (GetTrapAddress and SetTrapAddress) which get and
set a trap vector in the traps table (resp).

Organized this way one does not loose a single clock cycle when a program
calls a OS service that happens to be patched.

Moreover, for Atari this method is very convenient to test and distribute
patches on a regular basis. (Oh well, 3 years is regular but I mean regular
with a slightly higher frequency).

Gert Poletiek

NIKHEF-H, Dutch National Institute for Nuclear and High Energy Physics
          Kruislaan 409, P.O.Box 41882, 1009 DB Amsterdam, The Netherlands
UUCP:     {decvax,cernvax,unido,seismo}!mcvax!nikhefh!gert
bitnet:   nikhefh!gert@mcvax.bitnet, U00025@hasara5.bitnet

From september 1st 1988:

Gert Poletiek  Dept. of Math. and Computing Science, University of Amsterdam,
               Kruislaan 409, NL-1098 SJ  Amsterdam, The Netherlands
UUCP:          {decvax,cernvax,unido,seismo}!mcvax!uva!gert
bitnet:        uva!gert@mcvax.bitnet, U00025@hasara5.bitnet

koreth@ssyx.ucsc.edu (Steven Grimm) (08/23/88)

In article <524@nikhefh.hep.nl> gert@nikhefh.hep.nl (Gert Poletiek) writes:
>Look at the way things are organized in the Macintosh OS. All system traps
>are routed by a trap address table (just like in GemDos). The subtle
>difference with GemDos is that the trap address table is located somewhere in
>RAM, not ROM. (Well, it is copied from ROM to RAM at system boot time).

The ST's trap vectors are in RAM, too.  In fact, I don't know of *ANY* 68xxx
box that doesn't have them in RAM.  Their locations are down in low memory
($60 or thereabouts, I don't remember exactly...)  You have to be in supervisor
mode to write to them, but they can certainly be changed.  I've done it lots
of times.

>The Mac OS has two calls (GetTrapAddress and SetTrapAddress) which get and
>set a trap vector in the traps table (resp).

Try looking up Setexc() in your XBIOS manual.

---
These are my opinions, and in no way reflect those of UCSC, which are wrong.
Steven Grimm		Moderator, comp.{sources,binaries}.atari.st
koreth@ssyx.ucsc.edu	uunet!ucbvax!ucscc!ssyx!koreth

gert@nikhefh.hep.nl (Gert Poletiek) (08/24/88)

In article <4582@saturn.ucsc.edu> koreth@ssyx.ucsc.edu (Steven Grimm) writes:
>In article <524@nikhefh.hep.nl> gert@nikhefh.hep.nl (Gert Poletiek) writes:
>>Look at the way things are organized in the Macintosh OS. All system traps
>>are routed by a trap address table (just like in GemDos). The subtle
>>difference with GemDos is that the trap address table is located somewhere in
>>RAM, not ROM. (Well, it is copied from ROM to RAM at system boot time).
>
>The ST's trap vectors are in RAM, too.  In fact, I don't know of *ANY* 68xxx
>box that doesn't have them in RAM.  Their locations are down in low memory
>($60 or thereabouts, I don't remember exactly...)  You have to be in supervisor
>mode to write to them, but they can certainly be changed.  I've done it lots
>of times.
>
>>The Mac OS has two calls (GetTrapAddress and SetTrapAddress) which get and
>>set a trap vector in the traps table (resp).
>
>Try looking up Setexc() in your XBIOS manual.
>
>---
>These are my opinions, and in no way reflect those of UCSC, which are wrong.
>Steven Grimm		Moderator, comp.{sources,binaries}.atari.st
>koreth@ssyx.ucsc.edu	uunet!ucbvax!ucscc!ssyx!koreth


OK, OK I did not make my point very clear. (And Yes, I do know 680X0 boxes
that have their trap handler addresses in a ROM).

What I meant is this: In the Macintosh OS calls are implemented by whole
lotta line A trap numbers. This takes one single word in a program in order
to call the OS. The trap word looks like 0xaXXX, where the XXX represent the
number of the system call actually requested by the caller.
It is this 12 bit number that is used as index into an array of pointers

THAT'S THE TRAP ROUTINE ADDRESS TABLE I MEANT IN THE ORIGINAL POSTING.

This array of pointers to OS routines is located in RAM on the Macintosh.
So what the OS routines GetTrapAddress and SetTrapAddress actually do is
returning (for Get) an entry from the array of function pointers or modifying
(for Set) one single entry in this array. 
FLAME ON
Of course I know the Setexc() call: but its essentially different from
Get/SetTrapAddress in the Mac!
FLAME OFF

The whole idea behind all this is that they (Apple) can now apply patches to
roms from the 'system' file. (I think it's the PTCH resources in it). They
don't have to order a whole new shipment of ROMS when a bug is discovered.
They can just replace the erroneous OS routine. 

If Atari would do things this way (and I doubt there is any look/feel
involved) you could easily work with different versions of Malloc() in the
same system.


Gert Poletiek

NIKHEF-H, Dutch National Institute for Nuclear and High Energy Physics
          Kruislaan 409, P.O.Box 41882, 1009 DB Amsterdam, The Netherlands
UUCP:     {decvax,cernvax,unido,seismo}!mcvax!nikhefh!gert
bitnet:   nikhefh!gert@mcvax.bitnet, U00025@hasara5.bitnet

From september 1st 1988:

Gert Poletiek  Dept. of Math. and Computing Science, University of Amsterdam,
               Kruislaan 409, NL-1098 SJ  Amsterdam, The Netherlands
UUCP:          {decvax,cernvax,unido,seismo}!mcvax!uva!gert
bitnet:        uva!gert@mcvax.bitnet, U00025@hasara5.bitnet

hase@netmbx.UUCP (Hartmut Semken) (08/25/88)

In article <524@nikhefh.hep.nl> gert@nikhefh.hep.nl (Gert Poletiek) writes:
>In article <1224@netmbx.UUCP> hase@netmbx.UUCP (Hartmut Semken) writes:
>>
>>Or just release the fix on disk: a little residend program replacing the
>>original (ROM-) trap handler.
>>This would be my way of releasing a fix; if it works and everybody likes
>>it, put it in a new ROM set.
>>I put 6*27C512 in my 520ST+ to have the "old" and Blitter TOS availeble;
>>this is kind of expensive but useful...
>>Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 hase@netmbx.UUCP
>>If there is something more important than my ego, I want it caught and shot,
>>NOW! (Zaphod Beeblebrox)
>
>I wouldn't like that! Just imagine what happens when one happens to have
>5 fixes on GemDos. 

Yea.
Thats the point.

Today, I have two sets of ROMs (MEGA and pre-Mega) switchble and one
"patch" loaded to RAM (Turbodos; I like it.)

The RAM loaded patches can only be an intermediate fix for a ROM based
system. But isn't it a great way to release a fix for field-testing?


The best fix seems to be a new operating system, right?
Let's complain a little more about the heap of shit the st seems to be!
Maybe the next company dropping the st is Atari....


No. I'm doing serious work with my st. 
I do dislike to loose some time writing my own little programs, because
the OS behaves a little "strange", but I (*I*) can live with it
(almost :-)


hase
-- 
Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 hase@netmbx.UUCP
If there is something more important than my ego, I want it caught and shot,
NOW! (Zaphod Beeblebrox)

wes@obie.UUCP (Barnacle Wes) (08/25/88)

In article <530@nikhefh.hep.nl>, gert@nikhefh.hep.nl (Gert Poletiek) writes:
> If Atari would do things this way (and I doubt there is any look/feel
> involved) you could easily work with different versions of Malloc() in the
> same system.

Gert, you have missed the point.  You can easily patch GEMDOS, BIOS, or
XBIOS functions on the ST - the new routine saves the original trap
address, installs itself as the trap handler.  Whenever it is called, it
checks to see if the function number is the one it handles, and if not,
passes the call off to the original vector.  This can be done via a
program in the \AUTO folder, even.

This is not quite as elegant as the Line A trap, but it does work, and
the Line A & F traps were designed for other reasons.  On the '020 and
'030, Line A opcodes are MMU ('851 for the '020, built-in on the '030)
instructions, and Line F opcodes are FPU ('881 or '882) instructions.

-- 
                     {hpda, uwmcsd1}!sp7040!obie!wes
           "Happiness lies in being priviledged to work hard for
           long hours in doing whatever you think is worth doing."
                         -- Robert A. Heinlein --

KEITH@SYSD.SALFORD.AC.UK (Keith Wolstenholme) (08/26/88)

Atari already went down this route once, when the XLs were introduced
they weren't 100% compatible with the older machines but they did have
RAM located "underneath" the OS ROMS. Various translator disks were
produced that turned off the OS in ROM and loaded the older OS into
RAM.

When the ST was introduced the OS was on disk but was moved to ROM to
save memory in the limited 512K available. With larger memories
perhaps its time for a move back to this system at least for
intermediate fixes/upgrades and to enable users to load older
ill-behaved software.

I, owning a MEGA ST2 with blitter, could use a disk based, pre-blitter
OS that would turn off the blitter and give the option of booting other
software before attempting to initialise the desktop.

Would the original OS do this ? If so how can I get hold of a copy ?
(I haven't seen it in any PD lists). Maybe only a small patch would
be needed ?

Releasing new upgrades/fixes this way would have benefits for Atari too.
They would have the best chance to sort out any bugs before taking the
expensive step of commiting yet another buggy OS to silicon !!



JANET  keith@uk.ac.salford.sysd
ARPA:  keith@sysd.salford.ac.uk
UUCP:  ..ukc!sysd.salford.ac.uk!keith
PHONE: +44 61 737 7010
POST:  3-S, Computer Centre, Salford University, Salford, M5 4WT, U.K.

rich@jolnet.ORPK.IL.US (Rich Andrews) (08/27/88)

In article <KW.D6XG.260888@SALF.D> KEITH@SYSD.SALFORD.AC.UK (Keith Wolstenholme) writes:
>
>Atari already went down this route once, when the XLs were introduced
>they weren't 100% compatible with the older machines but they did have
>RAM located "underneath" the OS ROMS. Various translator disks were
>produced that turned off the OS in ROM and loaded the older OS into
>RAM.
>

The XL operating systems WERE 100% (or nearly so) compatable with the old OS in the Atari
800/400's.  It was the illegal system calls written in by the "Software Engineers" at various
companies that caused all the grief.  And what about those cases where you absolutely
had to make an illegal system call?  There is a quasi-legal way to do it.  Check the
sources for the XEP-80.  If you need more info I can state case after case where the authors
of some well known pieces of software have made illegal calls to the OS.

rich andrews

-- 
Any opinions expressed are my own.  Now, for a limited time, they can be yours
too, for the incredible price of only $19.95.  Simply send $19.95 (in Alterian
dollars) to ...killer!jolnet!rich or rich@jolnet.orpk.il.us.

uace0@uhnix2.uh.edu (Michael B. Vederman) (08/27/88)

Perhaps the most confusing point about your posting is calling a LINE A
*exception* a *TRAP* call.  All 680x0 boxes have *TRAP* vectors staring at
HEX $50.  The ST actually uses LINE F for GEM calls, and LINE A for low
level screen BLT routines.

Of course, Motorola specificaaly reserved LINE F for math calls in the 68881
I believe.

But teh original intent of your message, in other words, document location and
a method for returning and changing these locations, would be a nice touch.
I believe tho, if you pass an illegal function number to one of the trap
handlers (1, 13, 14) you get a pointer to the function table in A0.  This is
not documented that I know of, and is more or less a side-effect of passing
an illegal function number.  Of course, it is trivial at this point to get
a pointer to the desired routine, but nothing is standardized then.

- mike

-- 
for (;;)                              : Use ATARINET, send an interactive
        do_it(c_programmers);         : message such as:
                                      : Tell UH-INFO at UHUPVM1 ATARINET HELP
University Atari Computer Enthusiasts : University of Houston UACE

leo@philmds.UUCP (Leo de Wit) (08/28/88)

In article <656@uhnix2.uh.edu> uace0@uhnix2.UUCP writes:
    [some lines deleted]...
>But teh original intent of your message, in other words, document location and
>a method for returning and changing these locations, would be a nice touch.

This is also simple to implement. Just keep the tables in RAM.

>I believe tho, if you pass an illegal function number to one of the trap
>handlers (1, 13, 14) you get a pointer to the function table in A0.  This is
>not documented that I know of, and is more or less a side-effect of passing
>an illegal function number.  Of course, it is trivial at this point to get
>a pointer to the desired routine, but nothing is standardized then.

If you use more than one patch, using the original vector in ROM will
fail (the first patch applied will never be executed).

The method I use is simple and 'patch-compatible': save the old vector
(of the trap) in your resident program. Anything that this program
shouldn't handle (most things) are vectored through the old vector.
This might be just a little bit slower (in the old code the function
number parameter gets checked again and so) but it allows for more than
one patch. It is also less likely to get into trouble with new ROM
releases - it's probably not even documented that there IS a function
table (although my ROM also passes your A0 test 8-).

                 Leo.

gert@nikhefh.hep.nl (Gert Poletiek) (08/29/88)

In article <169@obie.UUCP> wes@obie.UUCP (Barnacle Wes) writes:
>In article <530@nikhefh.hep.nl>, gert@nikhefh.hep.nl (Gert Poletiek) writes:
>> If Atari would do things this way (and I doubt there is any look/feel
>> involved) you could easily work with different versions of Malloc() in the
>> same system.
>
>Gert, you have missed the point.  You can easily patch GEMDOS, BIOS, or
>XBIOS functions on the ST - the new routine saves the original trap
>address, installs itself as the trap handler.  Whenever it is called, it
>checks to see if the function number is the one it handles, and if not,
>passes the call off to the original vector.  This can be done via a
>program in the \AUTO folder, even.
>
>This is not quite as elegant as the Line A trap, but it does work, and
>the Line A & F traps were designed for other reasons.  On the '020 and
>'030, Line A opcodes are MMU ('851 for the '020, built-in on the '030)
>instructions, and Line F opcodes are FPU ('881 or '882) instructions.
>
>-- 
>                     {hpda, uwmcsd1}!sp7040!obie!wes
>           "Happiness lies in being priviledged to work hard for
>           long hours in doing whatever you think is worth doing."
>                         -- Robert A. Heinlein --

NO NO NO NO NO NO, installing a trap handler is exactly what I DON'T want
to happen. I pointed out already several times that when one bug is fixed,
one extra traphandler is installed, when two bugs are fixed two extra trap
handlers are installed, and so forth. 

All these trap handlers checking for the correct system call number to fix
take TIME. Fixing things in a way a la the Mac does not take ANY extra time.

Bugs are generally not discovered all at the same time. So its reasonable to
assume that several fix files would be present. Installing these by taking
the original 68000 trap handler over just takes too much time while
performing lots of system calls.


Gert Poletiek

NIKHEF-H, Dutch National Institute for Nuclear and High Energy Physics
          Kruislaan 409, P.O.Box 41882, 1009 DB Amsterdam, The Netherlands
UUCP:     {decvax,cernvax,unido,seismo}!mcvax!nikhefh!gert
bitnet:   nikhefh!gert@mcvax.bitnet, U00025@hasara5.bitnet

From september 1st 1988:

Gert Poletiek  Dept. of Math. and Computing Science, University of Amsterdam,
               Kruislaan 409, NL-1098 SJ  Amsterdam, The Netherlands
UUCP:          {decvax,cernvax,unido,seismo}!mcvax!uva!gert
bitnet:        uva!gert@mcvax.bitnet, U00025@hasara5.bitnet

apratt@atari.UUCP (Allan Pratt) (08/30/88)

The other point that Gert and others miss when they talk about replacing
OS routines is the close coupling WITHIN THE OS between, say, Malloc and
the process handler.  You can't just rip out Malloc and change it
because other parts of the OS depend on it being exactly as it is.  That
doesn't mean the OS is a monolith; it's not (much).  But some crucial
data structures pervade the whole thing, and others are tightly coupled
among a few modules.  Somebody else asked this same question about
Pexec, and the answer is the same: it's tightly coupled with other parts
of the OS (not just Malloc). 

============================================
Opinions expressed above do not necessarily	-- Allan Pratt, Atari Corp.
reflect those of Atari Corp. or anyone else.	  ...ames!atari!apratt

chasm@killer.DALLAS.TX.US (Charles Marslett) (09/01/88)

In article <731@jolnet.ORPK.IL.US>, rich@jolnet.ORPK.IL.US (Rich Andrews) writes:
> In article <KW.D6XG.260888@SALF.D> KEITH@SYSD.SALFORD.AC.UK (Keith Wolstenholme) writes:
> >
> >Atari already went down this route once, when the XLs were introduced
> >they weren't 100% compatible with the older machines but they did have
> >RAM located "underneath" the OS ROMS. Various translator disks were
> >produced that turned off the OS in ROM and loaded the older OS into
> >RAM.

...

> The XL operating systems WERE 100% (or nearly so) compatable with the old OS in the Atari
> 800/400's.  It was the illegal system calls written in by the "Software Engineers" at various
> companies that caused all the grief.

> rich andrews

I had a bit of experience in that area (the Apex HP Calculator program
actual did a JSR into the middle of an instruction in the floating point
ROM -- and of course if you change the code to speed it up, that is one
of those things most programmers will overlook!).

But to get back on track, all the discussion so far on the problems Atari
is trying to face with this upgrade of TOS ROMs are in fact illegal system
calls (or accesses generally) and really should not have ever been released
by whomever wrote the code... They were though, so now we have to decide what
to do next --- live with a chunk of trash in the ROMs or throw it out (and with
it yesterday's funnies, since someone wrapped the catbox contents in them before
I read them !!!

I can live with either decision, but the stink lasts a lot longer than the
pain of lost gratification this month.

Charles Marslett
chasm@killer.dallas.tx.us