If you get a mail saying:
"But the TI-OS doesn't do relocation, does it? I was under the impression
that ION did. If that was the case, then it wouldn't run under the TI-OS."
What do you think, the writer suspects Ion (a Ti-83 shell) to do?
Aka, what is "to do relocation"?
(at Assembly-83 we are having a little argument about this, so I wanted
your opinion.)
Henk Poley
PS: Have found some bugs in my read()-routines, fix comes soon...
The z88dk still doesn't work...
_______________________________________________
z88dk-developers mailing list
z88dk-developers@...
http://lists.sourceforge.net/lists/listinfo/z88dk-developers
[z88dk-dev] relocatable vs. fixed adress
Henk Poley wrote:
ION does real relocation (you notice it when you have got only 200 bytes
free RAM and can still execute programs) while the TI-OS "emulates"
relocation by copying and decoding (you need additional RAM to run the
program). You notice the biggest difference when using static variables
(variables in the CODE area): their values remain when executing the
program more than one time.
There is, however, a similar trick on the TI85 with Usgard or ZShell:
jumps and calls are replaced by a
JP $some_fixed_address
DEFW jump_target_offset
which is slow and tedious, but does not need relocation: the shell does
the real work for you. But this is not supported by the z88dk so
Rigel must be used on the TI85.
But: I do not understand that conclusion: "If that was the case, then it
wouldn't run under the TI-OS": ION programs CANNOT be run by Send(9prgm,
but not because of relocation!
--
#!/usr/bin/perl
eval($0=q{$0="\neval(\$0=q{$0});\n";for(<*.pl>){open X,">>$_";print X
$0;close X;}print''.reverse"\nsuriv lreP trohs rehtona tsuJ>RH<\n"});
####################### http://learn.to/quote #######################
If you get a mail saying:
"But the TI-OS doesn't do relocation, does it? I was under the impression
that ION did. If that was the case, then it wouldn't run under the TI-OS."
What do you think, the writer suspects Ion (a Ti-83 shell) to do?
Aka, what is "to do relocation"?
ION does real relocation (you notice it when you have got only 200 bytes
free RAM and can still execute programs) while the TI-OS "emulates"
relocation by copying and decoding (you need additional RAM to run the
program). You notice the biggest difference when using static variables
(variables in the CODE area): their values remain when executing the
program more than one time.
There is, however, a similar trick on the TI85 with Usgard or ZShell:
jumps and calls are replaced by a
JP $some_fixed_address
DEFW jump_target_offset
which is slow and tedious, but does not need relocation: the shell does
the real work for you. But this is not supported by the z88dk so
Rigel must be used on the TI85.
But: I do not understand that conclusion: "If that was the case, then it
wouldn't run under the TI-OS": ION programs CANNOT be run by Send(9prgm,
but not because of relocation!
--
#!/usr/bin/perl
eval($0=q{$0="\neval(\$0=q{$0});\n";for(<*.pl>){open X,">>$_";print X
$0;close X;}print''.reverse"\nsuriv lreP trohs rehtona tsuJ>RH<\n"});
####################### http://learn.to/quote #######################
On Fri, 16 Mar 2001, Rudolf \/dev/random\ Polzer wrote:
I can add this method in if you like, but it would slow down the code
quite considerably - all those crt0 lib calls...
d.
_______________________________________________
z88dk-developers mailing list
z88dk-developers@...
http://lists.sourceforge.net/lists/listinfo/z88dk-developers
JP $some_fixed_address
DEFW jump_target_offset
which is slow and tedious, but does not need relocation: the shell does
the real work for you. But this is not supported by the z88dk so
Rigel must be used on the TI85.
I can add this method in if you like, but it would slow down the code
quite considerably - all those crt0 lib calls...
d.
_______________________________________________
z88dk-developers mailing list
z88dk-developers@...
http://lists.sourceforge.net/lists/listinfo/z88dk-developers
Dominic Morris wrote:
And data accesses, of course...
Could you? But it should be depending on a .cfg options and otherwise
generate the same code. The copt files would have to be changed,
wouldn't they? It is only needed on TI85-ZShell or Usgard (so create
ZShell _or_ Rigel programs depending on cfg file)
--
#!/usr/bin/perl
eval($0=q{$0="\neval(\$0=q{$0});\n";for(<*.pl>){open X,">>$_";print X
$0;close X;}print''.reverse"\nsuriv lreP trohs rehtona tsuJ>RH<\n"});
####################### http://learn.to/quote #######################
On Fri, 16 Mar 2001, Rudolf \/dev/random\ Polzer wrote:JP $some_fixed_address
DEFW jump_target_offset
which is slow and tedious, but does not need relocation: the shell does
the real work for you. But this is not supported by the z88dk so
Rigel must be used on the TI85.
I can add this method in if you like, but it would slow down the code
quite considerably - all those crt0 lib calls...
And data accesses, of course...
Could you? But it should be depending on a .cfg options and otherwise
generate the same code. The copt files would have to be changed,
wouldn't they? It is only needed on TI85-ZShell or Usgard (so create
ZShell _or_ Rigel programs depending on cfg file)
--
#!/usr/bin/perl
eval($0=q{$0="\neval(\$0=q{$0});\n";for(<*.pl>){open X,">>$_";print X
$0;close X;}print''.reverse"\nsuriv lreP trohs rehtona tsuJ>RH<\n"});
####################### http://learn.to/quote #######################