Author Topic: Axe Q&A  (Read 581164 times)

0 Members and 2 Guests are viewing this topic.

Offline ClrDraw

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 627
  • Rating: +61/-2
    • View Profile
    • GitHub
Re: Axe Q&A
« Reply #1665 on: December 18, 2013, 09:51:53 pm »
I would imagine the text command is faster looping through a map :-\ you have Fix 5 in your program right? Cause if your putting your text on the buffer and using dispgraph once at the end then it isn't that slow.

EDIT: 200 posts  :)
« Last Edit: December 19, 2013, 08:32:29 am by ClrDraw »
Visit my GitHub for all my TI programs as well as other projects.
Also check out my website.

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Axe Q&A
« Reply #1666 on: December 19, 2013, 02:00:07 am »
More random questions...
What would be the best way to get text() functionality without actually using the command (speed reasons)?  My first thought is to just tilemap the screen and have sprites be letters.  However, depending on how many different characters I use, this could end up being a lot of sprites to define.  Are there any better methods out there?

You don't need to tilemal the screen, just advances your text cursor as you write letters to the screen. It remains the fastest solution AFAIK.

I would imagine the text command is faster looping through a map :-\ you have Fix 5 in your program right? Cause if your putting your text on the buffer and using dispgraph once at the end then it isn't that slow.
Not as slow, but still very slow. This is due to the OS's _vPutS routine.
« Last Edit: December 19, 2013, 02:02:41 am by Matrefeytontias »

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Axe Q&A
« Reply #1667 on: December 19, 2013, 02:04:34 am »
I don't know if it is any faster (I use that Axiom but never have programs where Text commands eat a lot of time) but Jacobly wrote an Axiom to have more flexibility with text commands. It might be faster since it doesn't use TI's routines.
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

Offline Eiyeron

  • Urist McEiyolobster
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1430
  • Rating: +130/-10
  • (-_(//));
    • View Profile
    • Rétro-Actif : Rétro/Prog/Blog
Re: Axe Q&A
« Reply #1668 on: December 19, 2013, 06:49:48 am »
It is faster. Nice thing to use.

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Axe Q&A
« Reply #1669 on: December 31, 2013, 12:18:43 pm »
Answering here a question that was asked on IRC.

This code is totally useless and unoptimized (on purpose so it is more understandable) but you get the idea.

.A
Data(9,6,3,0,0,0,0,0,8,5,2,0,0,0,0,0,7,4,1)->Pic1

Fix 5
ClrDraw

While 1
 DispGraph
 getKey->K
 If K>17 and (K<37)
  Text(0,0,{K-18+Pic1}>Dec)
 End
EndIf getKey(15)
« Last Edit: December 31, 2013, 12:18:59 pm by Hayleia »
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

Offline TheMachine02

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 452
  • Rating: +105/-0
  • me = EF99+F41A
    • View Profile
Re: Axe Q&A
« Reply #1670 on: December 31, 2013, 01:20:49 pm »
Does someone willing to create a pretty hard routine ?

The goal is to do a clipped line routine with both x,y in range [-5000],[5000] ; I've tried but overflow is beating me all time ...  :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 Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Axe Q&A
« Reply #1671 on: December 31, 2013, 01:27:26 pm »
Maybe you can try to "reduce" coordinates by finding the middle of the line and only drawing the half of it that has a part on the screen ?
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

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Axe Q&A
« Reply #1672 on: January 15, 2014, 11:13:51 am »
I just got a stupid idea. Why not make an early version of Axe for CSE that would be exactly the same as the current Axe, but with changed DispGraph (and DispGraphr and caetera) so that it displays a stretched L6 (and L3 and caetera) on the screen ?
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

Offline Eiyeron

  • Urist McEiyolobster
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1430
  • Rating: +130/-10
  • (-_(//));
    • View Profile
    • Rétro-Actif : Rétro/Prog/Blog
Re: Axe Q&A
« Reply #1673 on: January 15, 2014, 11:50:54 am »
Becauses I think it depends on many free RAM areas that will crash the CSE if they're moved/erased.

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Axe Q&A
« Reply #1674 on: January 15, 2014, 11:54:19 am »
Not necessarily ... all free RAM areas that exist on the monochrome z80 calcs also are free RAM areas on the color one, and all are at least as large if not larger (afaik). It's really up to Runer112 I guess.
« Last Edit: January 15, 2014, 11:54:41 am by Matrefeytontias »

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Axe Q&A
« Reply #1675 on: January 15, 2014, 11:55:36 am »
And from what I understood, extra RAM pages are back, so at worst, copy all sensitive RAM there when launching the program then copy it back where it should be when quitting.
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

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Q&A
« Reply #1676 on: January 15, 2014, 09:03:21 pm »
I just got a stupid idea. Why not make an early version of Axe for CSE that would be exactly the same as the current Axe, but with changed DispGraph (and DispGraphr and caetera) so that it displays a stretched L6 (and L3 and caetera) on the screen ?

(A) While a full-screen update on the non-color calculators takes about 1/100th of a second and almost everything that uses it relies on it being fast, a full-screen update on the color calcs takes about 1/5th of a second, (B) probably other things I can't think of right now, and (C) why not just use a non-color calculator in that case.

I do promise that I'd like to get a color version of Axe done eventually, but my time right now is superbly limited. I'm working 45 hours a week. x.x
« Last Edit: January 15, 2014, 09:05:16 pm by Runer112 »

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Axe Q&A
« Reply #1677 on: January 16, 2014, 02:18:00 am »
(A) While a full-screen update on the non-color calculators takes about 1/100th of a second and almost everything that uses it relies on it being fast, a full-screen update on the color calcs takes about 1/5th of a second
Yeah but we could cheat with some frameskip and with the double-pixel trick. Moreover, some coders (like matref and I, or Builderboy and others) still have the possibility to trigger the 15MHz mode to get more speed on the CSE without losing any compatibility this time, so our programs of course will have speed issues, but also some speed gains.
Also that depends on the program you are porting because I don't think AudaciTI will have too much issues with refreshing since nothing happens on the screen except menus :P

(C) why not just use a non-color calculator in that case.
That's not for me, that's for people like MacBernick or dreamdragon who only have a CSE and may want games on it. So of course, giving them the old games is not the best to do, but that can help them wait.
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

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: Re: Axe Q&A
« Reply #1678 on: January 16, 2014, 07:35:52 am »
The CSE will not have L3 and L6 for temp LCD buffers. 128 KB of RAM isn't even enough to store 320x240 (2 bytes) of data. While we could use 160x120, it would still be so much data to copy around that using any buffer other than the hidden half of the LCD GRAM would greatly slow programs down.

I think Axe should use buffers in a similar way to XLIBC as an option, but let you change the offset of the GRAM start/end and its buffer so that it's not an huge PITA to make a side-scroller.

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Axe Q&A
« Reply #1679 on: January 16, 2014, 09:26:26 am »
The CSE will not have L3 and L6 for temp LCD buffers. 128 KB of RAM isn't even enough to store 320x240 (2 bytes) of data.
But we are not talking about storing 320x240 bytes of data, still 768. We are asking to for 94x64 monochrome support, like somehow a "retro-compatibility mode".
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