;:sys36864 *= $c000 ;.opt oo vic =$d000 tmp =2 irqvec =788 basvec =44 konf =1 spptr =2040 screen =$400 cint =65409 chrgot =121 chkcom =$aefd gettwo =$b7eb byte =$14 chrvec =$326 outdev =$9a cr =13 color =646 rvs =199 tmp2 =4 quote =212 insert =$d8 space =$ab3f basanf =44 basic =$a00 strout =$ab1e keyanz =198 keybuf =631 jmp init bsout jmp 61898 select brk zeile brk chars .word $d000 konfsel .byt 51 ymerk brk xmerk brk amerk brk nextflag brk aktcol brk aktrvs brk neunum brk read brk write brk vier brk allow brk special brk grbit .byt 1,2,4,8,$10,$20,$40,$80 titel .byt cr .byte "\x93grosse anfangsbuchstaben v2.0" .byt cr .byte "programmiert von n. heusler 060787" .byt cr .byte " (c) nss 1987" .byt cr+$80 .byte "\x11\x11\x11\x11new\x91\x91\x91" brk init lda irqvec+1 cmp #>irqneu beq irqset sei sta irqold+2 lda irqvec sta irqold+1 lda #irqneu sta irqvec+1 cli irqset lda #39 ldy #7 i4 sta spptr,y sec sbc #1 dey bpl i4 jsr cint lda #-1 sta vic+23 sta vic+29 lda #0 tax sta nextflag clrbasic sta $800,x sta $900,x dex bne clrbasic jsr getpar lda chrvec+1 cmp #>chrneu beq chrset sta bsout+2 lda chrvec sta bsout+1 lda #chrneu sta chrvec+1 chrset lda basvec cmp #10 bcs sat lda #10 sta basvec lda #0 sta basic sta basic+1 sta basic+2 lda #1 sta keyanz lda #cr sta keybuf sat lda #titel jmp strout getpar jsr chrgot bne nowas rts nowas jsr chkcom jsr gettwo lda byte ldy byte+1 sta chars sty chars+1 stx konfsel rts irqneu jsr find lda select sta vic+21 irqold jmp $ea31 find lda tmp pha lda tmp+1 pha lda #>screen sta tmp+1 ldy #0 sty tmp sty select ldx #24 i1 ldy #0 lda (tmp),y cmp #-1 bne i2 stx zeile iny lda (tmp),y and #7 tax ldy #40 lda (tmp),y sta vic+39,x lda grbit,x ora select sta select txa asl tay lda #24 sta vic,y lda #24 sec sbc zeile asl asl asl adc #50 sta vic+1,y ldx zeile i2 lda tmp clc adc #40 sta tmp bcc i3 inc tmp+1 i3 dex bne i1 pla sta tmp+1 pla sta tmp rts yello bit special bpl norm dec allow norm rts ah lda #0 .byt $2c be lda #-1 sta allow clc rts ce lda #0 .byt $2c de lda #-1 sta special clc rts chrneu pha lda outdev cmp #3 beq schirm pla bs jmp bsout schirm pla cmp #"\x01" beq ah cmp #"\x02" beq be cmp #"\x03" beq ce cmp #"\x04" beq de bit allow bmi bs cmp #cr beq jacr pha lda nextflag bne buffed pla jmp bsout jacr pha lda #1 sta nextflag pla wrong jmp bsout buffed pla cmp #" " bcc wrong cmp #128 bcc right cmp #149 bcc wrong cmp #156 bcc right cmp #160 bcc wrong right jsr yello stx xmerk sty ymerk sta amerk dec nextflag jsr find ldx #7 fis lda select and grbit,x beq found dex bpl fis ldx xmerk ldy ymerk lda amerk jmp bsout found stx neunum lda color sta aktcol lda rvs sta aktrvs lda #1 sta rvs lda vic+33 and #15 sta color jsr space lda #"\x9d" jsr bsout lda #"\xbf" jsr bsout lda neunum ora #48 jsr bsout lda #141 jsr bsout dec rvs lda aktcol ora #48 jsr bsout jsr bsout sta color lda aktrvs sta rvs lda aktcol sta color jsr copy lda amerk ldy ymerk ldx xmerk clc rts copy lda vic+24 and #2 asl asl sta vier sei lda konf pha lda konfsel sta konf lda amerk bpl k128 and #$7f cmp #$7f bne nopi lda #$5e nopi ora #$40 bne auswert aus jmp auswert k128 cmp #$60 bcc k160 and #$df bne auswert k160 and #$3f auswert ldx aktrvs beq off ora #$80 off ldx #0 stx tmp+1 ldx #2 mal8 asl rol tmp+1 dex bpl mal8 clc adc chars sta tmp lda tmp+1 adc chars+1 adc vier sta tmp+1 lda neunum asl asl asl asl asl asl sta tmp2 lda #8 adc #0 sta tmp2+1 ldy #21 sty write ldy #7 copyc lda (tmp),y sty read ldy write sta (tmp2),y dey dey dey sty write ldy read dey bpl copyc pla sta konf cli rts