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 ... 75 76 [77] 78 79 ... 135
1141
The Axe Parser Project / Re: Axe Parser
« on: July 02, 2010, 12:07:50 am »
Hmmm... maybe I will reverse the order of the token then.  Its a relatively trivial thing to do in assembly but it would be more convenient in Axe.  Doe it work right with the Text() command?  That takes a pointer as an argument instead of the token itself.

And to read programs, you first read the size field of the program and then you'll know when you've reached the end.

1142
The Axe Parser Project / Re: Calling Brave Axe Warriors!
« on: July 02, 2010, 12:02:30 am »
Is this with the old beta?  I have fixed many things since then with 0.3.2 including adding a dummy signature and updating the size field of the app.  Those might have something to do with it if the Nspire handles things differently.  Does this happen every time or just sometimes?

I would do a rom clear to get everything back to normal.  Backup your stuff.

1143
The Axe Parser Project / Re: Axe Parser
« on: July 01, 2010, 11:20:05 pm »
That's becasue you normally don't load a 2 byte token directly into a register pair.  Normally, the procedure is to read it as a one byte token, then you call a command that checks if that token is a 2 byte token (something I will add later).  Only then do you shift in the second byte.  That's how the OS does it anyway, I'm just using their routines, can't blame me for their stuff :P

1144
Axe / Re: Routines
« on: July 01, 2010, 10:33:55 pm »
Automated Sound Loader/Player:

Code: [Select]
:.Setup Code
:DiagnosticOff
:0→L
:fnInt(I,6)


:.QuitCode
:LnReg
:Return


:.To Play Music that is pointed to
:Ptr→L


:.To Stop All Music
:0→L


:.To see if any music is currently playing
:If L


:.Music Loader/Player
:Lbl I
:!If L
:1→C
:Return
:End
:ReturnIf C-1→C
:If {L+1}
:Freq({L},2000)
:{L+2→L-1}→C
:Else
:0→L
:End
:Return


:.Music Data should be in this form
:Data(note1,time1,note2,time2,...,lastenote,0)→GDB1


Typical note times in this case are maybe 10 or 20, these aren't the same times as the pause command or anything.  The routines uses L for the loader and C for the counter, you can change these letters to anything you desire.  This can be used for sound effects too, especially with low frequencies (high wave values) and short wait times.

1145
The Axe Parser Project / Re: Axe Parser
« on: July 01, 2010, 10:11:06 pm »
I was a little too busy to write an example program before the release, I only got half way done, but I will release that in the routines section instead.  Its an automated sound loader and player that operates in the background using interrupts.  I'm probably forgetting to explain some of the new features, so don't hesitate to ask if you are confused about any wording in the commands list.

Oh yeah!  About the applications, to sign them, transfer them to the computer first.  The next step, I don't know an easy way to do, but what I did was open the app file in a hex editor, remove the garbage header stuff before the first colon, and the signature on the bottom which is hard to find, but it has all $FFs in it I think.  I don't really know the process that well myself, but maybe someone else can explain it.  You then have to save the file as a .hex and import it into Wapsign or rabbitsign to sign it.  Does anyone know of an program that can resign the app without having to go through this trouble?

1146
The Axe Parser Project / Re: Latest Updates (***DO NOT POST HERE!***)
« on: July 01, 2010, 09:55:46 pm »
Axe Parser
Gamma 0.3.2



Probably one of my largest updates in terms of useful features.

New Features:
  • Compile your programs to applications!
  • Axioms can be imported for added functionality!
  • Custom interrupt support!
  • Display Tokens.
  • New token value constants.
  • Find the length of a zero terminated data block.
  • Display small text without defining coordinates first.
  • Sound quality has drastically improved.
  • Developer information included.

Changed:
  • Fixed more bugs with negative numbers (I hate those things!)
  • Error scrolling is much cleaner, but still messes up in gigantic programs

1147
The Axe Parser Project / Re: Axe Parser
« on: July 01, 2010, 08:04:10 pm »
To answer these questions:

Code: [Select]
appErr1 equ 984Dh
appErr2 equ 985Ah
flashByte1 equ 9867h
flashByte2 equ 9868h
freeArcBlock equ 9869h
arcPage equ 986Bh
arcPtr equ 986Ch
appRawKeyHandle equ 9870h
appBackUpScreen equ 9872h

It looks like you'd be writing over something that sounds like it has to do with the rawkey hook so I don't know if that's necessarily safe.  Its entirely possible that these are just temporary variables that the OS uses but not for long term storage.  As long as Axe doesn't use any OS routines that use these temporary variables, it should be safe.  I have no idea what would use them though.

1148
I disagree with the claims that there would be too few programs to nominate.  I think ticalc usually gets at least 6 programs nominated per year and that's not including all the notable programs that go under the radar as DJ mentioned.  I think a bimonthly award would have a bare minimum of at least 3 decent nominees (I assume there is just one category and not splitting into separate platforms since that makes more sense for a duration this size) so I don't see any problem with that.

The only other thing I would like to add is that I think we should do the nominations differently than the way ticalc does it. Rather than nominate programs when they come out, I think it would be better to nominate them all at the same time about a week before the voting starts.  It ensures that the number of nominees is not too low or too high since the bar can shift once the knowledge of how many programs released is known.  It also adds a hint of surprise since most people won't know if their entries are going to be nominated or not until the end of the month.

Last thing I want to say is that we should not nominate programs that have been released prior to this award being founded, it wouldn't be fair becasue the time span is too great.

1149
Axe / Re: Axe Optimization Tricks
« on: July 01, 2010, 04:41:03 pm »
No its not nemo.  I gave a counter example in the other post.

1150
The Axe Parser Project / Re: Bug Reports
« on: July 01, 2010, 04:38:27 pm »
In binary,

%00000001 = 1
%00000010 = 2
apply xor to each bit
%00000011 = 3

1151
The Axe Parser Project / Re: Bug Reports
« on: July 01, 2010, 04:35:08 pm »
nemo, the only reason those don't work is becasue you're not using De Morgan's law, which is part of the reason I can't automatically optimize it.  The subtraction actually optimizes the not equal sign not the equal sign btw.

If A=6 and (B=2)

can become:

!If A-6 or (B-2)

However, that " or " has to be the 16-bit binary " or " (the plot style token) and so it reduces the effective optimization a little bit.  But it's still an optimization I'm sure.

1152
The Axe Parser Project / Re: Bug Reports
« on: July 01, 2010, 04:23:46 pm »
Nope.  Say A=6 and B=5 The answer should be 0 since neither condition is true.  But you end up with 1 xor 2 = 3 which is non-zero.

1153
The Axe Parser Project / Re: Features Wishlist
« on: July 01, 2010, 04:18:11 pm »
Well, I haven't actually started it yet, but when I finish it I'll reset the poll.  Desires can change over a week like if you get to a point in a game where you realize you really need something or if you start a new project and find yourself inconvenienced.

1154
The Axe Parser Project / Re: Bug Reports
« on: July 01, 2010, 04:12:16 pm »
Because then you wouldn't be able to use it with logical operators.  Good luck trying to do A=5 xor (B=3)

1155
The Axe Parser Project / Re: Features Wishlist
« on: July 01, 2010, 04:08:42 pm »
Sure, I changed the poll.  You can always change your vote, but I think I will do geometry drawing next anyway since it will be something fun even if it does take a long time.

Pages: 1 ... 75 76 [77] 78 79 ... 135