[A82] Re: TI82 ROM Version 19.006


[Prev][Next][Index][Thread]

[A82] Re: TI82 ROM Version 19.006




> Difficult... I know that Ti82 asm programs are started via some BASIC
> program, but I suspected that TIOS would be in much the same state when
> running such a BASIC-prog...

Well, I do not know that much about the TI83, but AFAIK the state of the
TI83 when one uses a BASIC program to start an assembly program using the
buildin command is different from the state of the TI82 when a shell is
started. It could however be interesting to compare what the TI83 shell does
with what has been tried on the TI82, and see what the difference is.

> I don't know if it is on the Ti82 like on the Ti83; when an error occures
> in a ROMcall (like in an FP functions etc.) the TIOS 'drops-back' to the
> prompt. At least on the Ti it will crash if the program was an Ion program
> (at least I haven't had one occurence where it didn't got into an APD-loop
> or something)
> because of the 'crappy' program relocation.

With the last beta of Ash 3.1 I included some programs which used the FP
functions, and one of them also included a custom error handler. The fact is
that handling errors in assembly programs is very easy, so if a program
calls a function which could cause an error it should install an error
handler first. Currently no shells installs an error handler, but that would
probably be a good idea, and it would mean that you would get the same
advantages with a "regular" shell.

>
> If you update the the pointers then it won't crash on 'drop-back'...
>

That was why people started looking into VAT compatible relocation.

>
> So on ROM 19.006 you would need a 'call-translator', instead of a little
> routine that will add the offset to your adress? That will be huge...
>

What has been done on other calculators is to have a couple of tables which
includes the addresses for the different ROM calls. When a ROM call is
performed the program passes and index to the shell which, based on the ROM
version, is used to find the correct address. On the TI82 a shell could
combine the current method with two tables of ROM calls, to support all the
current ROM versions as well as the new ROM version.

>
> Okay, so programs made for previous Ti82s are not compatible with the
> new(est) version, so you really needed to re-assemble the progs, with new
> includes (need to be made), to make them work?
>

Yep, replcae the addresses in the .h file, and recompile the program.

Dines




References: