Login
Search for:


Previous | Next

From: Crown (all posts)
Date: 1998-06-08
Subject: Re: Minus4 branch bug and fix
Hi there,

>Bugger... another good one. :-) (fixed)
>Well done... and...err... since your on a roll <g>
>Theres STILL a CPU bug hidden somewhere... Mercenary doesn't quite
>work right. Lines don't draw correctly, and sometimes it just messes
>up. All this is CPU based... so theres still a problem in there..
>
>My "guess" would be a carry or overflow being set/notset correctly..
>
>Wanna find that one :-)
You bet, have found some :-)
Yes, your guess about overflow was right, as it is simply ignored in adc sbc, this has to be implemented. Also I noted that in the status register bit 5 is always cleared, on the real thing this bit is always set.
This still not solves the problem, indeed it makes it worse, so there are still some more bugs out there in the CPU core.

An example:
A 2000 sei a 2001 clc a 2002 clv a 2003 lda #$60
a 2005 adc #$26
a 2007 php a 2008 brk

In the emulator it makes some really strange things. Sometimes it breaks, and break is writing out continusly, other times it can enter TEDMON, but SR will differ from the saved status reg on the stack. Will continue to hunt for this one.

Tibor Biczo / Crown of GOTU

Copyright © Plus/4 World Team, 2001-2024