Author Topic: Features Wishlist  (Read 682801 times)

0 Members and 1 Guest are viewing this topic.

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 #1890 on: February 15, 2011, 01:44:04 am »
Nope, just that.  But you have to make sure to add the Fix 8 to the end of the program.  It makes the calc draw bitmaps directly to screen, like normal.

Question: At which point does the calc ever actually use the bitmap command I wonder? O.o

Offline Michael_Lee

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1019
  • Rating: +124/-9
    • View Profile
Re: Features Wishlist
« Reply #1891 on: February 15, 2011, 02:06:48 am »
It would also be able to read/write to bits instead of just bytes and nibbles. 

Erm... what?

@Builderboy: I've no idea but it would be interesting to find out.
My website: Currently boring.

Projects:
Axe Interpreter
   > Core: Done
   > Memory: Need write code to add constants.
   > Graphics: Rewritten.  Needs to integrate sprites with constants.
   > IO: GetKey done.  Need to add mostly homescreen IO stuff.
Croquette:
   > Stomping bugs
   > Internet version: On hold until I can make my website less boring/broken.

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 #1892 on: February 15, 2011, 02:23:24 am »
I think he meant I would also like to be able. Didn't Axe already support bit reading/writing, though?

Offline Michael_Lee

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1019
  • Rating: +124/-9
    • View Profile
Re: Features Wishlist
« Reply #1893 on: February 15, 2011, 02:43:51 am »
Ah.  That would make sense.
Axe does support it, but I've always thought that it was a bit complicated to do.
My website: Currently boring.

Projects:
Axe Interpreter
   > Core: Done
   > Memory: Need write code to add constants.
   > Graphics: Rewritten.  Needs to integrate sprites with constants.
   > IO: GetKey done.  Need to add mostly homescreen IO stuff.
Croquette:
   > Stomping bugs
   > Internet version: On hold until I can make my website less boring/broken.

Offline FinaleTI

  • Believe in the pony that believes in you!
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1830
  • Rating: +121/-2
  • Believe in the pony that believes in you!
    • View Profile
    • dmuckerman.tumblr.com
Re: Features Wishlist
« Reply #1894 on: February 15, 2011, 05:55:54 am »
Nope, just that.  But you have to make sure to add the Fix 8 to the end of the program.  It makes the calc draw bitmaps directly to screen, like normal.

Question: At which point does the calc ever actually use the bitmap command I wonder? O.o
I believe the cross-like graphscreen cursor is a bitmap.


Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Features Wishlist
« Reply #1895 on: February 15, 2011, 09:21:28 am »
It would also be able to read/write to bits instead of just bytes and nibbles. 

You can, with bit-masking. (Use and, or, and xor to mask bytes, then store them back.)

Bit flipping sounds like a useful feature too. Might be slow, though.
« Last Edit: February 15, 2011, 09:23:38 am by Deep Thought »




Offline NinjaKnight

  • LV2 Member (Next: 40)
  • **
  • Posts: 20
  • Rating: +2/-0
  • Hey! Look behind you! It's a -- (runs)
    • View Profile
Re: Features Wishlist
« Reply #1896 on: February 15, 2011, 10:49:45 pm »
Bit flipping sounds like a useful feature too. Might be slow, though.

What do you mean by bit flipping? If I understand correctly, couldn't that be done with a simple
A xor b(bits to be flipped) -> A

For example,
A xor 15 -> A
would flip bits 0-4.
Ninja vs. Chuck Norris == n/0. Both end with the world blowing up.

"We could use up two eternities in learning all that is to be learned about our own world and the thousands of nations that have arisen and flourished and vanished from it. Mathematics alone would occupy me eight million years."
-Mark Twain

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Features Wishlist
« Reply #1897 on: February 15, 2011, 11:11:10 pm »
Whoops, I just noticed I replied to ralphdspam on a different page... :D

Yep, and use or to set and and to reset. Use the plot style tokens for full 16 bit control. There are also ASM instructions to do it on bits directly, which is what I think ralphdspam meant

