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 ... 32 33 [34] 35 36 ... 108
496
« on: November 08, 2011, 03:03:08 pm »
Boo-yah! But what do you mean by no goto?
The reason you corrupted your memory was because when it said Error:Memory, you pressed the Goto option which took you to a place it shouldn't have. I just made that menu only show quit now. Penguin, really, we don't care if you create a 2-page-app from it.
I realize that. You guys don't care. However, a lot of people who don't have the same connection with this app will. A one page app that does all this stuff is amazing. Once you go to two pages, you have to ask the question why is this thing really two pages? and why couldn't the author have made it all fit into one page? Also, two pages makes things run slower internally. Switching from one page to another isn't exactly easy and it makes the whole organization of code different.
497
« on: November 07, 2011, 06:41:50 pm »
I just came up with an idea: An Undo button. So, so many times I've accidentally pressed the wrong keys and deleted a line I didn't mean to. Can this be done, plz? Or, at the very least, can there be a hook installed that logs the contents of a line when an action is performed that overwrites it, like pressing the CLEAR key or 2nd RECALL
Done - [ON] + [^] Also, can we please have a button to quit the editor without saving?
Done - [ON] + [DEL] I found a bug but don't know if it was reported, so I report it.
→Conclusion: there is a problem with the Stop token
Fixed - This one was a really easy fix, but it was crazy complex. The Stop command was popping the operator stack to some random address and I wasn't getting control back. Solution? bcall(_resetStacks) before running the basic program. SOme more bugs: Basic's feature that displays ans if it is stored to on the last line of the program (:blah:A will display the value of A instead of Done) is broken with zstart ERR:MEMORY breaks all of zStart's ON+ hooks, and trying to access zStart or the memory menu just sends me to the homescreen
Fixed - Now you just can't Goto Another suggestion: I always liked the DCS hook that allowed you to immediately APD. it was ON + STAT. (Especially useful in program editor)
Done - [ON] + [Stat], though, it doesn't work as well as Omnicalc's since it runs in a different hook. (Mine doesn't work in calcsys for instance) Official update listing!!:- [ON] + [^] in the program editor - recall the last line you pressed [Clear] on (follows same rules as copy/paste, both 3900 bytes)
- [ON] + [DEL] in the program editor - discards the current copy of the program you are editing if it is actually archived
- [ON] + [Stat] - APD instantly wherever it is possible
- fixed the stop issue
- fixed issue with Err:Memory on oversized asm programs
The best part of all these updates were that I had to optimize like 50 bytes out of my app to fit them all Oh well, I know my code still has room for more updates. Also, problems that I know of that I kind of plan to fix: - Grammer (Xeda's changing some stuff around)
- The random Axe compile bug (I don't know enough about it, if someone can get me a wabbitemu savestate that makes this happen, I can fix it)
- Basic program quit messages (I don't see this happening)
- Axe zoom
If you notice any graphical glitches within the app, let me know since that is where I cut all the extra space from.
498
« on: November 07, 2011, 03:57:14 pm »
If you copy this, you will be in good shape. http://www.tetrisfriends.com/I'd say Marathon would be the one you'd want try to resemble most, but, any of the other modes are cool too.
499
« on: November 06, 2011, 09:14:57 pm »
Hmmm so Portal Prelude has been using Fcdf()r this entire time without a hitch, but just recently to increase compatibility I switched to the slightly larger Fcdf(), and now I simply get a RAM clear upon starting the program. Ideas?
Umm... I have no idea. But I fixed it. It worked in wabbitemu, but not on a real calculator. Also, quigibo's optimization was added. Edit: Code in first post. Changes on lines 64 and 82
500
« on: November 05, 2011, 11:21:29 am »
For a tutorial, I used LearnCpp. For an IDE I used Visual Studio. Visual Studio works great if you are only going to develop for windows, if you are going to develop for other platforms, then code::blocks is probably your best bet. (Ha, now you can't yell at me)
501
« on: November 03, 2011, 10:20:57 pm »
No, 6 is the max, as long as you don't go into crazy stuff which I'm not even sure is possible. (6 atoms involves hybridizing the s, p, and d orbitals, to do 8, you might have to start messing with the f orbital.) Also, you have to remember that atoms share electrons, so, for normal cases, you'll only have 4 atoms bonded.
You could do 2 bytes for flags, but to be honest, I don't think you'll ever run into a situation where you'll need 5 and 6 to have flags. Atoms can normally only have 4 bonds, so that is not a problem. The only time you start messing with the 5th and 6th atoms are when you go into expanded octets. The only possible way that your 5th atom could have a flag would be if it were double bonded, and I'm not sure this ever happens. You would have something along the lines of SF4O, which is not a real compound, and the O would be double bonded to the S. I don't think this is something you need to worry about though.
I don't think you understand what I meant by the ID. Lets say we're doing KNO3: Here's what your full data set would look like.
1. K [19][0][+1][11 00 00 00][2][0][0][0][0][0] 2. O [8][3][-1][11 00 00 00][1][3][0][0][0][0] 3. N [7][0][+1][01 00 00 00][4][2][5][0][0][0] 4. O [8][2][0][01 00 00 00][3][0][0][0][0][0] 5. O [8][3][-1][00 00 00 00][3][0][0][0][0][0]
The ID's are essentially pointers to the data. The only thing that makes it nicer is that it is 1 byte rather than two. Of course, you could do addresses if you really wanted, it would just take up more space.
Pointing to a polyatomic isn't a bad idea actually. Though, you'd save yourself a headache if you manage to parse the polyatomics on the fly. The only problem with pointing to polyatomics would be difficulties with drawing them. You'd have to special case them because you'd have a single polyatomic ion that might be bonded to multiple things. Cu(OH)2.
502
« on: November 03, 2011, 03:21:22 pm »
Those addresses are just stuff the OS uses. You can completely disregard them.
You can certainly use someone else's disassembly, and that's not a bad idea.
503
« on: November 03, 2011, 03:19:05 pm »
One problem...the flags.
A flag can only be 0 or 1, but i'd also need 2 or 3 as a value. How is that gonna happen?
Allocate two bits for it. That's why I wrote xx112234. I gave atoms 1 and 2 two bits because they could both potentially ionic or triple bonded (NaCN). Atoms 3 and 4 only need 1 bit though because you can throw any ionic bonds or triple bonds into the first two places. Although, I guess technically you could have 3 ionic bonds. So maybe you should just number them 11223344 and put the atoms wherever you want. Also, if you get an atoms 5 and 6, you can just assume that they are single bonded. Some samples: (I'm only putting the central atom on here) [Atomic number][lone pairs][charge][flags 11223344][bonded id 1][bonded id 2][bonded id 3][bonded id 4][bonded id 5][bonded id 6] NaCN [6][0][-1][10 11 00 00][Na atom ID][N atom ID][0][0][0][0] CO 2[6][0][0][01 01 00 00][H atom ID][Other H atom ID][0][0][0][0] SF 6[16][0][0][00 00 00 00][S atom ID][Other S atom ID][Other S atom ID][Other S atom ID][Other S atom ID][Other S atom ID] H 2O [8][2][0][00 00 00 00][H atom ID][Other H atom ID][0][0][0][0] NO 3-[7][0][1][01 00 00 00][Double bonded O ID][Other O ID][Other O ID][0][0][0]
504
« on: November 02, 2011, 06:08:29 pm »
Ok, and it just basically shuts down the calculator?
505
« on: November 02, 2011, 06:06:02 pm »
i have a ti84+SE, and whenever i have zStart try to compile an axe prog (ON + ENTER on edit page), it causes a ram clear, which is annoying. I always keep everything archived though, and encounter many ram clears.
Hmm... First a question, does it ever work? If it doesn't, you have too old of an axe version (though, it shouldn't crash). Then, are you using mathprint? Also, does axe actually start? (If axe starts, this is probably quigibo's problem.) I got the same problem except for that it gave me a install OS message
As scary as that looks, it means nothing. It's just a random crash. I would like to know the specific address you have to jump to to get there though, that would be interesting. SOme more bugs: Basic's feature that displays ans if it is stored to on the last line of the program (:blah:A will display the value of A instead of Done) is broken with zstart ERR:MEMORY breaks all of zStart's ON+ hooks, and trying to access zStart or the memory menu just sends me to the homescreen
I have absolutely no idea how I would fix Ans displaying. To me, that sounds close to impossible, so that might have to go down as a permanent bug. But I'll look at it. When you get an Err:Memory, is it just game over for the calculator? If so, can it be fixed without a ram clear?
506
« on: November 02, 2011, 05:44:06 pm »
USB. There's not much information because we don't have much information. When you enter the world of USB, regular asm is gone forever. You now enter the world of randomness without reason. There is no debugging, there is no 100% information, you start to involve hardware failures, and stuff can just not work for no reason at all. Now that that's out of the way, if you're going to do anything serious with USB, you honestly have to start disassembling the OS to see how they do it. To do this, you're going to want to get IDA somehow and then start looking at page 6F as well as page 75. The OS is useful because they actually knew what they were doing, we can only hope to copy them. For code, the OS is by far the best resource you have. After that, you can start looking at USB8X as well as my Blue2 program I'm going to attach. There's no reason to show you routines here because they are massive and many. Finally, for the ports, wikiTI was recently updated by Floppus and myself, there's brandonW's notes on USB ports, and finally there's my large text document which I will also attach. USB isn't impossible, but it is definitely not easy. You will want some kind of on-screen feedback system to report what happens as it happens. I honestly don't care if you copy my console system from Blue2 because it works marvelously. I'll also attach my program that deletes the Certificate of another calculator via usb>silverlink>I/O port. It has some good routines on data sending. Lastly, yes, you really need to disassemble the OS. Floppus Maximus, Dan E, BrandonW, and I are some of the few people I know of that have done serious USB port work, and we all have OS disassemblies. (If I missed any, tell me)
507
« on: October 31, 2011, 10:50:02 pm »
zStart runs the program a lot faster and when quitting, it only writebacks if needed. But it has problems with the "Stop" token in basic.
Forgot about that, I should probably fix that.
508
« on: October 31, 2011, 10:44:35 pm »
Great work ! but I have a question Do we need to compile for a shell or does it work in noshell and apps too ?
It works for everything except apps. If you think about it, there wouldn't even be a need to use this in apps. (At least for axe ) As far as optimizations, I found one byte for the all models case:
Very clever By the way, if you need absolute addressing in the $0000 to $3FFF range, I can add a new prefix to ignore the automatic replacements if that's convenient. I didn't think anyone would ever need to jump or call addresses there, but I guess for hacks like this that could be important.
I didn't need it for this one, but with more hacks, I can see that being necessary. Especially if you wanted to invoke the error handler.
509
« on: October 31, 2011, 12:30:54 am »
Well, I think there's a bit more than valence electrons, especially considering this pattern: SiO4-4, PO4-3, SO4-2, ClO4-. But aside from oxygen, I think valence electrons are the way to do it.
510
« on: October 29, 2011, 12:42:26 pm »
ok. I'll see what I can do. Question. For "atomic number", can't I just use the number of valence electrons? I think that, when it comes to drawing Lewis Structures, only the valance orbital is what affects bonding.
Well, yeah, you could do that, but then you wouldn't know what letter to display . It depends how far you want this program to go, but you might have to look farther than valence electrons if you are going to handle expanded octets. I may need help with rendering the final object to the screen.
Ok Also, how do you determine what molecules make up the main chain, and what molecules go around the main chain?
That is where the real challenge comes in. For inorganic stuff, you might almost need to have a database of polyatomic ions. For your purposes, you probably shouldn't end up having more than 50. If you don't want to do that You could also try to determine the structure of the polyatomic ion by comparing the number of valance electrons of each atom along with how many of each atom is present. Typically, the element with the most atoms will be the outer atoms with oxygen almost always being an outside atom. (I can think of a few weird ones, CN -, SCN -, and OCl -. Also, stuff like NO 3- has a double bond in it.) For organic materials, once you figure out a system, it shouldn't really be that hard. Just try to determine what structures are side chains and what are main chains and you should be ok. If you really love chemistry, you could try to parse IUPAC names, but that would be tough.
Pages: 1 ... 32 33 [34] 35 36 ... 108
|