[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