Author Topic: Axe Parser  (Read 495281 times)

0 Members and 2 Guests are viewing this topic.

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Axe Parser
« Reply #1125 on: August 22, 2010, 02:03:42 pm »
^
||

I thought custom interrupts didn't work with 4lvl grayscale
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 qazz42

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1130
  • Rating: +30/-12
  • hiiiiiiiii
    • View Profile
Re: Axe Parser
« Reply #1126 on: August 22, 2010, 02:12:05 pm »
I cant seem to find the elseif token x.x
« Last Edit: August 22, 2010, 02:19:14 pm by qazz42 »

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 #1127 on: August 22, 2010, 02:34:25 pm »
I cant seem to find the elseif token x.x
You just type the Else and If tokens together.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Axe Parser
« Reply #1128 on: August 22, 2010, 02:34:45 pm »
I belive you just combine the Else and If tokens? :)

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: Axe Parser
« Reply #1129 on: August 22, 2010, 03:37:33 pm »
the more dispgraphs the faster it goes.
If you mean the grayscale refresh, yes. If you mean the program execution, no. In Super Sonic Ball, if I add grayscale then run a for loop executing dispgraphr 100 times, there will be a considerable drop in speed
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Axe Parser
« Reply #1130 on: August 22, 2010, 04:24:37 pm »
the more dispgraphs the faster it goes.
If you mean the grayscale refresh, yes. If you mean the program execution, no. In Super Sonic Ball, if I add grayscale then run a for loop executing dispgraphr 100 times, there will be a considerable drop in speed

ya i meant for grayscale refresh.
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 shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Axe Parser
« Reply #1131 on: August 22, 2010, 07:27:06 pm »
^
||

I thought custom interrupts didn't work with 4lvl grayscale

dispgraphrr doesnt, but i didnt use that command

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 #1132 on: August 22, 2010, 07:43:06 pm »
There is a difference between using a command while interrupts are on and using one in an interrupt routine.  I think all commands will work fine with intterupts in the background but there are a few like DispGraphrr that don't work in the interrupt routine itself.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Axe Parser
« Reply #1133 on: August 22, 2010, 07:44:25 pm »
oohhhh... thanks i understand
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 Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Axe Parser
« Reply #1134 on: August 22, 2010, 08:35:06 pm »
And dont some sometimes turn off interrupts accidentally?

Offline guy6020665

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 481
  • Rating: +7/-1
    • View Profile
Re: Axe Parser
« Reply #1135 on: August 23, 2010, 05:48:58 pm »
How would I read from matrices using axe?

Would I do something similar to the following?

Code: [Select]
"[A]->GDB1
getcalc(GDB1)->A
Disp A(1,1)

Can't actually test this at the moment but I wanted to be able to use an axe program to display the screen faster than a basic one would.

Offline FinaleTI

  • Believe in the pony that believes in you!
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1830
  • Rating: +121/-2
  • Believe in the pony that believes in you!
    • View Profile
    • dmuckerman.tumblr.com
Re: Axe Parser
« Reply #1136 on: August 23, 2010, 07:08:07 pm »
I haven't messed with it myself, but you'll have to read each cell like it is a byte in an Axe matrix. Unfortunately, matrices use floating point numbers, so you have to use the new converter command. You also have to keep in mind each floating point number is 9 bytes.


Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Parser
« Reply #1137 on: August 23, 2010, 07:18:16 pm »
There is no built-in support for reading specific entries from OS matrices or lists. However, the most recent version of Axe (0.4.4) includes the new float{PTR} function, which is the fPart() function. This converts a 9-byte real number from the OS to a 2-byte integer Axe can understand. This would not accurately convert decimal data or numbers that exceed the 2-byte integer limitation (0-65,535), but it should work otherwise.

Anyways, how to apply this to a matrix. The first two bytes of an OS matrix (the 2 bytes before the pointer a GetCalc() would return) are the number of columns and rows. To access the entry in row A and column B, for example, you'd have to do something like the following:

Code: [Select]
"[A]"→GDB1
GetCalc(GDB1)→P
.Number of columns
{P-2}→C
Disp float{A-1*C+(B-1)*9+P}▸Dec

I haven't tried this code myself, so I can't guarantee it will work. But it should (unless I have where the OS stores the rows and columns reversed).

EDIT: I have tried this code, and it works.
« Last Edit: August 23, 2010, 07:32:55 pm by Runer112 »

Offline guy6020665

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 481
  • Rating: +7/-1
    • View Profile
Re: Axe Parser
« Reply #1138 on: August 23, 2010, 07:32:29 pm »
There is no built-in support for reading specific entries from OS matrices or lists. However, the most recent version of Axe (0.4.4) includes the new float{PTR} function, which is the fPart() function. This converts a 9-byte real number from the OS to a 2-byte integer Axe can understand. This would not accurately convert decimal data or numbers that exceed the 2-byte integer limitation (0-65,535), but it should work otherwise.

Anyways, how to apply this to a matrix. The first two bytes of an OS matrix (the 2 bytes before the pointer a GetCalc() would return) are the number of columns and rows. To access the entry in row A and column B, for example, you'd have to do something like the following:

Code: [Select]
"[A]"→GDB1
GetCalc(GDB1)→P
.Number of columns
{P-2}→C
Disp float{A-1*C+(B-1)*9+P}▸Dec

I haven't tried this code myself, so I can't guarantee it will work. But it should (unless I have where the OS stores the rows and columns reversed).

EDIT: I have tried this code, and it works.

Thanks

Don't entirely understand it, but if it works, it's good enough for me.

Offline guy6020665

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 481
  • Rating: +7/-1
    • View Profile
Re: Axe Parser
« Reply #1139 on: August 24, 2010, 05:16:06 pm »
Is there a way to have Axe not scroll down to the next line when outputting to the last space?

This is causing my game to look weird.