Author Topic: Bug Reports  (Read 454507 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
Re: Bug Reports
« Reply #1455 on: August 28, 2011, 05:03:45 pm »
These are pretty rare finds, but I discovered a bug with the app and not the language. Axe doesn't unset G-T mode upon opening, only Horiz mode. There's a simple fix for this, and it's actually an optimization! Changing res grfSplit,(iy+sGrFlags) to B_CALL(_ForceFullScreen) should do the trick.

Also, when I was inspecting the first few instructions of the app to see what code should be changed to fix this, I saw 2 copies of set textWrite,(iy+sGrFlags). Any reason for this?



EDIT: Regarding screen modes, B_CALL(_ClrScrnFull) in the ClrHome command should probably be B_CALL(_ClrScrn). It's exactly the same as B_CALL(_ClrScrnFull) when the calculator is in full screen display mode, which is 99% of the time anyway, but it will correctly clear the homescreen if it's not in full screen mode as well.

EDIT 2: Also, perhaps there should be an Axe command for B_CALL(_ForceFullScreen)? Axe programmers could run into this problem of not being in full screen mode and then their program displaying very strangely, especially if they're printing text to the homescreen. Perhaps another Fix command would work, but you'd need to branch into 2-digit numbers. This would also require changing how multiple options can be chained together with Fix, but I didn't really like the old way anyways. And on a similar note of OS settings that can mess stuff up, how about adding the ability to enable/disable APD as well?
« Last Edit: August 28, 2011, 06:57:29 pm by Runer112 »

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: Bug Reports
« Reply #1456 on: August 29, 2011, 10:30:56 am »
Wouldn't APD only work when the OS is in control, though? I thought that that didn't really happen in Axe programs.
Also, unless #Realloc has been used, an APD would seriously screw over an Axe program, considering that the Axevars are stored at the end of SaveSScreen, to where the OS dumps the current contents of the screen on an APD.
« Last Edit: August 29, 2011, 10:32:56 am by Freyaday »
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline JosJuice

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1344
  • Rating: +66/-14
    • View Profile
Re: Bug Reports
« Reply #1457 on: August 29, 2011, 10:51:00 am »
Wouldn't APD only work when the OS is in control, though? I thought that that didn't really happen in Axe programs.
Some BCALLs give control to the OS, for example the BCALLs that that prompt the user to input text.

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: Bug Reports
« Reply #1458 on: August 29, 2011, 03:01:55 pm »
Wouldn't APD only work when the OS is in control, though? I thought that that didn't really happen in Axe programs.
Some BCALLs give control to the OS, for example the BCALLs that that prompt the user to input text.
I figured that was why input was buggy (really, I did).
APD would still screw up the Axevars though.
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1459 on: August 29, 2011, 10:55:00 pm »
Returnr needs an alternate version for applications. I believe jp $4083 would work.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1460 on: August 31, 2011, 12:06:14 pm »
I think there's a problem with the Axiom system. It looks like if you have two versions of a command, one which accepts 0 arguments and one which accepts 1 argument, whichever is first in the Axiom will always be the one used. I think that if a command is followed by an r modifier, colon, newline, or period (or any number of spaces followed by one of these), it should be treated as having 0 arguments. Otherwise, it should be treated as having at least 1 argument.
« Last Edit: August 31, 2011, 12:14:16 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: Bug Reports
« Reply #1461 on: August 31, 2011, 01:19:57 pm »
How would you ever have 2 versions of a command that are 1 and 0 arguments respectively?  That means it would be valid syntax to both end with a parenthesis or not end with one.  If the token itself had an open parenthesis, it would be counter-intuitive that the parenthesis could never be closed in the 0 argument case, and if the token did not have an open parenthesis, it wouldn't make sense that you had to add one to close the expression in the 1 argument case.  In other words, if you find yourself in this situation, you're violating the rules of the language.
___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: Bug Reports
« Reply #1462 on: August 31, 2011, 01:24:45 pm »
Hmm I guess I see the dilemma. But you get around it by having commands like DrawInv (BUF). Can this style of argument addition be used for Axioms as well? You'd probably need an extra bit or two of metadata per command, which could be piled into the command type byte.
« Last Edit: August 31, 2011, 01:38:29 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: Bug Reports
« Reply #1463 on: August 31, 2011, 01:40:31 pm »
Ah I see what you mean, so add a new command type bit that implies the token expects a parenthesis, that could work.  Alternatively, and probably better, I could enforce these rules automatically by getting the string for each token at compile time and checking if it ends with a parenthesis.  If it doesn't end in one, require one in the code if arguments are required.  If it does end in one, throw an axiom error if using it in a 0 argument case.
___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: Bug Reports
« Reply #1464 on: August 31, 2011, 01:50:24 pm »
Automagically checking for an opening parenthesis in the token string would be very cool. But why would you need to throw an error for the 0-argument case if the token has an opening parenthesis? I would imagine that commands should be parsed like this:

:Z-Test(    0 arguments
:Z-Test(→A    1 argument
:Z-Test()    0 arguments
:Z-Test(()    1 argument
:Z-Test(ʳ    Error
:T-Test    0 arguments
:T-Test →A    0 arguments
:T-Test )    Error
:T-Test ()    1 argument
:T-Test ʳ    0 arguments
« Last Edit: August 31, 2011, 01:53:46 pm by Runer112 »

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Bug Reports
« Reply #1465 on: September 01, 2011, 01:49:29 am »
I'm not sure if this has been pointed out yet.
Quote from: Changes.pdf Page 2
I enforce this restriction because it optimizes your code a lot more optimized.

Spoiler For Spoiler:
successful troll is successful :P
« Last Edit: September 01, 2011, 01:50:06 am by ralphdspam »
ld a, 0
ld a, a

Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Bug Reports
« Reply #1466 on: September 01, 2011, 02:53:07 am »
[13:49:44] <+OmnomIRC> (O)<calc84maniac> lol, I can tell quigibo was pulling all-nighters :P
[13:49:52] <+OmnomIRC> (O)<calc84maniac> "I enforce this restriction because it optimizes your code a lot more optimized."
:P

At this point I haven't had more than one bad flash error for about a week of use, and I tried to compile again just afterwards then it worked so idk. (also I was playing with calcsys a bit the same day so yeah)
So, I'd say it's stable for the most part when used normally ;D
« Last Edit: September 01, 2011, 02:53:30 am by Darl181 »
Vy'o'us pleorsdti thl'e gjaemue

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: Bug Reports
« Reply #1467 on: September 01, 2011, 04:12:50 am »
That PDF was intended just for the pre-release guinea pig testers and was quickly written in just a few hours.  I planned to rewrite it for the actual release but got lazy and released it as-is without proofing it again.  Redundant statements are redundant :P  This file will be removed in all versions after 1.0.4 anyway (stable), its just for those transitioning from 0.x versions to 1.x versions.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: Bug Reports
« Reply #1468 on: September 02, 2011, 11:32:53 pm »
so, I have a new bug.

When using the text command (not sure if it happens with all strings, but I haven't noticed it so far) it randomly replaces individual letters with "r", like once I got omnimagr.org, and once I got omrimaga.org. It changes every time I recompile, and sometimes (about 40%) doesn't occur, so for now I'm just recompiling till it doesn't show up.

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: Bug Reports
« Reply #1469 on: September 03, 2011, 09:50:06 am »
so, I have a new bug.

When using the text command (not sure if it happens with all strings, but I haven't noticed it so far) it randomly replaces individual letters with "r", like once I got omnimagr.org, and once I got omrimaga.org. It changes every time I recompile, and sometimes (about 40%) doesn't occur, so for now I'm just recompiling till it doesn't show up.
Yep, seems like a recurring issue. Methinks Quigibo needs to fix this.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman