Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Lösung für CCBASIC Kategorie: Programmierung Basic (von das |_ Team, Homepage - 22.09.2020 22:25)
 Als Antwort auf Lösung für CCBASIC von Dietmar - 22.09.2020 17:14
das |_ Team nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1, CC1-Station V1.1, Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini M-Unit, Open-Mini Station, B-Control
Hallo Dietmar!

Ich erinnere mich: Hier kommt wieder der "Tabellentrick" zum Einsatz. Beschrieben in der Datei  http://ccintern.dharlos.de/tipsutri.txt

 Zitat:

 ----------------------------------------------------------------------------
                  Tabelleninhalte als BASIC-Token ausfuehren                
 ----------------------------------------------------------------------------

 Wenn Tabellen inmitten von BASIC-Codebereichen stehen, werden die Daten in
 den Tabellen als BASIC-Token ausgefuehrt. Diesen Umstand kann man sich
 zunutze machen um Token zu erzeugen, die der BASIC-Compiler nicht
 unterstuetzt.



Ich versuche gerade, den Codeschnipsel aus der FAQ nachzuvollziehen:


#ccstatus
  table ccstatustab
    2938 '11*256+$7b-1
  tabend
return



Links in der Tabelle steht das BASIC-Token 11. Kurz nachgeschaut: Token Nr. 11 liest normalerweise einen Byteport aus. Diese Byteport-Register liegen in der sogenannten Zeropage". So wird bei vielen Systemen der Bereich der ersten 256 Byte-Adressen bezeichnet.

Auch das C-Control-Statusregister an Adresse $7 liegt in der Zeropage, denn $7b (hexadezimal) entspricht 123 (dezimal).

Rechts in der Tabelle wird die Adresse des C-Control-Statusregisters übergeben: $7b. Übrigens wird "-1" abgezogen, weil der Tokenbefehl 11 mit einem eben diesem Offset arbeitet.

Ruft man jetzt die Tabelle #ccstatus als Unterprogamm auf, wird kein Byteport, sondern das C-Control-Statusregister ausgelesen. Das Ergebnis steht wie üblich über den Rechenstack zur weiteren Verarbeitung zur Verfügung.

Clever.

Ich freue mich, dass die C-Control 1.1 sehr gut dokumentiert ist. Nicht zuletzt das HTML-ROM-Listing lieferte hier oftmals schon das Aha-Erlebnis bei der Beschäftigung mit der C-Control 1.1.


Viele Grüße

Dirk, und das |_ Team


> Soweit ich mitbekommen habe, möchte der Original-Poster seine C-Control 1.1 in Basic++
> programmieren. Für CCBASIC gibt es natürlich eine Lösung, die auch in der FAQ beschrieben wird.

Meine Homepage: http://visit.ghn-sensorik.de/L-Team/E2Test/

 Antwort schreiben

Bisherige Antworten: