Calculator Community > The Axe Parser Project
The Axe Issue Tracker (sort of)
Runer112:
It's hard to keep track of bug reports, feature requests, and optimizations with the massive amount of posts in Axe threads. This is my attempt to compile all of them into one post in one thread. Hopefully this should make sure bug reports and good feature requests aren't lost and make it easier for Quigibo or any other coders who want to help to spend their time coming up with solutions instead of trying to find problems to solve.
If there are existing posts containing bug reports, feature requests, or optimizations that you don't see here, please try to direct me to the original post. If the post has some standing, I will add it to the list with ratings of importance and ease that I feel are appropriate. Please try not to debate much over the importance of items, the ratings I assign are just my rough opinions. Quigibo and any other coders can address items in any order they want.
Feel free to discuss any of these items either here or in their appropriate threads. I will try to merge good ideas and important points into the discussion section for each item.
Changelog
* 12/18/11: [Axe 1.1.1]
* -3 bugs
* Error thrown at empty hexadecimal data brackets
* [Unconfirmed] Compiling from archive sometimes fails
* Issues with lowercase in getKey?
* -3 feature requests
* Reporting name of source file upon compile error
* More meaningful compilation progress information
* Display size of the compiled program during compiling
* ~1 feature request
* Switch statement
* -4 optmization suggestions
* Optimized general mutliplication
* Optimized fixed-point multiplication
* Optimized signed division and reciprocal commands
* Peephole optimization of sbc hl,de \ ld a,h \ or l
* 12/18/11: [Axe 1.1.0]
* +4 bugs
* Error thrown at empty hexadecimal data brackets
* Issues with lowercase in getKey?
* Misdocumented EndIf and End!If
* Duplication of commands referenced in Axioms
* +5 feature requests
* Automatic backup of included programs
* Ability to execute programs upon compilation
* Display size of the compiled program during compiling
* Better sorting routines
* Nested preprocessor conditionals
* +5 optmization suggestions
* Optimized general mutliplication
* Optimized fixed-point multiplication
* Optimized signed division and reciprocal commands
* Peephole optimization of sbc hl,de \ ld a,h \ or l
* Returning the full 32-bit result from the *^ operation
* 12/10/11: [Axe 1.1.0]
* -15 bugs
* operandNAME() parses NAME as a variable, not a function
* Horizontal -(BUFF) does not properly adjust BUFF
* High-order multiplication calls the wrong routine
* Erroneously throwing errors for some pointer reads
* Multiple bugs with peephole optimizer
* Precedence issue with negating constant pointer reads
* Occasional issue importing tilemaps
* The Axe application doesn't disable G-T mode
* The ? token lacks special meaning in strings
* Address replacements fail in inline Axiom commands
* Buff(CONST) accepts undefined constants
* Lack of peephole optimizer control from API
* ? and ? don't throw an error, given bad/no digits
* Incorrect key for float{ in command list
* CONST? as last line in source
* -5 feature requests
* Pre-processor conditionals
* Improved handling of lowercase by getKey?
* Arbitrary-sized sprite drawing command(s)
* For(EXPR) loop
* Including any external variable as data
* ~1 feature request
* Manual stack control for experienced users
* -5 optmization suggestions
* Optimized sort and reciprocal commands
* Peephole optimization of inc hl \ dec hl
* Optimized Bitmap() routine
* Optimized input command
* Optimized checksum routine
Spoiler For Old:
* 12/10/11: [Axe 1.0.5]
* +9 bugs
* Multiple bugs with peephole optimizer
* High-order multiplication calls the wrong routine
* Erroneously throwing errors for some pointer reads
* Precedence issue with negating constant pointer reads
* Occasional issue importing tilemaps
* The ? token lacks special meaning in strings
* Address replacements fail in inline Axiom commands
* Lbl and Goto mishandle spaces and periods
* Incorrect key for float{ in command list
* +3 feature requests
* Improved handling of lowercase by getKey?
* More meaningful compilation progress information
* Inclusion of token strings as data
* +3 optmization suggestions
* Optimized sort and reciprocal commands
* Peephole optimization of inc hl \ dec hl
* Optimized input command
* 10/18/11: [Axe 1.0.5]
* +2 bugs
* operandNAME() parses NAME as a variable, not a function
* Lack of peephole optimizer control from API
* +2 optmization suggestions
* Optimized Bitmap() routine
* Optimized checksum routine
* 10/07/11: [Axe 1.0.5]
* +1 bug
* [Unconfirmed] Compiling from archive sometimes fails
* +1 feature request
* Including any external variable as data
* 10/05/11: [Axe 1.0.5]
* +1 feature request
* Macros
* 10/03/11: [Axe 1.0.5]
* +3 bugs
* CONST? as last line in source
* ? and ? don't throw an error, given bad/no digits
* [Unconfirmed] Use of bcalls not in old OSes
* +1 optmization suggestion
* Special comparisons for control structures
* 09/31/11: [Axe 1.0.5]
* -1 bug
* [Unconfirmed] Instant goto corrupts program names
* 09/31/11: [Axe 1.0.5]
* +1 bug
* Horizontal -(BUFF) does not properly adjust BUFF
* +1 feature request
* Proper inclusion of 2-byte tokens in strings
* +3 optmization suggestions
* Separating Vertical +/- variants from main routines
* Loading a value before the jump in if statements
* Short-circuit operators in if statements jump directly to destination
* 09/30/11: [Axe 1.0.5]
* +8 bugs. +51 feature requests. +12 optmization suggestions. No discussion about any items. No solutions for any items. Some items already have solutions, but I'm exhausted. I'll try to fill in all the discussion/solution fields tomorrow.
Bugs
Importance Ease Summary Author Discussion/Solution**** ***** Misdocumented EndIf and End!If jacobly **** **** Duplication of commands referenced in Axioms Runer112 **** ? [Unconfirmed] Use of bcalls not in old OSes Runer112 List of bcalls used*** ***** ClrHome does not obey split screen setting Runer112 *** *** Lbl and Goto mishandle spaces and periods Runer112 *** ? input clears existing homescreen text Hot_Dog ** *** Possible ERR:MEMORY when creating variables Runer112 ** *** Awkward signed division rounding Runer112 * *** Various problems involving token 0x00 Runer112
Spoiler For Resolved: Importance Ease Summary Author Discussion/Solution***** ***** Error thrown at empty hexadecimal data brackets squidgetx Fixed in 1.1.1***** ? [Unconfirmed] Compiling from archive sometimes fails Camdenmil Multiple confirmation reports
Fixed in 1.1.1**** ***** Issues with lowercase in getKey? jacobly Fixed in 1.1.1***** ***** operandNAME() parses NAME as a variable, not a function Michael_Lee Fixed in 1.1.0***** ***** Horizontal -(BUFF) does not properly adjust BUFF Darl181 Fixed in 1.1.0***** ***** High-order multiplication calls the wrong routine jacobly Fixed in 1.1.0***** ***** Erroneously throwing errors for some pointer reads Builderboy Fixed in 1.1.0***** **** Multiple bugs with peephole optimizer jacobly Fixed in 1.1.0 Multiple bugs with peephole optimizer Runer112 Fixed in 1.1.0 Multiple bugs with peephole optimizer Runer112 Fixed in 1.1.0**** ***** Precedence issue with negating constant pointer reads Deep Thought Fixed in 1.1.0**** ***** Occasional issue importing tilemaps Builderboy Fixed in 1.1.0**** ***** The Axe application doesn't disable G-T mode Runer112 Fixed in 1.1.0*** ***** The ? token lacks special meaning in strings jacboly Fixed in 1.1.0*** ***** Address replacements fail in inline Axiom commands jacobly Fixed in 1.1.0*** ***** Buff(CONST) accepts undefined constants Runer112 Fixed in 1.1.0*** **** Lack of peephole optimizer control from API thepenguin77 Fixed in 1.1.0*** **** ? and ? don't throw an error, given bad/no digits Runer112 Fixed in 1.1.0** ***** Incorrect key for float{ in command list CoolioJazz Fixed in 1.1.0** **** CONST? as last line in source Runer112 Fixed in 1.1.0***** ? [Unconfirmed] Instant goto corrupts program names Darl181 Fixed in 1.0.5
Feature Requests
Importance Ease Summary Author Discussion/Solution***** ***** Higher maximum symbol length Runer112 ***** ***** Fixed-point division calc84maniac ***** **** White and inverted line drawing Builderboy ***** **** FUNC()? recursive calling Michael_Lee ***** **** Automatic backup of included programs epic7 Extra pass?***** *** Disabling of port 2E delays Runer112 ***** *** Variable increment for loop Lord Coniupiter ***** *** Line clipping Builderboy ***** *** ON key to halt execution Builderboy ***** ** Token replacements for Axioms Ashbad **** ***** Break and Continue calc84maniac **** ***** Unclipped aligned sprite drawing Quigibo **** **** Random integer from A to B Builderboy **** **** White and outline rectangles Builderboy **** **** Horizontal and vertical line drawing Quigibo **** **** Custom interrupts that perform an rst 38h Runer112 **** *** On-calculator application signing Quigibo **** *** Compound assignment operators SirCmpwn **** *** Proper inclusion of 2-byte tokens in strings Runer112 **** *** Inclusion of token strings as data Runer112 **** *** Buffer display with bitwise logic Happybobjr **** *** Buffer combination with bitwise logic ztrumpet **** *** Improved Axiom header with version system Runer112 **** *** More intelligent parsing of similar Axiom commands Runer112 **** *** Arbitrary buffer support for all buffer/drawing commands Runer112 **** ** Macros Runer112 **** ** Optional Axiom priority over Axe commands Runer112 **** * Some degree of on-calculator documentation Ashbad **** * Authentic Axe libraries Quigibo **** * 8-bit/32-bit mode Runer112 *** ***** Native InsertMem and DelMem commands calc84maniac *** ***** APD control Runer112 *** ***** B_CALL(_DelRes) Runer112 *** ***** B_CALL(_ForceFullScreen) Runer112 *** **** Signed for loop Quigibo *** **** Ability to execute programs upon compilation thydowulays *** **** 16*16 sprite drawing command(s) trevmeister66 *** *** Switch statement calc84maniac Partially added in 1.1.1*** *** Manual stack control for experienced users Quigibo Partially added in 1.1.0*** *** Better sorting routines ztrumpet *** *** Safe copy display routines calc84maniac *** ** Bit set/reset/get, esp. with memory Runer112 ** ***** CRC-CCITT Runer112 ** **** Ability to call other assembly programs ACagliano ** **** 8*n sprite drawing comamnd(s) ztrumpet ** **** Accessing the loop counter in For(CONST) loops Runer112 ** *** Buffer shifting by more than one pixel guy6020665 ** *** Nested preprocessor conditionals jacobly ** *** Axe API support Broseph Radson ** ** Manual alteration of code origin ztrumpet ** ** Defining constants from Axioms Runer112 ** ** File-specific variable reallocation Qwerty.55 ** * USB support graphmastur * ** Inline TI-BASIC Quigibo
Spoiler For Resolved: Importance Ease Summary Author Discussion/Solution***** **** Reporting name of source file upon compile error Darl181 Added in 1.1.1**** *** More meaningful compilation progress information Builderboy Added in 1.1.1*** **** Display size of the compiled program during compiling Happybobjr Added in 1.1.1***** ***** Pre-processor conditionals Eeems Added in 1.1.0**** ***** Improved handling of lowercase by getKey? jacobly Added in 1.1.0**** *** Arbitrary-sized sprite drawing command(s) Raylin Added in 1.1.0*** **** For(EXPR) loop calc84maniac Added in 1.1.0*** **** Including any external variable as data buttsfredkin Added in 1.1.0
Axiom Requests
Importance Ease Summary Author Discussion/Solution
Optimization Suggestions
Importance Ease Summary Author Discussion/Solution***** *** Conditional jumping and calling calcdude84se ***** ** Optimization of most/all commands for constant arguments Runer112 **** ***** Make p_Log, p_Exp, p_GetBit, and p_GetBit16 subroutines Runer112 **** ***** Removal of some port 6 interactions for interrupts in programs Runer112 **** ** Special comparisons for control structures calc84maniac **** ** Optimized constant storing calc84maniac *** **** Returning the full 32-bit result from the *^ operation Quigibo *** **** Separating Vertical +/- variants from main routines Runer112 *** **** Loading a value before the jump in if statements calc84maniac *** *** Short-circuit operators in if statements jump directly to destination calc84maniac *** *** Double-buffered drawing Freyaday *** *** Parsing {CONST}? in expressions as a variable Runer112 *** ** Optimized constant loading calc84maniac ** *** Optimized bitwise operations with set/res instructions calc84maniac ** *** Optimized DS<() structure Runer112 ** * Putting routines inline/in subroutines intelligently Runer112
Spoiler For Resolved: Importance Ease Summary Author Discussion/Solution***** ***** Optimized general mutliplication Runer112 Added in 1.1.1**** ***** Optimized fixed-point multiplication Runer112 Added in 1.1.1**** ***** Optimized signed division and reciprocal commands jacobly Added in 1.1.1**** ***** Optimized sort and reciprocal commands jacobly Added in 1.1.0**** ***** Peephole optimization of sbc hl,de \ ld a,h \ or l jacobly Added in 1.1.1*** ***** Peephole optimization of inc hl \ dec hl Runer112 Added in 1.1.0** ***** Optimized Bitmap() command calc84maniac Removed in 1.1.0** ***** Optimized input command jacobly Added in 1.1.0** ***** Optimized checksum command Xeda112358 Added in 1.1.0
Quigibo:
Some of those are already fixed/implemented. Some are purposely left out. Should I edit it to reflect changes, at least in the discussion tags?
This is a great idea though, to keep them in a neat list, it should make it easier for me to find things to improve. But I think it is currently cluttered with a lot of things that I have no intention to add at any point in the future. A lot of the feature requests are just way too specific to be included internally.
Runer112:
Yeah, the feature request list is a bit crowded. For requests for commands that you don't plan on adding, I'll make a separate section for Axiom requests and you can move anything you want into that section. But for everything that isn't simply a command request, instead of deleting things you don't plan on implementing, I think it would be better if it just had its importance dropped down to zero stars. If you want, you can add a short note in the discussion box explaining why it isn't a bug/why you won't implement the feature/why you won't implement the optimization. If you provide a good reason for not implementing it then I'll delete the entry altogether. Otherwise, I might follow it up with a counter-argument. ;)
Deep Toaster:
Epic post.
Runer112:
Bump to tell Quigibo that I have added some bugs, and to remind him that he should feel free to move any feature requests he doesn't plan on implementing either down to zero stars of importance or into the Axiom requests section as appropriate, possibly with explanation. Also if there are any bugs that you don't think are bugs, feel free to drop them to zero stars of importance as well, again possibly with explanation.
Also, reminding everybody to speak up if they know of old bugs/feature requests/optimization suggestions that aren't found on this list. I want this to be an exhaustive list of pretty much everything, and I might have missed some. And don't be shy with strange feature requests, because I'll also be trying to fill out the Axiom requests section soon, where many requests could go. I wasn't originally looking for feature requests that might be useful as Axioms, so I know I've missed some of those.
Navigation
[0] Message Index
[#] Next page
Go to full version