Hello, Guest the thread was viewed25k times and contains 229 replies

last post from angryking at the

WiC64 goes VICE

  • hi @WiC64 developers,

    vice hat ein paar Fragemente eingebaut, um WiC64 ggfs. zu emulieren. Offenbar funktioniert die grundsaetzliche Kommunikation zwischen dem emulierten C64 und dem WiC64, da ein paar Programme zumindest vom Server geladen werden (sollten).

    Ob die allerdings wirklich beim C64 ankommen, kann ich schwer feststellen.


    Ich habe den portal launcher gestartert und das Teil haengt dann hier:

    hinter der letzten URL kommt ca. sowas:

    Code
    1. $ curl http://x.wic64.net/m64.php?mac=aabbccddeeff&id=00
    2. $ AF^AA^Welcome ^AG^Login^http://x.wic64.net/m64/login.prg^AI^Register^http://x.wic64.net/m64/register.prg^AK^Lost Password^http://x.wic64.net/m64/pwreset.prg^AN^WiFi Setup^http://x.wic64.net/m64/wifi.prg^BA^Firmware Update^http://x.wic64.net/m64/update.prg^BE^Exit^http://x.wic64.net/m64/exit.prg

    Ich braechte den Sourcecode von `start.prg' (WiC64 Portal Launcher ) oder dem Teil, der fuer diese URL bzw. der Behandlung der Antwort zustaendig ist.


    Aktuell habe ich noch viel zu wenig Ahnung, was da in den Vice-Innereien passiert und ob wirklich der geladener Code von den URLs im C64 Speicher ankommt. Wenn ich den start-code ein wenig instrumentieren kann, werde ich schlauer sein.


    Ich selbst habe kein WiC64 - spiele aber mit diversen Gimmicks herum, so auch am Userport mit ESPs. WiC64 und vorallem das SID Radio scheint recht populaer zu sein - also sollte ist es einen Versuch wert, auch Vice damit zu erweitern...


    thanks, pottendo


    PS: ich hoffe, dass dieser Thread noch halbwegs aktiv ist...

  • Willst du zwingend den portallauncher haben? da ist relativ viel drin, weil man damit auch wlan einrichten kann und so.
    ich habunter https://wicautostart.shnbk.de nen tool das "nur" einen starter zusammen baut, ich kann dir dafür gerne auch den sourcecode geben, vielleicht ist dir damit besser geholfen?!

    Nein zwingend ist nichts - am Ende soll zumindest das SID Radio gehen.

    Alles was mit WiC64 Admin zu tun hat ist fuer die Emulation ohnehin nicht relevant - Vice bekommt die IP Adresse vom host und ein FW Update macht schon gar keinen Sinn... ;-)

    Also, ja bin am Source interessiert. Vielleicht finde ich damit ja den einen fundamentalen Bug und der rest geht dann von selbst... ;-)
    thx, pottendo

  • Also das würde ich feiern! Denn mit einer Vice Integration würde mir das Debuggen über C64Studio extrem helfen und wäre motivierender als aktuell über den Kernal64 Emulator.

  • Also das würde ich feiern! Denn mit einer Vice Integration würde mir das Debuggen über C64Studio extrem helfen und wäre motivierender als aktuell über den Kernal64 Emulator.

    hi,

    schoen zu hoeren, dass es auch Interessenten dafuer gibt... ;-)

    Also ich bin schon recht weit - gerade beim WIC64 Radio bockt's leider noch... siehe

    Code
    1. do_http_get url: 'http://wic64.amigabbs.computer:55555/02/FF/024262ab94f7/' - path='02/FF/024262ab94f7/'
    2. add_transfer: url = http://wic64.amigabbs.computer:55555/02/FF/024262ab94f7/, cm=0x7f67e00206f0
    3. http_get_alarm_handler: cm = 0, 1
    4. R: 0 - No error <http://wic64.amigabbs.computer:55555/02/FF/024262ab94f7/>
    5. got 0 bytes

    Der Code zum http_get in der WIC64 Emulation funktioniert eig. soweit, dass ich diverse Module laden kann - der Launcher kommt bis zur Registration und auch Artillery duel kann z.b. die Highscores abholen (ev. geht ja das ganze Game).


    Beim Radio geht's da (siehe log) nicht weiter. Wenn man die URL mit 'curl http://wic64.amigabbs.computer:55555/02/FF/024262ab94f7/' versucht, kommt auch nix zurueck.

    Im kernal64 scheint einfach der Stream abgeholt zu werden, wie das auf libcurl zu machen ist, muss ich erst erforschen.


    Der Code ist ein ziemliches Gehacke meinerseits auf Basis von @groepaz's Versuch vor einiger Zeit und ein 'libcurl' Erstlingswerk... so schaut's entsprechend aus. Aber ich bin noch zuversichtlich...


    Finde ich irgendwo den wicradio source code? Das wuerde ev. helfen zu verstehen, was auf der C64 Seite so passiert...


    happy hacking, pottendo

  • Hi pottendo,


    das hört sich ja ziemlich gut an! :-) Freut mich das du schon so weit gekommen bist. Das meiste was in HTTP passiert ist mit dem Kommando 01 oder der dem Kommando 0F

    Leider hat die Quellen für WiC Radio nur der InsertDisk2, da er das auch in Eigenregie programmiert hat. Courage wäre für Artillery duel der richtige Ansprechpartner.


    Aber nochmal zum Unterschied der beiden Funktionen 01 und 0f

    01 = HTTPLoad ohne Schnick Schnack

    0f = HTTPLoad mit möglicher HEX Konvertierung, also die Möglichkeit in der URL auch "nicht ASCII Zeichen" zu übermitteln durch setzen von $< und dann die nächsten zwei Byte sind low und Highbyte der in HEX zu konvertierenden Daten. Der Chat nutzt diese Funktion sehr intensiv, da an den Server Bildschirmcode übermittelt. Kann man sich gut im Log ansehen, was da passiert im Kernal64.


    Ich vermute das einige andere Anwendung auch mit dieser Technik der Datenübertragung arbeiten, weil ansonsten nur ASCII Werte an den Server übertragen werden können.


    Gruß

    hardy

  • Beim Radio geht's da (siehe log) nicht weiter. Wenn man die URL mit 'curl http://wic64.amigabbs.computer:55555/02/FF/024262ab94f7/' versucht, kommt auch nix zurueck.

    Im kernal64 scheint einfach der Stream abgeholt zu werden, wie das auf libcurl zu machen ist, muss ich erst erforschen.

    Ich hab dir mal diesbezüglich eine PM geschickt :thumbsup:

  • Richtig klasse pottendo. Die erste Nachricht ist bereits im Messageboard gelandet. Wir freuen uns sehr, das die Implementierung des WiC Moduls jetzt auch im Vice endlich stattfindet. Sehr gute Arbeit. :)


    VG

    Thomas

  • hi,

    vice hat WIC64 gelerent...

    https://github.com/VICE-Team/svn-mirror/releases


    Mega Credits an @groepaz und an das aktuelle Vice-Team!

    Thanks an schorsch3000, LazyJones, InsertDisk2 und Courage fuer Eure Tipps und Inputs! und natuerlich auch an das WiC64 Team.


    Unter Linux laeuft's eig. ganz schoen stabil - nicht alle commands machen Sinn (z.b. Firmware update... ;-)) und ggfs. fehlt auch noch was.

    Ein erster Windows Test hat auch schon einmal einen Crash von vice provoziert ... also betrachtet das noch als Beta!


    So wird's aktiviert: Preferences -> Settings -> Peripheral devices -> Userport devices

    und hier dann 'Userport WIC64' auswaehlen.


    Happy 8-bit surfing!

    pottendo

    Known bugs:

    - https:// URLs gehen (noch) nicht -> maps und alles mit https://... crashed noch

    - Artillery Duel gestartet vom Launcher laeuft nicht - als .d64 schau't besser aus

    - Die Timezones werden nicht ordentlich gerechnet

    - WiC64Radio mag manchmal nicht (black screen)

  • Coole Sache pottendo


    Aber ziemlich krass, was man da so alles an libs nachrüsten muss im Build-system (hier msys) für libcurl. Als dann nach langem enfdlich configure durchlief, gab es am Ende einen Linker Error, resp. viele davon.

    Stellte sich dann heraus, dass libcurl mein -static nicht mag. Ohne ging das dann.


    Nun bin ich mal gespannt, wie gut das so funktioniert, ich kenne mich keine Spur damit aus. ^^

  • Fantastisch! Tolle Arbeit.


    Wenn ihr jetzt noch das Debug Log integriert bekommt (so ähnlich wie beim Kernal64) dann kann man es auch prima zum entwickeln benutzen.

    hi, gibt's an sich. Man muss halt 'DEBUG_WIC64' in src/userport/userport_wic64.c aktivieren und neu bauen... ;-)

    Aber Vorsicht: ich habe durch viel Trial&Error und ein bissl kernal64 Spionage versucht zu verstehen, was eine WIC firmware am ESP so tut. Ich habe leider nur eine relativ alte Version dieser im Source.

    Im Detail steckt der Hund; will sagen: nur wenn's mit der Emulation geht, heisst's noch nicht, dass die echte FW gluecklich ist!

    happy hacking, pottendo

  • hi,

    kurzes Update:

    - Artillery Duel geht nun besser... hatte aber keinen Gegner zum Testen

    - Diverse Commands sind nicht implementiert: z.b. alles was mit telnet gebaut ist, kann nicht funktionieren -> d.h. leider (noch) kein BBSs.

    have fun, pottendo

    PS: hab' gerade den vic20 launcher gefunden; das geht leider noch ned; waer' aber cool, das auch zu emulieren... was meint Ihr?

  • Dafür müsste dann erstmal jemand ein Portal erstellen, auf das auch zugegriffen werden kann ;)

    Programme mit WiC-Unterstützung laufen ja auch ohne Portal.

    Ich hab gemeint, wenns für den C128 auch mal das Basic-Helferlein geben würde, dann würde vielleicht auch jemand ein Portal bauen.

    Und wenn das WiC64 am C128-Vice unterstützt wird, baut vielleicht früher jemand ein Portal :-)


    Und wenn die Henne das Ei legen würde, damit aus dem Ei eine Henne schlüpfen kann, dann kann die Henne ein Ei legen, damit... ;-)