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 ... 130 131 [132] 133 134 135
1966
TI Z80 / Re: Progress
« on: February 07, 2010, 07:22:56 pm »
Its going to be a while before games can fully be coded in AP.  It will be several more releases before I finish pointers, which are used for data storage in arrays and grids, the same way you use "Lists".  Plus I've got loads to do with automatic optimization and I have to build an actual GUI.  The first stable beta release probably won't be ready for about 2-3 months, assuming no unforeseeable problems.

1967
The Axe Parser Project / Re: Bug Reports
« on: February 07, 2010, 06:56:18 pm »
I'll work on that.  Both of those are fixable, but I'm not sure if there's any built-in OS calls for that.  I can write my own routine, but I'm trying to make sure these programs don't use too much memory.  Luckily, the subroutine support can really cut down on size of the overall program.  Even the most basic things like this save memory:


:If 2sub(1)
:'code here'
:End
:If 3sub(1)
:'code here'
:End
:Lbl 1:<A:Return


The routine above saves 5 more bytes than if you were to use the strait forward way below.


:If 2<A
:'code here'
:End
:If 3<A
:'code here'
:End


1968
How would projects be monitored?  If someone starts a project and then just never finishes it does it just sit there forever?  And what about once a project is completed, is it removed from the projects list, and who would remove it?

1969
The Axe Parser Project / Re: Bug Reports
« on: February 07, 2010, 03:40:49 am »
Thanks for the report.

When apps exit, they need special exit code so that what you're describing doesn't happen.  It sounds like there was a memory leak somewhere causing the app to exit early.  That's why it didn't reset the ram, because it wasn't actually frozen.  I'll let you know when I find the leak.  Thanks again.

EDIT: Okay found it.  Wow, that was a stupid mistake on my part.  To get around the error temporarily until the next version, don't use parenthesis in any place where they are not needed; if the order of operations is naturally going left to right anyway.  The compiler is supposed to ignore the parenthesis when you do this, but instead it exits early...

