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: