Show Posts

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 - Deep Toaster

Pages: 1 ... 554 555 [556]
8326
TI-BASIC / Re: Sidescrolling
« on: May 28, 2010, 07:43:39 pm »
Elmgon
A nice example. Yes, this is a pure BASIC.
Serenity
Another one.

Wow, those are amazing programs. Especially that cable-swing-type movement in Serenity.

Sorry I wasn't specific, but what I meant was continuous sidescrolling (i.e., the screen moves with the character, not just when the character reaches an edge). Is this possible? I've done it in one of my earliest games, but that one used homescreen graphics, which were horrible, now that I look back at it.

8327
TI Z80 / Re: Calcalca
« on: May 28, 2010, 07:28:45 pm »
I can probably help some, or can try. I'm not exactly for sure what you are trying to do for sure though.

One thing I noticed though is you can just have Input Str1 instead of Input "",Str1.

Actually scratch that. I forgot that it puts a ? there, which I don't see as in issue but ya, I'm not you.

Basically, this will be a program, written in pure BASIC, that will do complex unit conversion/calculations. By the time this program is done, I'm hoping that it will accept input such as 5 kg*m2/s2 INTO cal and display the answer as 1.19502868.

Yeah, I will use Input "", Str1 simply because I want it to look as natural as possible, and without the "?", it looks exactly like the main TI-OS homescreen.

I'll try to help. I tried to make the BASIC program that gives the derivative using string. Although I didn't finish it, developing it helped me understand a lot about strings and doing math stuff with the string.
But I don't have my calc atm, and will be able to help you after around mid-June.

Well, that's unfortunate. I can only upload files until mid-June.

Doesn't matter, though. I'll post updates in other ways.

EDIT: Just thought of something: The newest version of WabbitEmu supports exporting variables, right?

EDIT2: Wow, there's a lot more traffic on Omnimaga.

8328
TI Z80 / Calcalca
« on: May 28, 2010, 06:36:25 pm »
I'm pretty sure this hasn't really been done before, at least in TI-BASIC, but if something similar exists, please notify me.

Last year, I was absolutely amazed by the simplicity and ingenuity of Google Calculator, especially where you can type in any expression using any units (and an optional unit to convert to), and I decided that that was something someone needed to code for TI calculators. Thus I went on a coding rage, and actually got much of it done within a month, to the point where you could type in something like 7 M * IN INTO CM CM and it would display 1778. Unfortunately, I couldn't figure out division, parentheses, or exponents, so I set it aside and continued with other projects. One day, I really needed to clear some ARC space, so I deleted the group where I had saved it (I called it CALCALCA). I finally started regretting this decision, and will start coding it again, but I really need help with the issues I mentioned above.

