Auf den ersten Blick: die PRG-Version ist ein wohl nicht so ganz geglückter Rip-Off vom ROM. Da werden scheinbar die Cartridge-Routinen mit einem (modifizierten ?) ROM-Abbild und Umschalten von ROM/RAM im Kernal-Bereich verwendet.
Das kann natürlich sein, davon habe ich zu wenig Ahnung. Ist es nicht möglich, den Rip in einem anderen Speicherbereich zu speichern und beim Start komplett umzukopieren? Dann muss es ja alles komplett identisch sein.
So habe die es gemacht. Das ursprüngliche Cartridge liegt ab $8000 im RAM und darunter $7fe1 eine kleine Anpassung. Da wird dann der Vector nach $fffe/$ffff ins RAM geschrieben und auf sich selbst verzweigt ($7fed). Wenn man es schon im RAM ausführt, wäre es wahrscheinlich besser, die Cartridge Banking-Routinen nicht mehr zu verwenden, anstatt diese zu patchen.