;:sys36864 ;.opt oo *= $c000 vic =$d000 tmp =253 tmp2 =251 hires =$2000 cint =65409 reset =64738 key =198 rept =650 load =$ffd5 status =157 open =$ffc0 close =$ffc3 chkout =$ffc9 clrchn =$ffcc setnam =$ffbd setpar =$ffba dr =4 return =$aad7 bsout =$ffd2 strout =$ab1e get =65508 input =65487 clrx =59903 name =820 clall =$ffe7 setcr =58732 zeile =214 spalte =211 space =43839 jmp titel rebit .byt $80,$40,$20,$10,8,4,2,1 mult =* .word $2000,$2140,$2280,$23c0 .word $2500,$2640,$2780,$28c0 .word $2a00,$2b40,$2c80,$2dc0 .word $2f00,$3040,$3180,$32c0 .word $3400,$3540,$3680,$37c0 .word $3900,$3a40,$3b80,$3cc0 .word $3e00 xx .word 0 yy brk x1 .word 0 y1 brk x2 brk y2 brk anz brk xcoord .word 0 x3 brk y3 brk kont brk qkont .byt 1 wert brk modus brk mask brk zeig brk ormask brk prin .byt 3 sek .byt 1 zeichen .byte " .+ijlx&fz%omw#*@" predata =* .byt %0000 ; space 0 .byt %0000 .byt %0000 .byt %0000 .byt %0000 ; . 1 .byt %0100 .byt %0000 .byt %0000 .byt %0000 ; + 2 .byt %0100 .byt %0010 .byt %0000 .byt %0000 ; i 3 .byt %0111 .byt %0000 .byt %0000 .byt %0000 ; j 4 .byt %1000 .byt %0111 .byt %0000 .byt %0000 ; l 5 .byt %1111 .byt %1000 .byt %0000 .byt %1101 ; x 6 .byt %0010 .byt %0101 .byt %0000 .byt %0110 ; & 7 .byt %1001 .byt %1010 .byt %1000 .byt %1111 ; f 8 .byt %0101 .byt %0001 .byt %0001 .byt %1000 ; z 9 .byt %1101 .byt %1011 .byt %1001 .byt %1101 ; % 10 .byt %0101 .byt %1010 .byt %1011 .byt %1110 ; o 11 .byt %1001 .byt %1001 .byt %1111 .byt %1111 ; m 12 .byt %1111 .byt %1001 .byt %1001 .byt %1001 ; w 13 .byt %1011 .byt %1111 .byt %1111 .byt %1110 ; # 14 .byt %1111 .byt %1111 .byt %0111 .byt %1110 ; * 15 .byt %1111 .byt %1111 .byt %1111 .byt %1111 ; @ 16 .byt %1111 .byt %1111 .byt %1111 hello .byte "\x08\x9e\x11 letterprint 1.4 von nikolaus heusler" .byt 13 .byte " \xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3 zwengauerweg 18\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d" .byte "\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x118000 muenchen 71" .byt 13 .byte " \xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4" .byt 13 .byte "\x11 a: grafik laden" brk h2 .byt 13 .byte "\x11 b: grafik zeigen" .byt 13 .byte "\x11 c: invertieren" .byt 13 .byte "\x11 d: preview / : drucken" .byt 13 .byte "\x11 e: kontrast:" .byt 13 .byte "\x11 f: drucker:" .byt 13 .byte "\x11 g: sekundaeradresse:" .byt 13 .byte "\x11 h: ende" .byt 13 .byte " \xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4" .byt 13 .byte "\x11 (c) nh 12.91" brk namtxt .byte " filename ? " brk pritab .word pri1,pri2,pri3,pri4,pri5 pri1 .byte "commodore mps" brk pri2 .byte "ascii mit lf " brk pri3 .byte "ascii ohne lf" brk pri4 .byte "epson mit lf " brk pri5 .byte "epson ohne lf" brk whatab .word wha1,wha2,wha3,wha4,wha5 wha1 .byt 8,13,15,0 wha2 .byt 13,0 wha3 .byt 13,10,0 wha4 .byt 13,0 wha5 .byt 13,10,0 sektab .byt 0,1,1,1,1 randt .byt 15,15,15,7,7 initeps .byt 27,64,27,48,27,31,16,27,69,0 mentab .word lade,look,invert,previ,kontrast,delpri .word sekund,reset titel jsr clall jsr cint lda #hello jsr strout lda #128 sta rept lda #0 sta vic+32 lda #6 sta vic+33 lda #

