Hallo Besucher, der Thread wurde 7,1k mal aufgerufen und enthält 24 Antworten

letzter Beitrag von ZahrlAn am

C128 JiffyDos auf deutsche Version umgestellt.

  • Ich habe für JiffyDos eine deutsche Version erstellt.
    Leider teilen sich JiffyDos und die deutschen Tastaturtabellen den gleichen Platz am Ende des Kernel-ROMs und es ist nicht genug Platz für beides. Daher musste ich die deutschen Tastaturtabellen und den entsprechenden Code in das Basic-ROM verschieben und die Adressen anpassen. Weiterhin muss ein Teil des Kernels nun auch auf die neuen Adressen umgebogen werden bzw. erst die unterschiedlichen Teile des deutschen Kernels in den JiffyDos-Kernel eingefügt werden.


    Hat jemand Interesse an der Lösung? Dann bitte melden.

  • Ich habe für JiffyDos eine deutsche Version erstellt.

    Komisch, ich dachte bislang immer, dass es eine offizielle Version davon gegeben hätte. Zumindest habe ich irgendwoher einen MD5-Hash davon:


    cd3a50102aa6c0ef9161995bc526c086 *128de601.rom
    ea76331d6ce2189c0e7c5c31bf6fc5b5 *128us601.rom

  • Das wäre natürlich möglich, ich habe bisher nur nichts gefunden, außer einen Forumsbeitrag, wo mal jemand danach gefragt hat und keine Antwort bekam. Mir war auch bis heute nicht bewusst, dass JiffyDOS noch vertrieben wird. Hab ich vorher erst gelesen. Deshalb habe ich Jim Brain heute Mittag angeschrieben, ob er daran Interesse hätte und wollte auch gleich eine offizielle Version der ROM-Images für mein 128DCR kaufen. Ich habe nämlich festgestellt, dass das ROM in meinem 1571DCR nicht funktioniert, dass ich gebrannt habe und dann habe ich mal recherchiert und gesehen, dass es die ROMs noch offiziell gibt, deshalb habe ich auch nur den Patch hier eingestellt. Dabei habe ich auch einen Aufruf (allerdings von 2009) von Jim Brain gefunden, in dem er selbst fragt, ob es eine deutsche Version gibt.


    Ich hatte die Images bisher nur im VICE getestet. Zusammen mit meiner SD2IEC funktioniert mein Patch als EPROM-Version im C128CDR prima nur eben die 1571 nicht, aber die hat ja ein extra ROM, dass von dem Patch nicht betroffen ist.


    Wenn ich das heute richtig gelesen habe, war da bei der PAL-Version ja nur eine Timing-Geschichte. PAL heißt ja nicht zwingend deutsch...

  • Wenn ich es mir recht überlege, weiß ich nicht, wie es eine deutsche Version geben kann, denn JiffyDOS und die deutsche Tastaturtabelle passen nicht zusammen in das Kernel ROM. Möglicherweise gibt es ja aber eine Möglichkeit, die ich übersehen habe...


    Vielleicht kann ja jemand was dazu sagen. Und wenn es doch schon eine gibt, dann war es zumindest eine nette Möglichkeit mit 6502 Disassembler und Hexeditor zu spielen und die Debugfunktion von Vice kennenzulernen :)

  • Vor zwei Jahre habe ich mal JiffyDOS für den C128 analysiert um Jim Brain zu helfen (obwohl ich selbst keinen C128 benutze).
    Vom C128-CBM-Kernal gibt es vier Revisionen; einmal die Rev.0 und von der Rev.1 gibt es drei Unterrevisionen. Um diese für mich selbst auseinanderzuhalten habe ich Namen dafür erfunden, die von mir willkürlich gewählt wurden und kein Anspruch auf irgendwas erheben: R0, R1.3, R1.6 und R 1.9.
    Das CBM- (nicht JFD-) Kernal gibt es in der aktuellsten Revision 1.9 für US und DE.
    Das JFD-Kernal USA/international gibt es in der aktuellsten Revision 1.9, die allerdings beim BOOT-Befehl zu einem nicht-Fast-Serial-Device-, aber JiffyDOS- Laufwerk 8 noch einen Bug hat. Ich hatte Jim einen Patch gemailt.
    Das Original JFD-Kernal für Deutschland gibt es nur in der Revision 1.3. Ich habe das deutsch JFD-C128-Kernal auf R1.9 gepatcht. Da ich nicht weiß wie die Prüfsummenbytes berechnet werden, sind diese allerdings noch wie vorher. Auch ich habe bemerkt, dass der Platz für R1.9 und JFD nicht reicht. Deshalb habe ich diesen Speicherplatz genommen:
    Die vierte Funktionstaste beim US-C128 heißt CAPSLOCK. Ist sie gedrückt, dann wird die CAPSLOCK-Tastaturtabelle bei FBE4 benutzt.
    Die vierte Funktionstaste beim DE-C128 heißt ASCII/DIN. Sie schaltet auf die deutschen Tastaturtabellen ab FD29 um. Die CAPSLOCK-Tabelle wird beim deutschen C128 nie benutzt. Also habe ich deren Speicherplatz für die R1.9-Patches benutzt. Ich halte dies für vertretbar. Auch diesen Patch habe ich Jim gemailt. Ich finde dies etwas besser als die Patches ins BASIC-ROM und damit in zwei ROM-Bausteine zu verlagern.
    Falls irgendjemand weiß, wie die C128 Prüfsummen berechnet werden, dann bitte sagen. Genauso habe ich noch nie ein dänisches oder eventuell sogar ein spanisches C128-ROM gesehen.

  • Danke für den Hinweis. Das ist auf jeden Fall die elegantere Methode. Offengestanden habe ich mir erst das ROM-Listing angeschaut, als meine Idee mit dem Basic-ROM schon feststand. Ich war froh, dass es funktioniert hat und habe nicht mehr weiter geschaut. Bin auch noch nicht so tief drin im C128. Ich hatte früher nie einen C128D sondern "nur" einen Cevie, wollte aber immer gerne einen haben, deshalb habe ich mir neulich einen gekauft :)


    Für meinen 128DCR habe ich gestern bei Jim Brain die JiffyDOS-Version gekauft. Leider bietet er keine deutsche Version in seinem Shop an und ich hatte auch im Netz dazu nichts gefunden. Die EPROMS sind seit heute drin und funktionieren (in meiner deutschen Version).


    Mir ist aufgefallen, dass der Patch den ich oben beschrieben habe so grob bei der DCR-Version nicht funktioniert, weil in dem 4k großen Block den ich dort reingestellt habe in dieser Version noch ein paar Unterschiede von Jiffydos sind.


    Das mit den Prüfsummen habe ich mich auch schon gefragt. Glücklicherweise werden diese nicht geprüft. Da müsste man mal testen ob es ein einfaches XOR oder CRC16 ist. Sind ja zwei Byte, oder? Hier gibt es doch sicher ein paar Prüfsummenspezialisten. Ich habe mich damit noch nie richtig beschäftigt.

  • Zitat

    Mir ist aufgefallen, dass der Patch den ich oben beschrieben habe so grob bei der DCR-Version nicht funktioniert, weil in dem 4k großen Block den ich dort reingestellt habe in dieser Version noch ein paar Unterschiede von Jiffydos sind.

    Schau mal, ob Ctrl-D, Ctrl-A, Ctrl-Q, Ctrl-P und die Ctrl-Taste zum Anhalten des Text-Scrollens geht. Im Internet gibt/gab es JiffyDOS-Images, bei denen diese Routinen defekt waren. Eigentlich ist JiffyDOS im C128D und im C128DCR identisch.

    Zitat

    Das mit den Prüfsummen habe ich mich auch schon gefragt. Glücklicherweise werden diese nicht geprüft. Da müsste man mal testen ob es ein einfaches XOR oder CRC16 ist. Sind ja zwei Byte, oder?

    Die Prüfsummenroutinen in der 1571 und 1581 sind schon unterschiedlich; dürfte recht schwierig werden die korrekte Routine für den C128 zu finden.

  • Darf ich mal was sagen?
    Ich habe keine Ahnung davon und ihr könnt mich gerne dafür hauen. Aber als absolut unwissender wollte ihcm al fragen:
    Wenn doch beim deutschen C128 die CapsLock-Tabelle zwar vorhanden ist aber eigentlich nicht genutzt wird (wie es oben mal erwähnt wurde), kann man diese nicht einfach durch die Tabelle mit der DIN-Belegung ersetzen? Dann hätte man doch nach Einrasten der ASCII/DIN-Taste zwangsläufig wieder den deutschen Zeichensatz, oder habe ich das jetzt nicht richtig verstanden?

  • Der DIN-Modus ist ein bisschen komplexer, da z.B. beim Druck auf die Accent-Taste erst ein weiterer Tastendruck abgewartet wird, bis ein Zeichen erscheint. Die Tastaturtabelle allein reicht also nicht, dazu gehört auch noch etwas Extra-Code.

  • @NLQ
    Die Sache mit dem JD-Kernel war etwas komisch. Ich hatte ja zuerst ein Kernel aus dem Netz gepatsched. Damit hat meine Floppy mit Originalkernel funktioniert. Auch meine SD2IEC hat dann mit JD funktioniert.
    Als ich dann das JD 1571D in die 1571 eingesetzt habe lief die ganze Zeit der Motor und es ging nichts. Am 1571D ROM liegt es nicht, das ist identisch mit dem was ich dann von Jim Brain bekommen habe. Nur das 128DCR-Kernel war anders...

  • Zitat

    Die Sache mit dem JD-Kernel war etwas komisch. Ich hatte ja zuerst ein Kernel aus dem Netz gepatsched. Damit hat meine Floppy mit Originalkernel funktioniert. Auch meine SD2IEC hat dann mit JD funktioniert.
    Als ich dann das JD 1571D in die 1571 eingesetzt habe lief die ganze Zeit der Motor und es ging nichts. Am 1571D ROM liegt es nicht, das ist identisch mit dem was ich dann von Jim Brain bekommen habe. Nur das 128DCR-Kernel war anders...

    Hatte die 1571 anfangs das Originalkernal CBM oder JFD? Ist ein im C182DCR eingebautes oder ein externes? Wenn bei der 1571 die ganze Zeit der Motor läuft, blinkt dann eine LED?

  • Ist die interne 1571 im C128DCR. Zuerst war der CBM-Kernel in der Floppy und das gepatchte Jiffydos aus dem Netz drin. Da funktionierte die Floppy und meine SD2IEC in JD-Geschwindigkeit. Als ich dann das JD-Floppy-ROM, dass jetzt noch das selbe ist, eingebaut habe, lief die Floppy dauernd und es kam kein READY beim C128DCR. LED weiß ich leider nicht mehr, weil ich zum Testen den offenen Rechner gedreht hatte.