Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Quigibo

Pages: 1 ... 96 97 [98] 99 100 ... 135
1456
The Axe Parser Project / Re: Axe Parser
« on: May 25, 2010, 12:28:25 am »
Oh yeah, actually I'm pretty sure it isn't now that you mention it.  Definitely easy enough to check for I suppose.  I'll see if I can get it working next version.

1457
The Axe Parser Project / Re: Axe Parser
« on: May 25, 2010, 12:23:09 am »
Kind of yeah.  "Static Pointer" +- "Offset" optimizes to a single load.  So recalling something like {L1+8} takes the same amount of memory as recalling {L1} itself.

1458
The Axe Parser Project / Re: Axe Parser
« on: May 24, 2010, 06:04:15 pm »
Okay, I'm back.  My estimate was a gross understatement.  I pulled an all nighter last night to finish it.  It was about 25 pages of calculations >.>  So I'll probably sleep later today to catch up on the sleep I didn't get.

Anyway, its good to be back.

1459
Axe / Re: cross platform compatibility issue?
« on: May 22, 2010, 02:50:53 am »
I tried that exact program letter for letter and it worked on both emu and calc.  Are you sure you typed it correctly?  For instance, the lowercase v is not the same as the recursive v (the correct one) for the appvar string.

1460
Axe / Re: Help: Screenshotting program ends up screensh*tting
« on: May 22, 2010, 01:38:17 am »
You just found a new bug x.x  I'll fix it later, just do this for now, it does the same thing and seems to work:

Replace:
Code: [Select]
Return!If GetCalc(Str1,768)->A
With:
Code: [Select]
GetCalc(Str1,768)->A
Return!If

1461
Axe / Re: Help: Screenshotting program ends up screensh*tting
« on: May 22, 2010, 01:23:13 am »
I'm using minimal error testing, basically if there is a problem, the program will just exit.

Copy the drawing buffer to the appvar
Code: [Select]
"vPIC"->Str1
Return!If GetCalc(Str1,768)->A
conj(L6,A,768)

Or if you want the current LCD instead
Code: [Select]
"vPIC"->Str1
StoreGDB
Return!If GetCalc(Str1,768)->A
conj(L6,A,768)

Copy the appvar to the buffer and then to the screen
Code: [Select]
"vPIC"->Str1
Unarchive Str1
Return!If GetCalc(Str1)->A
conj(A,L6,768)
DispGraph

Or simply display it on the LCD directly
Code: [Select]
"vPIC"->Str1
Unarchive Str1
Return!If GetCalc(Str1)->A
A->DispGraph

1462
Axe Parser
Beta 0.2.5


If I weren't so busy I would have added more stuff...

New Features:
  • Scroll to errors (kind of) by pressing [prgm] after an error.
  • Read and write to the Ans variable as a number.
  • New text mode to toggle auto-scrolling at last line.

Changed:
N/A

1463
The Axe Parser Project / Re: Bug Reports
« on: May 22, 2010, 12:47:43 am »
Okay so i think the conj()r command does not function properly.  it adds in weird data and doesn't shift properly. I know this is a bad time, so dont worry about getting to it right away, you can update it later if you need

I double checked and it seems to be working fine, I even used it in one of the starship example program.  Are you sure you know the correct use for it?  It copies a byte from {Ptr1} to {Ptr2} then {Ptr1-1} to {Ptr2-1} then {Ptr1-2} to {Ptr2-2} etc.

Quote
Also I think someone needs to write an in-depth tutorial on how to use GetCalc(). It,s too confusing and complicated as it is now. Just adding highscores in a game was a major hassle :/

I know it can be confusing.  That's why I specifically wrote a small tutorial for it in the user's guide.  Plus there is the "counter" example program (hehe counterexample) which demonstrates how to tell if the variable exists, is archived, and has enough ram to be created.

1464
Axe / Re: Help: Screenshotting program ends up screensh*tting
« on: May 21, 2010, 03:35:59 am »
Yeah, Str1 is just a pointer to the name of the "vPIC" string it isn't the actual data.  You need to assign the getcalc result to a variable pointer (like M in builderboy's suggestion) becasue the appvars cannot be assigned static pointers like StrXX and PicXX since they move around a lot in ram and aren't in the same place every time you execute.

