[A82] Re: TI82 ROM Version 19.006
[Prev][Next][Index][Thread]
[A82] Re: TI82 ROM Version 19.006
>
> What kind of problems? VAT being messed up, etc?
>
Some how the relocation did not take all the TIOS pointers into accoutn
which caused some crashes once in a while.
> Are there big differences between the Ti82's and the Ti83's filesystem? If
> these aren't there, than it's more a way of finding the adress equivalents
> on the Ti82, and things will work (hopefully).
The "filesystem" is pretty much the same, and the functions needed are
known. The problem is the way the assembly language programs are started.
One the Ti83 the TIOS is starting the asm program, and it performs some
clean up before it does that (AFAIK). On the TI82 the OS is interruped while
executing an ordinary assembly program, which means that the state of the
TI82 when the shell is started is not as well defined.
> Nice, that is the advantage of Venus, the shell is very small and
> everything get's a whole lot more transparent, always nice for the
> people-who-don't-know-what-a-shell-is...
When it was tried on the TI82, most people seemed to prefer using the shell
and not start the programs from the menu. On the TI85, people prefered
Usgard over ZShell even though it was bigger. So it not al size, it is also
the features which the shell has. Including common functions in the shell
does make it bigger, but it makes the programs smaller, so it saves space
anyway.
> And the pro for the programmer is the bigger crash-resistance (if things
> will work on the Ti82), plus you could use the same header for the Ti82
and
Why would it be more crash resistant?
> As I understand the Ti82 shells ASH and CrASH, have some built-in
> pointers/jumptable which will point the call to the right location for the
> different ROM versions. This is indeed not needed on the Ti83, but...
Venus
> has external libraries (in a better/other way then SOS), also just called
> 'externals'. You could could use these libs to straighten up some things,
> but okay, it won't be compatible to (Cr)ASH.
The RAM adresses are different in the different ROM versions, so the shells
include a function which will add a constant offset to the address called.
This means that most of the ROM calls that is needed in ordinary programs
can be used with out problems. In the new ROm version, a lot of stuff has
been moved, so know one would need the adresses for all ROM versions, for
all the supported calls (or one would need to versions of the shell and the
programs).
> BTW: We don't NEED to break with call compatiblity, it's just an option
> which uses less memory...
If you want to support the new ROM version, the way ROM calls are made has
to be changed, and all programs would have to be changed.
Dines
References: