Hallo Besucher, der Thread wurde 4,9k mal aufgerufen und enthält 28 Antworten

letzter Beitrag von Zirias/Excess am

FreeBSD ports zum Thema C64

  • Gerade habe ich die Liste oben nochmal aktualisiert. Soweit ich weiß sind Beiträge nach einer gewissen Zeit nicht mehr editierbar, daher hier der Hinweis: Ich habe vor, diesen Thread auch zu pflegen. Sollte ich also weitere Ports erstellen, oder sollten Ports in den offiziellen Tree wandern, oder sollte ich Ports aktualisieren/verbessern, werde ich einfach Antworten posten. Falls sich jemand bemüßigt fühlt, selbst einen FreeBSD Port von irgendeiner Software zu erstellen, die irgendwie mit dem C64 zu tun hat, würde ich mich über eine entsprechende Antwort in diesem Thread freuen :)

  • Da ich im Urlaub war hat sich alles ein wenig verzögert. Ich plane aber baldmöglichst, die ports ausgiebig zu testen (mit poudriere) und zu stabilisieren, so dass sie in den offiziellen ports tree wandern können.


    Falls es hier doch noch den ein oder anderen (auch gelegentlichen) FreeBSD User gibt: Irgendwelche Ideen welche Software mit C64-Bezug unbedingt noch in FreeBSD verfügbar sein sollte? :)

  • Diese Version kann auch mit Parallelport-Kabeln XM-1541 und XA-1541, dazu ist dieser Treiber nötig

    Der Treiber wurde in OpenCBM integriert, also sollte OpenCBM jetzt direkt auch Parallelport-Kabel auf FreeBSD unterstützen. Ein neues Release gibt es bisher aber nicht und auch das README ist noch auf dem alten Stand (Parallelport-Kabel nur auf Windows und Linux) -- werde trotzdem so bald wie möglich mal meinen Port aktualisieren und schauen, ob das alles klappt wie es soll :)

  • emu64 5.0.18 -- aktualisiert und den Port vervollständigt, kann jetzt hoffentlich bald von FreeBSD in die offiziellen Ports aufgenommen werden. Patches sind raus aus dem Port, da Thorsten sie netterweise upstream akzeptiert hat

    Ich hab den emu64 unter FreeBSD 12.1 mal kompiliert, was auch problemlos geklappt hat, auch wenn das einen ganzen Rattenschwanz von weiteren Abängigkeiten nach sich gezogen hat. Wenn ich emu64 nun starte, dann zeigt sich zwar das Fenster, in dem ich Diskettenimages auswählen kann, aber der "erhoffte" C64-Screen zeigt sich leider nicht. Gebaut habe ich das Ganze als root, gestartet unter einem anderen Benutzer. Weder unter dmesg, noch unter /var/log/Xorg.0.log finden sich irgendwelche Fehlermeldungen. Habe ich etwas falsch gemacht oder muss ich noch etwas tun?


  • Öhm, so spontan hab ich da keine Idee. Der Port ist mittlerweile offiziell: https://www.freshports.org/emulators/emu64/ -- einen Bugfix gab es da auch schon, betrifft aber nur Architekturen wie arm oder powerpc auf denen char per default unsigned ist. Du könntest trotzdem mal versuchen, einfach mit pkg install emu64 zu installieren (vorher vielleicht die Paketquellen auf latest setzen, bin mir nicht sicher, ob es der Port noch ins aktuelle quarterly geschafft hat). Vielleicht ist ja tatsächlich lokal beim bauen was schiefgegangen? Würde mich allerdings auch wundern, dass das dann so einen Effekt hat. Ich bin auch auf 12.1 und wenn ich emu64 starte gehen direkt zwei Fenster auf. Einzige weit hergeholte Idee noch: geht das eigentliche Emulator-Fenster irgendwie "off screen" auf? Solche Effekte kenne ich zwar nur von Windows, aber in Ermangelung besserer Ideen ... :o


    Nachtrag: Habe gerade getestet: emu64 speichert Fensterpositionen und stellt sie auch wieder her. Du könntest also versuchen, ~/.config/emu64 für den betroffenen User zu löschen :)

  • Editieren kann ich nicht mehr, aber habe noch zwei Gedanken dazu:


    1. Hast du mal n anderen Fenstermanager oder Desktop probiert? Wenn es dann geht wäre das schonmal ein interessanter Hinweis.


    2. Mach doch n Bugreport auf. Ich bin gerade unschlüssig, ob direkt upstream bei Thorsten sinnvoller ist (also ein Issue auf https://github.com/ThKattanek/emu64) oder bei FreeBSD (https://bugs.freebsd.org/bugzilla/ -- in dem Fall bitte Titel mit "emulators/emu64:" prefixen, dann bekomme ich als Maintainer auch direkt ne Mail). Ich bin ein bisschen skeptisch, dass dein Problem FreeBSD-spezifisch sein kann, ausschließen kann ich es aber auch nicht...

  • Zwischenstand:

    Ich habe einen anderen Windowmanager ausprobiert. Leider habe ich da nur twm (sonst benutze ich Openbox): Kein C64-Fenster.

    Ich habe das latest-Paket von emu64 installiert. Da wurde aber wirklich nur das emu64-Paket ausgetauscht. Beim Kompilieren des Ports wurde ja noch mehr Abhängigkeiten erstellt. Leider auch kein C64-Fenster.

    Das Löschen der Konfiguration bringt auch nichts.

    In emu64.log (im Konfigverzeichnis) wird auch kein Fehler angezeigt.


    Ein paar Fragen hätte ich noch:

    Die ROM-Files (Kernal, Basic, charset) sind dabei oder muss ich die irgendwo bereitstellen? Gibt es ein kleines Testprogramm, um SDL2 zu testen? Ich habe mal "SDL_jewels" installiert, was auch funktioniert, aber das benutzt eine libSDL-1.2. Also eher kein SDL2. Ein SDL-Logfile gibt es wahrscheinlich nicht? Rein gefühlsmäßig hätte ich SDL2 in Verdacht. Entweder kann meine Harware das nicht, oder es ist irgendwas nicht oder falsch konfiguriert.

  • Die Theorie mit SDL2 mag ich nicht glauben, sollte eigentlich kein System geben, auf dem das Probleme macht. Hast du nur ausnahmsweise von Ports installiert und nimmst sonst immer Packages? Dann würde ich mal noch folgenden "Holzhammer" vorschlagen:

    • pkg autoremove -- entfernt alle Pakete, die nur als Abhängigkeiten installiert wurden und nicht mehr gebraucht werden
    • pkg upgrade -f -- installiert alle installierten Pakete nochmal neu (das kann dauern)

    Leider fällt mir spontan kein Programm ein, um SDL2 Grafik zu testen ... aber gibt sicher jede Menge Spiele, die es verwenden, siehe z.B. die riesige Liste auf https://www.freshports.org/devel/sdl20/ (unter "this port is required by").


    Ein Bugreport wäre wahrscheinlich angebracht ... die Herausforderung dürfte sein, dass jemand das Problem bei sich nachvollziehen kann.

  • Ein "pkg autoremove" habe ich gemacht, da gab es tatsächlich einige Abhängigkeiten, die nicht mehr gebraucht wurden. Ein "pkg upgrade -f" werde ich eher nicht machen. Einen Treiber für X11 habe ich als Port kompiliert, weil da ein Parameter geändert werden musste. Das hat insgesamt ungefähr einen halben Tag gedauert. Das möchte ich mir nicht noch einmal antun. Ich habe mir ein SDL2-Spiel heraus gegriffen (Chromium-Bsu - habe ich vor Jahren schon mal unter Linux gespielt) Das hat (natürlich) funktioniert.

    Was mit noch aufgefallen ist: Auch wenn ich Emu64 über den Menüpunkt "Beenden" beende, bleibt ein Prozeß, manchmal auch zwei Prozesse zurück, die ich dann von Hand beenden muss.

    Einen Bugreport werde ich dann erstellen, auch wenn ich da nicht so überzeugt bin. Viel reinschreiben, ausser dass es nicht funktioniert, kann ich ja nicht. Für die Anmeldung habe ich schon eine E-Mailadresse hingeschickt.

  • Schreib einen Bugreport, gerne auch auf dem FreeBSD bugtracker, ich leite das dann gerne an Thorsten weiter. Nur eine Anmerkung:

    Einen Treiber für X11 habe ich als Port kompiliert, weil da ein Parameter geändert werden musste. Das hat insgesamt ungefähr einen halben Tag gedauert. Das möchte ich mir nicht noch einmal antun.

    Das ist ... "schwierig" :o Ports und Packages mischen wird nicht gern gesehen, einfach weil das verdammt viele seltsame Probleme verursachen kann. Es ist aber auch nicht automatisch ein Deal-Breaker, das Problem wird halt sein, dass irgendjemand es schafft, dein Problem nachzuvollziehen. Sollte DAS gelingen ist auch eine Lösung möglich :)


    Ich bin noch relativ neu in der Community der Port-Maintainer, und ich würde mich freuen, Probleme lösen zu können. Leider habe ich aktuell keine Idee, was man noch versuchen könnte. Aber wenn du einen PR schreibst gibt es immerhin eine Chance, dass mehr Leute als nur ich drauf schauen :)