Author Topic: Bug Reports  (Read 454562 times)

0 Members and 1 Guest are viewing this topic.

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 #1830 on: February 23, 2013, 07:54:18 pm »
I think there might be an issue with HLines() drawn off the screen.

What version of the command are you using? Because the 3-argument version is known to be broken in Axe 1.2.1.
I was using 1.2.1a. I took another look, and it was actually my fault. Sorry about that. *embarrassed grin*
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 Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Bug Reports
« Reply #1831 on: February 25, 2013, 03:19:51 pm »
What's. The. Fuc cherry. Found a really weird bug.

I'm writing an axiom, and trying to include it in one of my program, the parser says INVALID AXIOM. I thought "ok, I might have made an error" but then it sends me at the very last line of the program, way after the #Axiom() line o_O

I can't post any code since 1) I don't have any computer and 2) this is a super-over-secret project I even shouldn't talk of it here (all that I can say is that the axiom is more than 4000 lines long).

BUT I report here the hex dump :

009DB7009E390441
A38FA38F00007F60
0842001D3F63A443
8B8068CB


Still using the same 2010 83+.fr with the same 1.19 OS.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1832 on: February 25, 2013, 07:00:37 pm »
I'm pretty sure that means that a command in your axiom has too deep of a reference, meaning it references a command which references a command which references a command, etc. I've never really looked at the axioms system because it's a bit of a mess, but I doubt you've actually built a linear chain of references that's long enough to hit the limit (which happens to be 8). I would guess that, more likely, you have a circular chain of references, like one command referencing itself, or two commands referencing each other. In the case of one command referencing itself, you can simply skip the reference replacement system and do a standard load preceded by REP_NEXT, call, or jump. In the case of two or more commands referencing each other... that might not work with the current axiom system. It's something that would have to be fixed in a rewrite, so I can't really promise a fix for it any time soon at all. But if they reference each other, that means you know that you need both of them present if either is called, so can't you combine them into one command?
« Last Edit: February 25, 2013, 07:03:17 pm by Runer112 »

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Bug Reports
« Reply #1833 on: February 26, 2013, 03:44:51 am »
There isn't any loop, but in many of the commands there are repetitive calls to other functions that are part of the axiom. For example, in a command I have 24 consecutive call sub_Axiom8, but the 8th command doesn't call any function at all. In an other function, I do many times call sub_Axiom4 which also doesn't call any function.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1834 on: February 26, 2013, 12:05:22 pm »
Oh, I think the 24 consecutive calls might be the issue... Perhaps use a loop to do those calls, or absorb that command into the one that calls it so much.

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Bug Reports
« Reply #1835 on: February 26, 2013, 12:20:26 pm »
I can't absorb the command since the command over-using it is not the only one using it. But I'll try with a loop.

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Bug Reports
« Reply #1836 on: March 01, 2013, 10:23:20 am »
Bump,

I got all of this working, except for one thing : I have a cosine LUT in my axiom situated directly inside the command using it, but when I try to access it with
Code: [Select]
DB $7F
 RORG PC-1     ; I use mimas
 LD HL,CosineTable
; ...
CosineTable:
; ...
It returns weird values, but when I build the exact same LUT in my Axe program at saveSScreen and access it with
Code: [Select]
LD HL,saveSScreenIt works perfectly. I think there's a bug with REP_NEXT or something.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1837 on: March 01, 2013, 11:01:49 am »
Two funky janitorial things to remember when using REP_NEXT in a command:

  • Add 1 to the calculated command size at the start of the command header for each REP_NEXT used, and add 2 for each OFS_NEXT used. The redefining of the origin backwards in these macros causes this discrepancy.
  • Make sure the origin at the start of the command code (the command body, not the command header) is 0.

Are both of these accounted for?
« Last Edit: March 01, 2013, 11:03:22 am by Runer112 »

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Bug Reports
« Reply #1838 on: March 01, 2013, 11:10:15 am »
I already took care of those. Just to say, I currently add 34 to the size label of the first command ;D

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1839 on: March 01, 2013, 11:15:18 am »
Maybe the sheer number of replacements is an issue... Is it possible for you to send me the axiom to test? It doesn't look like I'll be able to just guess the issue, I've used up my simple Q&A tests. If it's something wrong with the axiom system, I doubt I'll guess it, I really need to debug it.
« Last Edit: March 01, 2013, 11:18:45 am by Runer112 »

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Bug Reports
« Reply #1840 on: March 01, 2013, 11:26:48 am »
Unfortunately I won't be able to post any code until tomorrow evening :/ I'm at a mountain trip since a week, and I just brought my calc and my phone -> no PC :( I'll send you the code asap.

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Bug Reports
« Reply #1841 on: March 01, 2013, 07:16:26 pm »
Bump,

I resolved the problem myself :) I just made a data out of the cosine LUT (I mean a function with the %00010000 type), and used db $7F \ RORG $-1 \ ld hl,sub_Axiom, and it worked. I'll make a topic for it tomorrow (just the time I get home ;) )

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1842 on: March 02, 2013, 11:28:21 am »
Alright, I'm guessing the issue was just a limitation in the number of replacements the Axiom system could perform in a single command. So not really a bug, but more of a lack of a feature to include infinitely many. :P

Offline Hooloovoo

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 225
  • Rating: +22/-0
    • View Profile
Re: Bug Reports
« Reply #1843 on: May 10, 2013, 10:14:33 pm »
Is there a reason why I cant GetCalc("Pic2")? I can GetCalc("PicX") where X!=2, but it does seem odd that Pic2 isn't supported.I have a feeling that this will be a somewhat easy fix.
"My world is Black & White. But if I blink fast enough, I see it in Grayscale." -tr1p1ea
Spoiler For some of the calcs I own:



(actually I have quite a few more than this, but I don't feel like making bars for them all.)

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1844 on: May 11, 2013, 01:33:59 am »
It seems to work fine for me. Could you provide the code context for which this doesn't work for you? Ideally this would be the source code, but if that cannot be shared, the compiled code would likely suffice. Or if you can recreate the problem in a small program designed to trigger this issue, sharing that would work as well.