Heute so gecodet...

Es gibt 2.379 Antworten in diesem Thema, welches 480.656 mal aufgerufen wurde. Der letzte Beitrag (1. November 2025 um 13:53) ist von Unseen.

    • Offizieller Beitrag
    • Interessanter Beitrag

    In meinem Urlaub hatte ich hier und da mal etwas Zeit, um an Retroscape64 weiterzumachen.

    Die ursprüngliche Version war ja mit XC-Basic geschrieben und ich wollte das nun komplett neu in Assembler schreiben.

    Damit bin ich gut vorangekommen. Vieles geht schon und vor allem schneller und mit wesentlich weniger Code. Auch für die Erkennung der Muster innerhalb der Spielmatrix (11x9) habe ich eine komplett (für mich) neue Erkennungsmethode verwendet, sodass ich diese Routine in rund 228 Bytes(!) unterbringen konnte. Wahnsinn, was man alles rausholen kann, wenn man nur lange genug über ein Problem grübelt :D

    Zudem ist auch die Grafik bereits auf Tiles (2x2) umgestellt. Das sieht schon viel besser aus und klappt einwandfrei.

    Erledigt ist bisher:

    - Komplett neuer Aufbau der Codelogik

    - neue und größere Grafik

    - Neue Anzeigeroutine, die die Tiles in 2x2 ausgeben kann

    - Neue Routine um die Blöcke in alle Richtungen (Gravitation) fallen zu lassen, inkl. dass Steine von anderen runterrutschen (ähnlich Steine bei Boulder Dash)

    - Neue Mustererkennungsroutine

    - Zuführung neuer Spielsteine, sobald wieder Platz auf dem Spielfeld ist. Dabei können sowohl vorgegebene Steine in Levels verwendet werden, als auch per Zufall.

    ToDo:

    - Steuerung durch Spieler inkl. Erkennung zulässiger Züge

    - Booster-Logiken

    - Animationen für Explosionen usw.

    - kleines Hilfesystem, welchen anzeigt, wo eine Kombination (sinnvoll oder evtl auch nicht) möglich ist. Dies ist hilfreich, da man manchmal den Wald vor lauter Bäumen nicht sieht

    - Weitere neue Grafiken

    - Soundeffekte und Ingame-Musik

    - Levelerstellung/-design (wenn denn alles andere soweit funktioniert) - Dafür würde ich später mal rumfragen, wer Lust hätte mitzugestalten!

    - Multiplayerunterstützung für das WiC64, aber erst, wenn alles andere soweit läuft.

    Also es ist noch einiges zu tun, aber aktuell bin ich hochmotiviert :D

  • Nachdem mein "Bitte melde dich an, um diesen Link zu sehen."-Projekt seit September 2022 auf Halde lag (*Hust*) und ich den gestrigen Tag komplett vergammelt habe, konnte ich mich heute tatsächlich aufraffen, die Software für V2 umzuschreiben.

    Habe dazu...

    • das Pinning umgestellt
    • aus meinem SPi-basierten Mini-Treiber für den Port-Expander MCP23S18 "quick'n'dirty" I2C-basierte Treiber für den MCP23018 und die kleinere Version MCP23008 gestrickt.
    • den gesamten Keyscan umgeschrieben, um alle Tasten einlesen zu könnten (C64 PA/PB per 2xBusswitch weggeschaltet, Bit per MCP23018 durch PA schieben und PB per MCP23018 einlesen).
    • den Teil nach dem Keyscan umgeschrieben, weil jetzt jede Funktion eine eigene, frei definierbare Taste hat:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Es gibt jetzt also acht Tasten für die acht Kernals (die Zahlentasten 1..8), vier Tasten für die vier SID-Addressen (F1...F7) und die restlichen Funktionen liegen auf ihren Anfangsbuchstaben:

    "J" ist der Joystick-Swap und mit "K" und "S" kann man die derzeitige Kernal- und SID- "rausblinken" lassen.
    Aber das ist nicht mehr ganz so "fest verdrahtet" wie früher, sondern kann im Quellcode leicht geändert werden:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Habe noch nichts getestet, und natürlich wäre es ein Wunder, wenn das alles so beim ersten Versuch tun würde, aber trotzdem bin ich froh, die gesamte Umstellung heute in ein paar Stunden hinbekommen zu haben.

  • Wenig Code geschafft. Dafür vermehrt einige Klassen vollständig Kommentiert, mit der Hoffnung das ich mein Geschreibsel Wochen oder Monate später verstehen kann. :D

    Bitte melde dich an, um diesen Anhang zu sehen. :verehr: .: Mit Bitte melde dich an, um dieses Bild zu sehen.wäre das nicht passiert! :. :prof:  Bitte melde dich an, um diesen Anhang zu sehen.

    :syshack: .: Meine 3D-Drucker Teile auf :. Bitte melde dich an, um diesen Link zu sehen. :strom:

  • Wenig Code geschafft. Dafür vermehrt einige Klassen vollständig Kommentiert, mit der Hoffnung das ich mein Geschreibsel Wochen oder Monate später verstehen kann. :D

    Das ist eine lästige, aber sehr nützliche Aufgabe. :D Ich habe schon oft genug Code von mir gesehen wo ich mir dann später dachte "Hä! WARUM?" :D

  • Zur Performancemessung von diversen FPUs der Generation bis zum Pentium ein kleines Pascal Programm zur Berechnung der Mandelbrotmenge mit Ausgabe auf der Konsole um möglichst wenig abhängigkeiten zu irgendwelchen Grafikkarten zu haben. Sieht dann so aus:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Schaut jetzt nicht gut aus, erfüllt aber seinen Zweck. Die Messung auf dem Bild entstand auf einem 386SX/25 mit 387, ebenfalls 25 Mhz, Iterationstiefe 100, Divergenzlimit 500. Programmiert habe ich auf meiner Windows Maschine und dann crosskompiliert für DOS mit Free Pascal.

    /edit: Ach ja, was ich auch noch anmerken wollte - es ist interessant wie weit sich Compileroptimierung seit 1992 weiterentwickelt hat. Übersetze ich den selben code mit Turbo Pascal 7.0 und maximalen Optimierungen, dann benötigt die Berechnung ungefähr 22 Sekunden. Ohne FPU support sind es dann mehrere Minuten.

  • Vielleicht findet sich ja hier ein guter Geist...

    Bitte melde dich an, um diesen Link zu sehen.

    Eine putzige Seite mit interessanter historischer Information (ich hab im Web-Archiv mal drin geblättert). Hoffentlich findet sich Hilfe! Sehr schön die Prognose zu Bändern im professionellen Audiobereich von 1990:

    Zitat

    Relativ einfach fällt die Prognose für die zukünftigen Entwicklungen im Audio-Bereich. Bei der Produktion von Audio Programmen wird schwerpunktmäßig die auch heute noch eingesetzte 2"-Analogaufzeichnung mit 24 Kanälen und bei der Filmproduktion der 16mm-, 17,5mm- und 35mm-L-Magnetfilm bestehen bleiben.

    Ergänzend dazu wird sich das 1/2"- bzw. 1"-Digitalband durchsetzen und auf lange Sicht das 2"-Mehrspur-Analogband in den Hintergrund drängen. Dies dürfte allerdings erst ab Mitte der 1990er Jahre eintreten.

    Ergänzt werden diese Formate sicherlich noch durch Disk-Systeme wie beispielsweise das Synclavier. Sie werden die Mehrspur-Aufzeichnung erleichtern, möglicherweise den Bandverbrauch sowohl bei der Analog- als auch Digitaltechnik vermindern, können aber letztlich eines oder gar beide Systeme nicht ersetzen.

    1991 kam mit ProTools das erste professionelle Audioproduktionssystem raus, das nur noch mit Festplatte gearbeitet hat und in den folgenden Jahren die Branche revolutioniert hat :D.

    ────────────────────────────────────────────────────────────
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    ────────────────────────────────────────────────────────────

  • Vielleicht findet sich ja hier ein guter Geist...

    Bitte melde dich an, um diesen Link zu sehen.

    Uff,

    ich hab da das Tagebuch mal durchgeblättert.

    Das klingt nicht nach einem Menschen mit dem man gerne zusammen arbeiten möchte.

    "Nichts geht, alles ist kaputt, ich mache fast nichts falsch", sagt er während er versucht software zu betreiben die man seit jahren nicht betreiben sollte.

    Versucht uralt Software zu reparieren statt neue Versionen zu nutzen.

    Dabei macht er gerade dinge die schon vor vielen jahren hätten passieren müssen.

    Die Genutzt PHP Version 5.5.14 ist zum beispiel von Mitte 2014 und der Ganze PHP 5.5 Strang bekommt keine fixes mehr seit 2016 und sollte tunlichst nicht mehr genutzt werden, aber hey, die ganzen Software Entwickler und Distropacker sind schuld :smile:

  • Ja, am besten wäre es wohl, den ganzen Content auf einen gemanagten Wordpress-Server o.ä. umzuziehen. Scheint auf den ersten Blick ja eh alles statischer Content zu sein.

    ────────────────────────────────────────────────────────────
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    ────────────────────────────────────────────────────────────

  • Ja, am besten wäre es wohl, den ganzen Content auf einen gemanagten Wordpress-Server o.ä. umzuziehen. Scheint auf den ersten Blick ja eh alles statischer Content zu sein.

    Da wird ja schon Typo3 eingesetzt, wenn man sich daran gewöhnt hat und mit klar kommt, was durchaus harte arbeit ist, will man das ggf. nicht mehr missen, aber auch das gibts ja als SaS Lösung, auch eher günstig für kleine seiten.
    Da dann auch mit php8 , 7 ist ja jetzt auch schon eol :biggrin:

  • Vielleicht findet sich ja hier ein guter Geist...

    Bitte melde dich an, um diesen Link zu sehen.

    Alleine schon der angedachte Versuch, mittels php-sniffer/-fummler/-whatever die TYPO3 4.2.x sources (PHP 5.2!) versuchen wollen, zu PHP 7.4 kompatibel zu machen... 🙃

    Das erübrigt imho jeglicher weiterer Worte...

  • Deshalb suchen sie ja Kompetenz in dem Bereich...

    Ja, da wird sich aber wahrscheinlich niemand kompetentes finden, der derart masochistisch angehaucht ist, da helfen zu wollen. Er schreib ja selber:

    Zitat

    Und das alles war über 14 Jahre ausgereift und lief bis zum 16.7.2023

    Herrlich, diese Aussage... Da dort TYPO3 in der Version 4.2.17 läuft, liegt doch die Vermutung verdammt nahe, dass seitdem keinerlei Updates gemacht wurden. Das will man nicht anfassen. Denn eine derart alte Version zu migrieren, bedeutet Zug um Zug von v4 nach v6, v7, v8, v9, v10 und mind. nach v11 (einzige aktuelle non ELTS-Version, also noch mit offiziellem Support) zu aktualisieren. Das will sich niemand antun. Trust me.

    Da ist man wahrscheinlich schneller am Ziel, wenn man alle verlinkten/archivierten Seiten auf archive org durchgeht und die Inhalte manuell in eine aktuelle TYPO3-Installation hineinkopiert...

  • Vielleicht könnte Fulgore den Abbuzze ausleihen. :wegback:

    Bitte melde dich an, um diesen Anhang zu sehen. :verehr: .: Mit Bitte melde dich an, um dieses Bild zu sehen.wäre das nicht passiert! :. :prof:  Bitte melde dich an, um diesen Anhang zu sehen.

    :syshack: .: Meine 3D-Drucker Teile auf :. Bitte melde dich an, um diesen Link zu sehen. :strom:

  • Heute so gecodet: Debug-Code für eine Debugging-Session meines neuen Assembler-Projekts für das WiC64 mit C64-Studio und Emulatoren-Doppelpack

    Bitte melde dich an, um diesen Anhang zu sehen.

    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

  • Moin !

    ich will mir mal alle dieser Bitte melde dich an, um diesen Link zu sehen. Intros nach und nach reinziehen.

    Hab mir mal "quick&dirty" ein kleines bash-Script geschrieben, welches über das xlink-Kabel auf meinem C64 nacheinander alle PRG-Files startet mit frei wählbarer Laufdauer.

    Ist kein C64 mit xlink-Adapter vorhanden, wird auf vice ausgewichen.

    Es werden sich auch alle bereits abgespielten PRG's gemerkt, also wenn man das Script abbricht, läuft das aktuelle Intro endlos weiter und beim anschließendem Neustart des Scripts werden alle bereits abgespielten PRGs ignoriert und es geht beim letzten Intro weiter.

    Von vorne starten kann man mit dem Schalter -p 1 (dann wird eine neue Fileliste generiert)

    Beispiel 1:

    ./xlink_PlayFolderOfPRGs.sh -d ~/c64/intros_c64_org_11234_full/ -p 30 -n 1

    Eine neue Playliste wird erstellt (-n 1) von allen PRGs im Ordner ~/c64/intros_c64_org_11234_full/ (-d ~/c64/intros_c64_org_11234_full/) und jedes File wird mit der Playtime 30 Sekunden (-p 30) laufen.

    Beispiel 2:

    ./xlink_PlayFolderOfPRGs.sh -p 60

    KEINE neue Playliste wird erstellt (kein -n 1) sondern es wird die vorhandene Playlist genommen.

    Jedes File wird mit der Playtime 60 Sekunden (-p 60) laufen. Bereits abgespielte PRGs werden ausgelassen.

    Angezeigt werden u.a. die Anzahl der gefundenen Files, die voraussichtliche Gesamtspieldauer und die bereits abgespielten Files.

    Viel Spaß beim testen :)

    Dateien

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.

  • musste heute mal einen Win9X Trainer koten...

    das größte Problem war nicht im Speicher zu patchen wenn das Spiel nicht läuft


    static int InitializeApp(HWND hDlg,WPARAM wParam, LPARAM lParam)

    {

    HWND hWindow; DWORD pid;

    hWindow = FindWindow(NULL, title);

    if(hWindow) {

    GetWindowThreadProcessId(hWindow, &pid);

    hand = OpenProcess(PROCESS_ALL_ACCESS,0,pid);

    } else {

    MessageBox(NULL, "Game not detected!", "Run Game first", MB_OK );

    }

    SetTimer(hDlg, 1, 100, NULL);

    return 1;

    }

  • HWND hWindow; DWORD pid;

    hWindow = FindWindow(NULL, title);

    GetWindowThreadProcessId(hWindow, &pid);

    MessageBox(NULL, "Game not detected!", "Run Game first", MB_OK );

    Ach, wie schön. Die alte WINAPI. Habe ich früher viel mit gemacht.

    Bitte melde dich an, um diesen Link zu sehen. (Bitte melde dich an, um diesen Link zu sehen.)Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.
  • Hab mir mal "quick&dirty" ein kleines bash-Script geschrieben, welches über das xlink-Kabel auf meinem C64 nacheinander alle PRG-Files startet mit frei wählbarer Laufdauer.

    Ist kein C64 mit xlink-Adapter vorhanden, wird auf vice ausgewichen.

    So, hab mein Script noch ein bisschen erweitert - nun kann man mit dem Schalter -n die Playliste, welche erstellt wird, sortieren nach Name und Größe:

    Beispiel:

    ./xlink_PlayFolderOfPRGs.sh -d ~/c64/intros_c64_org_11234_full/ -p 30 -n 3

    Eine neue Playliste wird von allen PRGs erstellt und nach Filegröße absteigend sortiert(-n 3) . Alle PRGs im Ordner ~/c64/intros_c64_org_11234_full/ werden in die Liste aufgenommen (-d ~/c64/intros_c64_org_11234_full/) und jedes File wird mit der Playtime 30 Sekunden (-p 30) laufen.

    Dateien

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.