Author Topic: Features Wishlist  (Read 691527 times)

0 Members and 4 Guests are viewing this topic.

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 #960 on: July 18, 2010, 02:52:57 am »
Nope, the LCD is so slow that if you try to write that data any faster than its slow speed, it causes weird graphical glitches.  Its more efficient to have the routines in 6MHz because then I don't need to add as much extra pausing code.  Even the 4 level grayscale that calc84maniac wrote was too fast for even 6MHz so I still need pauses, just not nearly as many as I would in 15MHz mode, so you end up with a routine that takes less memory.
« Last Edit: July 18, 2010, 02:54:46 am by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Magic Banana

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 371
  • Rating: +77/-1
  • It's not an apple, it's a ... magic banana.
    • View Profile
Re: Features Wishlist
« Reply #961 on: July 18, 2010, 03:04:11 am »
Oh, that explains it. That's too bad, I could really enjoy the speed of 15mhz with grayscale graphics, but I guess I have to settle with monochrome for speed. While on the subject of grayscale, how much slower does adding extra shades of gray make drawing? Like going from 3 -> 4 or even other numbers such as 4 -> 5 and 5 -> 6?
I do sprites and stuff, so yeah.

Quote from: yunhua98
i'M NOT SURE WHAT A SWORD SKILL IS BUT HERE'S THE SWORD ANIMATION FROM THE TWO SPRITES ON PG 13

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 #962 on: July 18, 2010, 03:25:02 am »
All the routines are almost exactly the same speed since they are limited by the LCD speed rather than the CPU speed.  Even if I were to write an 8 level grayscale routine, odds are, it would be just as fast as the 4 level or the 3 level or the monochrome.  The only speed you would be gaining from monochrome is that you don't have to update the LCD as often.
« Last Edit: July 18, 2010, 03:26:24 am by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Magic Banana

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 371
  • Rating: +77/-1
  • It's not an apple, it's a ... magic banana.
    • View Profile
Re: Features Wishlist
« Reply #963 on: July 18, 2010, 03:44:00 am »
Really? Interesting, I always that that it took more to draw out grayscale, with the buffers and all. So, if I were to run a program at 15Mhz, but clock it to 6Mhz when drawing, would there be a significant change in speed, or is it the drawing itself that slows the programs down so much?
I do sprites and stuff, so yeah.

Quote from: yunhua98
i'M NOT SURE WHAT A SWORD SKILL IS BUT HERE'S THE SWORD ANIMATION FROM THE TWO SPRITES ON PG 13

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 #964 on: July 18, 2010, 03:50:24 am »
Yeah, its the drawing itself since you're drawing twice as many sprites, each one to 2 buffers.
___Axe_Parser___
Today the calculator, tomorrow the world!

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 #965 on: July 19, 2010, 04:16:31 pm »
New request.
When ReturnIf is called, it would be nice if the Fix tokens were taken care of automatically.
Say the person called Fix 3.
ReturnIf could do the Fix 2 on its own.
Vy'o'us pleorsdti thl'e gjaemue

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Features Wishlist
« Reply #966 on: July 19, 2010, 04:16:35 pm »
Darl181 has a neat idea in the Your Projects Post and Critique thread. his idea is to have the statement ReturnIf (and presumably Return!If) automatically set Fix # statements to their defaults. So if in a program you had Fix 1 at the beginning, if you had a ReturnIf statement, the program would automatically set Fix 1 (large sized fonts) back to Fix 0 (small sized fonts). this way you wouldn't need to use If (EXP):Fix 0:Return:End.

ninja'd by himself.
« Last Edit: July 19, 2010, 04:16:58 pm by nemo »


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 #967 on: July 19, 2010, 04:18:23 pm »
That might not work, since you wouldn't want those flags reset every time you returned from a subroutine. Better is to do as I suggested (in the same thread), or possibly have a token that adds the equivalent of this code automatically.
Automatic cleanup would be nice in any form, though.
"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 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 #968 on: July 19, 2010, 04:25:24 pm »
Beat you to it ;)
Four seconds!? wow

