Author Topic: Features Wishlist  (Read 690729 times)

0 Members and 2 Guests are viewing this topic.

Offline jo-thijs

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 19
  • Rating: +1/-0
    • View Profile
Re: Features Wishlist
« Reply #3135 on: February 03, 2013, 02:11:23 pm »
I've got another 2 requests:
- making an option so that you can easily make screenshots of your game, I can't find any other way besides using emulators.
- the syntax +→ and -→ to add/substract an expression to/from a variable or position in memmory pointed to.

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Features Wishlist
« Reply #3136 on: February 03, 2013, 02:41:05 pm »
if you want to take single frame screenshots, then an easy method would be to copy the contents of the screen buffer into a Pic variable (or into two, if you want greyscale). if you want animated screenshots on calc, then both limitations of storage and the amount of processing power required would make it not feasible.

for the +→ idea, that might actually be nice =)
* shmibs throws in a backing vote

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #3137 on: February 03, 2013, 02:53:37 pm »
I've got another 2 requests:
- making an option so that you can easily make screenshots of your game, I can't find any other way besides using emulators.
- the syntax +→ and -→ to add/substract an expression to/from a variable or position in memmory pointed to.

For making screenshots, an emulator will always be by far the best and easiest way to go. If you really wanted to make screenshots on the calculator itself, shmibs took the words right out of my mouth. You'd then just have to transfer any picture variables to a computer and convert them from 8xi format to a standard image format, like gif; SoureCoder would be an easy way to do this.

I've sort of had the idea of augmented assignment operators in the back of my head, but never put serious thought into implementing it. Partially because I'm not sure I feel comfortable trying to add operators like this, and partially because Axe is already really tight on space. However I have to say that I really like your syntax suggestion for it, so if I ever get around to figuring out how to implement it, I'll probably use that. :)

Offline TheMachine02

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 452
  • Rating: +105/-0
  • me = EF99+F41A
    • View Profile
Re: Features Wishlist
« Reply #3138 on: February 11, 2013, 01:34:02 pm »
two request :

-a Zadd() command, for change the z-adress (I know axiom can do it, but I prefer an axe command)

-an rect command who can draw in buffer and back buffer in same time (if possible  :P )
AXE/asm programmer - unleash the power of z80 //C++//C

epic 3D things http://www.ntu.edu.sg/home/ehchua/programming/opengl/CG_BasicsTheory.html

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #3139 on: February 11, 2013, 01:40:18 pm »
two request :

-a Zadd() command, for change the z-adress (I know axiom can do it, but I prefer an axe command)

-an rect command who can draw in buffer and back buffer in same time (if possible  :P )

Hmm, perhaps I'll add the z-addressing command. It certainly isn't difficult to implement. As for drawing shapes to multiple buffers... I'll think about it. :P

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: Features Wishlist
« Reply #3140 on: February 11, 2013, 06:41:45 pm »
A sign(foo) command that returns -1 if foo is less than 0, 1 if greater, and 0 if equal. And perhaps sign(foo,bar), which would compare it to bar instead of 0. And while I'm on the topic, perhaps sign()r could be the 8bit version?
Also, I know it'd have to be named something other than sign(), because there's already a sign{}, but I don't know what to call it.
« Last Edit: February 11, 2013, 06:43:50 pm by Freyaday »
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline jo-thijs

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 19
  • Rating: +1/-0
    • View Profile
Re: Features Wishlist
« Reply #3141 on: February 12, 2013, 05:16:46 am »
so, that'd be an assembly version of this?
foo-bar?ee0?65535,1

EDIT:
about axe being thight on space, I understand that it can give problems for some people if axe would exceed the size of about 16kb,
but it wouldn't be a problem to me and I would find it a bit sad if axe couldn't expand only for that reason,
so would it be practically possible to add 2 axe versions in the zip file, a lite and a pro version of axe,
where one has a low size and the other has all kind of possible features?
« Last Edit: February 12, 2013, 05:26:33 am by jo-thijs »

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Features Wishlist
« Reply #3142 on: February 12, 2013, 05:43:00 am »
I think more something like foo-bar?(ee0?-1,1),0

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Features Wishlist
« Reply #3143 on: February 12, 2013, 06:33:12 am »
so, that'd be an assembly version of this?
foo-bar?ee0?65535,1

EDIT:
about axe being thight on space, I understand that it can give problems for some people if axe would exceed the size of about 16kb,
but it wouldn't be a problem to me and I would find it a bit sad if axe couldn't expand only for that reason,
so would it be practically possible to add 2 axe versions in the zip file, a lite and a pro version of axe,
where one has a low size and the other has all kind of possible features?

