Vamiga: Test waitblt1 fails

Created on 14 May 2020  路  4Comments  路  Source: dirkwhoffmann/vAmiga

A500 MMSE: 馃グ

waitblt1_A500_8A

vAmiga: 馃檲

Bildschirmfoto 2020-05-14 um 15 27 48

This is a huge Copper bug. The test case exhibits the flaw in the WAIT logic (when waiting for the Blitter) and is the likely cause for Batman bug #335.

(Still I am wondering how Joker got to know about it. Smart guy 馃).

Bug

Most helpful comment

Okay, let me put it to you straight: Joker got away. I really don鈥檛 know how he did it. I circled him, but just as I was about to make my move, he disappeared 馃檴馃檲馃檳.

But it was a Pyrrhic victory for him and that is the good news. While I was chasing him all the way through Copper Street and Blitter Alley, I was able to arrest many of his accomplices. So as a side effect of this chase, the next version of vAmiga will have almost perfect Blitter timing 馃槑. Now, the BBUSY and BZERO flags in DMACON appear and disappear at the right cycle (I think) and for the very first time, vAmiga passes all 16 interrupt timing tests (irqtim0 to irqtim15). In addition, I was able to fix an error in Memory::poke8. This function didn't care about availability of the bus when writing a value into memory.

What about Joker? There's a rumor he's hiding inside the CIA building 馃か.

Heading out... 馃殦馃殦馃殦馃殦馃殦

All 4 comments

In order to closely follow the exciting story of how inspector clouseau

grafik

is catching the Joker ... we, the audience, need to be able to read the code of waitblt1 馃憖... to give us the perfect crime 馃暤馃徏 good night story, please could you upload the missing story fragment to AmigaTS?馃槏

I've uploaded it to the Amiga Fairy Tale repo (aka vAmigaTS). It's located in directory Copper/Wait/

The test is rather simple and it's embarrassing that vAmiga fails on it 馃槵.

Fortunately, the fix will be easy. But before I touch the code again, I'd like to write some more test cases. Writing tests is boring business, but it really pays off in the long run.

Let Joker enjoy some more days in freedom... and let's enjoy the feeling that we can knock him out whenever we want 馃槑.

Okay, let me put it to you straight: Joker got away. I really don鈥檛 know how he did it. I circled him, but just as I was about to make my move, he disappeared 馃檴馃檲馃檳.

But it was a Pyrrhic victory for him and that is the good news. While I was chasing him all the way through Copper Street and Blitter Alley, I was able to arrest many of his accomplices. So as a side effect of this chase, the next version of vAmiga will have almost perfect Blitter timing 馃槑. Now, the BBUSY and BZERO flags in DMACON appear and disappear at the right cycle (I think) and for the very first time, vAmiga passes all 16 interrupt timing tests (irqtim0 to irqtim15). In addition, I was able to fix an error in Memory::poke8. This function didn't care about availability of the bus when writing a value into memory.

What about Joker? There's a rumor he's hiding inside the CIA building 馃か.

Heading out... 馃殦馃殦馃殦馃殦馃殦

At this point I have to express how much I like the coding style ... each Amiga hardware component has its own dedicated implementation cpp file ... its all perfectly organised... it almost seems as if this is a virtual real software driven Amiga... maybe you should change the project name to vrsdAmiga 馃槏. Compared to UAE source code ... well ... you will love vAmiga even more from an aesthetic aspect ... vAmiga is like an artwork 鉁岋笍. Thank you bro.馃

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dirkwhoffmann picture dirkwhoffmann  路  3Comments

dirkwhoffmann picture dirkwhoffmann  路  3Comments

KenDFish picture KenDFish  路  3Comments

Gianmarco72 picture Gianmarco72  路  4Comments

Alessandro1970 picture Alessandro1970  路  4Comments