Re: A86: Asm-86 12k cap


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

Re: A86: Asm-86 12k cap






Matt2000 wrote:

> >Can a RAM page be put out port 5?  I know that a ROM page can be put out
> port 6.
> >
>
> According to Alan Bailey 86ports.txt, you can.
>
> Port 5 - Page change at $4000 - $7FFF
> Port 6 - Page change at $8000 - $BFFF
>
> And you can load ram pages in both!
>
> It the ram pages are the same, then $4000 would also be mapped as $8000 and
> if you modified $4000, it would modify $8000 (which are the same web page
> anyway)
>
> But who cares about that. You could have linear memory basically, with Page
> 1 at $4000 and have 12k to play with and another page at $8000. What other
> page of memory do we have to play with? Ram Page 2? You would have to have
> another program written asm full of junk taking up around 16K (if thats
> legal, it wont be going into ram Page 0 though, so why not?). Then you would
> have to copy 16K from Ram Page 2, use _FINDSYM and bunch of abs addresses to
> temporarily store it in the asm file, and then the ram would be free (I
> guess?) and just copy that 16K from the asm program that was took off of Ram
> Page 2 and put it back... If you starting $8000 though you are already
> killing the floating point stack, I dont see why temporarily moving the
> operator stack would hurt anything. Unless one of the interrupt programs use
> the operator stack.. Disable interrupts!

You won't know if your 16k asm program starts at the beginning of a page and
ends on that page (very, very unlikely) or even what page it starts on.
What I suggest is that RAM page one is put out port 5 and page seven is put out
port 6 (if there's enough memory ... a simple _memchk call).  Then, if you have
a little free RAM on your calc (I myself have never used more than half), you
have an increased limit of 28k on 85 programs.


References: