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

Tobias Bäumer to_b at gmx.de
Sa Mai 2 08:26:31 CEST 2015


Ah, ok. Dadurch macht das tttool also quasi schon beim Erzeugen der GME ein "mod 65536" auf die Werte und auf dem Stift kommen daher nur gültige Werte an.
Jetzt wäre m.E. trotzdem noch interessant, ob das Script für einen 5stelligen Code funktioniert.
Idee: Vielleicht ist der Register-Überlauf im Stift doch nicht so sauber gelöst, sondern verändert die im Speicher davor oder dahinter liegende Variable.
Mit dem zusätzlichen Play-Command liegt dann im Speicher vielleicht was anderes an der betroffenen Stelle.
Generell sollten wir wohl vermeiden, die Register überlaufen zu lassen.
Ich hoffe, das war jetzt nicht zu konfus... ;-)

> Am 02.05.2015 um 01:26 schrieb Joachim Breitner <mail at joachim-breitner.de>:
> 
> 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