Author Topic: Axe Parser  (Read 488580 times)

0 Members and 3 Guests are viewing this topic.

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 #1065 on: July 28, 2010, 09:43:20 pm »
So, Axe is pulling shenanigans.
Can someone tell me how to use the Pt-Command()->BUFF please?

Thanks.
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 calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Axe Parser
« Reply #1066 on: July 28, 2010, 09:52:12 pm »
You use it just like normal, but with the -> followed by the buffer on the end, where BUFF is any 768-byte buffer.
Pt-On(X,Y,Pic0)->L3 is the equivalent of Pt-On(X,Y,Pic0)r, for example.
"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 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 #1067 on: July 28, 2010, 11:05:12 pm »
Generally if you're trying to maximize speed, you keep the whole program in 15MHz mode EXCEPT DispGraph with grayscale modifiers and direct keys.  So you can simply do this to update the screen:

:Normal
:DispGraphr
:Full

« Last Edit: July 28, 2010, 11:06:15 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Parser
« Reply #1068 on: July 29, 2010, 01:14:33 am »
I always have the auto opts file open when I'm coding, to try to keep my programs as small as possible. However, this just shows the size of things that are automatically optimized. Could you add a file that doesn't show optimization sizes, but just command/operation sizes in general?
« Last Edit: July 29, 2010, 01:14:49 am by Runer112 »

Offline imPersonator

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 17
  • Rating: +0/-0
    • View Profile
Re: Axe Parser
« Reply #1069 on: July 29, 2010, 11:06:56 am »
I'm trying to convert a string to hex data, so if Str1 was "0123456789ABCDEF" then I would want to put [0123456789ABCDEF] into Pic1. Here's what I have so far, but it's not working right.
Code: [Select]
"0123456789ABCDEFG"->Str1
[00000000000000000]->Pic1
For(A,0,7
A*2+Str1->E
{E}-48->C
A*2+Pic1->G
C-((C>9)*7)->H
{E+1}-48->C
C-((C>9)*7)->M
H*16+M->{G}
I'm trying to convert the character values of the letters in Str1 into the numbers they represent.

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 #1070 on: July 29, 2010, 11:22:45 am »
I think A*2+Pic1 should be A+Pic1.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline imPersonator

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 17
  • Rating: +0/-0
    • View Profile
Re: Axe Parser
« Reply #1071 on: July 29, 2010, 11:26:33 am »
That worked! Thanks.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Parser
« Reply #1072 on: August 02, 2010, 03:56:11 pm »
Does anyone know where the OS stores the current pen X and Y values?

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 #1073 on: August 02, 2010, 04:11:34 pm »
Yeah, its E86D7 and E86D8.  I'll eventually have useful addresses tokenized so you won't have to look them up manually.
___Axe_Parser___
Today the calculator, tomorrow the world!

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 #1074 on: August 02, 2010, 07:56:17 pm »
Tokenized addresses? What would you use for that?
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 Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: Axe Parser
« Reply #1075 on: August 02, 2010, 08:38:11 pm »
Awesome job on the masked sprite routine!  I'm glad to see it finally implemented

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Parser
« Reply #1076 on: August 03, 2010, 12:59:31 am »
Does anyone know how to change the allocated memory size for something without losing the contained data? For example, how does the operating system accommodate changes in program size while the user is editing a BASIC program?

EDIT - And another question: Is it possible to retain OS-style getKey functionality with custom interrupts enabled?
« Last Edit: August 03, 2010, 01:07:20 am by Runer112 »

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 #1077 on: August 03, 2010, 01:07:16 am »
There are some complicated OS calls going on in that which involves a lot of data shifting and such.  I dont pretend to be an expert so you might want to hop onto IRC and ask calc84 or Iambian or any other Asm guru out there.

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 #1078 on: August 03, 2010, 01:34:24 am »
Yeah, there are several bcalls for that, but one of them is way too complicated for Axe, the other one i might be able to add that basically just allocates X number of bytes to an OS variable.  But every time you do that, you have to update your program pointer (and in fact all pointers n RAM if you're reading from many variables at once) since things move around during memory allocation.

The OS-getkey is definitely a possibility, but it slows down interrupts and produces non-uniform pauses.  I think I will use fnInt()r for that eventually so you can choose.
___Axe_Parser___
Today the calculator, tomorrow the world!

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 #1079 on: August 03, 2010, 01:41:05 am »
That would be a really useful routine for people who want to do some editing to programs :)