[Tiptoi] Viele, Viele Fragen zu Registern, OID-Codes, Media-Codes ...

Joachim Breitner mail at joachim-breitner.de
Mo Mai 29 05:48:05 CEST 2017


Hi,

Am Sonntag, den 28.05.2017, 23:18 +0200 schrieb Frankes:
> Soviel habeich schonmal zusammen getragen:
> Media file table: 
> Hier liegen anscheinend die Soundfiles. Als Zeiger oder als Code?
> Wie hängt damit dann die Playlist zusammen.

Die Media-File-Table ist eine Liste von (Pointer, Länge).
Die Position in diese Tabelle ist die Zahl, die in der Playlist steht.
Die Position in der Playlist ist die Zahl, die im P-Befehl stehlt.

Mit "tttool explain ...gme" kannst du dir die Dateistruktur erläutern
lassen. Wenn du das mit der zugehörgen YAML-Datei vergleichst, sollte
vieles klarer werden. (Oder frag ruhig weiter hier, das ist auch gut.)

> Script Table: 
> Das Script. Wobei mir nicht klar ist, ob die Script Codes mit den Registern 
> der Table übereinstimmen.
> 8839:
>  $1:=5
> 
> Ist dann 8839 auch das Register, oder denke ich mal wieder zu kompliziert.
> Wenn ja, was passiert dann mit weiteren Anweisungen aus der Zeile?

Ja, du denkst zu kompliziert :-)

Die Script-Codes haben nichts mit den Registern zu tun. In C-Sprech:
Script-Codes sind Jump-Labels, Register sind Variablen, und es gibt
keine Pointer.

> Gut. - Register impliziert bei mir halt einen direkten Zugriff auf die 
> Hardware. 

Das ist nicht falsch. Register $2 ist eine Speicherstelle, auf die wird
direkt zugegriffen – es gibt keine Pointer oder so.


Leider nein. Soundfiles werden über ihre Nummer in der „media file
> > table“ adressiert, und diese Nummer ist fest im P-Befehl angegeben.
> > (Wobei – hat das mal jemand ausprobiert ob man ein Register im P-Befehl
> > funktioniert)?
> 
> Ja habe ich probiert, wurde aber vom tttool abgelehnt. Vielleicht mal direkt 
> in einer Script Datei probieren.

Du meinst GME-Datei? Es stimmt dass das tttool nur kann was wir
verstehen. Wenn du anderes experimentieren willst, musst du in der
regel den Hexeditor rausholen.

> > > 4. Die mysteriösen PA(b-a), P(b-a)
> > > Ist darüber schon mehr bekannt? Wie werden die überhaupt angewendet?
> > > a== lowbyte
> > > b==highbyte
> > > impliziert, dass ich wissen müsste, in welchem Adressbereich diese
> > > liegen und 
> > > welche Soundfiles dazwischen liegen.
> > > Mit PA(hello-Molly) wüsste ich nur, dass er hello.ogg und Molly.ogg
> > > spielt, 
> > > aber welche Soundfiles noch? 
> > 
> > Jede Skriptzeile enthält die „Playlist“, wo Medien-Nummern drin stehen.
> > Die Zahlen im PA-Befehl beziehen sich auf diese Playlist.
> 
> Das kann ich noch nicht nachvollziehen. Somit wären 8Bit in jeder Zeile mit 
> dem gleichen Inhalt belegt? -  Was für eine Registerbreite hat der TipToi :
> 16Bit?

Das meiste Zeug ist 16bit breit, ja.

> > Was diese Indirektion soll wissen wir auch nicht; vielleicht um mit
> > 8bit alle Medien anzusprechen.
> 
> Heißt aber auch, dass lediglich 256 Soundfiles möglich sind.

Deswegen die Indirektion. Die 8-bit-Zahl im P-Befehl verweist auf die
Playlist (die es ja pro Skriptzeile gibt!), und dort stehen dann 16-
bit-Zahlen, die auf die Medientabelle verweisen.

Gruß,
Joachim
-- 
Joachim Breitner
  mail at joachim-breitner.de
  http://www.joachim-breitner.de/
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: This is a digitally signed message part
URL         : <https://lists.nomeata.de/pipermail/tiptoi/attachments/20170528/a9da40f6/attachment.asc>


Mehr Informationen über die Mailingliste tiptoi