And now that I think of it, when would you use SET and RES in an Axe program, then? Especially considering the way Axe does math.




Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Features Wishlist
« Reply #1898 on: February 15, 2011, 11:42:29 pm »
Whoops, I just noticed I replied to ralphdspam on a different page... :D

I actually had Huffman Coding in mind when I requested this feature.  It would save a lot of space in my code if I could just work with individual bits instead of having to test the entire byte for the individual bits.  (if that made any sense  :P)
ld a, 0
ld a, a

Offline Compynerd255

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +53/-4
  • Betafreak Games
    • View Profile
    • Betafreak Games
Re: Features Wishlist
« Reply #1899 on: February 16, 2011, 10:25:48 am »
And now that I think of it, when would you use SET and RES in an Axe program, then? Especially considering the way Axe does math.
You would use it to store multiple booleans inside one 8-bit number, in order to save space. I personally use bit checking for Eitrix, using individual bits to store the grid. Similar tricks can be used to store 2, 4, and 8 bit numbers inside larger number structures.
The Slime: On Hold, preparing to add dynamic tiles

Axe Eitrix: DONE

Betafreak Games: Fun filled games for XBox and PC. Check it out at http://www.betafreak.com



Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #1900 on: February 18, 2011, 11:46:59 pm »
Could you give axioms the ability to define their own Fix statements? As far as I can tell, the parser handles Fix statements as special cases anyways, merging two one-byte tokens into one command. I believe it would be invaluable for Axiom programmers to be able to provide settings for their commands with their own Fix statements, whether they are expanded to allow arguments greater than 2 digits like Fix 10, or at least allow any second token to be appended, like Fix A, or even something like Fix  or .


EDIT: Also, any chance of support for Axioms followed by a store token? Like: Pt-On(X,Y,PIC)→BUFF


EDIT 2: Oh yeah, and is the limit of 32 entries per Axiom listed in the documentation a technical limitation? Because if not, any chances that limit could be lifted? I forsee something I'm working on passing 32 entries. A lot of them are just custom variable defines and slightly varying calls (number of arguments, r modifiers) for a few actual routines, but the total number is bound to surpass 32.
« Last Edit: February 19, 2011, 03:55:36 am by Runer112 »

Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Features Wishlist
« Reply #1901 on: February 19, 2011, 12:04:39 am »
Something like the multi-digit Fix things would be cool in a normal program as well (something like Fix 0,6,8).
Vy'o'us pleorsdti thl'e gjaemue

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Features Wishlist
« Reply #1902 on: February 19, 2011, 11:02:19 am »
Something like the multi-digit Fix things would be cool in a normal program as well (something like Fix 0,6,8).
or Fix 068 could work.  I believe that was asked before somewhere.  I like the idea.  Would it be smaller compiled code?, or the same?

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Features Wishlist
« Reply #1903 on: February 19, 2011, 11:07:26 am »
Something like the multi-digit Fix things would be cool in a normal program as well (something like Fix 0,6,8).
or Fix 068 could work.  I believe that was asked before somewhere.  I like the idea.  Would it be smaller compiled code?, or the same?

Nope, it'd be exactly the same compiled (since each Fix is an individual SET/RES instruction). I like the idea of combining them, though, for easier-to-read code.
« Last Edit: February 19, 2011, 11:07:31 am by Deep Thought »




Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Features Wishlist
« Reply #1904 on: February 20, 2011, 06:01:14 pm »
It would also [like to] be able to read/write to bits instead of just bytes and nibbles. 

You can, with bit-masking. (Use and, or, and xor to mask bytes, then store them back.)

Bit flipping sounds like a useful feature too. Might be slow, though.

Yeah, but I would have to do something like this:
Say I want to test 10110011
Code: [Select]
179->A
For(B,0,1)
If nib{A*2+B} and 8
Sub(D)
End
If nib{A*2+B} and 4
Sub(D)
End
If nib{A*2+B} and 2
Sub(D)
End
If nib{A*2+B} and 1
Sub(D)
End
End
Lbl D
.Do Stuff
Return
If there were to be command specifically for bits, I would be able to do this:
Code: [Select]
179->A
For(B,0,7)
If bit{A*8+B}
.Do Stuff
End
End
ld a, 0
ld a, a