emu-russia/dmgcpu

Verify ALU

Closed this issue · 10 comments

Yeah, simple. Add a + b, make sure it works :)
Write a test run for Icarus to check it.
Let's NOT concentrate on the flag setting logic for now, it's complicated. Check CLA.

There seems to be extra carry crawling through all the guts somehow.

Took most of the ALU apart, but still 5+7 = 8 lol....

image

Let's move on.

I suspect there's a bug somewhere in the Carry generator.

Better:
image

But still not very well (77+35=144):
image

The bug was that the carry chain used carry complements instead of the actual carry values.

image

Issue in SET/RES/DAA random logic.

Fixed.
image

@Rodrigodd,

Hi, I fixed 2 bugs in ALU.v, you might be interested.

image

image

Now the ALU should be adding things up correctly :)

Good work! I should be able the test the ALU when progressing more in the dmg-sim integration. I am focusing in running dmg-sim's quickboot.bin for now, which is currently stuck in writing to memory (#239).

Closing this one :)