Pieman7373 wrote:
Has any more progress been made on this, or is it finished already?
It's feature-complete for the TI-84 Plus C Silver Edition, but I haven't ironed out the last few bugs I need to solve before I can do a public beta. As I mentioned in this thread, I've gotten very discouraged about this project.
I really need to get back to this, and finish it off once and for all, demotivation or no.
  • [ON] -> 2:Goto while G3DC is computing (X, Y, Z) points currently causes junk to appear on homescreen. Redirect to Y= as planned. Attempted, but unexpected interactions between hooks make this difficult to realize. Much easier: punt, disable the 2:Goto option, and only allow the user to 1:Quit to the homescreen.
  • Implement Table mode? Definitely not for version 1.0
  • When in horizontal mode, and then at the graphscreen where black is your background; when you go then to the somescreen by typing "1" or so, black squares appear Fixed by resetting text colors after redrawing splitscreen graph. Also very interesting, because the OS appears to have the ability to draw up and down scrolling arrows on the middle-top and middle-bottom of the homescreen.
  • When switching from 3D to 2D mode, need to figure out how to mark graph dirty in such a way that graph above Y= menu will be correct. Appears to have already been done...?
  • If you are at the graphscreen, then go to Apps and select DoorsCSE or G3DC, it doesn't open it and instead returns to the homescreen (check interactions with AppChangeHook?). Repaired. Unfortunate effect of needing to cheat the value of cxCurApp (to kExtApps) to prevent the OS from doing unfortunate things in the Format, Trace, and Graph contexts. Resolved by restoring the value before letting MenuHook change context.
  • [GRAPH] from Graph mode causes a freeze. Edit: Only after entering a menu or the Zoom menu? Definitely caused by Graph->[PRGM]->[GRAPH]. Not caused by Graph->[PRGM]->[CLEAR]. Resolved by only restoring the context for the previous item if switching to cxExtApps.
  • [TRACE] from the Zoom menu doesn't work (and the "Graph3DC" title text disappears) Mostly fixed? TRACE->ZOOM->TRACE and GRAPH->ZOOM->TRACE fail to redraw the 3D graph. This turned out to be a set of connected and very annoying issues related to how menus interact with hooks and custom contexts. Fixed.
  • Chaining menu (and other) hooks: should save registers around chained hook
  • Make 2:Goto in syntax error go to proper equation somehow
  • Adjust threshold for erasing lines rather than clearing graphscreen
  • Extra column of pixels with left-margin inverted text in Format menu
An update at last.
  • Make 2:Goto in syntax error go to proper equation somehow. This is done, but was a massive pain in the neck. Dealing with the TI-OS via hooks is a big enough pain in the first place, but it seems that the TI-84 Plus C Silver Edition OS is even worse, because a lot of the hook-related code seems to not have been updated between the monochrome calculators and the TI-84 Plus C Silver Edition. In fact, in order to make 2:Goto work properly for ERR:BREAK, ERR:SYNTAX, and so on while graphed Z= equations are being computed, Graph3DC has to:
    1. Install its Y= hook before the cxError context triggers, because the TI-OS doesn't fire the AppChangeHook when going from cxError to cxYequ for a 2: Goto.
    2. Cancel the 2: Goto once the Y= menu begins rendering, because there's an off-by-one error in how the OS handles 2:Goto with a Y= hook present that appears to be a remnant of monochrome code. Instead, Graph3DC installs a GetCSCHook that will begin triggering when the Y= context is fully rendered.
    3. Use the GetCSCHook to inject [DOWN] keypresses until the cursor is at the correct equation, then let the hook uninstall itself once it reaches the correct equation.

  • Chaining menu (and other) hooks: should save registers around chained hook. Punt.
  • Adjust threshold for erasing lines rather than clearing graphscreen. Threshold changed from 600 line segments to 300 line segments, above which the screen will simply be cleared instead of overwriting each line segment with black.
  • Extra column of pixels with left-margin inverted text in Format menu. Clever punt-cum-fix. Changed (for example) "AxesOn AxesOff" to "Axes: On Off", so that the selection cursor and invertable format items are never in the first column of characters on the homescreen.
Bah, TI-OS.

Edit: Found another bug while taking screenshots for the manual. The uninstall function does not appear to properly remove Graph3DC's AppChangeHook. False alarm. Doors CSE's hook chainer was holding onto Graph3DC's AppChangeHook, even after it was removed. It appears to be difficult to resolve this, so I won't, for now.

Edit #2: Another bug: Can't move the cursor to the 3D Mode text when in SEQ mode.
I found out that Xmin is sometimes corrupted. When I press [TRACE] and get some points, and after that, press [WINDOW] the first character of Xmin is messed up.



EDIT1:
If the calc already computed the points, and you change from Radian to Degree or vice versa, the graph is the same, while it shouldn't
PT_ wrote:
If the calc already computed the points, and you change from Radian to Degree or vice versa, the graph is the same, while it shouldn't


If this problem still persists with beta 2, perhaps you should post there? https://www.cemetech.net/forum/viewtopic.php?p=244363#244363
  
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 3 of 3
» 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