Hallo ihr,
nachdem ich in den letzten Tagen Raum für Spekulationen um das ROM des
7811 gemacht habe, bin ich nun doch mal tätig geworden und habe ein Programm geschrieben. Ausgehend davon, dass die interne Firmware mir irgendwelche Interrupts zwischen die Beine wirft, habe ich das externe 8k-ROM, beginnend bei 0000h, mit BAh (disable interrupts) gefüllt. Dann in einem durch die Original-FW nicht benutzten Bereich ab 1E00h ein Programm abgelegt, das die Adressen von 0000h bis 1FFFh mit 2400bd über den UART rausschiebt. Nun kommts: was ich da bekommen habe, ist 1:1 der Inhalt meines EPROMs! Sollte die Annahme, der 7811 gibt die Adressen 0000-0FFFh nicht auf den externen Bus trotzdem stimmen, würde das ja bedeuten, dass der Adressbereich gesplittet ist - Befehle werden vom internen ROM gefetched, Datenleseoperationen jedoch auf dem externen ROM durchgeführt. Derartiges konnte ich anhand des Datenblattes nicht bestätigt finden, zumal es ja bedeuten würde, dass man im internen ROM keine Konstanten ablegen kann (ausser in Befehlen, also immediate), weil man nicht mehr darauf zugreifen kann. Oder ist der alte Chip schon so schlau, dass er Lesevorgänge auf das interne ROM abblockt, wenn sie aus dem Adressbereich des externen Speichers kommen? Auch das steht weder im DB noch kann ich es mir ernsthaft vorstellen. Als nächstes kommt dann wohl das NX-Bit beim 6502 ;)Wenn ich die lt. Datenblatt 0 sein sollende MODE0-Leitung auf Masse lege, also sozusagen ordnungsgemäß dem internen Speicher die Kontrolle gebe, wird gar nicht mehr in das externe ROM gesprungen. Das mag daran liegen, dass der Speichermodus nicht initialisiert wird. Aber irgendwie wirkt das Ding mit MODE0=0 reichlich statisch.
Na, wer steigt ein? Hinweise zur Beobachtung sind herzlich willkommen!