Author Topic: Features Wishlist  (Read 692133 times)

0 Members and 6 Guests 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 #1740 on: January 04, 2011, 02:13:01 am »
Ah gotcha, now i need to go about trying to figure out how to write a clipped line routine...

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 #1741 on: January 04, 2011, 02:24:58 am »
You can try this.  They even have pseudo code :)
___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 #1742 on: January 04, 2011, 02:27:56 am »
Could there be a 2nd line routine for those who absolutely want clipped ones? Or maybe someone could write an Axiom.

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Features Wishlist
« Reply #1743 on: January 07, 2011, 02:22:55 pm »
This might have been asked before, but it would be nice to be able to put code inline. That way, if you're only executing the routines once, you can save the 15 byte call.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #1744 on: January 07, 2011, 11:47:05 pm »
Could buffer operations be extended to support buffer arguments? I don't think I urgently need it, but I'm sure others would like it. And since all the commands already exist, it would be best not to have to make whole new copies of all the commands with Axioms. Most of the current routines would handle it with no problem. I guess the question is how hard/time-consuming it would be for you to implement it? Variable buffers would play nice with all of the following commands.

  • ClrDraw
  • DispGraphClrDraw
  • StoreGDB
  • StorePic (the destination buffer would have to come first and in hl, so an ex de,hl would need to be added)
  • RecallPic
  • DrawInv
  • All of the screen shifting commands
  • All of the pixel commands
  • Line()
  • Rect()
  • RectI()



EDIT: Completely unrelated, but how did you come up with 1900 and 4700 cycles as arguments to pause for approximately one second? I calculated more like 1800 and 4500 for 6.0MHz and 15.0MHz, or about 1850 and 4600 for 6.15MHz and 15.4MHz (which is about how fast my TI-84+SE runs I believe).
« Last Edit: January 08, 2011, 12:05:01 am by Runer112 »

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 #1745 on: January 08, 2011, 12:36:41 am »
This might have been asked before, but it would be nice to be able to put code inline. That way, if you're only executing the routines once, you can save the 15 byte call.

What do you mean? Axe 0.4.5 and above support stuff like GetCalc("prgmNAME").




Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Features Wishlist
« Reply #1746 on: January 08, 2011, 01:28:57 pm »
6.15MHz and 15.4MHz (which is about how fast my TI-84+SE runs I believe).

Is this why my screen is extremely glitchy?
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

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 #1747 on: January 08, 2011, 03:45:31 pm »
This might have been asked before, but it would be nice to be able to put code inline. That way, if you're only executing the routines once, you can save the 15 byte call.
First of all, the most you can save by making a call inline is 4 bytes.  3 For the call, and 1 for the ret.  But many of the routines are better optimized with conditional returns and so you would often save even less than that if you were able to save anything at all.  It's a little too small of a savings to justify the complexity of another pass I think.

Runer, I have no idea how I got those numbers.  My calculator says 1800 as well.  I think I might have been compensating for interrupts, but compensated the wrong way.  I'll change it.
___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 #1748 on: January 08, 2011, 09:17:57 pm »
Would variable buffer support be slower?

SirCmpwn

  • Guest
Re: Features Wishlist
« Reply #1749 on: January 09, 2011, 12:05:13 am »
I'd like to request de-referencing routines, so I could dereference a label, or (even better) dereference something like DispGraph.

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 #1750 on: January 09, 2011, 12:29:54 am »
I'd like to request de-referencing routines, so I could dereference a label, or (even better) dereference something like DispGraph.

This is available for Axioms.  You would have to use inline assembly to call them anyway if it was in pure Axe so this system makes it more convenient as a whole.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline squidgetx

  • Food.
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Features Wishlist
« Reply #1751 on: January 09, 2011, 02:35:46 pm »
Could there be a 2nd line routine for those who absolutely want clipped ones? Or maybe someone could write an Axiom.

Seconded (no pun intended)

new "EndIf" and "End!If" instructions

This would be awesome :D

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 #1752 on: January 09, 2011, 02:54:58 pm »
@Runner, I was thinking of having "While 1" and "Repeat 0" to auto optimize to no code at all so that would take care of the Do part.  The end condition might work if I add new "EndIf" and "End!If" instructions (which only work on while/repeat loops).  It would be pretty cool too because it would mean you can have pre-check and post-check for the same loop!  Something I haven't seen yet in other languages...

That would be pretty nice. What about having just While and Repeat be the same as While 1 and Repeat 0?




SirCmpwn

  • Guest
Re: Features Wishlist
« Reply #1753 on: January 09, 2011, 03:34:46 pm »
EndIf sounds like Continue to me...

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #1754 on: January 09, 2011, 03:38:05 pm »
Quigibo, would you go for grayscale routines that are 5 bytes and about 33 cycles larger, but work with interrupts? I may be wrong, but I believe this could be done by changing the start and end of the routines like so:

Code: (Current routine) [Select]
Start:
ld a,i
push af
di

End:
pop af
ret po
ei
ret
   
Code: (Interrupt-friendly routine) [Select]
Start:
ex af,af'
push af
ld a,i
push af
di

End:
pop af
ex af,af'
pop af
ex af,af'
ret po
ei
ret
« Last Edit: January 09, 2011, 03:45:04 pm by Runer112 »