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

Very Happy 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:
Very Happy 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
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