:If (K=4) and (B≠0
Change to this:
:If K=4 and (B≠0
Since K=4 is evaluated first anyway.

If you ever get this error again, just turn off your calculator and turn it back on and the problem will go away.  Nothing in memory should be affected.  Oh actually, maybe ram clear anyway since the "LOL" file will be corrupt.

1970
The Axe Parser Project / Re: Features Wishlist
« on: February 07, 2010, 12:26:43 am »
Don't forget, no matter what method you use to define sprites in the source, the assembled program will be the EXACT SAME SIZE.  And since you can archive your source files, and you can have more than one source file in the same project, efficiency is really a non-issue; they're just for the programmer's convenience.  Editing a sprite on-calc and then doing [rcl] [str1] or something for hex code seems, for me personally, to be the fastest and easiest way other than strait binary.  And also, I've already written code to read hex code used in the Asm() feature.  So only a slight modification will be necessary.  I can also modify my helper program so that 16x16 sprites can also be made easily.

The only advantages I see in using picture vars is that you can edit them on the computer and its easy to change an entire sprite set by just swapping a picture.  But I don't know how useful those features really are for most people.

By the way, I'm going to be very busy the next couple of days so the next update probably won't come until later in the week.


1971
The Axe Parser Project / Re: Features Wishlist
« on: February 06, 2010, 11:23:28 pm »
By the way, tokenized sprites will not be able to work properly now that I think about it.  How would you indicate the end of the sprite data since every combination of characters is possible?  I would either have to use escape characters, in which case you might as well use hex, or you would have to predefine the size of the block of data.

Either way, I think this is against the point of the program.  You should not need any tools to actually code which is something I find very annoying about the BASIC language (like trying to get special characters).  The only tools you should need are those that will come built into axe which will include symbol charts, a sprite editor, a help manual, and maybe some other stuff.

1972
The Axe Parser Project / Re: Features Wishlist
« on: February 06, 2010, 04:39:45 pm »
As everyone will soon discover, later probably than sooner, all user defined variables are actually pointers.  Str1 and Pic1 will be able to be used anywhere the other can, they just point to where the data is.  So you can define a sprite with a string similar to tokenized hex, or vise versa if you need special characters.

Just to simplify things though, the next release will only support Hex sprites for now.  I'll get to the more complicated sprite formats later.

1973
The Axe Parser Project / Re: Features Wishlist
« on: February 05, 2010, 09:43:34 pm »
Back on topic...

I'm going to get to the sprite stuff soon, but I don't know quite how the user will define a sprite.  I think I will offer multiple methods for different purposes, but I'm not sure what they will be exactly.

My first idea was to do something like this:
Code: [Select]
StorePic 1A
[--****--]
[-******-]
[**-**-**]
[********]
[*-****-*]
[**----**]
[-******-]
[--****--]
It looks better on the calc.  This would store a happy face into Pic1A.  The problem with this, is that it uses a lot of space in the Source file, but the advantage is that you can make the entire program without needing any external tools and it becomes very easy to make sprites.

In your original post you mentioned that using Picture files would take up alot of space, so I was trying to find an alternate workable solution. Perhaps I misunderstood and you just meant the picture files themselves were large? If that's the case, I don't mind. Picture files don't take up that much space in my opinion.  Additionally, if someone wanted to make a really large game they wouldn't have to worry about having to use hacked picture files. An Appvar can also be named whatever the user wanted. If using hacked pictures isn't a problem then picture files would be a much better solution.

What I was referring to is drawing pictures in the program like you quoted.  "Pic1A" is just a name, not a picture file.  If you literally type out the 1s and 0s (or in this case, hyphens and asterisks) to make a sprite, that takes up about 10x more space than it needs to in the source.  But also, if you only have lets say ten 8x8 sprites in the game, and you store them in Pic1, then you are wasting 90% of that picture since you're not using all of it.  Also, if you include the size of the picture and the size of the source code needed to tell the calculator which part of the picture to use, then it really comes out to about the same memory usage as pure Hex code.

Edit: Actually, I take that back, you can archive the pictures.  But its still not that much more memory efficient than Hex.

BTW, is everyone aware that all the user variables: Labels, Strings, Sprites, Pictures, etc. all have 2 byte names similar to labels?  You are not limited to Str0-Str9, you actually have Str00-Str9Z, which is 370 strings total.  Same with sprites and everything else.

1974
The Axe Parser Project / Re: Bug Reports
« on: February 05, 2010, 07:18:19 pm »
That's because I haven't implemented order of operations yet  ;)  It just goes left to right.

These are equivalent:
Code: [Select]
If A=0 or B=0
If ((A=0) or B)=0

Instead, try this:
Code: [Select]
If A=0 or (B=0)
Once I get to order of operations, this shouldn't be a problem anymore.

1975
The Axe Parser Project / Re: Features Wishlist
« on: February 05, 2010, 06:13:04 pm »
To be clear I just meant the Appvar as storage to hold the sprites. When Axe compiles the program the sprite data would be copied from the Appvar to your new program. You'd only need the Appvar if you wanted to "build" the program. That way it wouldn't need to remain on calc after you complete your program. Although, If you release the source with your program, I'm sure you'd want to include the Appvar as well (so it would be buildable)
Why use an appvar?  Why not just a picture file?  The picture file would be less memory and in addition to that, it is more editable.

1976
The Axe Parser Project / Re: Features Wishlist
« on: February 05, 2010, 05:58:49 pm »
I was thinking something along the lines of this.  I whipped it up in about an hour:


1977
The Axe Parser Project / Re: Features Wishlist
« on: February 05, 2010, 04:03:53 am »
Back on topic...

I'm going to get to the sprite stuff soon, but I don't know quite how the user will define a sprite.  I think I will offer multiple methods for different purposes, but I'm not sure what they will be exactly.

My first idea was to do something like this:
Code: [Select]
StorePic 1A
[--****--]
[-******-]
[**-**-**]
[********]
[*-****-*]
[**----**]
[-******-]
[--****--]
It looks better on the calc.  This would store a happy face into Pic1A.  The problem with this, is that it uses a lot of space in the Source file, but the advantage is that you can make the entire program without needing any external tools and it becomes very easy to make sprites.

Another option is to store pictures using Hex code.
Code: [Select]
[3C7EDBFFBDC37E3C]->Pic1A
It uses less space in the source, but it would require you to run an external program to convert a pic into Hex code.

A third option is to save the sprites as tiles on one of the picture files.
Code: [Select]
GetCalc(Pic1,8,16)->Pic1A
The biggest problem with this is that the source is dependent on the extra picture files and it is difficult to draw the sprites on-calc (although I guess you can still use an external helper program).

Does anyone have any other ideas for how to define sprites?  Or a better syntax?

1978
The Axe Parser Project / Bug Reports
« on: February 05, 2010, 03:25:34 am »
I thought I'd start this in case anyone is finding any bugs.  Its important I find them now before I start hard coding everything.  There is only so much I can do with testing, so I need your help!

Verified
* Custom interrupt label names are not processed correctly . [Fixed]
* Interrupts get disabled randomly with DispGraph commands when enabled previously [Solution Unknown]
* Error scrolling corrupts program data when programs are extremely large [Problem Unknown]

Unconfirmed
* Compiler freezes regularly when compiling applications on some calculators
* The AXEGUESS example program is always winning with the number "4"

Please confirm any unreproducible errors so I can make more sense of them with your calculator model, factory letter, operating system version, and other hook based programs on your calculator if applicable.  Thank you!

1979
The Axe Parser Project / Re: Axe Parser
« on: February 05, 2010, 03:22:16 am »
The new update 0.0.3 is here.  Finally got around to parenthesis, those things were Tricky!

1980
The Axe Parser Project / Re: Latest Updates (***DO NOT POST HERE!***)
« on: February 05, 2010, 03:18:27 am »
Axe Parser
Alpha 0.0.3



New Features:
  • String constants
  • Multiplication, Division, and Modulo
  • Parenthesis for Math
  • Negative sign
  • Output(

Changed:
  • The Fn tokens are now merged with the Diagnostic tokens

New example program.

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