(1) MIDI-Support
Für alle Befehle gilt:
0<=c<=15 | MIDI-Kanal |
0<=x<=127 | Datum |
aUs
Schaltet das Interface und die Empfangsroutine ab.
bEnd c,v
Simuliert die Betätigung des Pitch-Bend-Wheels auf MIDI Kanal
c, für den Wert von v gilt: v=64: Grundstellung (Nullpunkt) v<64:
Pitch-Bending nach unten v>64: Pitch-Bending nach oben
bRc c,v
Simuliert den Breath-Controller
cln c,v
Hiermit wird auf Kanal c v-mal der NOTE-OFF-Befehl für die Tasten
0-127 gesendet. Dieser Befehl wurde implementiert, da nicht alle Geräte
den ALL-NOTES-OFF-Befehl verstehen.
cPr c,v
Kanal-Aftertouch (Channel-Pressure)
cTrl c,ct,v
Mittels dieses Befehls kann ein beliebieger Controller ct erzeugt werden.
Die Nummern einiger Controller sind dem Anhang zu entnehmen.
kEy c,k,v
Anschlag der Taste k auf Kanal c mit Anschlagstärke (Velocity)
v
mOno c,v
Schaltet das auf Kanal c empfangende Gerät in den Mono-Mode. V
gibt hierbei die Anzahl der benötigten Stimmen an, d.h. es werden
auch die Kanäle c+1 bis c+v in den Mono-Mode geschaltet. Jeder dieser
Kanäle ist nur monophon spielbar (Gitarren-Mono-Mode).
mWl c,v
Simuliert die Betätigung des Modulationsrades (modulation wheel)
noKey c,k,v
Loslassen der Taste k mit Release-Velocity v
oFf
Sendet den ALL-NOTES-OFF-Befehl
oMni c,1/0
Wählt bei dem auf Kanal c empfangenden Gerät den Omni-mode
an (1) oder schaltet diesen ab (0). Ist der Parameter 1, so empfängt
das Gerät auf allen 16 Kanälen, ist er 0, so empfängt es
nur auf dem am Gerät eingestellten Kanal.
oUt c,b
Gibt ein Datenbyte b auf Kanal c aus. Mit diesem Befehl kann jeder
andere Befehl emuliert werden (0<=b<=255).
pEdal c,v
Simuliert die Betätigung des Sustain-Pedals.
poLy c
Schaltet das auf Kanal c empfangende Gerät in den Poly-Modus
pPr c,k,v
Polyphoner Aftertouch der Taste k mit Stärke v
resEt
Sendet den RESET-Befehl; dieser Befehl wird nicht von allen Geräten
erkannt.
vol c,v
Setzt die Lautstärke auf Kanal c auf den Wert v
var=usr(0)
Weist der Variablen var den Wert eines empfangenen Datenbytes zu. Da
die eingehenden Daten gepuffert werden, ist der zugewiesene Wert nicht
notwendigerweise das aktuelle Datenbyte. Ist seit der letzten Abfrage nichts
empfangen worden, so wird var der Wert 255 zugewiesen.
(2) Utility
cls
Löscht den Bildschirm
col rf,hf,zf
Setzt die Farben für Rahmen (rf), Hintergrund (hf) und Zeichen
(zf)
deVice d
Wählt Device d als aktives Gerät für LOAD, SAVE, VERIFY,
DIR und FLOPPY. Ist d=1, so wird für DIR und FLOPPY Device 8 gesetzt.
Es werden folgende Devices akzeptiert:
d=1: Datasette 8<=d<=11: Floppy 1-4
dir
Gibt das Directory des aktuellen Diskettenlaufwerks aus
exIt
Deaktiviert das MIDI-Interface, entfernt den Reset-Schutz und verläßt
MIDIBASIC. Gegen ungewolltes Verlassen ist eine Sicherheitsabfrage eingebaut.
fKoff
Schaltet die F-Tasten-Belegung aus
fkon
Schaltet die F-Tasten-Belegung ein
flOppy "..."
Befehlsübermittlung an das aktuelle Diskettenlaufwerk
hElp
Gibt die Befehlsliste aus
loCate z,s
Positioniert den Cursor in Zeile z, Spalte s
oLd
Re-New
rePeat 1/0
Schaltet die automatische Tastenwiederholung ein (1) bzw. aus (0)
restArt
Initialisiert MIDIBASIC sowie das MIDI-Interface neu
stAtus
Gibt den Status des aktuellen Diskettenlaufwerkes aus
(3) SID-Support
aDsr v,a,d,s,r
Bestimmt die Hüllkurve für Stimme v; a, d, s und r können
jeweils Werte von 0-15 annehmen.
fReq f
Stellt die Filterfrequenz ein, 0<=f<=2047
fMode m
Legt den Filtermodus fest, der Parameter fm (0<=m<=15) errechnet
sich analog zum C64-Handbuch.
fq q
Bestimmt die Filterresonanz (0<=q<=15)
pw v,w
Bestimmt die Pulsbreite von Oszillator v bei eingestellter Pulswelle
(0<=w<=4096)
siDres
Setzt den SID zurück
sWitch 0-15
Legt fest, welche Stimmen durch das Filter geleitet werden; der Parameter
errechnet sich analog zum C64-Handbuch.
vOice v,k
Wählt für Oszillator v die Frequenz der MIDI-Taste k. Aufgrund
des eingeschränkten Tonumfangs des SID kann k nur Werte von 0 bis
96 annehmen.
waVe v,w
Bestimmt die Wellenform des Oszillators v; w errechnet sich wie gewohnt.
Diese Befehle können wie das normale BASIC V2 gehandhabt werden,
einzige Ausnahme: Hinter THEN einer IF-Anweisung muß ein Doppelpunkt
vor einem MIDIBASIC-Befehl stehen, andernfalls wird dieser nicht erkannt.
Wie die neuen Befehle abzukürzen sind, erkennt man an der Position
des Großbuchstabens innerhalb des Befehlsnamens. Ein Befehl läßt
sich nicht abkürzen, wenn kein Buchstabe groß geschrieben ist.
$00fb/$00fc | Zeiger für Schreiben der empfangenen Daten |
$00fd/$00fe | Zeiger für Lesen der empfangenen Daten |
$0801-$7fff | freier BASIC-Speicher |
$8000-$8a8b | MIDIBASIC (resetfest) |
$8a8c-$9fff | frei |
$a000-$bfff | modifiziertes BASIC V2 |
$c000-$dfff | frei |
$e000-$ffff | MIDI-Datenpuffer |
Befehl | Datum 1 | Datum 2 | Bedeutung |
$8x | Taste | Anschlag | Note off |
$9x | Taste | Anschlag | Note on |
$Ax | Taste | Stärke | Polyphonic Aftertouch |
$Bx | Controller | Wert | Controller (siehe unten) |
$Cx | Programm | - | Program Change |
$Dx | Stärke | - | Channel Aftertouch |
$Ex | MSB | LSB | Pitch-Bend |
Befehl | Datum 1 | Datum 2 | Bedeutung |
$F0 | Hersteller-ID | Datenbytes... | SysEx-Datenübertragung |
$F2 | LSB | MSB | Sequencer-Positionierung auf Takt n (14 Bit) |
$F3 | Song Number | Anwahl Song s (0-127) | |
$F6 | - | - | Tune-Befehl |
$F7 | - | - | End of SysEx |
$F8 | - | - | Timing Clock (in play) |
$FA | - | - | Sequencer Start |
$FB | - | - | Sequencer Continue |
$FC | - | - | Sequencer Stop |
$FD | - | - | Timing Clock (in stop) |
$FE | - | - | Active Sensing |
$FF | - | - | System Reset |
Controller | Wertebereich | Bedeutung |
$01 | $00-$7f | Modulation Wheel |
$02 | $00-$7f | Breath Controller |
$04 | $00-$7f | Modulation Pedal |
$05 | $00-$7f | Portamento Time |
$06 | $00-$7f | Data Entry |
$07 | $00-$7f | Volume |
$40 | $00/$7f | Sustain off/on |
$41 | $00/$7f | Portamento off/on |
$60 | $7f | Data Entry +1 |
$61 | $7f | Data Entry -1 |
$7a | $00/$7f | Local Keyboard off/on |
$7b | $7f | All notes off |
$7c | $00 | Omni Mode off / Poly Mode on |
$7d | $00 | Omni Mode on / Poly Mode off |
$7e | $0x | Mono Mode on / Poly Mode off
x = Anzahl benötigter Kanäle ab Startkanal |
$7f | $00 | Modo Mode off / Poly Mode on |