Netzwerk-fähige Kernels für Sidekick64 (Alpha-Release)
- emulaThor
- Thread is marked as Resolved.
-
-
Im anderen Thread wurde ich gebeten um ein Beispiel, wie man "automatisiert" ein PRG an das Web-Frontend schicken kann, so dass das PRG vom PC aus ans Sidekick64 geschickt werden kann über WLAN oder LAN, was für Entwickler zum Testen hilfreich ist, beispielsweise aus der IDE von Endurion heraus.
Man kann cURL benutzen, um von der Kommandozeile aus ein PRG per HTTP wegzuschicken. Ein Beispiel folgt.
Voraussetzungen: Sidekick64 läuft mit Netzwerk-Kernel (wahrscheinlich sollte man am besten einen aktuellen Build nehmen) und hat eine IP-Adresse und der Webserver ist angeschaltet.
Achtung: Sobald man ein D64 launcht über D2EF ist der Webserver inaktiv! Gleiches gilt für das Launchen von anderen CRTs. Nach dem Verlassen des D64 per Reset ist der Webserver wieder aktiv.
Wenn man ein PRG launcht, bleibt der Webserver weiterhin aktiv, auch während das PRG läuft. Man kann ein laufendes PRG wieder mit erneutem Aufruf von curl wegkicken und ein neues PRG launchen.
Im folgenden cURL-Aufruf sind drei Parameter an die persönliche Situation anzupassen:
- Hostname vom SK-Webserver (Default: sidekick64)
- Dateipfad zum PRG (Beispiel: /home/ich/Downloads/wolflingteaser.prg)
- Soll gelauncht, gesaved oder beides getan werden? (l, s, b). Dieser Parameter kommt als Value zum Key radio_saveorlaunch. Normalfall wäre für Entwickler die Verwendung von "l".
curl -F "kernelimg=@/home/ich/Downloads/wolflingteaser.prg" -F "radio_saveorlaunch=l" http://sidekick64/upload.html
Dies ist nur ein Minimalbeispiel. Diese Codezeile funktioniert nur, solange ich die internen Namen im HTML-Formular nicht ändere. Es ist keine API für die Ewigkeit. Aber wenn sich was ändern sollte, kann man die Doku aktualisieren.
Wenn es funktioniert: Man kann noch hinten folgendes dranhängen, damit curl nicht mit der HTTP-Response die Konsole vollschreibt:
> /dev/null 2>&1
-
Perfekt .. läuft ohne probleme .. Danke, nette und einfache Lösung
-
curl -F "kernelimg=@/home/ich/Downloads/wolflingteaser.prg" -F "radio_saveorlaunch=l" http://sidekick64/upload.html
Dies ist nur ein Minimalbeispiel. Diese Codezeile funktioniert nur, solange ich die internen Namen im HTML-Formular nicht ändere. Es ist keine API für die Ewigkeit. Aber wenn sich was ändern sollte, kann man die Doku aktualisieren.
Wenn es funktioniert: Man kann noch hinten folgendes dranhängen, damit curl nicht mit der HTTP-Response die Konsole vollschreibt:
> /dev/null 2>&1
Ich würde glaub ich -s dazu nehmen und 2>&1 weglassen, hat im idealfall das gleiche ergebnis, aber im fehlerfall sieht man eine Fehlermeldung
-
-
Laut Doku sieht man die Fehlermeldung bei Verwendung von -s nur bei gleichzeitigem --show-error. Man müsste also beides nehmen und dann sieht es so aus:
curl -s --show-error -F "kernelimg=@/home/ich/Downloads/wolflingteaser.prg" -F "radio_saveorlaunch=l" http://sidekick64/upload.html > /dev/null
Man lernt nie aus...
Danke
PS -S wäre die kurzversion, leicht zu merken -sS
-
curl -s --show-error -F "kernelimg=@/home/ich/Downloads/wolflingteaser.prg" -F "radio_saveorlaunch=l" http://sidekick64/upload.html > /dev/null
Mh, könnte man vielleicht den Filter um .tga erweitern? So das man passend auch gleich ein TGA Bilder mit senden kann?
Also den Curl Befehl dann halt zwei mal ausführen: einmal um das passende Bild mit radio_saveorlaunch=s zu speichern und danach dann halt das eigentliche PRG.
Hoffe du verstehst was ich meine und möchte
-
Oh, gerade festgestellt das das TGA Bild gar nicht angezeigt wird wenn es schon vorhanden ist
Ich habe das Bild (game.tga) normal auf die Karte kopiert, transferiere das File game.prg und ich hatte die Hoffnung das das Bild zumindestens jetzt angezeigt wird, aber das ist leider nicht der Fall
-
-
Wenn normal bei Sidekick64 ein PRG von SD-Karte gelauncht wird (über den F7-Browser), dann schaut Sidekick, ob im gleichen Verzeichnis ein TGA liegt mit dem gleichen Dateinamen wie das PRG. Wenn man nun ein PRG per HTTP hochlädt, gibt es keinen bekannten Specherort zu diesem PRG auf der SD.
Aber was ist der genaue Use Case? Wenn es darum geht, von außen komfortabel PRGs zu starten, dann habe ich schon länger ein paar Feature-Ideen dafür.
Wenn ein Entwickler meinetwegen ein Spiel entwickelt im PRG-Format und dieses immer wieder testen will, dann ist es ihm beim Testen herzlich egal, welches TGA-Bild auf dem Display zu sehen ist, denke ich.
-
Aber was ist der genaue Use Case? Wenn es darum geht, von außen komfortabel PRGs zu starten, dann habe ich schon länger ein paar Feature-Ideen dafür.
Das klingt gut, bin neugierig
Wenn ein Entwickler meinetwegen ein Spiel entwickelt im PRG-Format und dieses immer wieder testen will, dann ist es ihm beim Testen herzlich egal, welches TGA-Bild auf dem Display zu sehen ist, denke ich.
Ja, das stimmt schon.. Aber das würde das alle "perfekt" machen
Mein Ziel ist es ja, die SD Karte so selten wie möglich rausnehmen zu müssen. -
Hab mal ne frage habe jetzt schon öfter gesehen das wenn sid Dateien abgespielt werden so eine zb Analoge Pegelanzeige in Sidekick64 Display zu sehen ist! Wie mache ich das? Lg
-
Hab mal ne frage habe jetzt schon öfter gesehen das wenn sid Dateien abgespielt werden so eine zb Analoge Pegelanzeige in Sidekick64 Display zu sehen ist! Wie mache ich das? Lg
Das ist jetzt keine Netzwerk-Kernel-Frage und müsste in den normalen Sidekick-Thread. Die Pegelanzeige ist nur aktiv, wenn die SID-Emulation von Sidekick64 aktiv ist.
-
Sorry Mein Fehler!
-
Mh, ich mal wieder
Also gibt es irgendwie eine Möglichkeit den Sidekick gleich in den Webserver Modus zu versetzen? -
Also gibt es irgendwie eine Möglichkeit den Sidekick gleich in den Webserver Modus zu versetzen?
Ja, das steht in der Doku:
-
Moin
ich möchte auch gerne das networkOS für den Sidekick64 ausprobieren.
Im github lese ich...
QuoteFor WLAN based network with Raspberry Pi 3A+ or 3B+
allerdings verwende ich einen RasPi zero 2W.
Das hat doch hier auch schon jemand installiert.
Gibt es denn irgendwo die dazu passenden downloads? Das wäre toll.
-
Das Alpha-Release alpha3 auf Github funktioniert auch mit dem Raspberry Pi Zero 2 W.
Das habe ich auch hier erwähnt: Netzwerk-fähige Kernels für Sidekick64 (Alpha-Release)
-
In der Zwischenzeit hat Frenetic ja die Sidekick-Software 0.51 mit Modplayer etc. rausgebracht und ich bin nun auch mit dem Netzwerk-Kernel vorhin umgezogen zur neuen Version.
Vorher habe ich aber den bisher aktuellen Stand vom Netzwerk-Kernel (basierend auf der Vor-Version 0.5) , der bisher nur meinen Netzwerk-Testern zugänglich war, als alpha4 released auf Github. Das ist sozusagen ein Snapshot des Standes, bevor ich nun auf v0.51 ge-rebased habe. Da sind alle Neuerungen von meiner Seite seit Januar drin.
-
Das mit dem WLAN-Kernel funktioniert bei mir leider nicht so recht.
Ich verwende einen C64-II (ASSY 250469) mit aufgesteckten SIDKick. SIDEKick mit Raspi3B+.
Die Konfig-Dateien habe ich alle laut Anleitung konfiguriert.
Wenn ich jetzt im Menü mit "@" und "c" das WLAN aktiviert, dauert es ca. 15 Sekunden bis er die verbunden hat, macht er einen Reset und springt in die Eingabe. Dort wird dann sporadisch ein Reset durchgeführt.
WLAN Verbindung besteht, das sehe ich am Router. Nur komm ich dann nicht mehr in die SideKick Oberfläche.