1465
TI Z80 / Re: TI Basic Editor
« on: May 21, 2010, 02:03:54 am »
Oh yeah, I forgot.  I changed the way the pointer handling worked a long time ago.  This will be possible in the future though.  I just need to find some large continuous rom page I can use to read and write a bunch of data to (preferably not the extra ram pages).  That would also allow me to make label and static pointer names 8 characters in length.

1466
TI Z80 / Re: TI Basic Editor
« on: May 21, 2010, 01:55:23 am »
Haha gosh i am going to have a lot of data.  Is there any way to declare it at the *end* of my program so i dont have to scroll through it all the time?
You can already do that ;)  Just make sure you use less than 150 pointer names or the parser will run out of memory.

EDIT: Actually, I don't remember how that works anymore.  Maybe or maybe not.

1467
The Axe Parser Project / Re: Axe Parser
« on: May 21, 2010, 01:49:44 am »
The grade is 3 midterms and a final.  This is the 3rd midterm.  The word "midterm" is kind of misleading.

1468
The Axe Parser Project / Re: Axe Parser
« on: May 21, 2010, 01:26:45 am »
Just wanted to let everyone know, this weekend is going to be non-existent.  I have a take home midterm in my quantum physics class.  The "take home" part may sound like it would make it easier, but the reason its take home is becasue it would take much longer than the class time to finish the exam.  And its not like we would be able to find help anyway since this is way beyond even the internet's ability.  I estimate it will take me about 20 hours to finish at the current rate I'm finishing problems (its only 4 problems by the way).  Despite being my hardest class, its still the most fun and I'm actually doing pretty well in it.  Wish me luck!

As an effort to concentrate better, I will not be visiting the forums again until Monday.  I will release a new version of Axe Parser tomorrow night even though there really isn't much new I've added.  Some notable features are read/write to the answer variable as a number, and pseudo error scrolling.  What that means is that the program will scroll to the error if you press [prgm] after receiving an error.  However, you cannot exit the app into the program editor, it will instead return you to the home screen.  I still need to figure out how app change hooks work to exit directly into the editor at the troubled spot.  But at least this provides some temporary assistance to help find syntax errors.

1469
TI Z80 / Re: TI Basic Editor
« on: May 19, 2010, 11:51:41 pm »
DJ, I don't think your problem would be solved regardless of what builderboy does becasue the small font is not going to take up 16 columns anyway, its variable width, and he is using automatic indents on top of all that.  You can use both editors at any time though, its not like you have to use only one of them, so you can always get the best of both worlds and just switch whenever you feel its more convenient.

Builderboy there is a way to make it display small fonts, but its a somewhat longer routine, I can give you the hex if you want, but I don't know if its useful since it looks like you're trying to make it a fixed width font.

1470
Computer Programming / Re: My schoolwork got rejected...
« on: May 19, 2010, 11:36:30 pm »
Imagine a project of 6k lines of this and the migraine it would cause, even if its faster. Also, comments are always a good idea whenever clever code is employed.
I can imagine; I just printed out the source to The Penguin 77's Tetris Marathon (64 pages) and Quigibo's Puyopuyo (49 pages) in an attempt to learn Asm.

You printed 113 pages of asm code!  :o That's dedication!

Readability is really important, er... at least it is for normal sized projects, obviously not for simple assignments.  Often you finish one part of the code then start working on another only to find later you have to change that original section of code, only now you forgot what you did!  Its necessary to leave clues about what everything does becasue even though you wrote everything, its very very easy to forget.  Especially in assembly you have to keep track of more than just what it does, you also have to know if things need to be called or jumped to, what registers are needed for input and output, which registers get destroyed and which ones are preserved, the state of the stack before and after, etc.

Axe right now is 6770 lines of code for instance, which is over 100 pages if printed.  One way I keep it organized is by overusing macros.  You should see some sections of code are entirely macros to make it more readable.  I'll attach a screen shot to show you what I mean.  You wouldn't even be able to tell that its asm:


Pages: 1 ... 96 97 [98] 99 100 ... 135