At this point, since I have lots of space left in the part I'm playing
with, I created a digital delay line by running the address change signal
through several inverters, and then anding the output of those inverters
together to form the bankswitch logic "clock". (All internal to the PLD.)
This cleaned up most of my problems, although I still cant get spyhunter to
work quite right. If left on the opening screen to the point where the
music makes a major shift, it hangs. However, if I start play before that,
it works fine. I've tried several different levels of delay, all to no
benefit with this one game.
It occurs to me that this timing/glitch problem will also complicate life
for the carts containing ram or for 3F bankswitching as now you have to
know when the data lines are active and stable as well, which according to
the data sheet for the old Commodore nmos 6502, doesn't happen until the
second half of the clock cycle. And according to that data sheet the
address and data hold times after the end of the cycle are the same, so
grabbing the data lines right at the start of an address change seems like
a bad idea.
So for something like this would you want two delays after a detection of a
change in address? One to tell you when to sample the address lines and
the other the data lines?
Chad
--
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/
============================================
Chad Schell
gamer@xxxxxxxxxxx
Like the Intellivision? Check out the Intellicart.
http://www.schells.com/intellicart.shtml
--
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/