Author Topic: Features Wishlist  (Read 620224 times)

0 Members and 2 Guests are viewing this topic.

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Features Wishlist
« Reply #1515 on: November 04, 2010, 08:07:24 pm »
Oh, and

  • Allowing jumping to an arbitrary place in memory
That can be done using a simple Asm(E9), which will jump to the address of the last result
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

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 #1516 on: November 04, 2010, 08:13:33 pm »
Wow, I didn't think of that. Thanks!




Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #1517 on: November 04, 2010, 11:21:35 pm »
I like the For( idea.

Could you explain examples of usage of jumping to an arbitrary place into memory? I'm not too sure what it does exactly...
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

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 #1518 on: November 04, 2010, 11:50:24 pm »
I like the For( idea.

Could you explain examples of usage of jumping to an arbitrary place into memory? I'm not too sure what it does exactly...

Well, I'm working on a game where each level adds some new feature, and to save space, I'd like to store all the code for those features in the form of data, move it to L2 before the level starts, and just run the code from there. That way, it doesn't check for the level in a huge If -ElseIf -End statement each pass.
« Last Edit: November 04, 2010, 11:51:02 pm by Deep Thought »




Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Features Wishlist
« Reply #1519 on: November 04, 2010, 11:53:02 pm »
Ah sounds cool, thanks for the info :)

By the way I'll create the sub-forum for it now so you can post :)
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Features Wishlist
« Reply #1520 on: November 04, 2010, 11:53:57 pm »
This is why we need a switch statement.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

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 #1521 on: November 05, 2010, 10:40:51 am »
This is why we need a switch statement.

Doesn't that still take a lot of time to go through, though (when it's run)?

Ah sounds cool, thanks for the info :)

By the way I'll create the sub-forum for it now so you can post :)

The feature request was actually for a different (much smaller) game I'm working on. But thanks for the subforum :D




Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Features Wishlist
« Reply #1522 on: November 05, 2010, 01:13:02 pm »
This is why we need a switch statement.

Doesn't that still take a lot of time to go through, though (when it's run)?
Nope, switch statement is supposed to do exactly what you were saying, jump to one of a bunch of routines using a table of addresses. It should take the same amount of time for any of the different cases. My plan to make it simpler for Axe to handle was to only allow switching of values 0,1,2,3,...,N, and a default case if the value is greater than N. So what if you wanted to switch and check for A=3,4,5,6? Well, just switch(A-3) and use cases of 0,1,2,3. I don't know if Quigibo will decide to do it this way, though.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

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 #1523 on: November 07, 2010, 12:28:55 pm »
This is why we need a switch statement.

Doesn't that still take a lot of time to go through, though (when it's run)?
Nope, switch statement is supposed to do exactly what you were saying, jump to one of a bunch of routines using a table of addresses. It should take the same amount of time for any of the different cases. My plan to make it simpler for Axe to handle was to only allow switching of values 0,1,2,3,...,N, and a default case if the value is greater than N. So what if you wanted to switch and check for A=3,4,5,6? Well, just switch(A-3) and use cases of 0,1,2,3. I don't know if Quigibo will decide to do it this way, though.

Oh, sounds like a good idea, then.

A couple of feature requests:

  • Allowing For( to take any mem location as a variable. For example, For({L1},0,255) would be really useful.

YES



Or an alternative: allowing programs to define where the vars point.




Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Features Wishlist
« Reply #1524 on: November 10, 2010, 05:06:45 pm »
Or an alternative: allowing programs to define where the vars point.
Hm. I could see this being useful, but I'm not sure how you would define it, and I'm not sure how well the compiler could handle it...
Also, perhaps For( could just be redefined to take an address instead of a variable? (Use For( °A,S,E) instead of For(A,S,E). This would also make for a more consistent For(L1,S,E) instead of having to use {})
Edit: And you'd have to maintain backwards compatibility, as I just realized.
« Last Edit: November 10, 2010, 05:08:17 pm by calcdude84se »
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

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 #1525 on: November 10, 2010, 07:43:06 pm »
I think something like E89F0→°A would be great. It should be a quick addition to Axe, and Quigibo could still keep the current values as default values and maintain backwards compatibility :)

And as for using addresses in For( loops, I don't think that's a good idea. It's not backwards compatible, as you mentioned, and it'll confuse TI-BASIC programmers who are used to having a var in For(.
« Last Edit: November 10, 2010, 07:43:45 pm by Deep Thought »




Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Features Wishlist
« Reply #1526 on: November 10, 2010, 07:47:06 pm »
I think something like E89F0→°A would be great. It should be a quick addition to Axe, and Quigibo could still keep the current values as default values and maintain backwards compatibility :)

And as for using addresses in For( loops, I don't think that's a good idea. It's not backwards compatible, as you mentioned, and it'll confuse TI-BASIC programmers who are used to having a var in For(.

For(ADDRESS,start,end)r

problems solved? that is, if quigibo feels like implementing it


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 #1527 on: November 10, 2010, 08:01:23 pm »
I'd rather see that as a For( loop that counts backwards, kinda like how Copy( and Fill( work. Besides, it's only one less keystroke than For({ADDRESS},START,END) ;)

Whatever Quigibo decides, though. It's his language :)
« Last Edit: November 10, 2010, 08:02:41 pm by Deep Thought »




Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #1528 on: November 11, 2010, 12:03:52 am »
EDIT: Whoops. Ignore this lol.
« Last Edit: November 11, 2010, 12:04:58 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 #1529 on: November 11, 2010, 12:09:31 am »
I've mentioned lines to back-buffer already, I'm pretty sure, but I just ran into a problem with a possible menu.
So, I was thinking...whatever you can do with a sprite (on, off, change) you could do with a line, to both buffers.
Something like this would help with filling a large, outline block-style font with grayscale and changing it back again (i.e. the flash TWHG's menu, grayscale-ified for the calc)

EDIT: it looks kind of like the poll's decided :P
« Last Edit: November 11, 2010, 12:11:35 am by Darl181 »
Vy'o'us pleorsdti thl'e gjaemue