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 ... 81 82 [83] 84 85 ... 135
1231
ASM / Re: TI-83/84 ports
« on: June 21, 2010, 01:41:16 am »
I think if you try to read or write to other ports, most of them are mirrors of the main ports.

1232
The Axe Parser Project / Re: Your Projects - Post and Critique
« on: June 21, 2010, 01:34:20 am »
Wow!  That's amazing!  I'm surprised you were able to get the 8x8 sprites so close to the original!  It reminds me of that thread with the 8x8 Zelda sprites.  I wouldn't be that surprised is someone was working on that too ;)

Is that on 0.3.x by the way?  Because the grayscale is faster and looks nicer on in the newer versions for sure.  Or is it just your screenshot settings that make the wavy lines?

1233
Axe / Re: A good way to deal with negative values
« on: June 21, 2010, 01:27:46 am »
Which is exactly what it should... am I missing something?

1234
The Axe Parser Project / Re: Features Wishlist
« on: June 21, 2010, 01:20:04 am »
^ I'll get to that character thing  soon.

I'm thinking of allowing a new alternative syntax to make coding a little easier.  Just like you can do {L1+5} I am thinking of also allowing L1(5) like how BASIC does it.  You would also be allowed to do this with variables.  That is, A(2) becomes {A+2}.  The only downside to this would be that implied multiplication can never be implemented then becasue using parenthesis will ALWAYS imply pointing and never multiplication in order to make this unambiguous.  Not that I was planning to add implied multiplication, but thought I'd mention that.  Similarly, I would also like to be able to do the same with matrices.

What I was thinking is that you can store to a matrix at the beginning at some point.  So L1->[A](5,10) tells the compiler that you would like to start a Matrix at the position L1 and make it 5x10.  This would be completely a compiler command and would not contribute anything to the code.  The next step would be to use [A].  With the new syntax, you could say something like [A](2,4) and it will compile as {L1+2*5+4} since now the compiler knows where to store the matrix and how big it needs to be.

I'm still not sure how possible this will be to do since I still need to have it optimized automatically, but it would certainly be pretty cool.  It might allow me to implement some other commands like row and column swapping as well as well as filling with a single value, copying one matrix to another, etc.  All handled at compile time by the parser to translate into the current way of doing things so that its just as efficient.

I'm not planning to ever replace the old syntax, I'm just giving a new alternative to those who like the BASIC way of doing it.

1235
Axe / Re: A good way to deal with negative values
« on: June 21, 2010, 01:01:06 am »
-5>5 is true since this is unsigned so A should be 4 now
4<<-5 is false since this is signed (like basic) so A is still 4

Is it outputting something else?

Unless my understanding of how signed comparisons work, the routine should always work.
Code: [Select]
xor a          ;Make A zero
ld b,h         ;H is saved for later
sbc hl,de      ;The values are compared unsigned (carry flag)
ld h,a         ;Command returns 1 or 0 so high byte is zeroed
rra            ;Carry is put into bit 7 of a
xor b          ;Bit 7 is xored with sign bit of original left argument
xor d          ;Bit 7 is xored with sign bit of original right argument
rlca           ;Bit 7 put into bit 0
and %00000001  ;Mask to make this a 1 or 0
ld l,a         ;HL holds (sign1 xor sign2 xor comparison)

1236
The Axe Parser Project / Re: Calling Brave Axe Warriors!
« on: June 21, 2010, 12:46:28 am »
I'm probably exaggerating when I say that erasing flash pages wears down the flash chip.  Unless your calc is already 10 years old, I wouldn't even worry about it at all.  I only mention it becasue if I don't and then someone's flash chip is no longer able to be written to, that wouldn't be pretty.  Defragmenting has the same effect as garbage collecting.  Both erase flash but in different areas.

I forgot to fix the error messages.  I'll do that now.  I'm glad this is working on an NSpire, that was one of the calculators I was worried about.

1237
The Axe Parser Project / Re: Axe Parser
« on: June 20, 2010, 05:50:46 am »
Its a really strange bug that I can't seem to understand.  It appears to be something wrong with the OS bcalls.  It doesn't scroll to the correct location when the programs are too large.  I can't really see where the limit is right now, but its at least 6kb but probably closer to 10kb.  It has nothing to do with the asm executable limit since the source is not being executed and is simply being read, so that isn't the problem.  I'll have to figure this out later.

