Re: [stella] More complicated differences between 6502 and 6507?

Subject: Re: [stella] More complicated differences between 6502 and 6507?
From: "Eckhard Stolberg" <Eckhard_Stolberg@xxxxxx>
Date: Mon, 15 Oct 2001 15:56:06 +0200
Be aware also that when you do a LDA CXM0P (for example) the lines 5 to 0
from the data bus won´t be updated either. I´ve read on this list that  (if
I remember correctly)  Video Pinball checked the value of the whole register
not just bits 7 and 6 for detecting collisions.

That's correct. If you don't emulate/simulate the undefined bits
in the TIA read-registers correctly, the ball won't bounce off of
the paddles properly in Video Pinball. You can see this, if you
lift up the paddles and wait until the ball is trapped between
a paddle and the side bouncer. Then you won't be able to get the
ball back into play anymore.

Dodge Em has a similar problem. At $F149 it does LDA $02/STA CTRLPF.
$02 is CXP0FB. If you are getting a reversed score display, then your
bus driver must be returning 1 for bit 0.

Also at $F093 Berzerk does LDA ($8F),Y/STA ENAM0. At the start of the
game this points to address $20, which is a mirror of CXP1FB. Apparently
your bus driver is also returning 1 for bit 1 too, so that the missile
gets enabled.

The Compumate ROM also has a similar problem in one of it's
bankswitching routines, but this program probably doesn't work
on your hardware hack.

Also I think the recently discovered prototype for Video Chess
might suffer from a similar problem. It works fine in z26, but
on the other emulators it starts out with moving the left tower
out of the game. One major difference between z26 and the other
emulators is, that we keep track of the bus state, so this might
be where the problem comes from.

Ciao, Eckhard Stolberg

Archives (includes files) at
Unsub & more at

Current Thread