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 - Quigibo

Pages: 1 ... 132 133 [134] 135
1996
The Axe Parser Project / Latest Updates (***DO NOT POST HERE!***)
« on: February 02, 2010, 06:00:05 pm »
THIS THREAD IS ONLY FOR UPDATES TO MAKE THEM EASY TO FIND.  PLEASE DISCUSS IN THE OTHER THREADS.

Axe Parser
Alpha 0.0.2



New Features:
  • String storage
  • Display strings
  • Display new line
  • rand
  • Don't display done
  • Pause in milliseconds

An example program also included.

1997
The Axe Parser Project / Re: Features Wishlist
« on: February 02, 2010, 04:28:18 pm »
Sprites are absolutely an essential part of this.  I will probably only support 8x8 and 96x64 sprite sizes though.  If you need other sizes, you can write your own subroutines to display them.  For instance, in Pyoro, the bird is a 12x12 sprite, but I draw him using 4 8x8 drawing routines for each corner.  If I do end up supporting other sprite sizes, it will probably be very late into the development.

1998
The Axe Parser Project / Features Wishlist
« on: February 02, 2010, 04:16:50 am »
If you have any requests for new commands post your ideas here.  also, it would be helpful if you provide what you think would be a good syntax for that command.  Keep in mind that if you redefine a BASIC command, it should either be useless or there should be a way to still perform the old command in a different way.

1999
The Axe Parser Project / Re: Axe Parser
« on: February 01, 2010, 05:36:44 pm »
Okay, that's like a million questions, but I will attempt to answer them all:

Quote
Apps?  How do you make large Apps if the source file can only be 1.25ish pages large, due to lack of RAM?
When its finished, it will allow the source programs to be in archive.  You will also be able to include subprograms in your programs like the "include" feature in C.  If it compiles to an app, it will have to be a one page app since it will be too complicated to switch pages with anything that resembles basic.  But that's still 16k, which is large enough for most applications.
Quote
How do you use the predefined A - Z and Theta?  And what about Theta?
They are stored in the saveSScreen ram location.  I have not included theta yet because I am still considering using it for some other purpose.
Quote
Can you have comment blocks?
You can do single line comments, but I feel that inline comments will just make the code very unreadable.
Quote
Can you include the ++ and -- operators from C++?
I might.  A++ can save 2 bytes when assembled instead of doing A+1.
Quote
Does the Ans Variable work the same way as in basic?
No, I no longer use it, its pointless.  If you have no argument, it automatically assumes the last expression.  But it must immediately follow or it will just be garbage.
Quote
If you Pause, and the run indicator is off, does it stay off?
Yes
Quote
How does Disp work when you get to the end of a line?
Disp is not fully functional right now.  I only included it so I have some type of output to test everything.  Nothing will display at the end of the line.  It will work like it does in BASIC when its finished.
Quote
Can getKey ever go back to the getKey of basic, or is it always GetScanCodes?
Probably not, but I will have a directkey command in the future (for multiple key presses)
Quote
While is still PreTest, and Repeat is still PostTest, right?
Its pretest right now... was it post test in basic?  I've never used it before, but that would be very easy to change and also save 3 bytes.
Quote
Can you check if sub( has a comma in it, and if so use it like it is in TiBasic? (If it dosn't have a comma, it's subroutien.)
Nope.  You will be able to do substrings like this: Str(5) gets 5th character in string.
Quote
__=Var means what equals Var?  And is the underscore a space?  Is it Ans?
Yes, basically any expression, variable, number, or Ans before it.

2000
The Axe Parser Project / Re: Axe Parser
« on: February 01, 2010, 04:22:06 am »
Yes, I am hoping it will be all that and more.  ;)

By the way, since this is a lot to take in, here is an example program to simply display the "getkey" codes for each key (which are different from the BASIC getkey.  Its the GetCSC codes for all you asm programmers)

2001
Wow! I only came around recently, but now I see what you were talking about.  This is definitely a good sign, I love to see a renewed spark of interest in the Calc community.

