====== CPC Minibooster ======
Der Minibooster ist eine serielle Schnittstelle für den Amstrad CPC, die von TotO entwickelt wurde. Sie ist größtenteils kompatibel zum CPC Booster(+) benötigt aber, u.a. durch die andere Taktfrequenz des verwendeten Atmel Mikrocontrollers, andere Einstellung für die Bitraten. Weitere Informationen finden sich im [[http://www.cpcwiki.eu/index.php/Programming:CPC_Booster|CPC Wiki]].
====== Wichtige Register / Befehle ======
Der Minibooster gibt bei einem IN Befehl seine Hardwarekennung zurück. In FF00 steht dann 0xAA, in FF01 0xEE.
===== Daten ausgeben (FF08) =====
Die zu sendenden Daten werden über den Port FF08 einfach an den Minibooster übergeben. Die komplette Sendeoperation wird dann vom Minibooster übernommen.
Beispiel in BASIC:
A=X
OUT &FF08,A
Beispiel in Assembler:
LD BC,&FF08
LD A,X
OUT(C),A
===== Daten einlesen (FF1C / FF1D) =====
Empfangen werden die Daten bei aktiviertem Buffer über die Adresse FF1D. In FF1C stehen die Anzahl der im Buffer befindlichen Daten. Beschreibt man FF1C, so wird der Eingabebuffer gelöscht.
Beispiel in BASIC:
10 OUT &FF0B,16 ;Enable the buffer
20 OUT &FF1C,0 ;Reset the buffer
30 IF INP(&FF1C)=0 THEN 30 ;Wait for incoming characters in the buffer
40 ?INP(&FF1D) ;Print data from the buffer
50 GOTO 30
Beispiel in Assembler:
LD A,16
LD BC,&FF0B
OUT(C),A ;Enable the buffer
LD A,1
LD BC,&FF1C
OUT(C),A ;Reset the buffer
LOOP: LD BC,&FF1C
IN A,(C)
CP A,0 ;Loop until a character appears
JR Z,LOOP
LD BC,&FF1D
IN A,(C) ;Read data from buffer
CALL &BB5A ;Print data
JR LOOP
===== Kommunikatonsparameter einstellen =====
Zur Konfiguration der Kommunikationsparameter 8N1 wird FF07 auf 0x06 gesetzt. FF0B wird auf 0x16 gesetzt (Buffer eingeschaltet, Halbduplex, TX AUTO POLLING).
In den mitgelieferten Beispielen wird die Konfiguration für 9600bps, 115kbps und 230kbps gezeigt. Folgende Werte können für FF04 gesetzt werden:
^ Geschwindigkeit ^ Wert in FF04 ^
| 9600 bps | 95 |
| 115200 bps | 7 |
| 230400 bps | 3 |