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