Hallo Besucher, der Thread wurde 2,2k mal aufgerufen und enthält 17 Antworten

letzter Beitrag von DATA-LAND am

C 64 Kernal ROM

  • Bin z.Z. wieder mal das BASIC und Kernal ROM am analysieren - einmal das orginale CBM, aber auch das von CMD mit JiffyDOS. Brauche noch ein paar Register der Zeropage, aber ohne eine Inkompatibilität in Kauf nehmen zu müssen (außer bei Datasette und RS-232 Schnittstelle).


    Paralel dazu habe ich im lila ROM Listing von DATA BACKER ("Die Bibel") gelesen.
    Im Anschluss waren auch die Änderungen gegenüber dem SX-64 angegeben. Nun habe ich aber festgestellt. dass es mindestens noch eine 3. ROM Version geben muss. Mein Hauptrechner ist ein C 64 II aus Braunschweig mit dem SID 6581 und dem schweren Abschirmblech.


    Hier die Adressen und Inhalte:


    $E4AC
    ROM Listing $5C
    Meiner $81
    SX-64 $B3


    $FF80
    ROM Listing $00
    Meiner $03
    SX-64 43


    Wäre super, wenn ein paar von euch mal ihre Version auslesen könnten - geht ja auch per BASIC, Adressen 58540 und 65408.


    1. Hat irgend jemand von euch die Werte laut ROM Listing?
    2. Stimmen die Angaben beim SX-64?


    Bin sehr gespannt!


    Dank euch! ;)

  • Höchst interessant - in dieser englischsprachigen Tabelle werden diese 2 Register offiziell zur Identifizierung des Mainboards, bzw. ROMs angegeben. Dann könnten die Angaben aus dem ROM Listing zum Brotkasten gehören, obwohl das Buch von 1990 ist!


    Wer von euch hat nun welche Werte? Gibt es evtl. noch eine 4. Version?

  • Der weitaus überwiegende Teil wird Rev.3 haben. Ein paar wenige Rev.2. Eine Handvoll Gesegneter Rev.1. Und die vierte Version, das SX-Kernal, alle die einen SX im Originalzustand haben.
    Es wäre mir keine offizielle andere Revision bekannt.

  • Okay, dann hätten wir also lt. BladeRunner's Zusammenfassung 4 verschiedene Boards, bzw. ROMs.


    Habe gerade mal diesen Lackmustest gemacht. Mein "A" hatte die gleiche Farbe wie die anderen Zeichen auch. Wieso soll denn der POKE Befehl, der auf den ZeichenRAM zielt, auch noch eine Auswirkung auf das FarbRAM haben?


    Könnten mal einige von euch bei euren 64'ern die Adressen 58540 und 65408 ausPEEKen? Bei solchen Geschichten sind mir echte, ermittelte Werte lieber als Angaben aus Büchern.


    Auch wäre es sehr interessant was die 128'er dort drin stehen haben. Ich versuche mal ein paar Besitzer hierfür zu begeistern...


    Im voraus vielen Dank!


    :)

  • Rev. 03 war längst draußen als der 128er rauskam. Und für den C64C hat Commodore gar nix geändert- erst mit der schmalen Platine (ab Mitte 87) wurden BASIC und KERNAL auch im 64er in einen Chip zusammengefaßt bei gleichem Inhalt.


    Sonderversionen gab es dann noch für den 4064 (Unikum für den amerikanischen Bildungssektor) und für das C64 GS (animierter Startbildschirm, wenn kein Modul steckt) sowie die rudimentären Kernals in den MINI BASIC udn MAX BASIC Modulen der Max Machine. Das rechne ich aber mal als 'komplett andere Baustelle'.

  • Jop, exakt so. Du wirst keine anderen Revisionen finden. Es sind btw. Kernal-Revisionen, nicht Board-Revisionen.
    Ab Revision 3 war das Kernal eben "ausgereift", da waren keine Fixes mehr nötig und deswegen wurde auch ncihts mehr getan. Der Test mit dem Poke zeigt nur einfach und unkompliziert den auffälligsten Fix. Die Routine zum löschen des Schirms war fehlerhaft und wurde zwei mal nachgebessert. Im Link oben siehst Du noch die weiteren Fixes die gemacht wurden.


    Also wirklich kein Grund das jeder jetzt alle 64er auf den Tisch stellt und durchtestet, das kann man eigentlich als gesichert nehmen.

  • Aha, und wie würde sich Rev. 1 & 2 bei folg. Situation verhalten:
    <CTRL> + <1> für schwarz und dann <SHIFT> + <HOME>? Übernimmt die ROM Routine dann nicht schwarz beim Bildschirm löschen?


    Es wäre aber möglich dass die 128'er Boards einen anderen Wert zur Identifizierung mitbekommen haben, oder?

  • Du hast dir doch den link angesehen, da steht doch welche Revision welche Nummer ausgibt.
    Und nein, die C128 haben alle Rev. 3, da steckt im Wesentlichen ein kompletter C64 mit auf der Platine und der verwendet auch die selben Roms.

  • gHost: Update auf Rev.3 ist auf jeden Fall sinnvoll. Es gibt Programme, deren Bildschirmausgabe auf einem Rev.2 Kernal aufgrund des o.g. Bugs nicht sichtbar werden. Und natürlich können auch die anderen Bugs zuschlagen. Siehe link in Post 2, damit ist eigentlich schon alles gesagt.

  • Habe nun mal meine 3 Brotkästen aufgebaut und den Lackmus- und PEEK Test gemacht. Alle 3 sind aus Braunschweig, aber zwei von ihnen sind Rev. 3 und einer Rev. 2. Das "A" erscheint also in der Hintergrundfarbe und in $E4AC steht $5C, in $FF80 $00.


    Da schon die ROMs der jüngeren "Brotis" Rev. 3 sind, wird es mit Sicherheit so sein, wie BladeRunner sagte, dass die meisten User eben diese Version haben. Ist in Sachen Tests zwar nicht so spannend, dafür profitieren aber die meisten von dem ausgereiften ROM. :)


    Anfangs habe ich noch gehofft, dass man in den o.g. Registern einen C 64 I von einem C 64 II und evtl. auch von den letzten Modellen mit der abgespeckten Platine unterscheiden könnte - leider nein...
    ...und JiffyDOS hat sich in diesen Registern auch nicht verewigt.


    Aber immerhin 3 verschiedene C 64 ROMs und ein SX-64 ROM bequem in $FF80 identifizierbar ist ja auch schon was, falls man jemals einen C 64 von einem SX-64 unterscheiden müsste.


    Ach so, während man in der "Bibel" keinerlei Hinweis auf die "Funktion" der besagten Registern findet, ist dies in beiden Fällen beim "C 64 für Insider" Buch von Markt & Technik angegeben. Dieses benutze ich allerdings sehr selten, weil das Listing einfach nicht flüssig zu lesen ist.


    Also danke nochmals für eure Hilfestellung! ;)