A86: Re: Porting Question


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

A86: Re: Porting Question




Programs are copied to _asm_exec_ram ($d748) when they are executed.  You
have from there until $ffff for whatever you want.  Just remember that the
stack starts at $fc00 (down), as does video memory.

All of ram page 1 is free.  When your program starts, that page is swapped
into $8000.  That gives you 16k to work with.  It is best to avoid the two
edges, say start at $8100, as it might screw up some shells, but I've used
from $8000 all the way to $bfff and not had problems.

The easiest way to overcome this is to compile your program as a string,
with the .org as say $8100, and create a loader program that copies the
string to ram page 1 and jumps to it.

> I have some questions regarding the memory of the TI-86.  I have never
> programmed for the 86, but I'm in the process of porting a program of mine
> (which I made for the 82) to the 86.
> First and foremost, why is the start address for assembly programs so
high?
> Is all the memory before it used by the system?  This is the cause of all
my
> problems...My program is >12K and not only would it overwrite the stack
and
> VAT, but the addresses overflow and so it will not even compile correctly.
> Second, how can I overcome this?  I'm sure a lot of you have had this
problem.




References: