Dies ist eine alte Version des Dokuments!


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 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).

amstradcpc/minibooster.1428150388.txt.gz · Zuletzt geändert: 2015/04/04 14:26 von octoate
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0