;:ifpeek(49155)=76thensys49155 ;:sys36864 ;.opt oo *= $c000 buff =631 keyz =$cf00 tmp =181 scan =$ff9f timend =240 ; ausblendzeit in sekunden pitch =60 fl =8 jmp anfang jmp ende hi .byte "\x11\x99 **** memo-keys 1.0 installed ****" .byt 13 .byte "\x11 (c) nikolaus heusler, nh-230990-arr\x11" brk tx1 .byte "click" tx2 .byte "scrn sv" tx3 .byte "repeat" tx4 .byte "switch" tx5 .byte "expand" fukey .byt 133,137,134,138,135,139,136,140 .byt 1,21,2,22,3,23,4,24 chrl .byt <704,<705,<706,<832,<833,<834 .byt <896,<897,<898,<960,<961,<962,<963 chrh .byt >704,>705,>706,>832,>833,>834 .byt >896,>897,>898,>960,>961,>962,>963 siseg .byt %0111111,%0000110,%1011011,%1001111 .byt %1100110,%1101101,%1111101,%0000111,%1111111 .byt %1101111 merk brk nextf brk lastf brk verdreh brk ; mehrmaliger aufruf von key car brk ; zeichen clickf =keyz+15 scrnf =keyz+15+16 lastsft brk orgcol brk ; fuer blanking orgmod brk scronoff brk scrtime brk scrlow brk delayhi brk delaylo brk memx brk memy brk expand =keyz+15+32 irr brk ;flag cbm/ctrl old198 brk encore brk akt brk ; nr der editierten fkey ich brk ; flag editoranforderung fkey von anderer fkey letlist brk ; flag sft/ctrl erlaubt z1 =* .byt %00111000 .byt %01100000 .byt %01100000 .byt %11110000 .byt %01100000 .byt %01100000 .byt %01100000 .byt %00000000 z2 =* .byt %00001000 .byt %00001100 .byt %00001110 .byt %00001111 .byt %00001110 .byt %00001100 .byt %00001000 .byt %00000000 z3 =* .byt %01100000 .byt %10000000 .byt %10000000 .byt %01100000 .byt %00001100 .byt %00001010 .byt %00001100 .byt %00001010 scrab .byte "s:" name .byte "memkey.data" anfang jsr 65409 sei jsr stell jsr sprinit sta 53280 sta 53281 ldx #24 clrsid sta 54272,x dex bpl clrsid jsr clrkey lda #hi jmp $ab1e stell php sei lda #neukey sta 655 sty 656 lda #neubas sta 768 sty 769 lda #neuirq sta 788 sty 789 lda #neuenter sta 770 sty 771 plp rts neubas jsr stell lda #0 sta nextf sta verdreh sta letlist jmp $e38b neuenter lda #0 sta letlist jmp $a483 ende sei jsr 65418 jsr 58451 lda #$48 ldy #$eb sta 655 sty 656 lda #0 sta 53269 cli rts setspr lda #239 sta 53249 sta 53251 sta 53253 sta 53255 lda expand bne broad sta 53248+29 lda #136 sta 53248 lda #160 sta 53250 lda #184 sta 53252 lda #208 backs sta 53254 lda #11 sta 2040 ldx #13 stx 2041 inx stx 2042 inx stx 2043 rts broad lda #15 sta 53248+29 lda #88 sta 53248 lda #136 sta 53250 lda #184 sta 53252 lda #232 bne backs sprinit ldx #63 lda #0 sin sta 704,x sta 832,x sta 896,x sta 960,x dex bpl sin rts get lda 198 sta old198 jsr scan lda car cmp #133 bcc un cmp #137 bcc aret un lda $c6 bne chars sec rts chars ldy buff ldx #0 rueck lda buff+1,x sta buff,x inx cpx 198 bcc rueck dec 198 tya sec rts aret pha lda old198 sta 198 pla clc rts getone jsr get lda 203 cmp #64 bne getone geta jsr get beq geta rts clicke2 lda #40 sta 54273 lda #0 sta 54277 lda #240 sta 54278 lda #15 sta 54296 ldx #17 stx 54276 ldy #13 keydly jsr $eeb3 dey bne keydly dex stx 54276 rts clicke lda 203 cmp #64 beq cli00 cmp 197 bne clicke2 cli00 lda 653 cmp lastsft beq cli0 bcs clicke2 cli0 rts hget lda encore beq guud ldx #0 stx encore rts guud jmp get saver lda scronoff beq da lda orgcol sta 53280 lda orgmod sta 53265 da lda #0 sta scrtime sta scrlow sta scronoff rts mompls sta delayhi sta delaylo mnt jsr get cmp #"\x03" beq rous dec delaylo bne mnt dec delayhi bne mnt rous rts clrkey lda #0 sta verdreh tay ck sta keyz,y iny bne ck sta nextf dey sty lastf rts neukey jsr saver lda clickf beq nocli jsr clicke lda 653 sta lastsft nocli ldy 203 lda (245),y sta car lda verdreh bne jomp inc verdreh lda #0 sta irr jsr tasten jsr stell lda irr beq fine lda #64 sta 203 fine lda #0 sta verdreh jmp $eb48 jomp lda $28d jmp $eb64 tasten lda 212 bne no lda 216 bne no lda 157 bpl no lda car cmp #133 bcc nof cmp #137 bcc func nof lda 653 cmp #6 bne nopg inc irr lda #0 sta encore jmp program nopg cmp #5 bne no lda letlist bne no inc letlist jmp contlist func jsr calcnr cpx lastf beq no stx lastf setkey txa asl asl asl asl tax ldy #0 sty nextf copyky lda keyz,x beq endky sty merk ldy #15 suchfk cmp fukey,y beq function dey bpl suchfk ldy merk sta buff,y iny inx cpy #11 bcc copyky endky sty 198 no rts function iny sty nextf ldy merk bpl endky program lda #15 sta 53269 jsr setspr jsr headon ldx #10 jsr cursx lda #0 sta ich welche jsr hget cmp #"\x03" bne weiter abort lda #0 sta 53269 rts weiter cmp #"r" beq qrep cmp #"s" beq qscrn cmp #"c" beq qclick cmp #"l" beq qload cmp #"o" beq qsave cmp #"w" beq qswitch cmp #"e" beq qexpd cmp #133 bcc welche cmp #141 bcs welche jsr calcnr txa jsr heada jmp enter qrep jmp repeat qscrn jmp screen qclick jmp click qload jmp load qsave jmp save qswitch jmp switch qexpd jmp expd calcnr sec sbc #133 and #3 asl tax lda 653 and #7 tay and #1 beq ynosft inx bne yovers ynosft tya and #2 bne ytaxe tya and #4 beq yovers inx ytaxe txa ora #8 tax yovers rts repeat jsr sprinit ldx #5 repa lda tx3,x jsr fontax dex bpl repa jsr get10 bcs qaus sta 650 jmp onoff switch jsr sprinit ldx #5 swia lda tx4,x jsr fontax dex bpl swia jsr get10 bcs qaus eor #128 sta 657 eor #128 jmp onoff click jsr sprinit ldx #4 clia lda tx1,x jsr fontax dex bpl clia jsr get10 bcs raus sta clickf sta 54296 jmp onoff expd jsr sprinit ldx #5 exia lda tx5,x jsr fontax dex bpl exia jsr get10 bcs qaus sta expand jmp onoff screen jsr sprinit ldx #7 scra lda tx2,x jsr fontax dex bpl scra jsr get10 qaus bcs raus sta scrnf onoff pha lda #"o" ldx #9 jsr fontax inx pla bne on lda #"f" jsr fontax inx lda #"f" .byt $2c on lda #"n" jsr fontax lda #55 jsr mompls raus jmp abort get10 jsr get cmp #"\x03" beq aus cmp #"1" beq frei cmp #"0" bne get10 frei and #1 lsr ror aus rts enter sta akt asl asl asl asl jsr showtxt jsr pruef bcs darf lda ich bne schiss jmp program schiss jmp reklam darf jsr headon lda akt jsr heada ldx #0 lda akt asl asl asl asl tay inloop sty memy jsr cursx ldy memy getin sty memy stx memx jsr hgetone ldx memx ldy memy bcc funt cmp #"\x03" beq stopp cmp #20 beq delete cpx #10 bcs getin sta keyz,y iny inx inx jsr fontax dex bne inloop stopp lda #0 sta keyz,y jmp abort delete txa beq getin dey lda #32 inx jsr fontax dex dex bpl inloop funt cpx #0 beq getin dof jsr calcnr txa pha lda fukey,x ldy memy sta keyz,y lda #0 sta keyz+1,y pla pha jsr headon pla jsr heada ldx #1 stx ich jmp enter reklam jsr hget cmp #"\x03" bne dof ldy memy jmp stopp showtxt pha ldx #2 tay show1 lda keyz,y beq trin jsr fontax iny inx cpx #12 bcc show1 trin ldx #10 jsr cursx pla tay rts contlist cli dec $60 ldy #-1 lda ($5f),y inc $60 tay beq denn ohe lda $2b sta $5f lda $2c sta $60 denn lda #1 sta $cd curwat lda $cf bne curwat sta verdreh inc $cc jmp $a6c3 hgetone lda encore beq uki ldx #0 stx encore cmp #133 bcc nofu cmp #141 bcs nofu clc rts nofu sec rts uki jmp getone pruef jsr geta sta encore bcc achtung cmp #"\x03" beq huch sec rts achtung jsr calcnr cpx akt beq pruef huch clc rts load jsr sprinit ldx #6 loadout lda $f107,x and #127 jsr fontax dex bpl loadout lda #30 jsr mompls jsr setpar lda #0 tax ldy #>keyz jsr $ffd5 dende lda #128 sta 157 jmp abort save jsr sprinit ldx #5 saveout lda $f10f,x jsr fontax dex bpl saveout lda #30 jsr mompls lda #123 jsr $ffc3 ldx #scrab lda #13 jsr $ffbd lda #15 tay ldx #fl jsr $ffba jsr $ffc0 lda #123 jsr $ffc3 jsr setpar ldx #252 sty tmp ldy #>keyz sty tmp+1 lda #tmp jsr $ffd8 jmp dende setpar lda 0 ora #64 sta 0 lda #11 ldx #name jsr $ffbd ldx #fl ldy #0 sty 157 sty 53269 jmp $ffba neuirq jsr irq jsr stell jmp $ea31 irq lda 198 bne action lda 203 cmp #64 bne dino sta lastf dino ldx nextf beq action dex jsr setkey action lda 0 ora #128 sta 0 lda 646 sta 53287 sta 53288 sta 53289 sta 53290 lda 653 sta lastsft irqon lda scrnf beq nonsave lda scronoff bne nonsave inc scrlow lda scrlow cmp #pitch bcc nonsave lda #0 sta scrlow inc scrtime lda scrtime cmp #timend bcc nonsave lda 53280 sta orgcol lda 53265 sta orgmod ldx #0 stx 53280 stx 53265 stx 54296 inc scronoff nonsave rts headon jsr sprinit ldy #0 inx dh lda z1,y sta 704,x lda z2,y sta 705,x inx inx inx iny cpy #8 bcc dh rts heada pha and #15 tax inx txa cmp #10 bcc kl10 sbc #10 pha ldy #4 ldx #6 ohr lda 707,x ora #2 sta 707,x inx inx inx dey bpl ohr pla tax kl10 lda siseg,x tay and #64 beq off7 lda 720 ora #224 sta 720 off7 tya and #1 beq off1 lda 714 ora #224 sta 714 off1 tya and #8 beq off4 lda 726 ora #224 sta 726 off4 tya and #32 beq off6 sty merk ldy #2 ldx #10 on6 lda 704,x ora #128 sta 704,x inx inx inx dey bpl on6 ldy merk off6 tya and #16 beq off5 sty merk ldy #2 ldx #16 on5 lda 704,x ora #128 sta 704,x inx inx inx dey bpl on5 ldy merk off5 tya and #4 beq off3 sty merk ldy #2 ldx #16 on3 lda 704,x ora #32 sta 704,x inx inx inx dey bpl on3 ldy merk off3 tya and #2 beq off2 ldy #2 ldx #10 on2 lda 704,x ora #32 sta 704,x inx inx inx dey bpl on2 off2 pla rts cursx txa pha ldx #9 cul1 lda chrl+2,x clc adc #30 sta tmp lda chrh+2,x sta tmp+1 ldy #0 lda #24 sta (tmp),y dex bpl cul1 pla tax lda chrl+2,x clc adc #30 sta tmp lda chrh+2,x sta tmp+1 ldy #0 lda #255 sta (tmp),y rts fontax stx merk cmp #13 beq thirt cmp #128 bcs gr128 cmp #32 bcc kl32 cmp #96 bcc kl96 and #$df .byt $2c kl96 and #$3f .byt $2c kl32 ora #128 jmp output thirt lda #z3 sta tmp+1 bne draw gr128 and #127 cmp #127 bne nopi lda #$5e nopi cmp #32 bcc kl160 ora #64 .byt $2c kl160 ora #192 output ldx #0 stx tmp+1 asl rol tmp+1 asl rol tmp+1 asl rol tmp+1 sta tmp lda 53272 and #14 cmp #4 beq rom4 cmp #6 beq rom6 asl asl .byt $2c rom4 lda #208 .byt $2c rom6 lda #216 clc adc tmp+1 sta tmp+1 draw ldx merk lda chrl,x sta here+1 lda chrh,x sta here+2 lda 1 pha lda #51 sta 1 tya pha ldy #7 ldx #21 kopier lda (tmp),y here sta $ffff,x dex dex dex dey bpl kopier pla tay pla sta 1 ldx merk rts