Author Topic: Bug Reports  (Read 398051 times)

0 Members and 1 Guest are viewing this topic.

Offline C0deH4cker

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 258
  • Rating: +11/-1
    • View Profile
    • iNinjas Forum/Repo
Re: Bug Reports
« Reply #1650 on: January 12, 2012, 02:21:34 pm »
when using files, the Y# has to be at the beginning of the statement.

opps your right...  i use copy.

Copy(Y1+(B*3), L1 , 10) would fail, where
Copy(B*3+Y1, L1 , 10) would work.

You did the opposite of what you said...
« Last Edit: January 12, 2012, 02:22:47 pm by C0deH4cker »

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Bug Reports
« Reply #1651 on: January 12, 2012, 04:53:09 pm »
opps thx.


Copy(Y1+(B*3), L1 , 10) would work.
Copy(B*3+Y1, L1 , 10)  would fail, where
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

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 #1652 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.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Bug Reports
« Reply #1653 on: January 12, 2012, 05:01:29 pm »
yep, i thought i should just let you know :)
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1654 on: January 15, 2012, 05:47:08 pm »
Not sure if this is a bug report or a feature request, but it appears that Axe will not "nest" peephole optimizations. I put "nest" in quotation marks because that's not a very accurate description of what I mean. This code example should hopefully better illustrate what I'm trying to say:

Source      Compiled
If <96-1
.Blah
End
      ld  de,-96
add hl,de
sbc hl,hl
ld  a,h
or  l
jp  z,End

As you can see, the inc hl \ dec hl optimization was applied, but the sbc hl,hl \ ld a,h \ or l optimization was not applied.

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Bug Reports
« Reply #1655 on: January 15, 2012, 09:15:21 pm »
I guess that happens when two optimizations overlap?  Perhaps all that needs to be done is that instead of the optimizer starting where it left off after an optimization it should back up by a byte or two?

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 #1656 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.
« Last Edit: January 15, 2012, 10:13:26 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

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 #1657 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).
___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 #1658 on: January 20, 2012, 11:04:51 am »
* Runer112 checks documentation

Oh, Disp ►Tok and Text ►Tok call for different arguments. That's a little confusing. But I see how printing the token pointed to would generally be more useful. Maybe Disp ►Tok should be changed to accept a pointer to a token as well for consistency? I think it would only need to be two bytes bigger; ld e,(hl) \ inc hl \ ld d,(hl) instead of ex de,hl. And this would actually be saving two bytes for printing tokens from a pointer.
« Last Edit: January 20, 2012, 11:20:53 am by Runer112 »

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 #1659 on: January 20, 2012, 11:14:23 am »
What would be different with apps?
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1660 on: January 20, 2012, 11:16:14 am »
The fact that tokens could be inside of the app would need to be dealt with.

Offline C0deH4cker

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 258
  • Rating: +11/-1
    • View Profile
    • iNinjas Forum/Repo
Re: Bug Reports
« Reply #1661 on: January 20, 2012, 11:18:02 am »
And that's reading from flash ROM, not RAM.

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 #1662 on: January 20, 2012, 11:18:09 am »
The fact that tokens could be inside of the app would need to be dealt with.
Umm, isn't ld e,(hl) \ inc hl \ ld d,(hl) executed before the bcall?
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1663 on: January 20, 2012, 11:20:29 am »
Ahem, well you see, uhh, you have to uhh, it's different because uhh...
* Runer112 runs to edit original post

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 #1664 on: January 20, 2012, 11:21:30 am »
Come to think of it though, the graph screen version might have a problem reading from flash because the token is read during the bcall.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman