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 ...
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