This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Messages - thepenguin77
Pages: 1 ... 22 23 [24] 25 26 ... 108
346
« on: April 29, 2012, 09:28:12 am »
Will the chaining to keypress slow anything down?
Actually, every time a button is pressed I chain to Omnicalc. But I'm actually not going to chain to keypresses. The parser hook chain clearly chains to the parser hook. And the lowercase one is literally one instruction.
347
« on: April 28, 2012, 11:03:08 pm »
By the way one issue I had in BASIC is that when holding down or pressing some keys, the program slows down slightly (by about 0.1%, but just enough for any clock to get out of sync)
DJ_O, to be fair, the 84+ has a command called startTmr which returns the current date in seconds after midnight, January 1st, 1997. This command relies on the internal crystal timers so it runs at the same speed regardless of what you are doing. While your program required very careful calibration and command timing, this one can be done with: startTmr While 1 Disp startTmr-Ans End
348
« on: April 28, 2012, 10:40:31 pm »
No, I didn't resume this
I merely fixed a bug.
In MP OS's, starfox often crashes when it quits. I figured something this epic shouldn't do that, so I fixed it. I'll probably release this demo to ticalc.org soon.
As always, if you want to do something productive with this, be my guest. Just make sure to give me credit. (There are some pretty cool triangle and quadrilateral routines in there)
349
« on: April 28, 2012, 07:35:58 pm »
Are you still planning to insert grammer hooks?
The next time I work on this (whenever that is), I'm going to add a parser hook chain option. This will move the infamous ChemMass part of this app into a second program which will free up boatloads of space. Using this parser hook chain, you should be able to use grammer. Also, with this new space, I'm going to add a help "plugin." What this will do is you have zHelp.8xp on your calculator and whenever you press + on an option in zStart, it will tell you what it does and how it works. The OS never disables lowercase, and I've never seen an app do so.
NoteFolio disables lowercase when exiting. I don't think other apps do it.
With this in mind, I can enable it when zStart quits and whenever a key is pressed. The only time you'll get into an awkward situation is when you quit NoteFolio and immediately try to use lowercase, though, I don't see this being a common problem.
350
« on: April 27, 2012, 10:08:07 pm »
well THAT we can agree on. it will be a lot of work but i can't begin to explain how often i've wanted to be able to simply copy and paste a line of code or have shortcut keys while editing programs and im pretty sure that im not the only one
Copy/Paste is Uber hard. It requires in depth knowledge of how to deal with the edit buffers, good knowledge of how TI basic coded, and good practice in key hooks. But, you say you want to edit programs. The first question is: Do you want to modify the program and leave it the same size, or are your modifications going to make it bigger? Leaving it the same size is relatively easy while making it bigger is going to require some work. And Xeda was correct, zStart can copy/paste, undo, GOTO Labels, and edit archived stuff. You should check it out, it's in my sig. In the program editor: - Copy - ON + +
- Paste - ON + Enter
- Undo - ON + ^ (pastes whatever was last cleared)
- Label menu - ON + VARS
And for a semi-recent readme check here. (Text document that will open in-browser)
351
« on: April 26, 2012, 07:36:22 pm »
Catalog Help breaks the font hook.
Same here, forgot to report that bug. I used 2.43.
Yeah, it always has, I had to do a hack to make it work actually. For some reason though, lately the hack hasn't worked every single time. And I got some suggestions to make it even more awesome! 1st make it call automatically when exiting a app so that the hooks are restored
I believe this is possible, but I'm not sure how well it would work. Also, if the app killed hooks, what's to say it didn't kill the hook that runs this? 2nd make a option that runs a program instead of APD
That's actually relatively easy with OFFSCRPT, though... I'm not sure that this feature is important enough to add lol 3rd make that you can tell the inactivity time till APD
Woudn't this reset the apd timer? 4th make that you can optional insert the DCS hooks instead of the Omnicalc hooks.
I wish, I've asked kerm for over a year for this. The problem is that DCS, unlike Omnicalc, is constantly changing. For Omnicalc, I can simply make calls to certain spots in the app to perform specific features. For DCS on the other hand, it changes code location from one version to the next making this impossible. (The problem is that he won't give me an entry point like Quigibo did) Another suggestion: implement a lowercase-enabling hook so that you don't have to enable it every RAM clear. (or is this already implemented?)
I think this would be really easy, the only problem is that I have the wrong hook to do this. My keyhook only fires when the calculator receives a key code, this means that 2nd and Alpha don't register. So, if an app or the OS disables lower case, it won't work, but I'm not actually sure how often this happens. So I probably should make this an option. But yes, Omnicalc and Axe both enable it, so if you have one of those two you'll be good.
352
« on: April 26, 2012, 05:03:47 pm »
Yes, I did copy it to ram. So you'll have to deal with that if you do it.
353
« on: April 26, 2012, 04:51:08 pm »
Now, when you say edit, do you mean: 1) Open up the program editor to allow the user to edit the program, or 2) Actually edit the program from an assembly program? In both cases, the way to do it is very hard For 1. You are looking at top programmer hacking to figure out how it's done, however, I could always just give you the routine to do it For 2. Actually editing the program isn't all that difficult, you'll need some help getting started, but once you see how the Edit Buffer works, you should be ok. The only way 2 would be super hard would be if you want to actually display what you are editing to the screen, this requires lots of OS routines and is pretty bad.
354
« on: April 26, 2012, 04:45:55 pm »
Yeah, you can define your own table, but I was looking for a way to change only certain menu items without having to make a table. Of course, it probably would be easier to just use a table, but hey, it's good to have options
Well, that's actually what I did. I ran a search for the MATH table and then modified it and used it as my own table. It worked on all OS's, so it was pretty cool.
355
« on: April 25, 2012, 06:40:46 pm »
I don't remember the specifics, but I know in one of the early menu hook calls, you get to specify the table that it looks at. With a little bit of OS debugging, you can figure out the format of those tables, and from there you can design your own table which includes whatever you want in the menu.
This is how I added Solver++ to the math menu in zStart a while ago.
356
« on: April 25, 2012, 06:35:34 pm »
I was so excited when I saw this topic. But it was a question...
Anyways, I've thought about this, but I've never actually done it. Here's how I think you'd go about it. 1. Set interrupts to the fastest speed that is consistent (For this, I'd go with timer two at 1120Hz) 2. Determine how many t-states take place between interrupts.
Then we get into the actual code. The goal of your interrupt system would be to ignore what the calculator interrupt system is doing and to make your own interrupts that run at 60Hz. The way you'd go about it is this: 1. Find the number of t-states it takes to get the interrupt frequency you want (this is a constant actually and doesn't need to be exact, we'll call 83+'s 6MHz, so 6MHz/60 = 100,000. 2. int(100,000 / (t-states per interrupt)) will get you the number of interrupt cycles to wait. So when these interrupts occur, just quickly return. 3. After those interrupts have expired, take the remaining t-states (100,000 - (cycles waited)*(t-states per interrupt)) and wait that long (in the interrupt). 4. After you've waited, start an LCD copy
5. Then you'd just repeat this process, keeping in mind that next time, you aren't starting cleanly on the beginning of an interrupt.
So an example, let's say that you find your calculator to run with 5,360 t-states per interrupt. To achieve the goal of 100,000, you'd need to wait 18 interrupt cycles and then 3,520 t-states in the 18th interrupt. At this point you'd fire the LCD copy.
Now it gets more involved when you calculate the next virtual interrupt, you have to remember that the interrupt system didn't wait for you, this means that the first interrupt is going to happen in 1,840 t-states. So with that information, you are going to need to dispatch 19 interrupts waiting 1,680 t-states in the 19th.
Then you'd just repeat this simple process over and over. To adjust the frequency, just take that goal 100,000 and adjust it to whatever you want. Higher goals will lower the frequency and lower goals will raise the frequency.
358
« on: April 20, 2012, 07:28:27 pm »
I'll start working on some stuff for you, but since this routine is so massive, could you like post a guide to what it does? I understand it's mostly math, but a simple explanation of what each section does could greatly improve the way people can optimize it.
Edit: I see the section headers. But how about an overarching explanation of it all.
I'm just going to keep adding information until I write done, or you respond. Feel free to correct anything that's wrong.
First of all, I'd like to see FPDiv and FPSub.
;dx1 = dx/dy of 1 to 2 ;dx2 = dx/dy of 2 to 3 ;dx3 = dx/dy of 1 to 3 ;du1 = du/dy of 1 to 2 ;du2 = du/dy of 2 to 3 ;du3 = du/dy of 1 to 3 ;dv1 = dv/dy of 1 to 2 ;dv2 = dv/dy of 2 to 3 ;dv2 = dv/dy of 1 to 3
What are u and v?
What are the bounds on the input variables?
Done for now (got stuff to do)
359
« on: April 20, 2012, 07:26:22 pm »
So, I'm making this thread for two reasons. 1) Everyone likes to tell their story. But 2), this topic can give people some insight into just what they can do to prevent data loss. The general idea here is to give: Lost: What you lost. Cause: The mistake you made that caused you to lose your data. Solution: What you did to prevent this from happening again. Now, if you didn't actually create a solution for your loss, then you can't post what you lost . So, if this happens to be the case for you, and you really want to share your story, then you'll just have to figure out a solution so that you can't delete your stuff again. I think one of the great changes that this thread can create is when someone goes, "Crap, that could totally happen to me," and then they see a solution that can prevent it. So mine: Lost: I lost the entire source to my Impossible Game. Cause: I was testing out a new batch (.bat) file to assemble my assembly sources. In this test file, I accidentally moved the source code rather than copying it. Since the recycle bin doesn't catch stuff deleted in batch files, the source was gone forever. Solution: I added an extra folder on my C drive (C:\backups) and whenever I assemble an assembly program, I have my batch file add a copy of it to the backups folder. This won't protect against a hard drive failure, but it does protect against accidentally deleting a file or folder.
360
« on: April 09, 2012, 08:23:40 pm »
On Windows: 1) Open up an elevated command prompt - that is, Start Menu > All Programs > Accessories > Command Prompt, right click and hit "Run as Administrator..." Do any password typing/clicking as needed to gain elevated access. 2) Type in cd %SystemRoot%\System32\drivers\etc 3) Type in notepad hosts 4) Place the following line in: 127.0.0.1 education.ti.com 5) SAVE. 6) Log in or log out, OR reboot. This should let all the processes reread that config. Usually, this isn't necessary - especially if the TI-Nspire Student Software isn't running. If it is, just close it completely and re-open. If you are paranoid, do a reboot. 7) That's it! You're safe! :D
Yes, that works, but for people who are scared of the command prompt, here's another (but equivalent) way. 1) Run notepad as administrator 2) Open C:\windows\system32\drivers\etc\hosts with the notepad you opened (be sure to specify "All files (*.*)") 3) Add the following line to the end of the list 127.0.0.1 education.ti.com4) SAVE. 5) Log in or log out, OR reboot. This should let all the processes reread that config. Usually, this isn't necessary - especially if the TI-Nspire Student Software isn't running. If it is, just close it completely and re-open. If you are paranoid, do a reboot. 6) That's it! You're safe! :D
Pages: 1 ... 22 23 [24] 25 26 ... 108
|