Abs. : KIO Datum: 20.05.91 um 12:17 Uhr Betr.: eigene BASIC-Datenstationen Im Handbuch zum RTOS vs. 2.2 wird auf Seite D-I-6 bis D-I-9 erklärt, wie man eigene Datenstationen vom Typ BASIC in Assembler selbst schreiben kann. Das habe ich jetzt mal ausprobiert (Projekt: Ich programmiere meinen Soundgenerator jetzt selber) und bin natürlich gleich über einen Fehler im Handbuch gestolpert. Wer sich mit den abgedruckten Beispielen befaßt, wird nach einigen Stunden der Meditation zu folgendem Ergebnis kommen: Für den PEARL-Compiler ist eine BASIC-Datenstation ein Assembler-Unterprogrämmchen, das er mit Daten in D0 aufruft bzw. von dem er erwartet, daß es ihm D0 mit Daten füllt. Dabei gehören zu jeder Datenstation zwei Routinen, wovon die erste die Lesestation und die zweite die Schreibstation ist. Aus Sparsamkeitsgründen merkt er sich nur ein Label für beide Routinen, und zwar die für's Lesen. Für die Schreibroutine nimmt er an, daß deren Einsprung 4 Bytes dahinterliegt ... zumindest behauptet dies das Handbuch: >DATENSTATION: BRA EINGABEROUTINE * hier beginnt die Ausgaberoutine * ... Leider funktionierte bei mir nur das Lesen von meinen Stationen .... Schreibzugriffe änderten nichts an den Registern meines Soundchips. Ich befragte also meinen Compiler, was er denn wohl für einen Code generiere. Und er sagte mir, daß er zum Schreiben keinesfalls CALL DATENSTATION+4 sondern ganz sicher nur ein CALL DATENSTATION+2 erzeugt. Die ganzen BRA's in den Beispiellistings sind also durch BRA.S's zu ersetzen ..... Gnargel gargel ... bye bye ... KIO ! p.s.: Wenn ich diese Schreiberlinge mal erwische ....