Author Topic: Axe Parser  (Read 545482 times)

0 Members and 9 Guests are viewing this topic.

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: Axe Parser
« Reply #810 on: June 17, 2010, 01:56:30 am »
wow nice to see new versions out! I may not use the new tokens personally since I am already used to the old ones, but other people might do. I also hope both the old and new tokens are documented in future versions so people used to the old one won't get confused

Offline Raylin

  • Godslayer
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1392
  • Rating: +83/-25
  • I am a certifiable squirrel ninja.
    • View Profile
    • Ray M. Perry
Re: Axe Parser
« Reply #811 on: June 17, 2010, 02:15:02 am »
This new version of Axe is officially epic!

Now, to just figure out how to animate those sprites in the new format...
Bug me about my book.

Sarah: TI-83 Plus Silver Edition [OS 1.19]
Cassie: TI-86 [OS 1.XX]
Elizabeth: TI-81 [OS 1.XX]
Jehuty: TI-83 Plus Silver Edition [OS 1.19]
Tesla: CASIO Prizm







Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Parser
« Reply #812 on: June 17, 2010, 03:47:11 am »
2 questions:

  • Would the new Tangent() command display large sprites faster than looping through and displaying multiple 8x8 sprites?
  • Do you foresee Tangent() being able to copy in all three modes that sprites can display in?

EDIT: Actually, 3 questions:

  • "Draws a bitmap to the screen or buffer at (X,Y)." - Which one is it, screen or buffer?

EDIT AGAIN: Nevermind about that third question, just noticed you added extra Fix commands for that.
« Last Edit: June 17, 2010, 03:50:26 am by Runer112 »

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: Axe Parser
« Reply #813 on: June 17, 2010, 04:09:46 am »
Question regarding Tangent, Is it set to automatically draw to the screen by default unlike the rest of the drawing commands? And if it is, why so?

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: Axe Parser
« Reply #814 on: June 17, 2010, 04:16:32 am »
TI sets it up for displaying to the screen by default.  I wish they had chose the buffer since that's more useful, oh well.
___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: Axe Parser
« Reply #815 on: June 17, 2010, 04:22:26 am »
I see, but why the tangent function in Axe in particular? I think I am misunderstanding what's the goal of tangent totally.

Is Tangent() used to display sprites larger than 8x8? If so, then if TI sets tangent to display to the screen by default, why doesn't this happen with your 8x8 routine? Texas Instruments definitively makes no sense at all... (like how stuff drawn on the home screen seems to update without DispGraph)

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: Axe Parser
« Reply #816 on: June 17, 2010, 04:53:01 am »
I think he picked Tangent() because he ran out of graphing tokens and that was left. I think that it draws an X by Y sprite wherever on the screen and you just tell it (not exactly sure how though) the rows and columns of the sprite and then just give it the hex for whatever you want to draw. I'm still confused on how to exactly use this, so some clarification would be nice.
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: Axe Parser
« Reply #817 on: June 17, 2010, 05:09:17 am »
The Tangent() command uses an OS bcall which is much slower than the 8x8 sprite drawing routines, but its still fast enough for most things and more convenient than drawing a bunch of 8x8s and it takes up hardly any memory in the program.  Because its an OS routine, they decide how the flags affect it so I really can't do anything about that other than tell you to change the flags with the Fix commands.

Also, I know it clips the sprites, but the documentation for that command (_DisplayImage) says that you cannot draw the image totally off the screen for some reason.  I don't know if that means it will corrupt ram or something so use with caution if you draw completely off screen.

Oh another thing, I should mention.  It uses Pt-Off() logic to draw the sprite.  That is, it erases behind it as it draws.
« Last Edit: June 17, 2010, 05:10:55 am by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: Axe Parser
« Reply #818 on: June 17, 2010, 05:17:58 am »
Could you give a short example of how it works? Like a legitimate Axe code one, not pseudo-code. I just don't quite understand how to use it.
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

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: Axe Parser
« Reply #819 on: June 17, 2010, 09:01:02 am »
The Tangent() command uses an OS bcall which is much slower than the 8x8 sprite drawing routines, but its still fast enough for most things and more convenient than drawing a bunch of 8x8s and it takes up hardly any memory in the program.  Because its an OS routine, they decide how the flags affect it so I really can't do anything about that other than tell you to change the flags with the Fix commands.

Also, I know it clips the sprites, but the documentation for that command (_DisplayImage) says that you cannot draw the image totally off the screen for some reason.  I don't know if that means it will corrupt ram or something so use with caution if you draw completely off screen.

Oh another thing, I should mention.  It uses Pt-Off() logic to draw the sprite.  That is, it erases behind it as it draws.
mhmm I see. Thanks for the info. Would it be slower to use a Tangent() with 16x16 sprites than a for() loop with 4 8x8 Pt-Off() sprites?

Offline yoman82

  • LV3 Member (Next: 100)
  • ***
  • Posts: 71
  • Rating: +1/-1
    • View Profile
Re: Axe Parser
« Reply #820 on: June 17, 2010, 04:18:54 pm »
Great work, I love the new tokens thing. Any chance of integrated TIBASIC in the next version?

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Axe Parser
« Reply #821 on: June 17, 2010, 04:20:37 pm »
The Tangent() command uses an OS bcall which is much slower than the 8x8 sprite drawing routines, but its still fast enough for most things and more convenient than drawing a bunch of 8x8s and it takes up hardly any memory in the program.  Because its an OS routine, they decide how the flags affect it so I really can't do anything about that other than tell you to change the flags with the Fix commands.

Also, I know it clips the sprites, but the documentation for that command (_DisplayImage) says that you cannot draw the image totally off the screen for some reason.  I don't know if that means it will corrupt ram or something so use with caution if you draw completely off screen.

Oh another thing, I should mention.  It uses Pt-Off() logic to draw the sprite.  That is, it erases behind it as it draws.
mhmm I see. Thanks for the info. Would it be slower to use a Tangent() with 16x16 sprites than a for() loop with 4 8x8 Pt-Off() sprites?
It probably would be slower -- this is TI-OS we're talking about.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

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: Axe Parser
« Reply #822 on: June 17, 2010, 11:44:11 pm »
Aaah ok. Well I think I will most likely use regular sprites, unless I'm really low on memory

Offline Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: Axe Parser
« Reply #823 on: June 18, 2010, 12:13:07 am »

Also, I know it clips the sprites, but the documentation for that command (_DisplayImage) says that you cannot draw the image totally off the screen for some reason.  I don't know if that means it will corrupt ram or something so use with caution if you draw completely off screen.



As I recall, the RAM, or at the very least the screen RAM, is corrupted.  Incidentally, does it take a lot of memory to write an any-size sprite routine?  I know it's not true when there's no clipping, but I don't know when there's clipping involved.

Offline guy6020665

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 481
  • Rating: +7/-1
    • View Profile
Re: Axe Parser
« Reply #824 on: June 18, 2010, 11:25:17 pm »
Is there a way to rewrite pictures files with axe because i get an error when i try something like this

Code: [Select]
If getkey(1)
[0000000000000000->Pic1
end
If getkey(2)
[FFFFFFFFFFFFFFFF->Pic1

By the way the above code is only an example