Hallo Besucher, der Thread wurde 6,8k mal aufgerufen und enthält 26 Antworten

letzter Beitrag von pcollins am

Neue Firmware für das RR-Net MK3

  • Moin!


    Ich habe in den letzten Jahren mal etwas Freizeit damit verbraten, eine neue Firmware für das RR-Net MK3 zu basteln. Angefangen hat das Ganze mit einem Disassembly der Original-Firmware, und ich habe so lange Codeteile ausgetauscht, bis nichts mehr vom Original übrig war. Mittlerweile hat sie einen Zustand erreicht, dass auch Individual Computers sie so gut finden, dass sie einen offiziellen Download im Wiki zur Verfügung stellen.


    Was macht die neue Firmware besser?
    - läuft nicht nur, wenn man die Karte direkt in den Expansionsport steckt, sondern auch in eigentlich allem, was Retro-Replay ROMs kann und einen Clockport hat: Nordic Replay, Chameleon, etc.
    - läuft in der Retro-Replay Konfiguration auch mit RR-Net MK1 und MK2.
    - nutzt den Turbo-Modus vom Chameleon
    - kann jetzt auch Netzwerkconfig via DHCP holen
    - kann weiterhin Codenet
    - kann außerdem noch TFTP
    - ist quelloffen, kann also auch von anderen verbessert werden
    - beim Erzeugen der Firmware können noch ein paar Parameter eingestellt werden (Default IP, MAC, Verhalten beim Reset)
    - die empfangenen und gesendeten Pakete werden auf dem Bildschirm angezeigt (Wireshark für ganz ganz arme)


    Was macht die neue Firmware nicht so gut?
    - Weil ich Pakete mit bis zu 640 Bytes lesen kann oder besser muss (für DHCP und TFTP) ist der Datentransfer etwas langsamer geworden
    - und man kann nur noch Daten ab $0800 hochladen, statt $0400


    Zu finden sind die Downloads unter: http://wiki.icomp.de/wiki/RR-Net#Downloads


    Wichtig: das hier ist kein offizieller Support-Thread, sondern der Autor steht unverbindlich für Fragen zur Verfügung.


    Viel Spaß damit,
    SvOlli

  • Ist nett, wenn es neue Features gibt.
    Aber die Grundfrage lautet: Ist das Ding nun kompatibel mit allen Boards oder ist das immer noch lottospielen wie aktuell, ob es läuft, also ohne Huckepack Methoden?
    Dazu gab es ja vor einiger Zeit einen Thread dazu.


    <EDIT>Besagter Thread ist hier: Probleme mit RR-Net MK3

  • Läuft damit auch noch WarpCopy64 fehlerfrei und schnell?

    Ich habe selbst kein WarpCopy laufen, aber schon positive Rückmeldungen bekommen.


    Außerdem habe ich eben nochmal kurz Transferzeiten gemessen. Es wurde jeweils eine Datei von $0801-$FFFF übertragen. Gemessen wurde auf der Sendeseite mit dem Shell-Befehl "time". Das RR-Net MK3 lief in einem Chameleon.


    Codenet:
    Alte Firmware:3.55s
    Neue Firmware: 8.10s
    Neue Firmware, Chameleon Turbo: 0.63s


    TFTP:
    Neue Firmware: 5.21s
    Neue Firmware, Chameleon Turbo: 0.48s


    Ich glaube nicht, dass die neue Firmware irgendwelche Kompatibilitätsprobleme lösen wird. Was ich allerdings beim Coden festgestellt habe ist, dass ich weniger Probleme hatte, wenn ich die Karte über den Clockport betrieben habe.

  • 3x so langsam? Warum das denn????

    Einen Faktor von 2.28 als 3 anzugeben finde ich schon etwas gewagt.


    Codenet ist deshalb langsamer, weil der Code generisch angelegt ist, und nicht nur darauf ausgelegt, nur dieses eine Protokoll zu unterstützen. Ich muss z.B. um ein Datenpaket aus der Hardware zu lesen mit 16 Bit Pointern arbeiten, statt einfach nur mit mit einem 8-Bit Offset.


    Wo im alten Code folgendes steht:
    LOOP:
    LDA DATA
    STA BUFFER,X
    INX
    CPX BUFFERSIZE
    BNE LOOP


    Sieht das bei mir wie folgt aus:
    LOOP:
    LDA DATA
    STA (BUFFERVEC),Y
    INC BUFFERVEC
    BNE NOHI
    INC BUFFERVEC+1
    NOHI:
    LDA BUFFERVEC
    CMP BUFFEREND
    BNE LOOP
    LDA BUFFERVEC+1
    CMP BUFFEREND+1
    BNE LOOP


    (Das Beispiel ist stark vereinfacht.)


    Natürlich ist das deutlich langsamer (16 zu 27 Takte im best case). Der Code ist aber für DHCP und TFTP notwendig, weil die Pakete deutlich grüßer sind als 256 Bytes. Mehr Logik ist auch nötig bei der Bewertung von Paketen. Was tun, wenn während des Codenet Transfers noch ein TFTP Upload gestartet wird? Ignorieren, klar, aber auch eine solche Abfrage kostet Zeit. Bei jedem einzelnen Paket, das reinkommt.


    Und ich habe beim Programmieren mehr Wert darauf gelegt, dass der Code kompakt und wartbar bzw gut erweiterbar ist. Speed war nicht der primäre Fokus. Denn Software, die auf einem C64 zwar benutzbar, aber nicht mehr erweiterbar ist, gibt es schon genug.


    Wenn Dir das Codenet bei der neuen Firmware zu langsam ist, hast Du jetzt zwei Möglichkeiten:
    1) weiterhin die alte Firmware nehmen
    2) den Code schneller machen, und mir einen Patch schicken. Das ist das schöne bei Open Source: man kann mehr machen als nur meckern. ;) Ich hatte diese Möglichkeit nicht, als ich mit meinem Code angefangen habe.

  • Moin!


    Ich habe in den letzten Jahren mal etwas Freizeit damit verbraten, eine neue Firmware für das RR-Net MK3 zu basteln. Angefangen hat das Ganze mit einem Disassembly der Original-Firmware, und ich habe so lange Codeteile ausgetauscht, bis nichts mehr vom Original übrig war. Mittlerweile hat sie einen Zustand erreicht, dass auch Individual Computers sie so gut finden, dass sie einen offiziellen Download im Wiki zur Verfügung stellen.

    Hast Du zu der Hardware auch Informationen, warum das Teil nur in bestimmten c64 Modellen funktioniert und in manch anderen nicht ? Vom Hersteller bekommt man dazu ja keine Infos geliefert, was von einem Kauf abhält.

  • Nein, mir hat die Dokumentation im Wiki gereicht: die Beschreibung, wie das ROM ein- und ausgeblendet wird, und die Dokumentation des Netzwerk-Chips. Einzig wie das EEPROM programmiert wird, wurde mir per Email erklärt.

    OK, aber heisst das nun, dass die Kompatibilität nun besser ist mit den verschiedenen C64 Boards, oder müssen wir weiterhin orakeln?
    Ich glaube @Ace wollte eigentlich auch darauf hinaus, was ich auch weiter oben fragte.

  • Warum testet ihr es nicht einfach? Olli hat was für sich gebaut und stellt es jetzt der Allgemeinheit zur Verfügung, besser gehts wohl nicht. Er ist aber nicht sein Job das auf allen möglichen Boards zu testen. Dafür ist eher Jens der richtige Ansprechpartner, oder es testen ein paar User hier und geben Olli Feedback wo es hakt.

  • Warum testet ihr es nicht einfach? Olli hat was für sich gebaut und stellt es jetzt der Allgemeinheit zur Verfügung, besser gehts wohl nicht. Er ist aber nicht sein Job das auf allen möglichen Boards zu testen. Dafür ist eher Jens der richtige Ansprechpartner, oder es testen ein paar User hier und geben Olli Feedback wo es hakt.

    Es geht hier darum, ob das Problem adressiert wurde oder nicht. Wenn nicht, kann das Olli auch so bestätigen, es geht ja nicht darum, seine Leistung schlechtzureden, ganz sicher nicht.
    Wie Ace gesagt hat: Im Prinzip muss man die Karte kaufen, um dann festzustellen, ob sie funktioniert oder nicht. Wenn die neue Firmware diese Situation nicht verbessert, dann kann man als Käufer verzichten, Käufer zu werden und potentiell Geld aus dem Fenster zu schmeissen...und nur um diese Information geht es.

  • Warum testet ihr es nicht einfach? Olli hat was für sich gebaut und stellt es jetzt der Allgemeinheit zur Verfügung, besser gehts wohl nicht. Er ist aber nicht sein Job das auf allen möglichen Boards zu testen. Dafür ist eher Jens der richtige Ansprechpartner, oder es testen ein paar User hier und geben Olli Feedback wo es hakt.

    Weil ich das Ding nicht besitze und auch nicht kaufe, solange das nicht geklärt ist. Halbgare Hardware kaufe ich nicht. Ganz einfach. Und Jens hat es bisher auch nicht für nötig gehalten mal genau Rede und Antwort zu stehen.

  • Was mich übrigens mehr interessieren würde als das Gemecker, dass die Hardware nicht in jedem C64 läuft (das kann ich weder etwas für, noch kann ich das beheben), wäre Rückmeldungen, wie die Software funktioniert. Ich vergaß zu erwähnen, dass sie auch mit einem RR-Net MK1 und MK2 funktioniert, sofern das "Trägerboard" ein Action-Replay ROM spielen kann und einen Clockport hat.


    Über Rückmeldungen in welcher Hardware-Kombination die Firmware benutzt wurde und mit welchem Erfolg würde ich mich freuen.
    Meine Tests waren bisher
    - RR-Net MK3 direkt in einem C64c
    - RR-Net MK3 direkt in einem C64 Reloaded MK1
    - RR-Net MK3 direkt in einem C64 Reloaded MK2
    - RR-Net MK3 über ein Nordic Replay im C64c
    - RR-Net MK3 in einem Chameleon, sowohl Standalone, in Docking-Station als auch im C64c


    Der aktuelle Stand macht in keinem der Fälle Probleme. Einen älteren Stand habe ich auch schon mal auf einem MMC-Replay mit RR-Net MK2 laufen sehen.

  • Moin!


    Ich habe in den letzten Jahren mal etwas Freizeit damit verbraten, eine neue Firmware für das RR-Net MK3 zu basteln.

    Vielen Dank für deinen persönlichen Einsatz !!
    Mit meinem Apple Book, will der Download derzeit leider nicht richtig funktionieren,... (Download-Seite nicht sicher?!)


    .. daher die Frage: kommt man ansonsten jederzeit wieder zurück zur alten Firmware?
    Finde derzeit kein Updatetool (Downgrade) mit "alter" Software ?


    Du hast ja wirklich schon viele alternative Rechner getestet!! (MK1+MK2..Respekt! :thumbup: )


    Ich persönlich habe Sie bisher auch nur für Warpcopy eingesetzt..


    Danke, mfG. MIcha