[Tiptoi] TT-Homebrew - Eigene Binaries für GME-Dateien programieren
Joachim Breitner
mail at joachim-breitner.de
Do Okt 24 21:27:19 CEST 2024
Hi,
Zwischenstand:
Ich hab es hinbekommen mit dem tttool eine GME-Datei zusammenzustellen
mit einer Main-Binary, die dann tatsächlich ausgeführt wird. Das sieht
in etwa so aus:
product-id: 42
comment: Ein akustischer Taschenrechner (in C)
welcome: dies_ist_der_akustische_taschenrechner
scripts:
4716: []
4740: []
binaries:
main3202n: taschenrechner3202N.bin
main3203l: taschenrechner3203L.bin
extra-media: null,eins,zwei,drei,vier,fuenf,sechs,sieben,acht,neun,zehn,elf,zwoelf,dreizehn, vierzehn,fuenfzig,sechzehn,siebzehn,achtzehn,neunzehn,zwanzig,dreissig,vierzig,fuenfzig,sechzig,siebzig,achtzig,neunzig,hundert,tausend,ein,plus,minus,mal,geteilt,gleich
Das funktioniert mit Florian’s play_sounds-Datei. Aber wenn ich
versuche eine eigene Main-Binary zu schreiben, die auf OIDs reagiert,
so spielt diese nur den Anfangssound ab, reagiert aber nicht auf OIDs
(nicht mal mit dem Fall-Through):
#include "api.h"
#include "sdk.c"
#define oid_acht 4716
#define oid_drei 4719
// ...
void main(system_api *apiPara) {
initTT(apiPara);
if (api->fpAkOidPara[First_time_exec] == 0) {
api->fpAkOidPara[First_time_exec] = 1;
// put your init code here
playSound(36);
}
// put your loop code here
if (api->fpAkOidPara[new_oid] == 1) {
api->fpAkOidPara[new_oid] = 0;
short read_oid = *(short *)&api->fpAkOidPara[oid_offset];
if (read_oid == oid_acht) {
playSound(8);
} else if (read_oid == oid_drei) {
playSound(3);
} else {
playSound(35);
}
}
}
Hab einen ZC3202N.
Florian, hast du eine Idee woran das scheitern könnte?
Cheers,
Joachim
--
Joachim Breitner
mail at joachim-breitner.de
http://www.joachim-breitner.de/
Mehr Informationen über die Mailingliste tiptoi