This is what I've decided for the program so far:
1. It will use a blank input (Input "",Str1) to input a continuous expression.
2. The resultant string will searched through first for illegal characters.
3. The string is checked a second time, this time for the characters " INTO " (which specifies that the following units say what unit the user wants)
4. First, "(" is added to the beginning, and ")" to the end, just for padding (i.e., "("+Str1+")"→Str1)
5. The string is then evaluated, one character at a time.
    a. Whenever it hits a space, it tests to see whether * follows it.
        i. If there is one, the space is deleted by using sub('s for the two sides of the string.
        ii. If there is not, the space is replaced with )(, which assumes the space meant implied multiplication.

    b. Whenever it hits a letter, a subloop gets the entire combination of letters, which is saved to another string for checking.
        i. The second string is checked against a database of all the units to be supported (see note below).
        ii. If there is a match, that entire section of the main string is replaced with the numerical value of the unit, surrounded by "(" and ")", and the unit's base units are added to a list (see second note below). matrix.
    c. Whenever it hits a number, ".", "*", or "E", it it added directly.
    d. Whenever it hits a "(", the matrix is widened by one, and base units added from then on are added to the new column.
    e. Whenever it hits a ")", it stored the rightmost column into L1 and checks the following character.
        i. If it is a "-1", L1 is inverted.
        ii. If it is a "2", L1 is doubled.
        iii. If it is a "^", another subloop is used to get the entire number following it, and L1 is multiplied accordingly.
        iv. L1 is integrated into the next-rightmost column of the matrix.

6. When this is all done, the program will evaluate the string (with an exp() and (theoretically) appends the final unit.

Note:
The database consists of a huge (literally, huge, and might even be larger than the program itself) string containing each supported unit in the format:
Code: [Select]
"   2            Pa           -1    01    00    -2             1.00000000           ..."
    ^            ^            |                  |                  ^                ^
    |            |            +------------------+                  |                |
    |            |                     |                            |                |
Length of     Unit name.    These four numbers are the       How many of the      Continue
unit name.                  base units for the unit, in      unit fit into        onto next
                            the order {length, mass,         the base unit.       unit.
                            current, time}. For example,     Since pascals are
                                Pa=N/(m^2)                   the base for
                                =(kg*m/(s^2))/(m^2)          pressure, this
                                =kg/(s^2)/m                  would be a one
                            so is mass (the positive         (the zeroes are
                            one) divided by time squared     because it needs
                            (the negative two) divided by    to have exactly
                            length (the negative one).       ten characters).

Anyone willing to help me with this program? I currently have several programs in development simulataneously, and I can't finish this myself.
By the way, if anyone can't read the above code, I attached it as a .txt:

8329
I won't mention how many times I lost data (only on small, worthless ASM and BASIC programs) by, after losing the original, trying to ungroup the backup I had made and getting an ERROR:VERSION on the wanted file or getting it on a file alphabetically before, causing me to be unable to get the file in question.
So, yeah, not even your archive is a completely safe place.

That ERR:VERSION has happened to me too. Why does it happen? I group a couple of perfectly fine variables, then ungroup it on the same calculator, and it throws a version error. It happened as I was finishing up a pretty complex game after weeks of working on it, and I had no choice but to delete the broken group to free up archive space. Once, however, I did get my files back. I was somewhat panicking when I saw the ERR:VERSION again, and tried everything I could to get my precious program back, including deleting the application MirageOS. For some reason, it worked. Anyone have any idea what's going on?

8330
TI-BASIC / Re: Copy/Paste Programs
« on: May 28, 2010, 03:45:21 pm »
Yeah very useful indeed.

Another solution is to group your programs then when ungrouping, rename duplicates, but that takes longer.

I've done that before, and for longer programs, it takes a lot less time (especially if you want to copy a 10K program). Doesn't it hurt the flash chip, though?

8331
TI-BASIC / Sidescrolling
« on: May 28, 2010, 03:37:34 pm »
I'm starting on a platform game called Absolute Insanity II, and I don't know if I should include sidescrolling. It's going to use stat plots for the main graphics portion. I've never used them before, but they seem pretty fast compared to sprites, so I was thinking of including sidescrolling if it ends up running fast enough. I've tried to make a simple sidescrolling engine, but it hasn't worked so far. Is it even possible to have sidescrolling on the graph screen, or is this another one of my overambitious failures? If anyone knows of a program (in pure BASIC) that has sidescrolling on the graph screen, please tell me. I really need examples right now.

8332
TI-BASIC / Re: Extra Characters Reordered
« on: May 28, 2010, 03:22:08 pm »
I never understood why TI assigned Í and k such seemingly random token codes.

8333
TI-BASIC / Re: String to List Glitch
« on: May 28, 2010, 03:14:03 pm »
I wonder if something similar could be used for save files? I know the guy who made the first xLIB Metroid in 2006 had a password-based save system, but I never checked if it was easily hackable or not. I myself never figured out how to do such save system.

If a list function were used, it'd be too easily hackable (since all the user has to do is go into the list editor and change the function to change his stats).

8334
Project M (Super Mario) / Re: Name
« on: May 28, 2010, 01:36:31 pm »
This raises an interesting point.  I vote for the program to be called "Project M" on calc, but on Ticalc, I think it could be "Super Mario World Z80: Project M".   On a side note, could some confuse "Project M" with Metroid?

That's actually what I thought when I first saw the name "Project M".

It seems better to have the word "World" somewhere in the name, since then it be less likely for someone to get it mixed up with Super Mario v1.2 or v2.0.

8335
TI-BASIC / Re: String to List Glitch
« on: May 28, 2010, 01:25:45 pm »
That's really cool! I might have to use this feature...

I've found that it's really useful if you want to make a passcode feature, as for a puzzle game with a passcode for each level. Just do something like

:"randInt(1,26,10)E4+randInt(1,26,10)E2+randInt(1,26,10→PCODE

and you'll have a nearly unhackable 3-letter passcode for each level stored in list PCODE. Before accessing the password, you can even specify something like a key to decrypt it by having a

:[num]→rand

where [num] is some arbitrary integer. That way, the only way for the user to find the password is if he happens to know the key (i.e., the value of [num]).

8336
General Calculator Help / Re: WabbitEmu Skin?
« on: May 25, 2010, 07:22:43 pm »
AND IT WORKS!  :D

You don't need the Visual Studio build. The normal one has perfect skins.

There's still a problem with loading new ROMs, though. This was the same as with the previous version: whenever I load a new ROM, it doesn't change immediately. I have to open a new calculator for the change to take effect.

EDIT: Oooh, now there's customizable shortcut keys.

8337
General Calculator Help / Re: WabbitEmu Skin?
« on: May 25, 2010, 07:11:41 pm »
I'm using the developer build. Do you know if this is the same one?

Anyway, I'll try it.

EDIT: Wow, it just happens to be 1337 KB in size. Weird.

EDIT2: Nice. Every time there's a new version, they add a new tab to the Options section.

8338
General Calculator Help / Re: WabbitEmu Skin?
« on: May 25, 2010, 07:04:00 pm »
It's happening to me too. I use Windows Vista (it sucks), and the only ROM that doesn't create that size difference error is the TI-83 Plus Silver Edition one.

Pages: 1 ... 554 555 [556]