2002
The Axe Parser Project / Axe Parser
« on: February 01, 2010, 03:52:51 am »
Axe Parser
Alpha 0.0.1



WARNING:
This is still an alpha version.  It is not stable and you should not run this on any calculator that has anything intellectually valuable in the RAM.  Just for liability reasons, I will also add that there is a non-zero possibility your archive might not be safe either.

Description:
It is a new programming language for the calculator.  It is typed directly into a program just like BASIC and with a similar syntax.  Unlike BASIC however, this is a compiled language, not an interpreted one.  The program gets compiled into an assembly program.  In the future you will be able to make Ion, MirageOS, and Doors programs; possibly apps too.

Advantages:

You basically get the simplicity of BASIC programming but with nearly the same size, speed, and compatibility of assembly programs.  You won’t need “Shells” or “Libraries” to run the programs.  They are just like any other assembly program.

Syntax:
It is similar to BASIC, but also very different.  First, it has an extremely loose syntax.  You know how you can leave the end parenthesis off of BASIC commands and do multiple same-line DelVars?  It’s like that on steroids (if you so choose).  For instance: the store “->” can be used in expressions like A+B->C+1->D so now C holds A+B and D holds A+B+1.

Differences With BASIC:

I will be re-defining a lot of commands.  Most are usually unused anyway, but some are not.  For instance, “DiagnosticOff” turns off the run indicator.  But “sub()” now runs a subroutine since you will be able to take characters from a string the same way you do with lists in the future.

Variables and Numbers:
All numbers and letters A-Z are 16-bit unsigned integers.  Unlike BASIC variables, they don’t reside in the user ram so they take up zero memory.  You might want to read about unsigned numbers on Wikipedia or something if you are not familiar with it.

User Defined Variables:
Things like strings, lists, sprites, and floats will be defined by the user.  However, I haven’t gotten to that point yet, but expect that soon.



There is no UI right now.  Select your program, which must be in RAM, from the list, which is not in alphabetical order, and it will compile into a program called “LOL”, you can’t name it right now.  I figured I’d get the compiler working before I get back to the UI.  I’ve also attached a document with the complete instruction set so far.

I’d like to hear your thoughts :)
I have too many ideas right now to put on paper.

2003
TI Z80 / Re: Hunt z80 port
« on: January 27, 2010, 02:20:16 am »
Maybe we could explore some new effects in ASCII using ASM. One of the things could be using an custom font 4x4 or other size.
 I can't get other ideas right now...
PS: maybe something massive like lots of enemies moving around... There is an absurd amount of speed to spend on graphics. Maybe even ASCII grayscale? This is getting insane. Weregoose showed a curious picture of possible grayscale with TI font 8x8 font on UTI.

How do you think the calculator puts text on the screen?  It uses a special sprite drawing routine for a table of ASCII characters.  But since it uses extra ROM calls and redundant error checking, it is actually MUCH slower than the standard method of drawing sprites.  If you wanted to, you can use the home screen as the 8x16 "grid" and a standard 8x8 drawing routine for your 8x6 "characters" or whatever size for a much faster result.  But that's essentially what lots of assembly games do already.

2004
TI Z80 / Re: Pyoro
« on: January 24, 2010, 07:10:21 pm »
I love this version!  I don't see anything wrong with it, except I'd change the pause key to mode.  The gameplay's great!  My favorite thing is the changing backgrounds. :)

I made it to the second level.  It's harder, but incredibly fun.  Thanks for such an awesome game!

I was wondering:  How much space is left in the App?

Thanks!  There is a little over 5k left in the app, not an issue.  But I've nearly ran out of safe RAM since I have to copy a lot of self-modifying code there plus I'm double buffering a grayscale screen. :P

2005
TI-BASIC / Re: Extra Variables - An advanced TI-BASIC trick
« on: January 24, 2010, 03:56:52 pm »
Wow!  That's great!  Those are two more "constants" that I'll start using.  They can take various values like -1.346, 8, 9001, .345 right?
Yes.  They just can't be complex.


