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 |
|
benryves
Active Member
Joined: 23 Feb 2006 Posts: 564
|
Posted: 18 Dec 2008 08:32:37 pm Post subject: |
|
|
Is there anywhere in the TI-83+ OS RAM (between $8000 and $9D94) that has a free consecutive 768 bytes of memory aligned to a 256-byte boundary?
Right at the start, $8000-$82FF, looks pretty good but I'm not sure what these three do: baseAppBrTab, bootTemp and appSearchPage. The only interaction with the TI-OS is memory related; and no archiving is done (data is read from ROM byte-by-byte in certain instances, though). |
|
Back to top |
|
|
brandonw
Advanced Member
Joined: 12 Jan 2007 Posts: 455
|
Posted: 18 Dec 2008 11:11:44 pm Post subject: |
|
|
As long as you don't use most boot code BCALLs or Flash BCALLs or...well, a lot of stuff...that area of RAM is safe to use. baseAppBrTab contains the base page table for multipage applications. The BCALL routine looks here to determine the page to use when dealing with multipage applications. As long as you aren't a multipage application and using the BCALL routine, it's safe to screw with. It can be rebuilt by BCALLing 5011h, available on all OSes, so if it concerns you, just call that on exit.
bootTemp is scratch space used by the boot code routines, which, again, won't be a problem if you're not using them.
appSearchPage is used by field search routines and related code in the OS. Not necessary to preserve. |
|
Back to top |
|
|
elfprince13 Retired
Super Elite (Last Title)
Joined: 11 Apr 2005 Posts: 3500
|
Posted: 18 Dec 2008 11:28:02 pm Post subject: |
|
|
does this mean you're making some crazy fast display routine? |
|
Back to top |
|
|
benryves
Active Member
Joined: 23 Feb 2006 Posts: 564
|
Posted: 19 Dec 2008 05:35:57 am Post subject: |
|
|
brandonw wrote: baseAppBrTab contains the base page table for multipage applications. The BCALL routine looks here to determine the page to use when dealing with multipage applications. As long as you aren't a multipage application and using the BCALL routine, it's safe to screw with. Bother, then, I am a multipage application using the BCALL routine.
elfprince13 wrote: does this mean you're making some crazy fast display routine? Nope, this is for BBC BASIC; it uses a 768 byte workspace in RAM. The workspace includes two 256-byte strings (one for the input buffer and one the string accumulator) which is why I suspect there's the requirement for it to be 256-byte aligned.
Currently the workspace is located from &9E00-&A0FF, which hogs the better part of a kilobyte from BASIC's memory. |
|
Back to top |
|
|
brandonw
Advanced Member
Joined: 12 Jan 2007 Posts: 455
|
Posted: 19 Dec 2008 08:54:43 am Post subject: |
|
|
benryves wrote: Bother, then, I am a multipage application using the BCALL routine.
[post="130505"]<{POST_SNAPBACK}>[/post]
It's not a problem, just include your own replacement routine (which you definitely have the space for) which uses logic other than using baseAppBrTab. Disassembling it might be a good start. |
|
Back to top |
|
|
benryves
Active Member
Joined: 23 Feb 2006 Posts: 564
|
Posted: 19 Dec 2008 12:27:04 pm Post subject: |
|
|
I've made use of the property of bcalls being the same size as regular calls to insert a bcall or regular call automatically depending on the page of the target. I suppose I could correct it manually, though. Cheers for the suggestion! |
|
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