Netzwerk-fähige Kernels für Sidekick64 (Alpha-Release)

There are 135 replies in this Thread which has previously been viewed 24,746 times. The latest Post (August 5, 2025 at 3:26 PM) was by emulaThor.

  • Hier mal eine Modplay-Demonstration mit aktuellem Developer-Netzwerkkernel und Musik live runtergeladen von modarchive.org: Frenetic hat pocketmod verwendet zim Abspielen von Mod-Dateien. Ich habe ausprobiert, ob ich das austauschen kann gegen libopenmpt, damit man auch andere Formate wie it oder xm abspielen kann. Die neuen Releases auf modarchive.org sind meist in diesen Formaten.


    Please login to see this media element.

    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • hi,

    ist dieser Thread noch aktiv? Immerhin letztes Posting im Oct. 22.

    Ich probier's halt einmal.

    emulaThor, Danke fuer die Network kernel -> spannende Sachen sind damit vorstellbar.

    Ich bin erst seit ein paar Tagen SK64 (und RAD) Besitzer, daher noch neu in der Szene. Das Teil geht gut (incl. WLAN + Webserver).

    Jetzt wollte ich selbst den kernel bauen und habe die aktuellen circle-stdlib und compiler installiert (Ubuntu). Das ist schon ein bissl weiter, als bei Deinem Build:


    Newlib + circle:

    ## [v16](Please login to see this link.)

    * Synced with [Circle Step 45.1](Please login to see this link.).

    Auch die compiler sind neuer:

    /opt/arm-gnu-toolchain-12.2.mpacbti-rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-g++ --version

    arm-none-eabi-g++ (Arm GNU Toolchain 12.2.MPACBTI-Rel1 (Build arm-12-mpacbti.34)) 12.2.1 20230214

    Circle und auch die Samples dort bauen - hab' keines gebootet, aber ich denk' die werden gehen.

    Leider baut aber der Network Kernel nicht:

    $ make -f Makefile.stdlib 2>&1 |tee make.log

    CPP lowlevel_arm64.o

    /tmp/cc1u2ZiD.s: Assembler messages:

    /tmp/cc1u2ZiD.s:39: Error: selected processor does not support requested special purpose register -- `mrs r3,PMCCFILTR_EL0'

    /tmp/cc1u2ZiD.s:44: Error: selected processor does not support requested special purpose register -- `mrs r2,PMCR_EL0'

    /tmp/cc1u2ZiD.s:57: Error: selected processor does not support requested special purpose register -- `msr PMCCFILTR_EL0,r3'

    /tmp/cc1u2ZiD.s:61: Error: selected processor does not support requested special purpose register -- `mrs r3,PMCCFILTR_EL0'

    /tmp/cc1u2ZiD.s:66: Error: selected processor does not support requested special purpose register -- `mrs r3,PMCNTENSET_EL0'

    /tmp/cc1u2ZiD.s:79: Error: selected processor does not support requested special purpose register -- `msr PMCNTENSET_EL0,r3'

    /tmp/cc1u2ZiD.s:83: Error: selected processor does not support requested special purpose register -- `mrs r3,PMCNTENSET_EL0'

    /tmp/cc1u2ZiD.s:93: Error: selected processor does not support requested special purpose register -- `msr PMCR_EL0,r3'

    /tmp/cc1u2ZiD.s:97: Error: selected processor does not support requested special purpose register -- `mrs r3,PMCR_EL0'

    make: *** [../../circle-stdlib/libs/circle/Rules.mk:190: lowlevel_arm64.o] Error 1

    Laesst sich das mit den neuen Versionen (Circle + compilers) erklaeren? Oder fehlt mir noch eine Einstellung irgendwo.

    Circle Config ist diese hier:

    $ cat Config.mk

    CC = arm-none-eabi-gcc

    ARCH = -DAARCH=32 -mcpu=cortex-a53 -marm -mfpu=neon-fp-armv8 -mfloat-abi=hard

    TOOLPREFIX = arm-none-eabi-

    NEWLIB_BUILD_DIR = /work/src/pottendo-SK64-network/circle-stdlib/build/circle-newlib

    NEWLIB_INSTALL_DIR = /work/src/pottendo-SK64-network/circle-stdlib/install

    CFLAGS_FOR_TARGET = -DAARCH=32 -mcpu=cortex-a53 -marm -mfpu=neon-fp-armv8 -mfloat-abi=hard -DRASPPI=3 -Wno-parentheses

    CPPFLAGS_FOR_TARGET = -I"/work/src/pottendo-SK64-network/circle-stdlib/libs/circle/include" -I"/work/src/pottendo-SK64-network/circle-stdlib/libs/circle/addon" -I"/work/src/pottendo-SK64-network/circle-stdlib/include"

    CC_FOR_TARGET = arm-none-eabi-gcc

    CXX_FOR_TARGET = arm-none-eabi-g++

    ...

    Feedback ist willkommen!

    thx, pottendo

    PS: Danke an Frenetic, emulaThor und saemtlich Retro-cracks, die hier mitgeholfen haben - Great stuff! :thumbsup:

    You know, you've been hacking Lisp too long, (when...

  • hi,

    hier mein zweites Thema: arbeitet jemand an einem network kernel fuer VC20? Als stolzer (neo-)Besitzer eines VC20 (Credits znarF) hab' ich mit dem SK64 auch gleich einen VIC20 Adapter mitbestellt und gebaut.

    auch SK20 funktioniert perfekt.
    Ich koennte meinen VIC20 Dev. Workflow einfacher machen und meine sinnlosen (*) VC20 Programme ueber den Webserver zum Probieren in kurzer Zeit am echten Target ausprobieren...

    ...wenn der network kernel einmal baut, koennte ich mir ja einen kernel-sk20-net.img mal vornehmen... hat daran wer Interesse?

    bye, pottendo

    *) Ich mach' unter anderem solche Sachen: Please login to see this link. / Please login to see this link.
    waer' spannend das auf den VC20 zu bringen: ein 40col modem Programm (Basis CCGMS) mit High-speed Modem am Userport, parallel 8bit Driver
    ...ned weil's Sinn macht, sondern weil Mann's kann! :emojiSmiley-123:

    You know, you've been hacking Lisp too long, (when...

  • ist dieser Thread noch aktiv? Immerhin letztes Posting im Oct. 22.

    Ich probier's halt einmal.

    Aber na klar doch. Ich bin 24/7 aktiv, was Sidekick, SIDKick und RAD angeht, nur jongliere ich mit allem gleichzeitig momentan.

    Leider baut aber der Network Kernel nicht:

    Ich habe mir seit 2020 Docker-Images erstellt, das heißt, ich baue immer im Docker-Container und aktualisiere den dann regelmäßig mit neuen circle-stdlib-Versionen und auch neuen aarch64-Toolchains.

    Du baust 32bit, wo 64bit nötig ist. Du brauchst die Toolchain mit aarch64-none-elf-, siehe Readme von Circle. Mit gcc-12.2 habe ich noch nicht kompliert, ich bin derzeit bei gcc-11.2-2022.02 und circle-stdlib v15.13. Rene Stange empfiehlt immer eine Toolchain, daran halte ich mich meist.

    Da bisher NIEMAND JEMALS selbst kompilieren wollte, habe ich meine Docker-Images bisher hier nicht diskutiert. Selbst meine Netzwerk-Tester haben da keine Lust drauf gehabt. Prinzipiell wären die Docker-Images aber der von mir empfohlene Weg, weil wir hier sonst schnell 200 Postings haben über das Einrichten der Buildumgebung.

    hier mein zweites Thema: arbeitet jemand an einem network kernel fuer VC20?

    Meine Priorität ist der Network-Kernel für Sidekick264, der schon halb fertig ist. Beim Sidekick20 ist es so, dass Netzwerk-Kernel nur geht, wenn man KEINE emulierte HDMI-Bildausgabe macht.

    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

    Edited 2 times, last by emulaThor (April 1, 2023 at 6:22 PM).

  • hi, danke für die prompte antwort!

    Ad build: *zlorfik*, 64bit vs. 32bit immer wieder stolpere ich da drüber. Das sollte sich leicht beheben lassen.

    Da ich selbst herumhäcken werde, bin ich durchaus an deinem docker script interessiert.

    Ad vc20: ich habe ohnehin das kabel ned am Vic (glaube ich) angelötet, weil ich mit meinem RetroTink zufrieden bin. Also wäre mir das Network Feature wichtiger. Die größte Arbeit ist wohl das Menü auf VIC20 umzubauen...

    BTW, bin einer der wenigen stolzen Besitzer eines OrangeCarts, siehe: Please login to see this link.

    Habe dort Zephyr (ein RTOS) laufen. Das bietet recht umfangreiche Funktionen, ähnlich der circle library. Zephyr gibts auch für RPis. Mal schauen, ob diverse SK Funktionen sich auch dort realisieren lassen.

    Siehe auch: Please login to see this link.

    Habe damit auch Doom zum Laufen gebracht: aber das RAD team war da wesentlich besser (dithering, etc.) und der 80MHz FPGA RiscV Softcore schaffts ned mit mehr als 5fps (one dithering!) - viellecht hab ich auch noch entscheidende bugs drin, wer weiß.

    Happy hacking, pottendo

    You know, you've been hacking Lisp too long, (when...

  • Ad vc20: ich habe ohnehin das kabel ned am Vic (glaube ich) angelötet, weil ich mit meinem RetroTink zufrieden bin. Also wäre mir das Network Feature wichtiger. Die größte Arbeit ist wohl das Menü auf VIC20 umzubauen...

    Ein paar grundsätzliche Informationen:

    • Während Sidekick64 in der Vanilla-Version bisher ohne circle-stdlib auskommt, habe ich für den Netzwerk-Kernel seit Mitte 2020 circle-stdlib verwendet, weil ich damit die mbedtls-Library geschenkt bekomme und HTTPS-Requests machen kann, was für den SKTP-Browser wichtig ist.
    • Wenn das ersehnte Feature am VC-20 der Webserver ist, dann kann man das theoretisch ohne circle-stdlib bauen, nur mit circle allein, weil der Webserver bisher kein HTTPS verwendet. Allerdings wird es im Detail dann etwas kompliziert.
    • Meine Arbeitsweise ist, dass ich bei jedem neuen Release von Frenetic einen git rebase mache in einem neuen git-Branch, um seine Neuerungen mit meinen Änderungen zu verheiraten. Dabei geht jedes Mal die git Historie kaputt bzw. wird neu geschrieben, weil meine Commits dann oben drauf liegen, so dass es frustrierend sein kann, sich an meine Branches ranzuhängen (ich habe gesehen, dass Du mein Repo geforkt hast). Das ist nur eine Warnung, dass es immer wieder Cuts gibt in der git-Historie, ich versuche das dann immer in einem neuen Branch zu machen, so dass der vorherige Branch einfach in seiner Historie erhalten bleibt und brach liegt.

    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Kurz mal DANKE :thumbsup:

    Please login to see this media element.

    "Werter Pöbel, wertes Gesocks ... aus dem Arsche zieht euch den Stock ..."

  • Danke für die Blumen, SkulleateR , ich taste hier schon nach den Taschentüchern! :thumbup:

    Via Netzwerk kann ich ja als Payload auch nur das launchen, was Sidekick64 eh schon von SD-Karte launchen kann, und das ist zum Glück sehr viel dank der kontinuierlichen Arbeit von Frenetic an seinem Projekt. :thumbsup:

    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Vorschau auf ein neues Feature:

    Please login to see this media element.

    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Echt cool!

    YouTube Kanäle über Basic, den C128 und den VDC-Chip
    Please login to see this link. --- Please login to see this link.
    Commodore 8-Bit Projekte
    auf Please login to see this link.
    Please login to see this link. zu Commodore 8-bit Hardware
    auf printables.com
  • Wo ich den QR Code sehe, bin heute unabhängig davon über dieses Tool vom MagerValp gestoßen -> Please login to see this link.

    Wäre das ggf. eine Idee für's Sidekick ? Bzw. sowas in der Art ?

    Vorstellung Raveolution BBS -> Please login to see this link.
    Raveolution BBS -> raveolution.hopto.org:64128
    Raveolution Gopher Hole -> gopher://raveolution.hopto.org:70

  • Wo ich den QR Code sehe, bin heute unabhängig davon über dieses Tool vom MagerValp gestoßen -> Please login to see this link.

    Wäre das ggf. eine Idee für's Sidekick ? Bzw. sowas in der Art ?

    Eine Kamera am Sidekick, die qr codes zb vom handy display lesen kann und so Daten auf den c64 transferieren?

    Das hätte was

    YouTube Kanäle über Basic, den C128 und den VDC-Chip
    Please login to see this link. --- Please login to see this link.
    Commodore 8-Bit Projekte
    auf Please login to see this link.
    Please login to see this link. zu Commodore 8-bit Hardware
    auf printables.com
  • Eine Kamera am Sidekick, die qr codes zb vom handy display lesen kann und so Daten auf den c64 transferieren?

    Wozu, wenn Sidekick64 sowieso auf Ressourcen im Netz zugreifen kann?

  • Eine Kamera am Sidekick, die qr codes zb vom handy display lesen kann und so Daten auf den c64 transferieren?

    Wozu, wenn Sidekick64 sowieso auf Ressourcen im Netz zugreifen kann?

    Stimmt eigentlich :biggrin:

    YouTube Kanäle über Basic, den C128 und den VDC-Chip
    Please login to see this link. --- Please login to see this link.
    Commodore 8-Bit Projekte
    auf Please login to see this link.
    Please login to see this link. zu Commodore 8-bit Hardware
    auf printables.com
  • Idee für ein neues Weihnachtsheft mit QR-Codes zum Ausmalen. Wenn man alle richtigen Kästchen eingefärbt hat, kann man es am C64 einscannen und hat dann einen BASIC-10-Zeiler im RAM!

    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • bin auf diese neue firmware sehr gespannt .... :thumbsup:

    Danke! Für die grundsätzliche Funktion braucht man zum Glück gar nicht unbedingt ein Kernel-Update. Das neue Feature passiert alles serverseitig.

    Aber um das Feature noch abzurunden, wollte ich in den Kernel auch noch was reinbauen.

    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Man kann das Feature "Remote Access" mit QR-Code und Remote-Launch schonmal ausprobieren, habe ich hier erklärt:

    Please login to see this link.

    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Ich habe den Netzwerk-Kernel am letzten Wochenende mal wieder abgemischt mit dem neuesten Release von Frenetic. Alle Features von Frenetic, in seinem Release v0.51d drin sind, sollten nun auch im Netzwerk-Kernel drinsein.

    Es gibt von mir aber kein offizielles Alpha-Release, weil ich noch keine Zeit hatte, meinen Kernel ausreichend zu testen.

    gHost hatte Please login to see this link. nach einer Möglichkeit, Modfiles abzuspielen, die mit Powerpacker (PP) gepackt sind. Das habe ich nun für gHost "freigeschaltet" (Endung .PP), weil ich im Netzwerk-Kernel mit libopenmpt arbeite, wo das möglich ist. Somit kann gHost damit mal spielen, auch wenn seine Modfiles gar nicht mit .pp aufhören, meinte er im Sidekick64-Thread.

    Libopenmpt funktioniert auch noch nicht fehlerfrei mit Sidekick64, es gibt mehrere Probleme, aber die bemerkt man erst nach einer Weile. Die anhängende Entwicklerversion vom Netzwerk-Kernel ist nur ein aktueller Development-Snapshot und normalerweise mag ich es nicht, sowas im Forum anzuhängen, weil man dann später sieht, dass die Leute das in 3 Jahren immer noch runterladen und man sich fragt: Warum lädt jemand den alten Kram runter?

  • Ich habe etwas weitergearbeitet an der Integration von libopenmpt in meine Docker-Buildumgebung für den Modplayer mit erweitertem Funktionsumfang. Dann habe ich mir auch einen HDMI-Audio-Extractor bestellt, um das Audiosignal am Sidekick64 auch von HDMI abgreifen zu können, ohne einen HDMI-Capture-Stick dafür nutzen zu müssen.

    Somit geht das Audiosignal ins Mischpult und nicht direkt in den PC, was mir lieber ist. Eine Testsession, bei der ich mehrere Modfiles abspiele, habe ich aufgezeichnet und nun etwas zusammengeschnitten und zum Anhören bereitgestellt:

    Please login to see this media element.

    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.