The return descriptions confused me for a bit.
I think I'll print out that part of the thread and put it in my binder with my commands list.
« Last Edit: July 19, 2010, 04:26:17 pm by Darl181 »
Vy'o'us pleorsdti thl'e gjaemue

Offline Magic Banana

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 371
  • Rating: +77/-1
  • It's not an apple, it's a ... magic banana.
    • View Profile
Re: Features Wishlist
« Reply #969 on: July 19, 2010, 06:44:35 pm »
Hmm, I guess what they would be looking for would be a 'reset to default settings' kind of action, which would actually be really interesting actually. Maybe have a number (not sure if all of them are taken already) which resets all of those text and drawing commands to the TIOS default so that instead of remembering what you changed and then putting a bunch of Fix # and hoping you got them all so instead of putting a combination of Fix 0 Fix 2 Fix 4 Fix 6 Fix 8, you could just have Fix 10 (or something) to make sure that all of them are default.

I guess you can always make it part of ClrHome as well, seeing as the only reason you call it is when you are closing the program.
« Last Edit: July 19, 2010, 06:45:56 pm by Magic Banana »
I do sprites and stuff, so yeah.

Quote from: yunhua98
i'M NOT SURE WHAT A SWORD SKILL IS BUT HERE'S THE SWORD ANIMATION FROM THE TWO SPRITES ON PG 13

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 #970 on: July 19, 2010, 06:45:23 pm »
@Darl That would be a huge inefficiency, but you did remind me of the fix extender idea that I forgot about.  You can reset all the fix modes at once by chaining them together like "Fix 0246" for instance to set modes 0,2,4, and 6 in a single line of code for convenience.  I might have time to add that next release.

Also another feature I will be adding is "Temporary Pointers" which are similar to static pointers.  For times when you only need to use some data exactly once, you will be allowed to do things like Pt-On(X,Y,[0123456789ABCDEF]) to both create the data in memory and return the pointer to that data in a single line.  Its just as efficient as regular static pointers but has the advantage of not taking up any extra pointer names so you are less limited by the 150 name limit.  This also will apply to Strings, Data(), and the Zeros() commands which can also be used to return temporary pointers.
« Last Edit: July 19, 2010, 06:46:07 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

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 #971 on: July 19, 2010, 07:15:47 pm »
Cool. We can already use it with strings for Disp, but a more general application will be nice. Fix extender could be useful too, even though it only saves source code space.
As for automatically resetting flags on exit, my idea was to have the program start with
Code: [Select]
sub(M
Fix 0
Fix 2
Fix 4
Fix 6
Return
Lbl M
which would automatically reset them on exit. (Or create a dedicated token for this)
"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 Tribal

  • The Fallen
  • LV5 Advanced (Next: 300)
  • *
  • Posts: 218
  • Rating: +15/-1
    • View Profile
Re: Features Wishlist
« Reply #972 on: July 19, 2010, 09:54:38 pm »
Would it be possible to specify multiple arguments for 'Fix' say using a comma to separate each one?

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 #973 on: July 19, 2010, 10:40:41 pm »
@Darl That would be a huge inefficiency, but you did remind me of the fix extender idea that I forgot about.  You can reset all the fix modes at once by chaining them together like "Fix 0246" for instance to set modes 0,2,4, and 6 in a single line of code for convenience.  I might have time to add that next release.

Also another feature I will be adding is "Temporary Pointers" which are similar to static pointers.  For times when you only need to use some data exactly once, you will be allowed to do things like Pt-On(X,Y,[0123456789ABCDEF]) to both create the data in memory and return the pointer to that data in a single line.  Its just as efficient as regular static pointers but has the advantage of not taking up any extra pointer names so you are less limited by the 150 name limit.  This also will apply to Strings, Data(), and the Zeros() commands which can also be used to return temporary pointers.
Nice ideas, especially the pointers one. I always wished I could do stuff like Text(0,0,"HI PEOPLE", because otherwise it can be a bit annoying to have to store text to pointers just to use it in the title screen options, for example.

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 #974 on: July 20, 2010, 10:57:06 am »
Tribal: Above, Quigibo mentioned that he plans (or will consider planning) to allow chaining them like Fix 0246, which is even better than using commas. :)
"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.