						;*****************************
						;Datenübertragung AMIGA -> C64
						;
						;Screen Routinen
						;*****************************



						;===============================
						;Texte ausgeben
						;X-Reg. low Byte der Textadresse
						;Y-Reg. high Byte
						;ACCU Offset zum Screen-Start
						;===============================

print_txt
						.block				;Blockstart
						stx HELP				;Textadresse setzen
						sty HELP+1
						clc
						adc SCREEN			;Offset zum Screenstart addieren
						bcc set_low			;kein Überlauf
						inc SCREEN+1		;high Byte+1
set_low				sta SCREEN

						ldy #$00
loop					lda (HELP),y		;Buchstabe holen
						beq end				;alle ausgegeben
						cmp #"A"				;Buchstabe >A
						bmi output			;ja, nicht umwandeln
						sec
						sbc #64				;in 64`er Bildschirmcode wandeln
output				sta (SCREEN),y		;und ausgeben
						iny
						bne loop				;nächstes Zeichen

end					ldx #<SCREEN_ADR	;low Byte des Screens
						ldy #>SCREEN_ADR	;high Byte des Screens
						stx SCREEN			;setzen
						sty SCREEN+1		;setzen
						clc
						rts
						.bend


						;==============
						;Screen löschen
						;==============
cls
						lda #$04				;High Byte Anzahl Ausgaben
						sta HELP				;setzen
						lda #SPACE
						ldy #$00
clr					sta (SCREEN),y
						iny
						bne clr
						inc SCREEN+1		;nächste Page setzten
						dec HELP				;alle ausgegeben?
						bne clr				;nein, weitere 256 Zeichen ausgeben

						ldx #<SCREEN_ADR	;low Byte des Screens
						ldy #>SCREEN_ADR	;high Byte des Screens
						stx SCREEN			;setzen
						sty SCREEN+1		;setzen
						rts

