;:open4,4 ;:sys36864 ;.opt p4 ;betriebsart *= 53131 ;startadresse ; ; protokoll ; mitschreiben der bildschirmausgabe ; auf dem drucker ; nikolaus heusler, muenchen 5.91 ; ; **** initialisierung **** ; sei ;irq sperren lda #neuirq sta 788 sty 789 ;vektor verbiegen cli ;irq zulassen rts ;und fertig ; ; **** variablen **** ; flag brk ;protokoll ein/aus ; ; **** neue irq-routine **** ; neuirq lda 653 ;steuertastenmuster laden cmp #6 ;ctrl und cbm testen beq schalt ;ja, dann umschalten normal jmp $ea31 ;sonst normale irq-routine schalt cmp 654 ;mit letztem muster vergleichen beq normal ;gleich, ungueltig ok lda flag ;schalter laden eor #128 ;und invertieren sta flag ;umschalten bpl normal ;wenn aus, dann normal weiter lda #4 ;filenummer jsr $f291 ;close lda #4 ;filenummer tax ;und geraeteadresse ldy #0 ;sekundaeradresse jsr $fe00 ;parameter setzen jsr $f34a ;open - kanal oeffnen lda #neuprt ;zeiger auf neue ausgabe-routine sta $326 sty $327 ;gibt neuen bsout-vektor bne normal ;und weiter im irq ; ; **** neue bsout-routine **** ; neuprt pha ;zeichen retten lda $9a ;geraetenummer cmp #3 ;bildschirm testen beq screen ;ja, dann ok jmp $f1d5 ;sonst wie gehabt screen pla jsr $e716 ;zeichen normal ausgeben bit flag ;protokoll an oder aus bpl roger ;ausgeschaltet, dann fertig sta a+1 ;akku merken stx x+1 ;x merken sty y+1 ;y merken ldx #4 ;drucker ansprechen jsr $f250 ;chkout lda a+1 ;zeichen holen jsr $eddd ;auf iec-bus ausgeben jsr $f333 ;clrchn a lda #0 ;selbstmodifikation x ldx #0 ;selbstmodifikation y ldy #0 ;selbstmodifikation roger clc ;alles ok rts ;und fertig