And yes, the scrolling should be instant now.  I had to fix that too.

Betas coming now.

1238
The Axe Parser Project / Re: Bug Reports
« on: June 20, 2010, 02:52:15 am »
Yeah, I know.  I purposely didn't do that in the screenshot.  The OS only decides to redraw the tokens when it thinks they might need changes unfortunately.  I don't want to have the new tokens update the display more often then it should becasue that might cause speed issues especially when scrolling.  Its okay though becasue normally you aren't going to be changing the header since its the first thing you write.

1239
The Axe Parser Project / Re: Axe Parser
« on: June 20, 2010, 02:31:43 am »
Although I didn't exactly keep my promise that I would have a toggle in the parser to have both token spellings, it was only becasue I didn't have time to make a new graphical menu to handle this and I wanted to release it tonight instead of waiting until tomorrow when I'm going to be busy.  However, you can still toggle it simply by removing the dot in the header as the screenshot shows.

The application compiling betas are coming shortly.  They will be emailed in the next hour.  If you don't get an email, you will just have to wait until 0.3.2 which will have the feature assuming there aren't any major problems with my current routines.

Let me know what you think of the new features  :)

EDIT: Actually I found one more bug with the error scrolling I'm going to try to fix so you might have to re-download 0.3.1.  Betas will take a little longer becasue of this.

1240
The Axe Parser Project / Re: Latest Updates (***DO NOT POST HERE!***)
« on: June 20, 2010, 02:24:17 am »
Axe Parser
Gamma 0.3.1



No new commands, but you got to admit these new features are pretty cool. Even cooler if had I decided to throw in application compiling :P

New Features:
  • Real error scrolling just like BASIC!  Finally!
  • The new token names are now automatic.  They turn on if the program has an Axe Header
  • Axe does not re-save the settings unless you make changes.  It will keep it unarchived if you want to unarchive it.
  • Commands list shows both new and old token spellings.
  • More nested expressions are allowed in a single statement.

Changed:
  • Fixed some bugs in the new tokens and documentation.

EDIT: Please Re-Download if you got a copy earlier.  There was a big problem with the error scrolling on programs larger than 10kb that I'm still not able to fix, but at least it won't crash the calc now.

1241
Humour and Jokes / Re: 9001 signs you're addicted to calcs and Omni
« on: June 19, 2010, 05:36:11 pm »
71 - You act surprised when you see a lobster that is not blue.

1242
Axe / Re: Code optimization
« on: June 19, 2010, 05:10:31 pm »
I have enough free ram where I can rely totally on it and I don't have to allocate memory from the user ram.

EDIT: Just to clear confusion, this is just how the compiler works, it has nothing to do with the generated programs.

1243
Axe / Re: Code optimization
« on: June 19, 2010, 05:03:46 pm »
Assuming you mean the speed of compiling, no.  Its only memory which I can use for something else, like the block stack.  I increased it to 100 bytes.  That should be enough for anything sane.

In case anyone is curious, these are the current stats:

Operation Stack
Max size of nested expressions such as parenthesis
100 bytes = Anywhere from 30-90ish operations.

Block Stack
Max size of nested control blocks like "If" or "While"
96 bytes = 32 blocks

Symbol Stack
Max number of variable or label names like Str1A or Lbl ZZ
750 bytes = 150 of each

1244
TI Z80 / Re: Mosaic
« on: June 19, 2010, 04:49:01 pm »
You can't even type an underscore on the calculator, nor a dollar sign very easily.  I'm curious how you're going to support that.  I saw you were designing a DCS editor for it, but can that support the extra ascii characters?

I doubt you'll need to look at the Axe Parser source becasue the global labels are fairly easy to implement and I don't use local labels.  But if you need something in particular, I can always share some source with you.

1245
Humour and Jokes / Re: 9001 signs you're addicted to calcs and Omni
« on: June 19, 2010, 01:55:39 pm »
47 - You spend more time writing games than playing them
48 - You have all the getkey codes memorized
49 - You have soldered peripheral components to a calculator
50 - You have more friends online than in real life
51 - You own more than one identical calculator

Pages: 1 ... 81 82 [83] 84 85 ... 135