Many people are struggling with the fact that they want to program in Hybrid Basic on their real calc, but don't have access to the Doors Libraries. That is why I decided to create such a program, a program where you can create your real(-statements in steps, named Real Helper. Or better said, a program with some menu's, choicing between (for example) real(0 or real(5 or real(8 etc. To make it more efficient, I'm adding in a key hook that runs that program if you press [LINK] in the program editor. Then it automatically runs my program, and inserts the real(-statement at the cursor (that is why I asked my ASM questions). In fact, my program would look like this:
- Check if key hook exist (either via ASM or an user-list)
- If not, create one and return
- If so, run the program, and return, inserting the real-command at the cursor postition
A bit more complicated, but these are the basics Razz

Before you use the program, you need to run it once. It now installs the key hook, and returns. The second time you use it (either via homescreen or the program editor), it sees that the hook already exists, and jumps to the real-helper.

I'm still developming for the TI-84+SE, but I hope it would be easy to port it to the CSE.

I've no idea if and how there are strugglings with other apps using the Key Hook, so I need to test it!

I've no screenshots yet, because I'm working on the ASM stuff, but I hope to add it soon! If you have questions, feel free to ask!
This sounds very awesome! This, combined with tifreaks libhelp will creat a great on calc resource!
I'm not too sure what this program would do, could you elaborate one what would be the difference between programming on-calc without and with this program? Because I've learnt the Hybrid-Basic commands in Doors from looking at other people's programs as well as the SDK and I personally mostly program on-calc going in the MATH menu for the real( token... Would this menu use the command names that are in the SDK or would it use the real(n,n equivalents? Would this program include the Celtic commands which are also part of the libs available with Doors? As for porting to the CSE, I believe the libs were considerably modified when DoorsCSE was created, removing the gui stack entirely, and I think the calcnet commands as well, therefore porting to the CSE might not be as straightforward as you make it seem. This being said, I am always enthusiastic about new projects and can see the use of this kind of program, maybe even have it someday integrated in Doors itself if Kerm likes it, who knows! Best of luck with this and I look forward to seeing your updates and screenshots Very Happy
Unicorn wrote:
This sounds very awesome! This, combined with tifreaks libhelp will creat a great on calc resource!

Thanks! Smile I'm trying to finish it as soon as possible.
mr womp womp wrote:
I'm not too sure what this program would do, could you elaborate one what would be the difference between programming on-calc without and with this program? Because I've learnt the Hybrid-Basic commands in Doors from looking at other people's programs as well as the SDK and I personally mostly program on-calc going in the MATH menu for the real( token... Would this menu use the command names that are in the SDK or would it use the real(n,n equivalents? Would this program include the Celtic commands which are also part of the libs available with Doors? As for porting to the CSE, I believe the libs were considerably modified when DoorsCSE was created, removing the gui stack entirely, and I think the calcnet commands as well, therefore porting to the CSE might not be as straightforward as you make it seem. This being said, I am always enthusiastic about new projects and can see the use of this kind of program, maybe even have it someday integrated in Doors itself if Kerm likes it, who knows! Best of luck with this and I look forward to seeing your updates and screenshots Very Happy

Well, thanks for your response! I make this for the CSE, so don't worries about porting and whatever. Very Happy What the main difference is, is that without my program, you need to type real(a,b,c,d) and you hope what a,b,c,d are. With my program, that a,b,c,d are replaced by text, and you use input if you need values. That is why is should be useful - you don't have to remember 150 difference real-commands.

To make it more clear: here's a small screenshot (a bit buggy):
Thanks to WikiTi, the Recall Queue, I succesfully added some text at the cursor. I found out that it even works on the HomeScreen, which means bit editOpen, (iy+editFlags) seems to malfunction.
Here's my code, I need to modify it such, that it inserts Ans instead of pre-defined text.

Code:
.nolist
#include "ti83plus.inc"
.list

.org UserMem-2
.db   $BB,$6D

hook_addr = appBackUpScreen

start:
   ld hl, hook_start
   ld de, hook_addr
   push de
      ld bc, hook_end-hook_start
      ldir
   pop hl
   ld a, 1
   bcall(_SetGetKeyHook)
   ret
   
hook_start:
   .db $83
      cp kLinkIO
   jr nz, disableHook
   bit editOpen,(iy+editFlags)
   ret z
   or a
   ld hl,(editTail)
   ld de,(editCursor)
   sbc hl, de
   ld de, 7
   sbc hl, de
   ret c
   ld hl, hook_addr + String - hook_start
   ld de, (editCursor)
   ld bc, 7
   ldir
   ld (rclQueue),de
   set 7, (iy+0Eh)
     res 2, (iy+33h)
   ld a,(iy+textFlags)
     and 1<<textInsMode
     ld (promptIns),a
     set textInsMode,(iy+textFlags)
   ld a,kQuote
     or a
     ret z

String:
   .db tString, "HELLO", tString
   
disableHook:
      cp kCalc
    ret nz
   bit PlotDisp, (iy+PlotFlags)
   ret nz
      bcall(_ClrRawKeyHook)
      xor a
      ret
hook_end:

And here an image of what it looks like:


EDIT: it looks like editOpen works for the graphscreen... If I pressed GRAPH, and after that [LINK], the [LINK]-menu opens, and not my program. When I'm at the homescreen and press [LINK], my program would run... Any ideas about that?
Update: I've added in the submenu's, so for each real(0 to real(9 the subcategories. Next, I've changed it to the graphscreen, due to the fact that -at least- real(7 has more than 10 subfunctions. I'm now going to work on the inputs, for example X and Y and UpdateLCD etc.
Still waiting for running a BASIC program from a key hook and return to the editor Razz
  
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
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement