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