[Tiptoi] Vergleich auf < (kleiner als) bzw. >= geht im play modus aber nicht auf dem Stift

Joachim Breitner mail at joachim-breitner.de
Sa Mai 2 01:26:52 CEST 2015


Hi,

da verschiebt sich nichts, alle Zahlen werden vom tttool als 16bit-Zahlen in die GME-Datei rausgeschrieben. Höherwertige bits gehen einfach verloren.

Gruß, Joachim 

Am 1. Mai 2015 22:31:31 MESZ, schrieb "Tobias Bäumer" <to_b at gmx.de>:
>Ich bin ehrlich gesagt überrascht, dass es überhaupt klappt...
>Hast du mal getestet, ob es auf dem Stift funktioniert, wenn du mit
>einem 5stelligen Code (<=65535) arbeitest?
>Hintergrund: Du sprengst mit Zahlen über 65535 ja nicht nur die
>Register, sondern auch das uns bekannte Format der Script-Zeilen.
>Schau dir mal die erzeugte GME-Datei an: Entspricht die noch dem Schema
>"t1 aaaa cccc t2 bbbb" für alle Bedingungen?
>135246 ist in Hex fünfstellig, lässt sich also nicht als bbbb
>darstellen.
>Ich könnte mir vorstellen, dass sich da in der GME-Datei einiges
>verschiebt. Das zusätzliche Play-Command rückt es dann vielleicht
>versehentlich wieder gerade.
>
>> Am 01.05.2015 um 14:48 schrieb Andreas Binzenhöfer <binzi at binzi.de>:
>> 
>> Danke Tobias. Du hattest Recht.
>>  
>> Der Test ging jetzt schneller als erwartet.
>>  
>> Mein Register läuft natürlich über und jeder Wert, der mod 65536 den
>gleichen Wert liefert wie 135246 mod 65536  funktioniert.
>>  
>> $code==135246?
>> Ist z.B. äquivalent zu
>> $code==69710?
>>  
>> Was natürlich immer noch nicht erklärt, warum in meinem Beispiel dann
>der Vergleich für ein völlig anderes Register mit <7 nur dann
>funktioniert, wenn am Ende der Zeile noch ein Sound-File abgespielt
>wird.
>>  
>> Von: tiptoi [mailto:tiptoi-bounces at lists.nomeata.de] Im Auftrag von
>Tobias Bäumer
>> Gesendet: Freitag, 1. Mai 2015 14:05
>> An: Die Mailingliste für Tiptoi-Bastler
>> Betreff: Re: [Tiptoi] Vergleich auf < (kleiner als) bzw. >= geht im
>play modus aber nicht auf dem Stift
>>  
>> Kannst du die Register dann mal gegen den angenommenen Höchstwert
>(65535) vergleichen, bzw. gegen "DEINWERT mod 65535"?
>> Wenn z.B. 65536 im Register als 1 ankommt, wären Probleme beim
>Vergleich ja durchaus zu erwarten.
>> Hängt alt davon ab, wie der Stift einen Überlauf handhabt.
>>  
>>  
>> Am 01.05.2015 um 13:30 schrieb Andreas Binzenhöfer <binzi at binzi.de>:
>> 
>> Ich habe es jetzt noch mal mehrfach mit unterschiedlichen Codes >
>2^16 getestet. Es geht zuverlässig auf dem Stift. Theoretisch sollte
>das ja dann eigentlich nicht funktionieren.
>>  
>> Ich mache folgendes:
>> -          Schreibe eine sechsstellige Zahl in ein Register
>> -          Prüfe, ob das Register exakt dieser sechsstelligen Zahl
>entspricht
>> -          Nur dann gebe ich einen speziellen Sound aus
>>  
>> Das funktioniert bestens.
>> (Mit der Einschränkung, dass er die Anweisungen bei  < 7 und >=7, wie
>ich oben beschrieben habe, nach einem Jump-Befehl nur dann ausführt,
>wenn nach der Anweisung noch ein Audio-File abgespielt wird. Da ich das
>zweite Audio-File nicht wollte, mache ich jetzt einfach die Anweisungen
>bei <7 und >=7 einfach ohne Jump-Befehl direkt beim oid-code. Das geht
>auch mit sechstelligen Zahlen zuverlässig und problemlos)
>>  
>> Von: tiptoi [mailto:tiptoi-bounces at lists.nomeata.de] Im Auftrag von
>Tobias Bäumer
>> Gesendet: Freitag, 1. Mai 2015 12:33
>> An: Die Mailingliste für Tiptoi-Bastler
>> Betreff: Re: [Tiptoi] Vergleich auf < (kleiner als) bzw. >= geht im
>play modus aber nicht auf dem Stift
>>  
>> Ich zitiere mich mal selbst...
>>  
>> Anfang der weitergeleiteten E‑Mail:
>> 
>> 
>> 
>> Von: Tobias Bäumer <to_b at gmx.de>
>> Datum: 13. Januar 2015 21:39:09 MEZ
>> An: Die Mailingliste für Tiptoi-Bastler <tiptoi at lists.nomeata.de>
>> Betreff: Re: [Tiptoi] komische zeile
>> 
>> 
>> 
>> [...]
>> Die Register sind übrigens wirklich uint_16. Zieht man von 0 noch 1
>ab, kommt 65535 raus.
>> 
>> Am 01.05.2015 um 11:30 schrieb Ulrich Sibiller
><ulrich.sibiller at gmail.com>:
>> 
>> 2015-05-01 10:24 GMT+02:00 andi <aaaaandi at gmail.com>:
>> 
>> 
>> Hi,
>> Kann das Problem daran liegen, dass Du mit Werten groesser als 2^16
>> rechnest. Der Tiptoi rechnet aber nur mit uint16.
>> 
>> Das war auch meine erste Idee. Aber bist du dir sicher mit dem
>_u_int?
>> Soweit ich weiß, haben wir mal 16bit angenommen, aber nicht
>überprüft.
>> Und ob das ganze signed oder unsigned ist hat IIRC auch noch keiner
>> überprüft.
>> 
>> Freiwillige vor!
>> 
>> Uli
>> 
>> -- 
>> 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
>> -- 
>> tiptoi mailing list
>> tiptoi at lists.nomeata.de
>> https://lists.nomeata.de/mailman/listinfo/tiptoi
>
>
>------------------------------------------------------------------------





Mehr Informationen über die Mailingliste tiptoi