[atari7800] Re: [personal] Re: AW: 7800 cartridge detection

  • From: "Kroko" <Nil.Krokodil@xxxxxxx>
  • To: <atari7800@xxxxxxxxxxxxx>
  • Date: Thu, 11 Aug 2005 19:29:28 +0200

Hi !

I just wanted to let you know, that I now know what the problem is. As
Eckhard told me, some revisions of the 7800 pull down all adress lines
to zero shortly before the real adress is put on the bus. That currently
confuses the Krokodiles way of detecting when an adress is stable.

I modified the Krokodiles Firmware and now it runs on the 7800. But
bankswitched games need the "Anti Glitch" logic, or the bs will not
work reliably.

I will have to think about a way to modify the "Adress Stable" detection
such that this strange 7800 behaviour does not matter ...


----- Original Message ----- From: "Eckhard Stolberg" <Eckhard_Stolberg@xxxxxx>
To: <atari7800@xxxxxxxxxxxxx>
Sent: Thursday, August 11, 2005 2:34 PM
Subject: [atari7800] Re: [personal] Re: AW: 7800 cartridge detection

The BIOS compares FE00-FE7F with FE80-FF00 and if they are the same, it assumes there no cartridge and jumps to internal game.

I think you misundersood that part of the code. Actually it
compares each byte in $FE00-$FE7F with itself. It uses indexed
addressing modes for both accesses, but the second access is
always crossing a page boundary while the first one isn't.

If there is no cartridge to drive the data bus, then the 6502
will usually read the last data that was on the bus. This is
different when crossing a page boundary, so if the compare
doesn't match, then the 7800 assumes that there is no cartridge
and starts the internal game.

Ciao, Eckhard Stolberg

Other related posts: