Author Topic: The Axe Issue Tracker (sort of)  (Read 16334 times)

0 Members and 1 Guest are viewing this topic.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
The Axe Issue Tracker (sort of)
« on: September 30, 2011, 02:04:12 am »
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
« Last Edit: April 13, 2012, 10:36:18 pm by Runer112 »

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: The Axe Bug, Feature Request, and Optimization List
« Reply #1 on: September 30, 2011, 06:24:28 am »
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.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: The Axe Bug, Feature Request, and Optimization List
« Reply #2 on: September 30, 2011, 10:42:38 am »
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. ;)
« Last Edit: September 30, 2011, 10:50:06 am by Runer112 »

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: The Axe Issue Tracker (sort of)
« Reply #3 on: September 30, 2011, 06:11:38 pm »
Epic post.




Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: The Axe Issue Tracker (sort of)
« Reply #4 on: October 03, 2011, 03:55:30 pm »
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.
« Last Edit: October 03, 2011, 03:57:47 pm by Runer112 »

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: The Axe Issue Tracker (sort of)
« Reply #5 on: October 04, 2011, 03:51:46 am »
Wow, awesome work taking the time to organize this all in one section. =)

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: The Axe Issue Tracker (sort of)
« Reply #6 on: October 17, 2011, 01:57:02 am »
Darn nice list Runer112. This should hopefully reduce the amount of duplicate bug reports, even though they might still happen.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: The Axe Issue Tracker (sort of)
« Reply #7 on: December 11, 2011, 12:05:21 am »
Finally forced myself to update this thing for the past 2 months of activity! XD And as you can see in the changelog, Axe 1.1.0 was quite an impressive release; it resolved 25 issues.

Phew, that took a while...


EDIT: After multiple reports, compiling from archive is definitely confirmed to have problems.
« Last Edit: December 18, 2011, 08:08:22 pm by Runer112 »

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: The Axe Issue Tracker (sort of)
« Reply #8 on: December 18, 2011, 08:03:18 pm »
Updated for the past week of bug reports, feature requests, and optimization suggestions. Also updated for the release of Axe 1.1.1! ;D
« Last Edit: December 18, 2011, 08:03:29 pm by Runer112 »