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
Igrek


Member


Joined: 23 Aug 2007
Posts: 151

Posted: 16 Aug 2008 06:16:09 am    Post subject:

This RAM is used when the cursor hovers a whole token, like in the format menu.
This is what I found out:
97A1 holds the number of elements in the menu.
97A2 holds the selected element (zero based).
979F is a word which holds some address is flash (it doesn't change if you move around in the menu).
97A3 is also a word, it is equal to 979F when (97A2)=0, when you move around in the menu this value changes.

979F seems to be the start of the table, 97A3 the selected item, I can't check it because I don't know what flash page these tables are stored so I can't check it (it might be the one where the tokens are stored).

The question is, where are these tables and how can I access them?
Back to top
magicdanw
pcGuru()


Calc Guru


Joined: 14 Feb 2007
Posts: 1110

Posted: 16 Aug 2008 04:44:29 pm    Post subject:

I remember Brandon put a document up on his website (www.brandonw.net/calcstuff) which described some of the workings of dialogs like this. I might also have some notes and code, I'll see if I can find any...

Edit: Here's some code I did a while ago, which gets inputs from one of these menus. It seems to crash at the end, I'm not sure why, but maybe it'll help.


Last edited by Guest on 16 Aug 2008 05:02:58 pm; edited 1 time in total
Back to top
Igrek


Member


Joined: 23 Aug 2007
Posts: 151

Posted: 16 Aug 2008 05:06:12 pm    Post subject:

Thanks for showing me Brandon's documentation.
Any idea where the OS stores the tables?
Back to top
magicdanw
pcGuru()


Calc Guru


Joined: 14 Feb 2007
Posts: 1110

Posted: 16 Aug 2008 05:10:45 pm    Post subject:

Looking at my code, it looks like i copied the table to ramcode. The OS probably copies its tables from wherever they're stored in flash to ramcode when it's being used.
Back to top
brandonw


Advanced Member


Joined: 12 Jan 2007
Posts: 455

Posted: 16 Aug 2008 10:00:51 pm    Post subject:

Igrek wrote:
Thanks for showing me Brandon's documentation.
Any idea where the OS stores the tables?
[post="126052"]<{POST_SNAPBACK}>[/post]


To quote the documentation:
Quote:
To start this context, load a menu structure* to ramCode, BCALL DialogInit and then BCALL StartDialog.


Hopefully that's what you meant.

This documentation is kind of screwy, but I think there's a dialog.zip in there or something which demonstrates how to use it all.

As far as those RAM addresses, I don't guess I documented anything about those.
Back to top
Igrek


Member


Joined: 23 Aug 2007
Posts: 151

Posted: 17 Aug 2008 01:53:27 pm    Post subject:

I'm actually looking for the flash page where the data the OS uses in such dialogs is stored, so that didn't solve my problem...
Back to top
WikiGuru
ADOS (Attention deficit... Oh! Shiny!)


Elite


Joined: 15 Sep 2005
Posts: 923

Posted: 17 Aug 2008 02:54:59 pm    Post subject:

well, if you happen to know the data you're looking for, you could write a handy utility that would scan each flash page to find the data.
Back to top
brandonw


Advanced Member


Joined: 12 Jan 2007
Posts: 455

Posted: 17 Aug 2008 04:18:21 pm    Post subject:

Igrek wrote:
I'm actually looking for the flash page where the data the OS uses in such dialogs is stored, so that didn't solve my problem...
[post="126083"]<{POST_SNAPBACK}>[/post]


Set a menu hook and set a breakpoint at the start of it, and when you bring up the menu, the OS will call your hook wanting to know where that data is. It actually passes that to you, and you have the opportunity to overwrite it. Once you've hit the breakpoint, the registers will tell you where it is.

This is OS version-dependent, of course, so I'm assuming you just want to see how it's doing whatever it's doing.
Back to top
Igrek


Member


Joined: 23 Aug 2007
Posts: 151

Posted: 17 Aug 2008 04:30:41 pm    Post subject:

It appears to me that it is stored at page 1 on OS 2.30, anyhow I will look at this again in 2 weeks because the next 2 weeks I won't have access to my computer. Thanks for your help.
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