Author |
Message |
|
Ed H
Member
Joined: 30 Nov 2007 Posts: 138
|
Posted: 26 May 2008 10:26:25 pm Post subject: |
|
|
I'm thinking of writing a chemistry program, or a set of programs that any person would find useful while doing chemistry. So far I'm thinking of including:
-Periodic Table
-Polyatomic ions
-Chemical Equation Solver
-Molecular mass finder
-Stoichiometry program (maybe)
-A chemistry shell
This last program I'll have to explain. It will have a custom input method, with easy access menus for units, constants, and other stuff, and it'll handle units, significant figures, rounding, and more. Anything else a useful chemistry pack would need? Any ideas? |
|
Back to top |
|
|
Mike_k
Newbie
Joined: 16 Sep 2004 Posts: 45
|
Posted: 26 May 2008 10:46:58 pm Post subject: |
|
|
I particularly thing a centralized place for something like this would be nice. I personally would like to see it done in ASM and made as an application. But whatever your skill sets are.
-Mike |
|
Back to top |
|
|
DigiTan Unregistered HyperCam 2
Super Elite (Last Title)
Joined: 10 Nov 2003 Posts: 4468
|
Posted: 26 May 2008 10:51:43 pm Post subject: |
|
|
Maybe in the periodic table, you could include oxidation states, electron configurations, affinity, etc. I hate running to wikipedia for that stuff. |
|
Back to top |
|
|
Ed H
Member
Joined: 30 Nov 2007 Posts: 138
|
Posted: 26 May 2008 10:57:54 pm Post subject: |
|
|
Mike_k wrote: I particularly thing a centralized place for something like this would be nice. I personally would like to see it done in ASM and made as an application. But whatever your skill sets are.
-Mike
Yeah, I plan on packaging this as an application. I've already written the chemical equation solver and the molecular mass finder in BASIC; they work awesome. Some screenshots of them are attached. The shell I plan on implementing in ASM... once I learn ASM this summer. Heh.
@DigiTan
Of course. There'll be detailed information for each element. It'll be real slick.
Last edited by Guest on 26 May 2008 11:41:19 pm; edited 1 time in total |
|
Back to top |
|
|
magicdanw pcGuru()
Calc Guru
Joined: 14 Feb 2007 Posts: 1110
|
Posted: 27 May 2008 12:58:07 am Post subject: |
|
|
For that shell thing, you should check out Unit Operations. It's an app that hooks into the OS (with assembly code, of course) and lets you do math in different units. I haven't used it much, but i sounds similar to what you described. Maybe the source code will help you write your program, too. |
|
Back to top |
|
|
Mike_k
Newbie
Joined: 16 Sep 2004 Posts: 45
|
Posted: 27 May 2008 05:21:33 pm Post subject: |
|
|
The screenshots show a lot of functionality. Is the program robust enough that you could go back and made visual modifications to it once you are done with the funcitonality?
-Mike |
|
Back to top |
|
|
Ed H
Member
Joined: 30 Nov 2007 Posts: 138
|
Posted: 27 May 2008 05:55:04 pm Post subject: |
|
|
Well, CHEMEQ and MOLCMASS, the only programs I've written so far, just use "Input" for the input method, and output to Ans on the last line. So I could easily modify them to input from Str0 or Ans and incorporate them into a larger program, if that's what you mean.
But honestly, I'm not planning on making this program very visually intensive. The periodic table needs visuals, of course, but the shell, I hope I can run right on the home screen. What sort of visual modifications were you thinking of? |
|
Back to top |
|
|
Zaphod Beeblebrox
Member
Joined: 02 Jul 2007 Posts: 119
|
Posted: 27 May 2008 06:13:50 pm Post subject: |
|
|
Well, I had a cool idea a while ago for a system using Celtic that would allow you to make a periodic table and have all sorts of data for the table that would be in the form of appvars that could be archived. If you want I can make this, plus an editor for making your own appvars. I also had a cool way of doing it with two strings. I would enjoy making it, plus I'm looking for side projects, while I wait for the release of Celtic 3. |
|
Back to top |
|
|
Ed H
Member
Joined: 30 Nov 2007 Posts: 138
|
Posted: 27 May 2008 06:40:54 pm Post subject: |
|
|
Zaphod Beeblebrox wrote: Well, I had a cool idea a while ago for a system using Celtic that would allow you to make a periodic table and have all sorts of data for the table that would be in the form of appvars that could be archived. If you want I can make this, plus an editor for making your own appvars. I also had a cool way of doing it with two strings. I would enjoy making it, plus I'm looking for side projects, while I wait for the release of Celtic 3.
Sounds like a good idea. This will be in BASIC, I presume? Periodic table graphics is pretty simple in BASIC: every box is 5x5. To darken a box, do a Pt-On on the center, and then another Pt-On on the same point, with mark 2. Then you'll have darkened a 3x3 box. To lighten a box, just do the same, except with Pt-Off.
Feel free to try this. I'm still not exactly sure how I'll store the data for my periodic table. Perhaps with lists, or just store it in the actual program. That would save memory because I wouldn't need to store all 9 bytes of every number. The thing is, I'm doing a lot of planning, but I don't actually have enough time to start coding until after school's over, cause I have finals and crap. But hopefully I'll have this written over the summer. |
|
Back to top |
|
|
Zaphod Beeblebrox
Member
Joined: 02 Jul 2007 Posts: 119
|
Posted: 27 May 2008 07:24:46 pm Post subject: |
|
|
Well, Celtic is asm, but everything else would be basic. |
|
Back to top |
|
|
Mike_k
Newbie
Joined: 16 Sep 2004 Posts: 45
|
Posted: 29 May 2008 05:52:40 pm Post subject: |
|
|
I think your user/download count will go up significantly if you at least use an input/output function on the graph screen versus the home screen. There is also a functional benefit to this: you can simply get more information on the graph screen. Alternatively to that, a nice front end GUI menu helps out a lot too.
-Mike |
|
Back to top |
|
|
Ed H
Member
Joined: 30 Nov 2007 Posts: 138
|
Posted: 01 Jun 2008 03:27:57 pm Post subject: |
|
|
I don't care specifically for download count, I'm aiming for utility. In that sense I don't think there's anything wrong with using "Input" for input. You can input strings as large as you want; because the TI-OS automagically scrolls for you if your string is too large to fit, and you can use the up, down, left, right keys to scroll around and insert and delete. Plus you can use all the built-in menus and Rcl. That kind of functionality would be pretty hard to match in TI-BASIC, although I could see it being done in ASM.
But I have a question about input. For the chemistry shell, I'd like to put a F-key shortcut bar at the bottom of the screen, for things like prefixes, units, constants, and shortcut keys. Would this pretty much necessitate writing my own custom input, or would there be a way to put a function bar there and use the homescreen at the same time? |
|
Back to top |
|
|
Mike_k
Newbie
Joined: 16 Sep 2004 Posts: 45
|
Posted: 01 Jun 2008 09:34:04 pm Post subject: |
|
|
There is a hack that allows you to output large text to the graph screen, but I do not beleive there is a way to do the opposite (custom graphics to the home screen).
Might be possible with an ASM utlity, but even then, I can't recall a way to throw custom graphics on the home screen buffer (maye an interrupt running to keep it there?)
-Mike |
|
Back to top |
|
|
Snipes17
Advanced Newbie
Joined: 07 May 2008 Posts: 62
|
Posted: 02 Jun 2008 12:50:21 pm Post subject: |
|
|
Quote: But I have a question about input. For the chemistry shell, I'd like to put a F-key shortcut bar at the bottom of the screen, for things like prefixes, units, constants, and shortcut keys. Would this pretty much necessitate writing my own custom input, or would there be a way to put a function bar there and use the homescreen at the same time?
There is a mode on the calc that lets you display the graph screen on the top half of the calc screen and the home screen on the bottom half of the calc screen at the same time. I don't know if that would help or not... The command is 'Horiz'.
Last edited by Guest on 02 Jun 2008 12:52:12 pm; edited 1 time in total |
|
Back to top |
|
|
Ed H
Member
Joined: 30 Nov 2007 Posts: 138
|
Posted: 02 Jun 2008 12:56:36 pm Post subject: |
|
|
I guess what I'd need to do then is to write a custom input routine in ASM. Fun. |
|
Back to top |
|
|
magicdanw pcGuru()
Calc Guru
Joined: 14 Feb 2007 Posts: 1110
|
Posted: 02 Jun 2008 03:33:26 pm Post subject: |
|
|
Not necessarily. I think WikiTI documents some the small edit buffers used for graph screen input. I could take a look at those, see if I can whip up a basic text input command. |
|
Back to top |
|
|
magicdanw pcGuru()
Calc Guru
Joined: 14 Feb 2007 Posts: 1110
|
Posted: 02 Jun 2008 06:35:57 pm Post subject: |
|
|
At long last, a graph screen input routine for TI-BASIC programmers!!! :D
I've tested it quite a bit myself, and I think it's quite stable, but if you find it isn't, just let me know.
To use it, pass it a list of pixel coordinates in Ans:
{Left, Right, Top, (Bottom)}
You'll note that the last coordinate can be left off. If it is left off, then the input box will be one line and scroll horizontally. If it is included, it will be a multi-line box that scrolls vertically. Also, Bottom isn't pixels - it's the number of lines of text to display at once.
The string is returned in Ans.
No menus are supported (at least for now), but anything can be entered using the regular keys, including RCL-ing variables or recalling previous homescreen entries.
Have fun!
Last edited by Guest on 02 Jun 2008 06:37:08 pm; edited 1 time in total |
|
Back to top |
|
|
Ed H
Member
Joined: 30 Nov 2007 Posts: 138
|
Posted: 02 Jun 2008 07:39:03 pm Post subject: |
|
|
Wow! That's really good. It's too bad that it doesn't support the menus but this is still really useful for basic programmers. This is seriously pretty awesome. I'm writing something with it right now which really wouldn't be possible without it.
BTW this doesn't exactly use the graph screen -- I noticed that when you run it on the homescreen the input runs directly on the homescreen, exactly like how it would on the graph screen. I'm assuming this just uses the LCD driver directly? Are ya gonna release the source for it? This is pretty awesome!
Some useful features you could implement:
Allow the input to precontain some text.
Select, copy, cut, and paste. Maybe Alpha + Left and Alpha + Right for select, Alpha + Delete for cut, Alpha + Up for copy, Alpha + Down for paste.
Run a program if certain keys are pressed during input.
Last edited by Guest on 02 Jun 2008 07:55:28 pm; edited 1 time in total |
|
Back to top |
|
|
magicdanw pcGuru()
Calc Guru
Joined: 14 Feb 2007 Posts: 1110
|
Posted: 02 Jun 2008 08:13:09 pm Post subject: |
|
|
Thanks! Glad it's useful.
The source isn't really that special, since it's just doing funky stuff with the small edit buffer bcalls. Maybe I'll release it if I add more features, or if someone asks in particular. Do you want the source? I could post it, but it seems kind of silly at this point.
Yeah, I guess the routines just write to the lcd without updating the graph screen, so if you want the graph screen in the background, display it first with DispGraph in a Basic program.
Yeah, I could have the input precontain some text, like whatever is in Str0 or something. The cut/copy/paste stuff would be more difficult, but would be possible. I know an old version of Omnicalc tried to do it, so maybe I'll look at its source...
Running a program...might work. I guess I could close the edit buffer, call the program, and re-open the edit buffer when the program quits. But really, if you're doing something that involved, it's probably best to write a routine in asm that's customized to your particular needs... |
|
Back to top |
|
|
|