This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's z80 & ez80 Assembly subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Z80 & 68k Assembly => z80 & ez80 Assembly
Author Message
allemensen


Newbie


Joined: 21 Jul 2009
Posts: 20

Posted: 22 Jul 2009 11:01:22 am    Post subject:

How many ram pages does the TI-84+ have? And how can they be swapped to either 8000-B999 or C000-FFFF?
I need this for a custom equation parser (not based on the actual result, but on what they evaluate)

Or does some other way exist to gain lots of memory, which will remain usable even while doing other stuff (GetKey, menus)?

Thanks in advance
Back to top
simplethinker
snjwffl


Active Member


Joined: 25 Jul 2006
Posts: 700

Posted: 22 Jul 2009 11:30:34 am    Post subject:

Here's a list of RAM pages (though I'm not sure if there are more for the 84+). As for ports:

Port 04 determines the memory map mode. The default is Mode 0 (and to my knowledge you'll want to stay in Mode 0, but I don't have extensive knowledge on the subject).
Port 05 determines which RAM page is mapped to C000h-FFFFh.
Port 06 determines which RAM/flash page is mapped to 4000h-7FFFh.
Port 07 determines the RAM/flash page mapped to 8000h-BFFFh.
Back to top
allemensen


Newbie


Joined: 21 Jul 2009
Posts: 20

Posted: 23 Jul 2009 06:19:15 am    Post subject:

It worked! After some testing in the emulator I deemed it ready and it ran without a hitch on my calculator.
Back to top
FloppusMaximus


Advanced Member


Joined: 22 Aug 2008
Posts: 472

Posted: 23 Jul 2009 05:19:55 pm    Post subject:

If you're changing the values in ports 5 or 7, be careful. First of all, remember that your stack is usually in the C000-FFFF range, so after remapping that range, you won't be able to 'pop' or 'ret'. (You can alleviate this problem using port 27.)

Secondly, keep in mind that almost every part of the OS expects pages 80 and 81 to be mapped. This includes the system interrupt service routine, so you must always disable interrupts before changing the mapping. You can't perform application B_CALLs or B_JUMPs, and you can only use the very simplest of system B_CALLs.
Back to top
allemensen


Newbie


Joined: 21 Jul 2009
Posts: 20

Posted: 23 Jul 2009 06:31:05 pm    Post subject:

Don't worry, I know. I only remap $8000-$B999. I copy stuff to it using the stack, 16 bytes at a time, which works (I did a byte-by-byte compare afterwards)
Back to top
Igrek


Member


Joined: 23 Aug 2007
Posts: 151

Posted: 23 Jul 2009 07:19:12 pm    Post subject:

Hmmm, I didn't even know about ports 27 and 28. Might come in handy though, as I'm making a program that allows to store vars in the extra ram pages. (I might actually release an early beta this weekend)
Back to top
calc84maniac


Elite


Joined: 22 Jan 2007
Posts: 770

Posted: 24 Jul 2009 01:29:09 pm    Post subject:

Igrek wrote:
Hmmm, I didn't even know about ports 27 and 28. Might come in handy though, as I'm making a program that allows to store vars in the extra ram pages. (I might actually release an early beta this weekend)

This is exactly the reason TI-Boy works on only the beta version of Wabbit, because I got Spencer to add port 27/28 functionality. So if you're going to want to use those ports in an emulator, you should try the latest binary from group.revsoft.org
Back to top
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    »
» View previous topic :: View next topic  
Page 1 of 1 » All times are UTC - 5 Hours

 

Advertisement