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

Florian tttool at florian.rgrplay.de
Sa Okt 19 12:13:55 CEST 2024


Hallo,

> das heißt bei einer solchen GME läuft dann mein Code sofort, sobald der
> Nutzer das Anschaltsymbol angetippt hat, richtig?

Ja


> Und wenn dein playSound in sdk.c richtig interpretiere, dann werden
> Sounds aus sicht meines Programms über offset und länge abgespielt,
> nicht etwas über irgendwelche Einträge in der GME. Das heißt doch dann
> vermutlich dass ich meine Daten in “meiner” GME so anordnen kann wie
> ich möchte, da sobald mein binary läuft, dieses alles weitere
> kontrolliert, richtig?
Jain, die Funktion, die mit Offset und Länge aufgerufen wird, loopt über 
den media file table, bis sie die Sound-Id gefunden hat und speichert 
diese für die Wiederholen-Funktion. Dabei überprüft sie noch den media 
flag table, der an 0x008C referenziert wird. Das ganze zickt sich dann 
damit, wenn man externe Audio Dateien abspielen möchte, wesshalb ich 
eine andere Funktion für das Beispiel mp3_player genommen habe. 
Desweiteren bin ich noch über keine XOR Code gestoßen, ist mir noch ein 
Rätzel, wo diese "entschlüsselt" werden.


> Da stellt sich mir die Frage, was wohl eine minimale GME ist um meinen
> Code zu starten.
Geht mir genau so, ich arbeite gerade an nem Update für gmelib, mit dem 
man dann auch GME-Dateien erstellen kann.


> Es reizt mich so aus neugierede meinen Taschenrechner
> (https://www.joachim-breitner.de/blog/669-Ein_Tiptoi-Taschenrechner) in
> C nachzubauen. Sollte ja eigentlich gut gehen!
Hatte ich auch schon vor, aber ich kann keine Oids drucken. Desshalb 
habe ich jetzt angefangen, mich mit der Verbindung der Spitze zum 
Prozessor zu beschäftigen, um diese einfach zu emulieren. Einen 
"funktionierenden" Parser habe ich schon zusammengehackt (ist im Repo), 
jetzt geht es an die Implementation.


Mit freundlichen Grüßen,

Florian


On 17.10.24 13:09, Joachim Breitner via tiptoi wrote:
> Hi,
>
> Am Sonntag, dem 13.10.2024 um 18:47 +0200 schrieb Florian via tiptoi:
>> 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.
> das heißt bei einer solchen GME läuft dann mein Code sofort, sobald der
> Nutzer das Anschaltsymbol angetippt hat, richtig?
>
> Und wenn dein playSound in sdk.c richtig interpretiere, dann werden
> Sounds aus sicht meines Programms über offset und länge abgespielt,
> nicht etwas über irgendwelche Einträge in der GME. Das heißt doch dann
> vermutlich dass ich meine Daten in “meiner” GME so anordnen kann wie
> ich möchte, da sobald mein binary läuft, dieses alles weitere
> kontrolliert, richtig?
>
> Da stellt sich mir die Frage, was wohl eine minimale GME ist um meinen
> Code zu starten.
>
>
> Es reizt mich so aus neugierede meinen Taschenrechner
> (https://www.joachim-breitner.de/blog/669-Ein_Tiptoi-Taschenrechner) in
> C nachzubauen. Sollte ja eigentlich gut gehen!
>
> Cheers,
> Joachim
>
>
>


Mehr Informationen über die Mailingliste tiptoi