[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: