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
youssarian


Newbie


Joined: 15 Aug 2008
Posts: 7

Posted: 18 Aug 2008 11:20:54 am    Post subject:

While scrolling through ti83plus.inc, I noticed a group called "Context Equates". Commented next to these were various sorts of screens, like stats editor, matrix editor, program editor, and so on. I put in this code into a fake program:

call cxMatEd
ret

(with proper heading, closing and tabbing, of course.)

When I ran it through the converter, it worked fine. So, would the context equates (like cxMatEd or perhaps kMatrixEd) be useful for calling up these screens?
Back to top
DarkerLine
ceci n'est pas une |


Super Elite (Last Title)


Joined: 04 Nov 2003
Posts: 8328

Posted: 18 Aug 2008 11:32:16 am    Post subject:

If the assembler works, it just means you don't have any syntax errors in the code. It doesn't know the difference between the equate for the address of a routine (like _GrBufCpy), the address of some other location in memory (like UserMem), or any other constant (like your cxMatEd).

When you run your code, you'll end up calling $0042, which I think is part of the OS interrupt code, but in any case it's not something you want to be calling. It definitely won't call up the matrix editor.
Back to top
youssarian


Newbie


Joined: 15 Aug 2008
Posts: 7

Posted: 21 Aug 2008 11:04:47 am    Post subject:

Oh.

Is it possible to call these screens in assembly?
Back to top
DarkerLine
ceci n'est pas une |


Super Elite (Last Title)


Joined: 04 Nov 2003
Posts: 8328

Posted: 21 Aug 2008 11:34:25 am    Post subject:

Probably, but I don't know how, and I doubt you'll get control back afterwards.
Back to top
TheStorm


Calc Guru


Joined: 17 Apr 2007
Posts: 1233

Posted: 21 Aug 2008 09:46:48 pm    Post subject:

Well using hooks you could get control back but other than that I doubt there is a way You'd have to ask BrandonW or someone with equivalent ti hacking knowledge. maybe poke around the Detached Solutions forum they may be dead(or just sleeping) but there is a lot of good info there.
Back to top
DarkerLine
ceci n'est pas une |


Super Elite (Last Title)


Joined: 04 Nov 2003
Posts: 8328

Posted: 21 Aug 2008 10:22:50 pm    Post subject:

Also, I'm guessing there's an easier way to do whatever it is you want to do.
Back to top
fourchanb


Advanced Newbie


Joined: 24 Sep 2006
Posts: 93

Posted: 22 Aug 2008 04:19:46 am    Post subject:

If you want to make a menu that looks like that, you'll want to try one of the menu makers out there. TI has one but that is incompatible with every assembler out there that people actually use.

The equates you talked about are numbers that are put in some sort of variable that tells keyhooks and the like in what menu they are.
Back to top
FloppusMaximus


Advanced Member


Joined: 22 Aug 2008
Posts: 472

Posted: 24 Aug 2008 08:27:02 pm    Post subject:

No, those aren't addresses for you to call. They're values used internally by the OS to identify the built-in apps. For example, (cxCurApp) is set to the value corresponding to the currently-running app. They're also used in various B_CALLs and hooks.

In general you can't "call" an app -- either a TIOS builtin app or a Flash app. The OS considers itself to be running only one app at a time; when you switch to another app, the FPS, OPS, and hardware stack are (usually) reset.

What you can do if you *really* need to is to "jump" to a built-in app while setting one or more hooks that will restart your program when the user exits the app. This is rather difficult for FlashApps to do safely, and virtually impossible for other programs.

There is one exception that I know of, a B_CALL which does something similar to the BASIC "Input" or "Prompt" command; I don't remember the name or address, but it essentially saves the current state and loads up the cxPrgmInput app temporarily. This should only be used by FlashApps or AsmPrgms, not by shell programs.
Back to top
brandonw


Advanced Member


Joined: 12 Jan 2007
Posts: 455

Posted: 26 Aug 2008 11:48:32 pm    Post subject:

FloppusMaximus wrote:
There is one exception that I know of, a B_CALL which does something similar to the BASIC "Input" or "Prompt" command; I don't remember the name or address, but it essentially saves the current state and loads up the cxPrgmInput app temporarily.  This should only be used by FlashApps or AsmPrgms, not by shell programs.
[post="126340"]<{POST_SNAPBACK}>[/post]


That would be 4E5Eh or 4E61h, which I call _GetStringInput.

From my notes:
GetStringInput:
4E5Eh:
Gets a string of input from the user.
Input: MUST reset 6,(iy+1Ch) and set 7,(iy+9).
Output: string stored in temporary equation 04h,2Dh,00h,00h.
It basically calls _newContext on 50h, Mon, then _newContext on 3Fh.
4E61h is identical except it does set 1,(iy+9) instead of reset (not sure of significance).
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