====== 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 |