Author Topic: Bug Reports  (Read 464452 times)

0 Members and 1 Guest are viewing this topic.

Offline LordConiupiter

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 339
  • Rating: +3/-0
  • Just one of the thousands of Axe-fans...
    • View Profile
Re: Bug Reports
« Reply #465 on: July 01, 2010, 05:12:32 pm »
In binary,

%00000001 = 1
%00000010 = 2
apply xor to each bit
%00000011 = 3

it's not the difference between 16 or 8 bit this time, but between all bits at once, or bit  by bit.
so not 1 xor 2, this will result 0
but 1 xor 0 results 1 at the least significant bit
and 0 xor 1 also results 1 at the second least significant bit
this results a 3
everytime that I was down, you would always come around, and get my feedback on the ground. (modified part from 'Seasons in the sun')

No matter how many errors are bothering you, always try to stay rel-Axe!

The HoMM project will be resumed as soon Axe 1.0.0 will be released!
Projects:
Code: [Select]
HoMM:   [==--------]    Project 'resumed': I'm suffering overwhelming new ideas being popped up in my dreams :P
tiDE:   [----------]    Explored and understood the main part of the code: just started writing a Tokenizer.



password of the week: uvanapererubupa (Any pronunciation is the right one ;) )   :D click me, and you'll be raided :D

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Bug Reports
« Reply #466 on: July 01, 2010, 05:13:04 pm »
nemo, I believe both in Axe are bitwise. The plot-style ones are just 16-bit whereas the normal ones are 8-bit.
I'm pretty sure (but not 100%) that nemo's right.  Quigibo? :)

Edit:  He was wrong, and so was I...  almost 100% != correct... ;D
« Last Edit: July 01, 2010, 05:23:05 pm by ztrumpet »

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Bug Reports
« Reply #467 on: July 01, 2010, 05:14:55 pm »
i'm wrong. i tested it on-calc in axe, it must be bitwise since where A=6 and B=5, A-5 xor (B-3) results in true.


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: Bug Reports
« Reply #468 on: July 01, 2010, 09:55:24 pm »
Oh, so when we use logical operators, we actually have to think :D




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 #469 on: July 02, 2010, 04:24:15 am »
Hmmm im having weird problems with interrupts.  Sometimes i've had them randomly turn themselves off.  Here is the exact code:

Code: [Select]
.AXE
ClrDraw
DiagnosticOff
FnOn
fnInt(IN,0)

9->C

Repeat getKey(15)
Pxl-On(C/2/2/2/2,0
DispGraph
End

LnReg
Return

Lbl IN
C+1->C

I use the pixel moving thing because displaying text messes with interrupts i also noticed.  Every one in a while when you run the program the pixels will stop advancing.  I have run some tests, and there is no crash, the rest of the program continues to run, but the interrupts have turned off.

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 #470 on: July 02, 2010, 06:28:05 am »
Hmmm... I'm almost certain that the problem is with the DispGraph routine becasue it doesn't happen with just displaying C as a number.  Try adding an fnOn after each dispgraph.

Calc84maniac, are you sure the

ld a,i
push af
di

pop af
ret po
ei
ret

Will preserve interrupts even when these commands themselves are interrupted?
« Last Edit: July 02, 2010, 06:29:13 am by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Bug Reports
« Reply #471 on: July 02, 2010, 04:34:54 pm »
The commands won't get interrupted, because you are doing di at the start of the code.  I don't know what ret po is, but I bet that would be your problem, which would cause it to not get to the ei line.

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Bug Reports
« Reply #472 on: July 03, 2010, 09:29:41 am »
Quigibo: I'm pretty sure that it would still preserve interrupt status, even when interrupted, because a properly done interrupt (such as the TI-OS one, and the one built into Axe) might as well not have executed as far as the other code is concerned (as long as you're not using the shadow regs, of course).
graphmastur: When you do "ld a,i" or "ld a,r" the current interrupt status (enabled, disabled) is stored in the parity flag. Set (pe) means interrupts are enabled, reset (po) means they were disabled.
So, if interrupts were disabled before, the "ret po" line will cause a return, skipping the re-enabling of interrupts.
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

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 #473 on: July 04, 2010, 04:18:39 pm »
Most interrupts are currently not compatible with applications at the moment.  Any system call will not switch the correct page back to the application and cause crazy stuff to happen.  There is a fix I can do by making sure I swap the page before the interrupt quits which is what I'm going to have to do for applications.  So for now, DO NOT use interrupts with applications.
___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 #474 on: July 05, 2010, 02:39:45 pm »
I'm not entirely sure if this is a bug report or a feature request, but attempting to use a negative number in a Data() array returns a bad number error. (This occurs even if you use an r modifier)

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: Bug Reports
« Reply #475 on: July 05, 2010, 04:56:38 pm »
I think when storing data this way, it needs to be unsigned, meaning without r it's 0 through 255, not -128 through 127, and with r, it's 0 through 65535, not -32768 through 32767.

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 #476 on: July 05, 2010, 05:06:09 pm »
Most interrupts are currently not compatible with applications at the moment.  Any system call will not switch the correct page back to the application and cause crazy stuff to happen.  There is a fix I can do by making sure I swap the page before the interrupt quits which is what I'm going to have to do for applications.  So for now, DO NOT use interrupts with applications.
I don't think that would be the problem. Bcalls always swap the previous page back in after completion. The real problem is when executing a bcall outside of an interrupt and the interrupt fires while the page is swapped. The solution to this would be to swap the page upon interrupt and restore it upon completion.
"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 #477 on: July 05, 2010, 06:18:37 pm »
This isn't a problem with the parser, just the Auto Opts file. Try to spot the (once seen, very gross) error:

Code: [Select]
SHORT means less than 256 bytes
CONST means any size
=/= is a "not equal sign"
>=  is a "greater than or equal sign"
<=  is a "less than or equal sign"

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: Bug Reports
« Reply #478 on: July 05, 2010, 06:56:27 pm »
Do you mean SHORT being less than 256 bytes? Bytes shouldn't be there since short is one byte and it's the bit value that can range within 256 values

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Bug Reports
« Reply #479 on: July 05, 2010, 09:32:22 pm »
Oooh.  That's a nice find Runer.  Wow. :P