[Tiptoi] TT-Homebrew - Eigene Binaries für GME-Dateien programieren

Ulrich Sibiller ulrich.sibiller at gmail.com
So Okt 13 19:32:28 CEST 2024


Hi,

danke für die Infos. Die Firmware-Spiele werden IIRC im Band 1 "Wieso?
weshalb? Warum? Bauernhof" benutzt, das war das erste Buch, das ich
damals untersucht habe. Vermutlich wurde dieses Konzept später wegen
mangelnder Flexibilität aufgegeben.

Uli

On Sun, Oct 13, 2024 at 6:47 PM Florian via tiptoi
<tiptoi at lists.nomeata.de> wrote:
>
> Hallo Uli,
>
> mit dem Argument -b kann man wählen, ob man ein Spiel oder die Main
> Binary überschreiben möchte. "-b 4" überschreibt das dritte Spiel
> (erstes Spiel hat den Index 0). "-b m" überschreibt die Main Binary.
>
> Hat eine GME-Datei eine Main Binary, wird diese anstatt des in der
> Firmware eingebauten Script-Parsers aufgerufen, wodurch Scripte nicht
> mehr funktionieren. Aber so könnte man auch weitere Script Funktionen
> hinzufügen.
>
> Ich bin noch nie über ein Spiel gestolpert, dass mit der Spielelogik
> implementiert war, war bis jetzt immer eine Binary.
>
> Habe eine Tabelle mit allen Funktionen, die eine GME Binary aufrufen
> kann, da ist keine mit nem Timer drin. Das Spiel Millionencoup, welches
> Echtzeit nutzt, nutzt auch einfach die Anzahl der Aufrufe. Diese liegt
> bei 10 mal pro Sekunde, gehe davon aus, dass so gedacht ist.
>
>
> Mit freundlichen Grüßen,
>
> Florian
>
>
> On 13.10.24 14:47, Ulrich Sibiller wrote:
> > Hallo Florian,
> >
> > Wow! Das sieht vielversprechend aus. Danke! Ich habe gehofft, dass
> > sich irgendwann mal jemand damit auseinandersetzt, aber inzwischen
> > nicht mehr dran geglaubt...
> >
> > Aber ganz durchschaue ich es noch nicht. Wir haben jetzt das API, um
> > eigene Games zu programmieren. Dein dump-Ram-Beispiel ersetzt die
> > Main-Funktion des Wimmelbuchs, richtig? Wenn ich aber nur ein Spiel
> > ersetzen möchte, wie gehe ich dann vor?
> >
> > Und sehe ich das richtig, dass es keine direkte Timer-Funktion gibt,
> > sondern nur busy-waits? (Das ist etwas, was seit Jahren unklar ist
> > bzw. war).
> >
> > Was uns generell fehlt, ist eine Beschreibung der in der Firmware
> > enthaltenen Games. Hast du diese schon verstanden? Falls ja, könnte
> > man tttool zumindest für diese so erweitern, dass die Spiele beim
> > Disassemblieren+Reassemblieren erhalten bleiben. Oder lohnt sich das
> > garnicht, weil die meisten inzwischen eh mit eigenen Binaries kommen?
> >
> > Uli
> >
> > On Sun, Oct 13, 2024 at 12:58 PM Florian via tiptoi
> > <tiptoi at lists.nomeata.de> wrote:
> >> Hallo zusammen,
> >>
> >> ich habe die TipToi Firmware soweit reverse-engineered und verstanden, wie Binaries in GME-Dateien funktionieren. Das Ergibniss ist das folgende Repo, mit dem man einfach C-Code schreiben und diesen mit nur einem einzigen Befehl, in GME-Datein packen kann. Es gibt bereits Beispiele für folgende Dinge:
> >>
> >> - Dump des gesamten Ram
> >>
> >> - Töne abspielen
> >>
> >> - Erkennen, welche Oid getippt wurde
> >>
> >> - Dateien auf dem Stift lesen und schreiben
> >>
> >> - Zeitmessung / nicht-blockierende Verzögerungen
> >>
> >> In nächster Zeit folgt:
> >>
> >> - Mikrofonunterstützung für die Aufnahme von Tönen (Create)
> >>
> >> - Uart
> >>
> >> - W-Lan (habe keinen Stift mit eingebautem W-Lan, aber die Firmware ist schon größtenteils reversed)
> >>
> >> - GME-Dateien erstellen, momentan kann man nur Binaries überschreiben
> >>
> >>
> >> Ich werde das Wiki in den nächsten Tagen vervollständigen.
> >>
> >> Rückfragen gerne per Mail, Discord oder GitHub, kann auch in einen Anruf kommen.
> >>
> >>
> >> Hier der Link zum Repo: https://github.com/GauiPower/tt-homebrew
> >>
> >> Discord zum Repo: https://discord.gg/upgH9EwPCW
> >>
> >>
> >> Vielen Dank an alle! Ohne eure Vorarbeit wäre das nicht möglich gewesen.
> >>
> >>
> >> Mit freundlichen Grüßen,
> >>
> >> Florian
> >>
> >> --
> >> tiptoi mailing list
> >> tiptoi at lists.nomeata.de
> >> https://lists.nomeata.de/mailman/listinfo/tiptoi
> --
> tiptoi mailing list
> tiptoi at lists.nomeata.de
> https://lists.nomeata.de/mailman/listinfo/tiptoi


Mehr Informationen über die Mailingliste tiptoi