¢00010 ; Wichtige CIO-Variablen:¢00020 ;¢00030 IOCOM = $342¢00040 IOBUFF = $344¢00050 IOLEN = $348¢00060 IOAUX1 = $34A¢00070 IOAUX2 = $34B¢00080 ;¢00090 ; CIO-Einsprungsadresse:¢00100 ;¢00110 CIO = $E456¢00120 ;¢00130 ; CIO-Kommandos:¢00140 ;¢00150 CLOSEF = 12¢00160 OPENF = 3¢00170 GETB = 7¢00180 PUTB = 11¢00190 ------------------------------¢00200 CIOINIT¢00210 STA HANDLER Handler ablegen¢00220 TYA¢00230 PHA¢00240 LDA #CLOSEF Kommando Kanal schliessen¢00250 STA IOCOM,X in die entsprechende Speicherstelle¢00260 JSR CIO und ab in die CIO¢00270 ;(der Wert in X bleibt erhalten)¢00280 LDA #OPENF Kommando Kanal oeffnen¢00290 STA IOCOM,X¢00300 LDA #HANDLER Adresse fuer die "Handlerkennung"¢00310 STA IOBUFF,X in den Vektor fuer den I/O-Buffer¢00320 LDA /HANDLER¢00330 STA IOBUFF+1,X¢00340 PLA¢00350 STA IOAUX1,X¢00360 LDA #0¢00370 STA IOAUX2,X¢00380 JSR CIO und wieder in die CIO¢00390 RTS¢00400 ------------------------------¢00410 HANDLER .AS "?:"¢00420 ------------------------------¢00430 PRINT¢00440 PHA Lo-Byte sichern¢00450 TXA Platz im X-Register schaffen¢00460 LDX #$60 Kanal 6¢00470 STA IOBUFF+1,X Text als I/O-Buffer eintragen¢00480 PLA¢00490 STA IOBUFF,X¢00500 LDA PRINT_LENGTH Laenge des Buffers uebertragen¢00510 STA IOLEN,X¢00520 LDA PRINT_LENGTH+1 (Hi-Byte)¢00530 STA IOLEN+1,X¢00540 LDA #PUTB Kommando Daten 'senden'¢00550 STA IOCOM,X¢00560 JSR CIO und tschuess...¢00570 RTS¢00580 ------------------------------¢00590 PRINT_LENGTH .HX 0000¢00600 ------------------------------¢00610 GETKEY¢00620 LDX #$50¢00630 LDA #KEYBUFFER in den "Keybuffer"...¢00640 STA IOBUFF,X¢00650 LDA /KEYBUFFER¢00660 STA IOBUFF+1,X¢00670 LDA #1 ...soll 1 Byte(Zeichen)¢00680 STA IOLEN,X¢00690 LDA #0¢00700 STA IOLEN+1,X¢00710 ;¢00720 LDA #GETB Kommando Daten empfangen¢00730 STA IOCOM,X¢00740 JSR CIO¢00750 LDA KEYBUFFER gelesenes Zeichen zurueckgeben¢00760 RTS¢00770 ------------------------------¢00780 KEYBUFFER .HX 00¢00790 ------------------------------¢