[A86] Re: assembly, programing and games


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

[A86] Re: assembly, programing and games




> The compiler only works with Rigel, because of the relocation-table needed
> by the other shells, this is a bit difficult to do with a compiler, the
> compiler also supports many other platforms so we need compatibility...

Nah.  Everyone should be using Rigel anyway :)  IMHO, all the other shells
use really poor methods for relocation.  When I ported Joltima to the 85,
why do you think I used Rigel, instead of say Usgard?

> Is there any difference if we use Rigel? So is the program also loaded on
> the last page (C000-FFFF)??? On the Ti-83 when, some shells don't update
> the VAT-pointers when it relocates the program to 'exec_ram'. Anything
like
> this with Rigel?

I didn't see anything in the docs about how Rigel actually relocates things.
You could email the author (if he's still around), or take a look at memory
with VTI while a program is running (shouldn't be too hard to tell).  Or
another alternative is to use ZShell and write your own relocation routine
for programs.  This is probably a bad idea, since it will make programs
larger, but since they're written in C, the bloat probably wouldn't be
noticed much anyway :)  See Matthew Shepcar's Vertigo game for an example on
this.

> What happens if I delete a program/file? Or if I append to a program/file
> (make it larger...)? Will Rigel still copy the program-data back into the
> right variable, even if the variable has moved in memory? (Ion on the
Ti-83
> doesn't lookup the variable again, it just *hopes* it's at the same spot,
> and if it isn't...)

Your best bet here is to take a look at the dissassembly for Rigel's
relocation code.  Set some breakpoints in VTI and see what it's doing.






References: