Es könnten aber noch andere Leitungen sein, denn:
D400 = 1101 0100 0000 0000DC00 = 1101 1100 0000 0000
DD00 = 1101 1101 0000 0000
Dem VIC ist es egal, wie die drei gelben Adressleitungen stehen, der fühlt sich von D400..D7FF angesprochen. Bei den CIAs ist das nicht so, da müssen A10 und A9 stimmen, sonst geht der Zugriff auf IO1/IO2 oder den SID (D800).
Jetzt bin ich aber doch noch einmal bei A1. Das würde doch alle Fehler auf einmal erklären:
- Wenn das nicht passt, wird ja der CIA auch nicht richtig programmiert, da wird dann ins falsche Register geschrieben. -> IRQ wird nicht geenriert.
- Beim Auslesen des Char-ROMs kommen die falschen Zeilen zurück. -> Kaputte Zeichen.
- Beim Auslesen von "CBM80" aus dem Cartridge-ROM kommt die falsche Kennung zurück. -> Cartridge wird nicht erkannt.
Dann frage ich mich aber, wieso der Kernal anläuft, alles initialisiert, wieso die Interrupt Service Routine (mehr oder weniger) funktioniert, wenn /IRQ auf GND liegt, ... irgendwas übersehe ich. ![]()