Author Topic: Features Wishlist  (Read 688486 times)

0 Members and 2 Guests are viewing this topic.

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6266
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Features Wishlist
« Reply #75 on: February 06, 2010, 03:25:00 pm »
@builderboy: what do you mean you would have to relly on other asm programs?? You would just recall the tokenized string/program into te source and then axe would parse it.
/e

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Features Wishlist
« Reply #76 on: February 06, 2010, 03:53:10 pm »
@builderboy: what do you mean you would have to relly on other asm programs?? You would just recall the tokenized string/program into te source and then axe would parse it.
You somehow have to unlock the Asm program.  I'd use Oasis... ;D

After thinking about what Builderboy said, I think pure binary would also work nicely.  What do you think Quigibo?

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6266
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Features Wishlist
« Reply #77 on: February 06, 2010, 04:02:40 pm »
Well that's true, but you would usually have a shell or something on your calc. Or Quigibo could include something in axe that would let you do that.
I wouldn't like to use binary, it takes way too much room. But if you could let us have the option of with hex or binary that would work. 
/e

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Features Wishlist
« Reply #78 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.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6266
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Features Wishlist
« Reply #79 on: February 06, 2010, 04:45:30 pm »
ah ok, well that is good :D
/e

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Features Wishlist
« Reply #80 on: February 06, 2010, 05:30:50 pm »
Yay Pointers!
Sounds good.  I can't wait for 0.0.4! ;D

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #81 on: February 06, 2010, 05:42:18 pm »
I was thinking something along the lines of this.  I whipped it up in about an hour:


Yep, that would be pretty useful. A lot of people use Paint/Photoshop to create their sprite sheets or they do them on calc and store as pics, so an editor like this would make it much easier for them to draw sprites, cuz creating sprites in hex can be quite hectic x.x

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Features Wishlist
« Reply #82 on: February 06, 2010, 07:31:07 pm »
For usage in a program: Syntax: RecallPic Appvar name, sprite width(multiple of 8), sprite height, screen x coordinate, screen y coordinate.

Each appvar would be predefined to hold 768 bytes of data( i dont know if appvars themselves take up space), so you can either fill it with one full screen pic or several smaller sprites 8x8, 16x16 etc.

At compile time all the necessary data could be copied from the Appvar. If this is plausible, I don't know that the StorePic command would even be necessary in it's normal sense.
Pics would be used when you have large ammounts of sprite data, and could be archived if needed.  And Binary would be used when you have a small amount of sprites or just want to play around a but.  And then when compiling the program, the pics/binary would be stored into the program itself so that there is no need for any pics/appvars to run your program.
This is what I was saying as well. However change "Appvar" in my original quote to "Picture files".
Could they be written in binary for readability and the have axe convert them to hex when the program is being compiled?

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Features Wishlist
« Reply #83 on: February 06, 2010, 10:18:52 pm »
Could they be written in binary for readability and the have axe convert them to hex when the program is being compiled?
I like that idea, but I think it would be compiled to the format the calc uses for storing assembly programs. (I think it's internal-binary.  Am I right?)

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6266
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Features Wishlist
« Reply #84 on: February 06, 2010, 10:26:41 pm »
Tokenized. I want that too.
/e

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Features Wishlist
« Reply #85 on: February 06, 2010, 10:59:25 pm »
So these are the currently wanted formats to store the source data in if i cam correct:

Pics: Easy to edit and easy to view/preview sprites.  Take up a lot of space however and source will not be in one file.  Pics may or may not be archived to save memory, and storage is efficient with 8 pixels per byte)

Binary: Just 1s and 0s in the program, easy to type and edit, and easy to preview, however this is VERY memory inefficient, at 1 byte per pixel.  Cannot be archived either, as it resides in the source program.

Hex: Similar to Binary but every 4 bytes is represented as a char from 0-F.  More memory efficient but harder to see what the sprite is supposed to look like, and harder to edit.  Cannot be archives. 4 pixels per Byte.

Tokenised: Taking Hex a step further, each 2 hex codes is tokenized by a program or the OS and recalled into the program.  Twice as efficient, but even harder to edit/preview.  Cannot be archived.  8 pixels per byte.  Same storage capacity as a pic, but can change size according to how many sprites you need.

Appvar: Data is stored in an appvar by some sort of sprite editing program and can be archived for memory uses.  This is memory efficient but makes for difficult previewing and multiple files for the source.  8 pixels per byte.

I personally am for Pics and Binary, if only because Hex/Tokens/Appvars are difficult to edit quickly and preview without external programs.  Also for making large amounts of sprites, like for huge tilemaps, it would be nice not to have a bunch of hex/tokens in your program, and be able to view the whole sprite map in one pic.  It also helps for sprites that are greater than 8x8, as they will have to combine multiple 8x8 sprites, which might be difficult to do/visualize with hex/tokens.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Features Wishlist
« Reply #86 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.
« Last Edit: February 06, 2010, 11:23:43 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #87 on: February 06, 2010, 11:44:07 pm »
I never heard of tokenized sprite before x.x

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6266
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Features Wishlist
« Reply #88 on: February 06, 2010, 11:57:53 pm »
Well you could define how big it is and it would know. Also, you could provide a simple hex tokenizer for the developers.
/e

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Features Wishlist
« Reply #89 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.

« Last Edit: February 07, 2010, 12:27:59 am by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!