Another way to save stat vars (probably better than my first example)

{A,B->L1
1-Var Stats


The smaller of A and B is saved in minX and the larger of the two is in maxX.

Also in case its useful, their sum is in Σx, the average is in Med, and the sum of their squares (maybe in case you're using this constant to compare distances) is in Σx2

2006
TI-BASIC / Re: Extra Variables - An advanced TI-BASIC trick
« on: January 24, 2010, 12:57:47 am »
You're right, I just tried this.  Reading from 'a' and 'b' really are faster than the standard variables since they are in specific locations, like the finance variables!

2007
TI Z80 / Re: Pyoro
« on: January 24, 2010, 12:33:45 am »
Ohhh.... I see what you mean.  I guess that's possible using interrupts, but yeah, it would definitely cause massive slowdowns.  Things like grayscale would basically be impossible.

2008
TI Z80 / Re: Pyoro
« on: January 24, 2010, 12:04:11 am »
I wonder if there could be a version only for 15 MHz calculators that actually played sound as game goes on? I don't know how hard it would be, though, but Benryves did something similar before I believe. He even had four sound channels
Huh?  The game already plays music as the game goes on.  You just have to turn the music on in the options and plug in some headphones.


Oh and by the way for those who want a sneak peak, here ya go!  And thanks all you beta testers.  Just make sure you delete your beta versions before installing this because I changed a few things in the final version.

Pyoro v2.0

2009
TI Z80 / Re: Pyoro
« on: January 23, 2010, 09:05:23 pm »
Quote
Plus I see that you have no leftover speed to change the volume with.

That doesn't mean I can't make the notes play for longer (which might make it seem louder), it would just slow the game down a tiny bit if I did.  I think its at a good loudness to speed ratio right now though.  Luckily, now there is an option to turn it off when you're not using it for better grayscale.


By the way, apparently no one noticed a bug that when you pause the game, the word "score" has the pixels in the 's' and 'c' messed up.  I've fixed that now as well as some other stuff.   I think its ready to be submitted now, I just have to finish the readme and get new screenshots and stuff.

2010
TI Z80 / Re: Pyoro
« on: January 23, 2010, 06:00:03 pm »
Quote
I can'twait for  tomorrow, when I can play.  Cheesy Did you change the volume level of the music, because I found it a little quiet, but incredibly cool. Is it possible to have an option for this?

There is no such thing as "volume level".  The port has digital output not analog, so there really isn't a way to control volume.  I don't have any headphones, I've been testing the sound with a little Peizo Transducer (a mini speaker for circuit boards.  The thing below:)

Its really really loud with this, I have to use a 2k ohm resistor because its so loud.  So I'm guessing that if it doesn't sound loud, its probably your headphones, they're not made for low voltage.

Quote
I tried the new version and it works great on the NSpire. But it is a bit slow (compared to the game run on my sister's 83+ ). Dunno, maybe the NSpire is slower than a normal 84+... Could you possibly add a "NSpire mode" option to make the game run faster? Mess around a bit with the interrupts, I'll tell you what setting is the best on the NSpire.

Unfortunately no  :(

Unlike a lot of other games, Pyoro used every singe clock cycle for something.  I don't even use interrupts because they slow the game down too much since I have to constantly enable/disable them plus back up all the registers every time the interrupt is called.  I mean even in my screen drawing routine, I'm using the extra clock cycles to double-buffer the background.  No "waste code" or "timing pauses" at all.

Now that said, I could make it so that it only redraws the screen once per frame rather than 3 times (It has to be an odd number of draw cycles), but then the grayscale will suffer severely.  It will look like a flashing checkerboard, but the gameplay would be twice as fast.


I think what I'm going to end up doing for the tongue mode is cap the speed at the second or third highest because if the tongue is extended all the way and a really fast fruit is falling above you, by the time the tongue retracts so you can move out of the way, you're hit!

Pages: 1 ... 132 133 [134] 135