;:poke56,64:clr ;:sys36864 ;.opt oo *= $c000 buff =$4000 jmp start hi .byt 13 .byte "\x93\x08\x97\x8e\x11\x11copyright-boy v1 n. heusler 8.92" .byt 13 .byte "\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3" .byt 13 .byte "\x11dieses utility vergleicht zwei dateien" .byt 13 .byte "\x11und sucht nach gemeinsamkeiten." .byt 13 .byte "\x11\x11 ab byte uebereinstimmung melden" .byt 13 .byte "\x91\x1d\x1d\x1d\x1d" brk hi2 .byt 13 .byte "\x11 dateiname 1 ? " brk hi3 .byt 13 .byte "\x11 dateiname 2 ? " brk hi4 .byt 13 .byte "\x11ausgabe auf chirm oder rucker ? " brk err .byt 13 .byte "datei kann nicht geoeffnet werden!" brk err2 .byt 13 .byte "speicher voll!" brk hext .byte "0123456789abcdef" piec .byt 13,13 .byte "gefundene identische bereiche" .byt 13 .byte "(mind. " brk pi2 .byte " bytes):" .byt 13,13 .byte " datei 1 datei 2 laenge" .byt 13 .byte "----------------------------" .byt 13,0 eoi .byt 13 .byte "anzahl der fundstellen: " brk input stx 2 sta 3 lda 211 sta 4 in1 lda 4 sta 211 ldx 2 lda #"\xa4" in2 jsr $ffd2 dex bne in2 lda 4 sta 211 ldx #0 in3 lda #0 sta 204 in4 lda 198 beq in4 ldy #2 sty 205 in5 lda 207 bne in5 inc 204 stx 5 jsr 65508 ldx 5 cmp #13 bne in6 rts in6 cmp #20 beq in7 cmp #"\x13" beq in1 ldy 3 beq all cmp #"0" bcc in3 cmp #"9"+1 bcs in3 bcc ok all cmp #32 bcc in3 cmp #128 bcc ok cmp #192 bcc in3 ok cpx 2 bcs in3 sta 820,x jsr $ffd2 lda #0 sta 212 inx bne in3 in7 txa beq in3 dex dec 211 lda #"\xa4" jsr $ffd2 dec 211 bne in3 blink ldx #32 stx 211 sta 214 jsr 58732 lda #0 sta 204 sta 198 bl cmp 198 beq bl sta 198 lda #2 sta 205 bl2 lda 207 bne bl2 inc 204 lda #17 sta 214 jmp 58732 open jsr $ffbd ldx #8 lda #1 ldy #0 jsr $ffba jsr $ffc0 ldx #1 jmp $ffc6 hex pha lsr lsr lsr lsr jsr hex1 pla hex1 and #15 tax lda hext,x jmp $ffd2 bhex pha lsr lsr lsr lsr jsr bhex1 pla bhex1 and #15 tax lda hext,x and #63 sta 1024,y lda #1 sta $d800,y iny rts cdole jsr $ffd2 lda #":" jsr $ffd2 jmp $ab3f bar lda #"-" .byt $2c anf lda #34 jmp $ffd2 eout pha jsr hex tya jsr hex tya clc adc 178 sta 158 pla adc 179 sta 159 lda 158 bne *+4 dec 159 dec 158 jsr bar lda 159 jsr hex lda 158 jmp hex sp2 jsr sp sp jmp $ab3f start jsr $ffe7 lda #hi jsr $ab1e lda #15 sta $d020 sta $d021 ldx #5 lda #1 jsr input lda #0 sta 6 sta 191 sta 820,x tax sta 139 sta 140 de1 lda 820,x beq de2 lda 139 sta 141 lda 140 asl 141 rol bcs start asl 141 rol bcs start sta 142 lda 139 adc 141 sta 139 lda 140 adc 142 bcs start sta 140 asl 139 rol 140 bcs start lda 820,x and #15 adc 139 sta 139 bcc de3 inc 140 beq qst de3 inx bne de1 qst jmp start de2 lda 139 ora 140 beq start lda #hi2 jsr $ab1e ldx #16 lda #0 jsr input stx 155 txa beq qst co1 lda 820,x sta 704,x dex bpl co1 lda #hi3 jsr $ab1e ldx #16 lda #0 jsr input stx 156 txa beq qst lda #hi4 jsr $ab1e ge jsr 65508 cmp #"d" beq ge4 cmp #"s" bne ge ldx #3 .byt $2c ge4 ldx #4 stx 143 jsr $ffd2 lda #12 jsr blink ldx #<704 ldy #>704 lda 155 jsr open jsr $ffc0 ldx #1 jsr $ffc6 jsr 65508 ldx 144 beq fd not jsr $ffcc lda #err fehler jsr $ab1e lda #0 sta 198 wk cmp 198 beq wk sta 198 jmp start fd sta 247 sta 249 sta 189 jsr 65508 sta 248 sta 250 sta 190 lda #buff sta 251 sty 252 sta 253 sty 254 lp1 jsr 65508 sei ldy #48 sty 1 ldy #0 sta (251),y ldy #55 sty 1 inc 249 bne *+4 inc 250 inc 251 bne platz inc 252 bne platz memfull jsr $ffcc lda #err2 bne fehler platz lda 144 beq lp1 jsr $ffcc lda #1 jsr $ffc3 lda 249 bne *+4 dec 250 dec 249 lda #14 jsr blink ldx #<820 ldy #>820 lda 156 jsr open jsr $ffc0 ldx #1 jsr $ffc6 jsr 65508 ldx 144 beq okay jmp not okay sta 170 sta 166 jsr 65508 sta 171 sta 167 lda 251 ldy 252 sta 168 sty 169 lp2 jsr 65508 sei ldy #48 sty 1 ldy #0 sta (168),y ldy #55 sty 1 inc 166 bne *+4 inc 167 inc 168 bne plitz inc 169 beq memfull plitz lda 144 beq lp2 jsr $ffcc lda #1 jsr $ffc3 lda 166 bne *+4 dec 167 dec 166 ldx 143 lda #4 ldy #0 jsr $ffba sty $b7 jsr $ffc0 ldx #4 jsr $ffc9 jsr $aad7 jsr $aad7 lda #"1" jsr cdole lda 248 jsr hex lda 247 jsr hex jsr bar lda 250 jsr hex lda 249 jsr hex jsr $ab3f jsr anf ldx #0 out1 lda 704,x jsr $ffd2 inx cpx 155 bcc out1 jsr anf jsr $aad7 lda #"2" jsr cdole lda 171 jsr hex lda 170 jsr hex jsr bar lda 167 jsr hex lda 166 jsr hex jsr $ab3f jsr anf ldx #0 out2 lda 820,x jsr $ffd2 inx cpx 156 bcc out2 jsr anf lda #piec jsr $ab1e ldx 139 lda 140 jsr $bdcd lda #pi2 jsr $ab1e sea1 lda #55 sta 1 ldy #0 lda 190 jsr bhex lda 189 jsr bhex sei lda #48 sta 1 lda 251 ldy 252 sta 176 sty 177 lda 170 ldy 171 sta 150 sty 151 sea2 ldy #0 sty 178 sty 179 lda 176 sta 180 lda 177 sta 181 lda 253 sta 195 lda 254 sta 196 sea3 lda (180),y cmp (195),y bne diff inc 178 bne *+4 inc 179 inc 180 bne *+4 inc 181 inc 195 bne *+4 inc 196 sec lda 195 sbc 251 lda 196 sbc 252 bcs diff sec lda 180 sbc 168 lda 181 sbc 169 bcc sea3 diff lda 179 cmp 140 bcc toolit bne melde lda 178 cmp 139 bcc toolit melde inc 191 bne *+4 inc 6 lda #55 sta 1 cli lda 190 ldy 189 jsr eout jsr sp2 lda 151 ldy 150 jsr eout lda 189 cmp 150 bne irg lda 190 cmp 151 bne irg lda #"*" .byt $2c irg lda #32 jsr $ffd2 jsr $ab3f ldx 178 lda 179 jsr $bdcd jsr $aad7 lda #48 sei sta 1 clc lda 178 adc 253 sta 253 lda 179 adc 254 sta 254 clc lda 178 adc 189 sta 189 lda 179 adc 190 sta 190 jmp done2 toolit inc 150 bne *+4 inc 151 inc 176 bne *+4 inc 177 sec lda 176 sbc 168 lda 177 sbc 169 bcs end2 jmp sea2 end2 inc 189 bne *+4 inc 190 inc 253 bne *+4 inc 254 done2 sec lda 253 sbc 251 lda 254 sbc 252 bcs end1 jmp sea1 end1 lda #55 sta 1 cli lda #eoi jsr $ab1e lda 6 ldx 191 jsr $bdcd jsr $aad7 jsr $ffcc ldx #4 jmp $ffc3