Another thing to keep in mind is that ASM programmers can write Axioms (similar to libraries) that can add additional functionality to axe. If you have something specific that you'd like, you can always make a request <a href=http://ourl.ca/9970>here</a>

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Features Wishlist
« Reply #3144 on: February 12, 2013, 07:28:25 am »
I wonder what's the use of Z-addressing ...

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Features Wishlist
« Reply #3145 on: February 12, 2013, 07:39:05 am »
It's useful for visual effect. If you wanted to do an "earth quake" like effect where the screen was shaking back and forth, Z-addressing would be an easy way to do it.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #3146 on: February 12, 2013, 11:06:11 am »
A sign(foo) command that returns -1 if foo is less than 0, 1 if greater, and 0 if equal. And perhaps sign(foo,bar), which would compare it to bar instead of 0. And while I'm on the topic, perhaps sign()r could be the 8bit version?
Also, I know it'd have to be named something other than sign(), because there's already a sign{}, but I don't know what to call it.

You know, you can build a pretty optimized sign routine in pure Axe. In fact... I don't think it's even think it's possible to produce a more optimized sign routine for Axe using assembly. :P

Code: [Select]
Lbl Sign
Return!If
Return //32768*2+1

As for the other variations, the compare seems that it's a little specific and could easily just be thrown into the sign routine above like Sign(foo-bar) anyways. As for the 8-bit sign function, you should really always be working with 16-bit signed values in Axe because every signed operator expects them. There are a few operators for which you can get away with not sign-extending 8-bit signed values, such as +, -, and *. But for using other operations, it's a good idea to sign-extend any 8-bit signed numbers using sign{} when loading them from memory.




about axe being thight on space, I understand that it can give problems for some people if axe would exceed the size of about 16kb,
but it wouldn't be a problem to me and I would find it a bit sad if axe couldn't expand only for that reason,
so would it be practically possible to add 2 axe versions in the zip file, a lite and a pro version of axe,
where one has a low size and the other has all kind of possible features?

Axe has already exceeded 16kb (1 flash page); it's currently just about filling 32kb (2 pages). Right now the first page is more or less entirely code and the second page is more or less entirely data. The next step up would be 48kb (3 pages), but really the size increase itself isn't the issue. More of an issue is that there would then be code split across pages. Producing and maintaining assembly code that spans multiple pages introduces a lot more complexity over code that fits on one page. And Axe is already fairly complicated, so for now I'd like to keep it restricted to 32kb so my head doesn't explode. I think I can still add a fair amount of code/features, I just need to optimize existing code to the max as I add new code.




I wonder what's the use of Z-addressing ...

I used z-addressing with a bit of assembly in this Axe program I made for a mini competition a while ago. The screenshot demonstrates that this game quickly becomes a bit of an insane use of z-addressing, but it definitely showcases the potential power of it by "shifting" what would otherwise be a simple tunnel game at nauseating speeds with no program speed loss.
« Last Edit: February 12, 2013, 11:06:40 am by Runer112 »

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Features Wishlist
« Reply #3147 on: February 12, 2013, 12:38:48 pm »
Oh waw. I didn't think Z-addressing could be of that use. To be honest, I wasn't sure on how it worked ;D

So basically (I've seen it's related to port 10), it make a row of the LCD driver's RAM the one displayed at the top of the LCD, and then the rows that are above the LCD are displayed after the last row, at the bottom ?

Offline jo-thijs

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 19
  • Rating: +1/-0
    • View Profile
Re: Features Wishlist
« Reply #3148 on: February 13, 2013, 02:31:24 pm »
Oh, so that's what the multi page feature means? being able to make apps larger than 16kb with axe.
I don't really understand what the complications are that come with multiple pages,
I tried to search, but found few information about it.
I would love to have the multi page feature, since I'm working on a big project,
not knowing I can't exceed 16kb and I've almost reached the limits (about 15.5kb).
also, could it be that there comes problems if I try to upload big axe made applications to my pc through ti connect?
for some reason he wouldn't download it, no matter what I did, while everything else was being uploaded perfectly.
it always throws up the error: packet length not valid

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Features Wishlist
« Reply #3149 on: February 13, 2013, 02:38:01 pm »
I would love to have the multi page feature, since I'm working on a big project,
not knowing I can't exceed 16kb and I've almost reached the limits (about 15.5kb).
You can put all your data in archived appvar an access them via GetCalc("appvBlah",Y0). That would save space in the executable (the app).

also, could it be that there comes problems if I try to upload big axe made applications to my pc through ti connect?
for some reason he wouldn't download it, no matter what I did, while everything else was being uploaded perfectly.
it always throws up the error: packet length not valid
Did you sign your apps with RabbitSign before transferring them ?
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s