h2 jsr strout fur jsr kontout jsr outpri lda #0 sta key men jsr get cmp #"\x13" beq home cmp #"D" beq druck cmp #"a" bcc men cmp #"i" bcs men sbc #"@" asl tay lda mentab,y sta tmp lda mentab+1,y sta tmp+1 jsr gogo jmp titel home lda #0 sta kont lda #1 sta qkont bne fur druck jsr print jmp titel gogo jmp (tmp) show lda #59 sta vic+17 lda #29 sta vic+24 ldx #4 stx tmp+1 ldy #0 sty tmp lda #1 faerb sta (tmp),y iny bne faerb inc tmp+1 dex bne faerb rts invert jsr show ldx #32 stx tmp+1 ldy #0 sty tmp inv lda (tmp),y eor #-1 sta (tmp),y iny bne inv inc tmp+1 dex bne inv jmp waitkey hide ldy #0 sty tmp sty tmp2 ldx #32 stx tmp+1 lda #64 sta tmp2+1 hi lda (tmp),y sta (tmp2),y iny bne hi inc tmp+1 inc tmp2+1 dex bne hi rts rueck ldy #0 sty tmp sty tmp2 ldx #32 stx tmp+1 lda #64 sta tmp2+1 ru lda (tmp2),y sta (tmp),y iny bne ru inc tmp+1 inc tmp2+1 dex bne ru rts look jsr show waitkey lda #0 sta key wk cmp key beq wk dec key rts reihe lda #<316 sta xx lda #>316 sta xx+1 lda #79 sta x3 r5 lda modus bne r6 ldy prin ldx randt,y rand jsr space dex bne rand r6 lda #0 sta yy lda #49 sta y3 r1 lda #0 sta anz lda #3 sta y2 lda yy sta y1 jsr get cmp #"\x03" bne r3 rts r3 lda #3 sta x2 lda xx sta x1 lda xx+1 sta x1+1 r4 ldx y1 lda x1 sta xcoord lda x1+1 sta xcoord+1 jsr point tax and (tmp),y beq aus inc anz aus txa eor (tmp),y sta (tmp),y inc x1 bne n1 inc x1+1 n1 dec x2 bpl r4 inc y1 dec y2 bpl r3 lda anz clc adc kont bpl posit lda #0 posit cmp #16 bcc kl16 lda #16 kl16 tax lda modus beq hard jsr soft jmp beide hard lda zeichen,x jsr bsout beide lda yy clc adc #4 sta yy dec y3 bpl qr1 lda modus bne nrt lda prin asl tax lda whatab,x ldy whatab+1,x jsr strout nrt lda xx sec sbc #4 sta xx lda xx+1 sbc #0 sta xx+1 dec x3 bmi nr5 jmp r5 nr5 rts qr1 jmp r1 soft txa asl asl sta zeig lda #3 sta y2 ldx yy lda xx sta xcoord lda xx+1 sta xcoord+1 jsr point cmp #10 bcc low lda #%1111 .byt $2c low lda #%11110000 sta mask s5 ldx zeig inc zeig lda predata,x bit mask bmi noshift asl asl asl asl noshift sta ormask lda (tmp),y and mask ora ormask sta (tmp),y iny dec y2 bpl s5 rts point txa lsr lsr lsr asl tay lda mult+1,y sta tmp+1 txa and #7 clc adc mult,y sta tmp lda xcoord and #$f8 adc tmp sta tmp lda tmp+1 adc xcoord+1 sta tmp+1 lda xcoord and #7 tax lda rebit,x ldy #0 noeps rts auf lda #0 jsr setnam ldy sek lda #dr tax jsr setpar jsr open ldx #dr jsr chkout lda prin cmp #3 bcc noeps lda #initeps jmp strout lade jsr return ldx #23 jsr clrx lda #23 sta zeile jsr setcr lda #namtxt jsr strout ldx #0 stx status getname jsr input cmp #13 beq ret sta name,x inx cpx #16 bcc getname ret txa bne warwas rts warwas txa ldx #name jsr setnam jsr show ldx #8 ldy #0 jsr setpar lda #0 tax ldy #32 jsr load jmp waitkey print lda #0 sta modus jsr hide jsr show jsr auf jsr reihe jsr rueck lda prin cmp #3 bcc nok lda #27 jsr bsout lda #"@" jsr bsout nok lda #dr jmp close previ lda #1 sta modus jsr hide jsr show jsr reihe jsr waitkey jmp rueck kontrast lda kont clc adc qkont sta kont cmp #-16 beq wende cmp #16 bne nowende wende lda qkont eor #-2 sta qkont nowende pla pla jmp fur kontout lda #15 sta spalte lda #14 sta zeile jsr setcr lda kont bne da lda #"0" jsr bsout bne cont da sta wert bpl plus lda #-1 eor wert clc adc #1 sta wert lda #"-" .byt $2c plus lda #"+" jsr bsout lda wert cmp #10 bcc kl10 lda #"1" jsr bsout lda wert sec sbc #10 sta wert kl10 lda wert ora #"0" jsr bsout cont jsr space jmp space delpri ldx prin inx cpx #5 bcc kl3 ldx #0 kl3 stx prin lda sektab,x sta sek jmp nowende outpri lda #14 sta spalte lda #16 sta zeile jsr setcr lda prin asl tax lda pritab,x ldy pritab+1,x jsr strout lda #23 sta spalte lda #18 sta zeile jsr setcr ldx sek lda #0 jmp $bdcd sekund ldx sek inx txa and #7 sta sek jmp nowende