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 ... 3 4 [5] 6 7 ... 135
61
Axe / Re: 4-byte integer
« on: January 24, 2012, 05:08:52 pm »
Axe does not natively support integers larger than 16-bits since it is a game oriented language and most games don't need large integers.  However, if you know a little bit about arithmetic algorithms you can definitely code these routines in Axe as Xeda has done above, or even some inline assembly if you want a more optimized version and you know z80.

62
The Axe Parser Project / Re: Bug Reports
« on: January 20, 2012, 02:16:56 am »
You know how the problem with error scrolling was the longest standing bug in Axe until a few days ago? Well I just discovered a bug that came into existence only 11 days after it and is now contending for the title! The bug involves printing tokens to the graph screen, which has apparently been broken since it was first added. The issue is that the routine feeds B_CALL(_Get_Tok_Strng) the token in hl, although the bcall actually reads the token pointed to by hl.

HEY! WAIT A MINUTE!!!  That's not a bug, but a feature that is documented in the commands list :P  Its even in all caps with a further warning to emphasize this point.

Quote from: Axe Commands List
The 1 or 2 byte token POINTED TO is drawn at the current pen location. Notice how this is different than Disp. See Fix command for drawing details.

This is generally more useful because when you're displaying tokens, odds are its read from a pointer rather than a constant value (otherwise you would have displayed a string instead).

63
Axe / Re: 4x4 sprites
« on: January 18, 2012, 03:17:17 pm »
If the 4x4 sprites are aligned to the grid (always drawn at points where the x and y are multiples of 4), you can write a decently fast displayer in pure Axe.

64
The Axe Parser Project / Re: Axe Parser
« on: January 17, 2012, 06:18:51 pm »
Wow, that is incredibly helpful!  That will make it much simpler for Axiom developers to include their own token replacements (and myself too).  I will definitely find a place for this in the package :D

65
Axe / Re: Axe Q&A
« on: January 15, 2012, 10:22:18 pm »
Yeah this is more of a "Be lazy on purpose to make the parsing simpler with less error checking".  The right parentheis ) and } are identical in nearly every situation.  However, left parenthesis ( and { are obviously different.  When I said nearly, sometimes Axe checks for a specific kind of parenthesis so don't abuse this.  Also I could add error checking in later versions if there is ever ambiguity.

EDIT: For your specific example, the left parenthesis was the typo so it didn't work the way I presume you expected it to.

66
The Axe Parser Project / Re: Bug Reports
« on: January 15, 2012, 10:12:57 pm »
Yeah currently after a peephole optimization is successfully performed, the instruction cache is cleared because it was the simplest way to deal with it rather than attempt to shift the cache by the amount equal to the difference of the command sizes.  This also allows relative jumps in the peephole opts, but I don't think I've used any so far.  I can try to make them nestable, but its likely difficult because I think I tried doing that before I gave up and did it the simpler way.

67
ASM / Re: Set by Address restrictions?
« on: January 15, 2012, 02:20:32 am »
Oops yeah, you're right, I was thinking of hl.  Fixed.

68
ASM / Re: Set by Address restrictions?
« on: January 15, 2012, 01:34:43 am »
There is also another cool trick the same size and speed almost the same speed as Hot_Dog's suggestion but destroys the value of 'c' instead of 'a' (in case you need to preserve a).

Code: [Select]
ld bc,(var1-1)
This works because 2 byte numbers are stored as little endian in memory.

69
Axe / Re: consistant framerates?
« on: January 14, 2012, 06:43:30 am »
Just to add to Hot_Dog's idea, I would have interrupt routine simply decrease a variable (call it "A") until it reaches zero and then just stop.  That's it.  In the regular code, just do the computation, and then right after add a "While A:End" so that it waits for the trigger if the computation was too quick.  Immediately after, set A to be 8 or whatever you need for the desired framerate and the counter will do its thing.  Here is the code:

Code: [Select]
:.Setup interrupt
:fnInt(INT,6)
:
:.Main loop
:While <GameLoop>
:  <Computation>
:  While A:End
:  8->A
:  <Update screen>
:End
:Return
:
:.Interrupt
:Lbl INT
:Return!If A
:-1->A
:Return

Replace "A" with an unused variable though...

70
The Axe Parser Project / Testing suite
« on: January 14, 2012, 06:27:50 am »
I need your help!  I would like to put together a new testing suite since my current one is a little outdated.  What I'm looking for is people who are willing to donate source code that I can use to test on new versions of Axe to make sure I don't introduce new bugs.  In particular, code that uses new features from 1.0.5 onward, 5kb or greater of source code, easily testable so I can just boot it up an quickly start playing the game, and polished/mostly bug-free.  Just send me a link to the ticalc or the latest omni download if its open source.  If its closed, you can send it via private message or email; the source will only be used for compatibility testing.

I would like a collection of about 6-10 of these to be safe.  Hopefully this should help me keep the bugs down.  Thanks all!  ;D

71
The Axe Parser Project / Re: Axe Parser
« on: January 13, 2012, 02:10:22 am »
Cool!  Don't worry, I'm incorporating this feature later after a queue of other features that I need to finish, so you have some time to modify or improve it if you think it needs that :).

72
Computer Programming / Re: Best language for beginners?
« on: January 12, 2012, 05:09:50 pm »
I recommend TI-BASIC as well, I think it was my first language.  But Game Maker is a really cool "language".  I put that in quotes because its more of a visual programming environment with only simple language aspects.  Be sure to get an older version (like 4 or 5) because I think it got progressively more complicated and harder to use over time.  Python is excellent, but its a little unconventional in terms of its syntax.  But its very easy to program in, especially for string manipulation and math.  Java is nice in that its probably the easiest language to do lower level stuff in like Audio Input/Output, Graphics, Data Structures, etc.  There is pretty much a built-in library for everything, and when there isn't you can usually find one online and download it.

73
The Axe Parser Project / Re: Bug Reports
« on: January 12, 2012, 04:59:40 pm »
Yeah, I might have forgotten to make files work after operators (such as + and -).  I'll try to fix this next version.  But at least this is easy to circumvent right now.

74
The Axe Parser Project / Re: Features Wishlist
« on: January 11, 2012, 06:07:10 pm »
Excellent idea!  Also, I need to finalize the list of hijack-able routines soon to make the framework more stable so if you have suggestions for similar features in other routines, now would be a good time :)

75
The Axe Parser Project / Re: Bug Reports
« on: January 11, 2012, 05:57:38 pm »
Neither of those should work.  Files only work with a handful of commands.  The sprite commands are not included in those.

Pages: 1 ... 3 4 [5] 6 7 ... 135