Re: A86: Re: Porting Question


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

Re: A86: Re: Porting Question




Ok, I think I got it...so (RAM) page 0 is basically system memory and asm 
exec memory.  page 1 is completely free (but whats the deal with the FPS 
stack and ops?).  pages 2-7 is just storage.  Is that right?
so assuming my string is store on one of pages 2-7...how do I copy from one 
swapping page to another?  and how do I compile as a string?
thanks,

~Adamman

In a message dated 2/17/2000 11:47:02 PM Eastern Standard Time, david@acz.org 
writes:

> 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.


Follow-Ups: