koreth%panarthea.ebay@sun.com (Steven Grimm) (07/24/89)
Submitted-by: usqb015@liverpool.ac.uk (Mark Powell) Posting-number: Volume 2, Issue 65 Archive-name: viruskil [Documentation is in the binaries posting. -sg] * Virus killer * Copyright 1989 by M.S.Powell (usqb015@uk.ac.liv) * Permission granted to exmaine and modify this source for; personal use, * no profit and as long as this header is left intact. * Written on Devpac v1.22 by Hisoft numrect equ 6 move.l 4(sp),a5 move.l #end+32000+4096,d0 move.l a5,d1 add.l d0,d1 bclr #0,d1 move.l d1,sp move.l d0,-(sp) move.l a5,-(sp) pea $4a0000 trap #1 lea 12(sp),sp tst d0 beq.s okay pea nomem(pc) move #9,-(sp) trap #1 addq.l #6,sp pea $20002 trap #13 addq.l #4,sp bra exit okay clr.l -(sp) move #32,-(sp) trap #1 addq.l #6,sp move.l d0,oldssp dc.w $a00a move.l #end,d0 add.l #255,d0 clr.b d0 move.l d0,screen move #$19,-(sp) trap #1 addq.l #2,sp cmp #2,d0 blt.s drokay clr d0 drokay move d0,drive move #2,-(sp) trap #14 addq.l #2,sp move.l d0,physcrn move #3,-(sp) trap #14 addq.l #2,sp move.l d0,logscrn movem.l $8240.w,d0-d7 movem.l d0-d7,oldpal move #4,-(sp) trap #14 addq.l #2,sp move d0,oldres cmp #2,d0 beq.s hires clr d0 hires move d0,res move d0,-(sp) move.l screen(pc),-(sp) move.l (sp),-(sp) move #5,-(sp) trap #14 lea 12(sp),sp lea scrdata(pc),a0 move.l screen(pc),a1 lea 8*160(a1),a1 move #2560/4-1,d0 movelp move.l (a0)+,(a1)+ dbra d0,movelp move #$2700,sr move.l $fa06.w,oldier clr.b $fa07.w move.b #$40,$fa09.w bclr #0,$fa0b.w bclr #6,$fa0d.w bclr #0,$fa0f.w bclr #6,$fa11.w bset #0,$fa13.w bset #6,$fa15.w move.l $118.w,oldkeyb move.l #keybrd,$118.w move.l $120.w,oldtimb move.l #timerb,$120.w clr.b $fa1b.w move.b #1,$fa21.w move.b #8,$fa1b.w move.l $456.w,a0 move.l (a0),oldvblq move.l #vbl,(a0) move.l #palette,$45a.w move #1,$36.w move #1,$38.w move #$2300,sr lea keydat(pc),a0 moveq #13-1,d0 bsr sendikbd bsr wvbl lea icondat(pc),a0 move.l screen(pc),a6 lea 64+32*160(a6),a1 bsr drawicon lea 16+64*160(a6),a1 bsr drawicon lea 112+64*160(a6),a1 bsr drawicon lea 16+120*160(a6),a1 bsr drawicon lea 112+120*160(a6),a1 bsr drawicon lea drivedata(pc),a0 lea 48+40*160(a6),a1 tst drive bne.s nota lea 96(a0),a0 nota bsr drawdrivenum lea drivedata+96*2(pc),a0 lea 104+40*160(a6),a1 tst drive beq.s notb lea 96(a0),a0 notb bsr drawdrivenum bsr mouseon move.l a6,a5 lea mainmess(pc),a0 bsr printbl * Main loop main bsr wvbl tst leftbutton beq.s main lea recflag(pc),a0 lea routlst(pc),a1 moveq #numrect-1,d0 chkrect tst.b (a0)+ bne.s inone addq.l #4,a1 dbra d0,chkrect bra.s main inone move.l (a1),a1 lea buffer(pc),a6 move.l screen(pc),a5 jsr (a1) move.l #mousedata,mousedatapnt waitnb tst leftbutton bne.s waitnb bra.s main drivea clr drive lea drivedata+96(pc),a0 lea 48+40*160(a5),a1 bsr mouseoff bsr drawdrivenum lea drivedata+96*2(pc),a0 lea 104+40*160(a5),a1 bsr drawdrivenum bra mouseon driveb cmp #1,$4a6.w beq.s dbout move #1,drive lea drivedata(pc),a0 lea 48+40*160(a5),a1 bsr mouseoff bsr drawdrivenum lea drivedata+96*3(pc),a0 lea 104+40*160(a5),a1 bsr drawdrivenum bra mouseon dbout rts examine move.l #busydata,mousedatapnt bsr clrbl bsr read lea $1e(a6),a0 lea antivirus(pc),a1 move #endanti-antivirus-1,d0 chkavlp move.b (a0)+,d1 cmp.b (a1)+,d1 bne.s notant dbra d0,chkavlp lea antin(pc),a0 bra printbl notant move.l a6,a0 moveq #0,d0 move #256-1,d1 chklp add (a0)+,d0 dbra d1,chklp cmp #$1234,d0 bne.s notexec lea exec(pc),a0 bra printbl notexec lea noexec(pc),a0 bra printbl install move.l #busydata,mousedatapnt bsr clrbl bsr read bsr clrboot lea antivirus(pc),a0 lea $1e(a6),a1 move #endanti-antivirus-1,d0 movealp move.b (a0)+,(a1)+ dbra d0,movealp move #$601c,(a6) bsr chksum move d1,(a0) bsr write lea insmess(pc),a0 bra printbl remove move.l #busydata,mousedatapnt bsr clrbl bsr read bsr clrboot bsr chksum subq #1,d1 move d1,(a0) bsr write lea remmess(pc),a0 bra printbl * Various routines sendikbd keylp btst #1,$fc00.w beq.s keylp move.b (a0)+,$fc02.w dbra d0,keylp rts clrboot lea $1e(a6),a0 move #482/2-1,d0 clrbslp clr (a0)+ dbra d0,clrbslp rts chksum lea (a6),a0 moveq #0,d1 move #255-1,d0 chksmlp add (a0)+,d1 dbra d0,chksmlp sub #$1234,d1 neg d1 rts read pea 1.w pea $10000 move drive(pc),-(sp) subq.l #4,sp pea (a6) move #8,-(sp) trap #14 lea 20(sp),sp tst d0 bmi error rts write pea 1.w pea $10000 move drive(pc),-(sp) subq.l #4,sp pea (a6) move #9,-(sp) trap #14 lea 20(sp),sp tst d0 bmi error rts printbl bsr mouseoff lea 1+188*160(a5),a1 lea 152+188*160(a5),a5 moveq #0,d1 move.b (a0)+,d1 subq #1,d1 prspace moveq #32,d0 bsr print dbra d1,prspace prnxtc move.b (a0)+,d0 beq.s prout bsr print bra.s prnxtc prout cmp.l a1,a5 beq.s prex move.l a1,a4 moveq #8-1,d0 clrchlp clr.b (a4) clr.b 2(a4) lea 160(a4),a4 dbra d0,clrchlp move.l a1,d0 addq.l #7,d0 and #$fff9,d0 move.l d0,a1 bra.s prout prex bra mouseon print ext d0 cmp #'A',d0 blt.s punct cmp #'Z',d0 bgt.s lowerc sub #64,d0 bra.s prit punct cmp #',',d0 bne.s notcom moveq #53,d0 bra.s prit notcom cmp #'.',d0 bne.s notfs moveq #54,d0 bra.s prit notfs cmp #'!',d0 bne.s notex moveq #55,d0 bra.s prit notex cmp #'0',d0 blt.s notnum cmp #'9',d0 bgt.s notnum addq #8,d0 bra.s prit notnum moveq #0,d0 bra.s prit lowerc cmp #127,d0 bne.s notcpyr moveq #66,d0 bra.s prit notcpyr sub #70,d0 prit add d0,d0 add d0,d0 add d0,d0 lea chrset(pc),a3 lea 0(a3,d0),a3 move.l a1,a4 moveq #8-1,d0 prntlp move.b (a3),(a4) move.b (a3)+,2(a4) lea 160(a4),a4 dbra d0,prntlp move.l a1,d0 addq.l #7,d0 and #$fff9,d0 move.l d0,a1 rts clrbl bsr mouseoff lea 8+188*160(a5),a0 moveq #0,d1 moveq #18-1,d0 clrbtlp move.l d1,(a0) move.l d1,160(a0) move.l d1,320(a0) move.l d1,480(a0) move.l d1,640(a0) move.l d1,800(a0) move.l d1,960(a0) move.l d1,1120(a0) addq.l #8,a0 dbra d0,clrbtlp bra mouseon error neg d0 lea errors(pc),a0 move.b 0(a0,d0),d0 lea 0(a0,d0),a0 bra printbl wvbl move.l $466.w,d0 waitlp cmp.l $466.w,d0 beq.s waitlp rts mouseon movem.l d0-d7/a0-a2,-(sp) bsr drawm movem.l (sp)+,d0-d7/a0-a2 move #1,mouse rts mouseoff clr mouse movem.l d0-d7/a0-a2,-(sp) bsr undraw movem.l (sp)+,d0-d7/a0-a2 rts drawdrivenum moveq #16-1,d0 drawdnlp move.l a1,a2 move.l (a0)+,(a2)+ move (a0)+,(a2)+ lea 160(a1),a1 dbra d0,drawdnlp rts drawicon moveq #32-1,d0 drawilp move.l a1,a2 move.l (a0)+,(a2)+ move (a0)+,(a2)+ addq.l #2,a2 move.l (a0)+,(a2)+ move (a0)+,(a2)+ addq.l #2,a2 move.l (a0)+,(a2)+ move (a0)+,(a2)+ addq.l #2,a2 move.l (a0)+,(a2)+ move (a0)+,(a2)+ lea 160(a1),a1 dbra d0,drawilp rts * Vertical blank handler vbl clr $30.w subq #1,$38.w bne.s notnewc move #3,$38.w add #$90,$36.w and #$771,$36.w notnewc move $36.w,$32.w move $38.w,$34.w move.b #1,$fa07.w tst mouse beq.s nomouse bsr undraw bsr drawm lea rectdat(pc),a0 lea recflag(pc),a1 move mousex(pc),d1 move mousey(pc),d2 moveq #8-1,d0 rectlp cmp (a0),d1 blt.s notin cmp 2(a0),d2 blt.s notin cmp 4(a0),d1 bge.s notin cmp 6(a0),d2 bge.s notin move.b #1,(a1)+ bra.s nxtrect notin clr.b (a1)+ nxtrect addq.l #8,a0 dbra d0,rectlp nomouse rts timerb cmp #31,$30.w beq.s endtimb move d0,-(sp) move.l a0,-(sp) lea $8248.w,a0 move $32.w,d0 move d0,(a0)+ addq #1,d0 move d0,(a0)+ addq #1,d0 move d0,(a0)+ addq #1,d0 move d0,(a0)+ addq #1,d0 move d0,(a0)+ addq #1,d0 move d0,(a0)+ addq #1,d0 move d0,(a0)+ subq #1,d0 move d0,(a0)+ subq #1,d0 move d0,(a0)+ subq #1,d0 move d0,(a0)+ subq #1,d0 move d0,(a0)+ subq #1,d0 move d0,(a0)+ subq #1,d0 move d0,$8248.w move.l (sp)+,a0 move (sp)+,d0 subq #1,$34.w bne.s noc move #3,$34.w add #$90,$32.w and #$771,$32.w noc addq #1,$30.w clr.b $fa0f.w rte endtimb btst #1,$fc00.w beq.s notempt move.b #$d,$fc02.w notempt movem.l d0-d7,-(sp) movem.l palette(pc),d0-d7 movem.l d0-d7,$8240.w movem.l (sp)+,d0-d7 clr.b $fa07.w clr.b $fa0f.w rte drawm moveq #0,d0 move mousey(pc),d0 move d0,d1 add d0,d0 add d0,d0 add d1,d0 lsl #5,d0 move mousex(pc),d1 move d1,d2 lsr #1,d1 and #$fff8,d1 add d1,d0 move.l screen(pc),a0 add.l d0,a0 and #$f,d2 lea trash(pc),a1 move.l mousedatapnt(pc),a2 move.l a0,(a1)+ move #200,d3 sub mousey(pc),d3 cmp #16,d3 ble.s fulsize moveq #16,d3 fulsize subq #1,d3 move d3,(a1)+ cmp #152,d1 beq.s rightedge drawlp movem.l (a0),d4-d7 movem.l d4-d7,(a1) lea 16(a1),a1 moveq #0,d0 move (a2)+,d0 not d0 swap d0 lsr.l d2,d0 not.l d0 move.l a0,a4 swap d0 and d0,(a4)+ and d0,(a4)+ and d0,(a4)+ and d0,(a4)+ swap d0 and d0,(a4)+ and d0,(a4)+ and d0,(a4)+ and d0,(a4)+ moveq #0,d0 move (a2)+,d0 swap d0 lsr.l d2,d0 or d0,8(a0) swap d0 or d0,(a0) moveq #0,d0 move (a2)+,d0 swap d0 lsr.l d2,d0 or d0,10(a0) swap d0 or d0,2(a0) lea 160(a0),a0 dbra d3,drawlp rts rightedge movem.l (a0),d4-d7 movem.l d4-d7,(a1) lea 16(a1),a1 move (a2)+,d0 not d0 lsr d2,d0 not d0 move.l a0,a4 and d0,(a4)+ and d0,(a4)+ and d0,(a4)+ and d0,(a4)+ move (a2)+,d0 lsr d2,d0 or d0,(a0) move (a2)+,d0 lsr d2,d0 or d0,2(a0) lea 160(a0),a0 dbra d3,rightedge rts undraw lea trash(pc),a0 move.l (a0)+,a1 move (a0)+,d4 undrlp movem.l (a0)+,d0-d3 movem.l d0-d3,(a1) lea 160(a1),a1 dbra d4,undrlp rts * Keyboard handler keybrd movem.l d0-d1/a0,-(sp) again move.b $fc00.w,d1 btst #7,d1 beq keyout btst #0,d1 beq keyo moveq #0,d0 move.b $fc02.w,d0 tst length beq.s nopack move.l bufpnt(pc),a0 move.b d0,(a0)+ move.l a0,bufpnt subq #1,length bne keyo lea keybuf(pc),a0 cmp.b #$f7,(a0)+ bne.s keyo addq.l #1,a0 move (a0)+,mousex move (a0)+,mousey bra.s keyo nopack cmp #$f6,d0 blt.s akey lea keybuf(pc),a0 move.b d0,(a0)+ move.l a0,bufpnt sub #$f6,d0 move.b lengths(pc,d0),d0 move d0,length bra.s keyo lengths dc.b 7,5,2,2,2,2,6,2,1,1 akey move d0,keys cmp #$74,d0 bne.s notlon move #1,leftbutton bra.s keyo notlon cmp #$f4,d0 bne.s keyo clr leftbutton keyo btst #5,d1 beq.s keyout move.b $fc02.w,d0 keyout btst #4,$fa01.w beq again movem.l (sp)+,d0-d1/a0 bclr #6,$fa11.w rte * Return to desktop desktop move #$2700,sr move.l oldier(pc),$fa06.w move.l oldkeyb(pc),$118.w move.l $456.w,a0 move.l oldvblq(pc),(a0) move #$2300,sr lea keydat1(pc),a0 moveq #3-1,d0 bsr sendikbd movem.l oldpal(pc),d0-d7 movem.l d0-d7,$8240.w move oldres(pc),-(sp) move.l physcrn(pc),-(sp) move.l logscrn(pc),-(sp) move #5,-(sp) trap #14 lea 12(sp),sp move.l oldssp(pc),-(sp) move #32,-(sp) trap #1 addq.l #6,sp exit clr -(sp) trap #1 * The anti-virus! antivirus move.l #$5000777,$8240.w move #4,-(sp) trap #14 addq.l #2,sp move d0,d7 beq.s lores lea starti(pc),a0 lea $140.w,a1 move.l a1,a2 move #endi-starti-1,d0 moveilp move.b (a0)+,(a1)+ dbra d0,moveilp move.l $456.w,a0 move.l a2,28(a0) lores move.l $44e.w,a0 lea 92*160+2*8(a0),a0 tst d7 beq.s nhires subq.l #8,a0 nhires lea mess(pc),a1 lea chars-8(pc),a2 prvflp moveq #0,d0 move.b (a1)+,d0 beq.s donevf add d0,d0 add d0,d0 add d0,d0 lea 0(a2,d0),a3 move.l a0,a4 moveq #8-1,d0 linelp move.b (a3)+,d1 moveq #8-1,d2 expndlp lsl.b #1,d1 move sr,d4 tst d7 bne.s hires0 roxl #1,d3 move d4,sr roxl #1,d3 bra.s nxtshft hires0 roxl.l #1,d3 move d4,sr roxl.l #1,d3 move d4,sr roxl.l #1,d3 move d4,sr roxl.l #1,d3 nxtshft dbra d2,expndlp tst d7 bne.s hires1 move d3,(a4) move d3,160(a4) bra.s addisp hires1 move.l d3,(a4) move.l d3,80(a4) move.l d3,160(a4) move.l d3,240(a4) addisp lea 320(a4),a4 dbra d0,linelp tst d7 bne.s hires2 addq.l #8,a0 bra.s prvflp hires2 addq.l #4,a0 bra.s prvflp donevf rts starti move.l $44e.w,a0 tst.l 32000-4(a0) beq.s stilclr move #1,$8240.w move.l $456.w,a0 clr.l 28(a0) stilclr rts endi mess dc.b 1,2,3,4,5,10,6,3,7,7,10,8,2,5,9,0 chars dc.b 195,102,102,102,102,102,60,24 dc.b 48,0,24,12,12,12,12,0 dc.b 0,192,124,118,96,96,96,0 dc.b 0,0,230,102,102,110,59,0 dc.b 0,0,62,96,60,134,124,0 dc.b 14,24,24,24,62,24,24,0 dc.b 0,0,60,102,126,96,62,0 dc.b 12,6,6,62,102,102,58,0 dc.b 0,192,102,108,120,108,230,0 dc.b 0,0,0,0,0,0,0,0 endanti * Various data name dc.b 'virus.pic',0 nomem dc.b 27,'EOut of memory',13,10,13,10 dc.b 'Press any key',0 exec dc.b 6,'Executable, possible virus!',0 noexec dc.b 6,'Boot sector not executable',0 antin dc.b 5,'Disk has anti-virus installed',0 insmess dc.b 9,'Anti virus installed',0 remmess dc.b 4,'Executable boot sector removed',0 mainmess dc.b 10,127,' 1988 M.S.Powell',0 e errors dc.b e0-e,e0-e,e0-e,e0-e,e1-e,e0-e,e0-e,e0-e,e2-e,e0-e,e3-e dc.b e4-e,e0-e,e5-e,e0-e,e0-e,e0-e,e0-e e0 dc.b 12,'General error',0 e1 dc.b 14,'CRC error',0 e2 dc.b 11,'Sector not found',0 e3 dc.b 13,'Write error',0 e4 dc.b 14,'Read error',0 e5 dc.b 9,'Disk write protected',0 even mousedatapnt dc.l mousedata mousedata dc.w $7F,$FF80,0,$7F,$FF80,$7F00,$FF,$FF00 dc.w $7E00,$1FF,$FE00,$7C00,$3FF,$FC00,$7800,$1FF dc.w $FE00,$7400,$8FF,$F700,$6200,$1C7F,$E380,$4100 dc.w $3E3F,$C1C0,$80,$FF1F,$E0,$40,$FF8F,$70 dc.w $20,$FFC7,$38,$10,$FFE3,$1C,8,$FFF1 dc.w 14,4,$FFFB,4,0,$FFFF,0,0 busydata dc.w $8003,$7FFC,$3FE0,1,$FE3E,$3FE0,0,$FE3F dc.w $3FE0,0,$FE3F,$3FE0,0,$FE3F,$3FE0,0 dc.w $FFFF,$3FE0,0,$FFFF,0,0,$FFFF,0 dc.w 0,$FFFF,0,0,$FFFF,0,0,$FFFF dc.w 0,0,$FFFF,0,0,$FFFF,0,0 dc.w $FFFF,0,0,$FFFF,0,$8001,$7FFE,0 mouse dc.w 0 keys dc.w 0 leftbutton dc.w 0 mousex dc.w 0 mousey dc.w 0 length dc.w 0 bufpnt dc.l 0 keybuf ds.b 8 keydat dc.b 7,4,$e,0,0,0,0,0,9,1,$3f,0,$c7 keydat1 dc.b 7,0,8 chrset dc.b 0,0,0,0,0,0,0,0 dc.b 0,24,60,102,102,126,102,0 dc.b 0,252,102,124,102,102,252,0 dc.b 0,62,102,96,96,102,60,0 dc.b 0,252,102,102,102,102,252,0 dc.b 0,254,98,120,96,98,254,0 dc.b 0,254,98,120,96,96,240,0 dc.b 0,124,196,192,222,204,124,0 dc.b 0,102,102,126,102,102,102,0 dc.b 0,255,153,24,24,153,255,0 dc.b 0,30,12,12,12,204,120,0 dc.b 0,247,108,120,120,108,246,3 dc.b 0,240,96,96,96,98,254,0 dc.b 0,198,238,254,214,198,198,0 dc.b 0,231,118,126,110,102,231,0 dc.b 0,60,102,102,102,102,60,0 dc.b 0,252,102,102,124,96,240,0 dc.b 0,60,102,102,102,108,54,1 dc.b 0,252,102,102,124,108,246,3 dc.b 0,62,96,60,6,6,124,0 dc.b 0,255,153,24,24,24,60,0 dc.b 0,102,102,102,102,102,60,0 dc.b 0,102,102,102,60,60,24,0 dc.b 0,198,198,214,254,238,198,0 dc.b 0,231,102,60,60,102,231,0 dc.b 0,231,98,52,24,24,60,0 dc.b 0,254,140,24,48,98,254,0 dc.b 0,0,120,204,204,204,118,0 dc.b 224,96,124,102,102,102,252,0 dc.b 0,0,62,102,96,102,60,0 dc.b 14,12,124,204,204,204,118,0 dc.b 0,0,60,102,126,96,62,0 dc.b 28,48,48,48,124,48,48,48 dc.b 0,6,60,102,102,62,96,126 dc.b 224,96,124,102,102,102,247,0 dc.b 24,0,56,24,24,24,60,0 dc.b 6,0,14,6,6,6,102,60 dc.b 224,96,108,120,120,108,246,3 dc.b 56,24,24,24,24,24,60,0 dc.b 0,0,254,219,219,219,219,0 dc.b 0,0,220,102,102,102,247,0 dc.b 0,0,60,102,102,102,60,0 dc.b 0,0,252,102,102,124,96,240 dc.b 0,0,126,204,204,124,12,14 dc.b 0,0,220,102,96,96,240,0 dc.b 0,0,62,96,60,6,124,0 dc.b 24,24,126,24,24,24,14,0 dc.b 0,0,238,102,102,102,59,0 dc.b 0,0,231,98,116,56,16,0 dc.b 0,0,198,214,254,124,108,0 dc.b 0,0,102,60,24,60,102,0 dc.b 0,0,102,102,102,62,6,124 dc.b 0,0,126,76,24,50,126,0 dc.b 0,0,0,0,0,24,24,48 dc.b 0,0,0,0,0,24,24,0 dc.b 0,24,24,24,24,0,24,0 dc.b 0,60,102,110,118,102,60,0 dc.b 0,24,56,24,24,24,60,0 dc.b 0,60,102,12,48,98,126,0 dc.b 0,126,76,24,12,102,60,0 dc.b 0,12,28,60,108,126,12,0 dc.b 0,126,98,124,6,102,60,0 dc.b 0,60,96,124,102,102,60,0 dc.b 0,126,70,12,24,48,48,0 dc.b 0,60,102,60,102,102,60,0 dc.b 0,60,102,62,6,12,56,0 dc.b %00111100 dc.b %01000010 dc.b %10011001 dc.b %10100001 dc.b %10100001 dc.b %10011001 dc.b %01000010 dc.b %00111100 rectdat dc.w 96,40,111,55 dc.w 208,40,223,55 dc.w 32,64,95,95 dc.w 224,64,287,95 dc.w 32,120,95,151 dc.w 224,120,287,151 recflag dc.b 0,0,0,0,0,0 palette dc.w $000,$105,$333,$555,$777,$040,$020,$600 dc.w $625,$500,$666,$000,$551,$200,$231,$666 routlst dc.l drivea,driveb,examine,install,remove,desktop drive dc.w 0 oldier dc.l 0 oldkeyb dc.l 0 oldtimb dc.l 0 oldssp dc.l 0 oldvblq dc.l 0 physcrn dc.l 0 logscrn dc.l 0 oldres dc.w 0 res dc.w 0 screen dc.l 0 drivedata dc.w 0,0,$FFFF,0,0,$8001,0,0 dc.w $8001,$180,0,$8181,$180,$240,$83C1,$3C0 dc.w 0,$83C1,$3C0,$420,$87E1,$660,0,$8661 dc.w $7E0,$810,$8FF1,$C30,$240,$8E71,$C30,$1008 dc.w $9C39,$1818,$420,$9C39,$810,$1008,$9819,0 dc.w 0,$8001,0,0,$8001,0,0,$FFFF dc.w 0,$FFFF,0,$7FFE,$FFFF,0,$4002,$C003 dc.w $3FFC,$5E7A,$DE7B,$3FFC,$5E7A,$DE7B,$3DBC,$5C3A dc.w $DC3B,$3FFC,$5C3A,$DC3B,$3BDC,$599A,$D99B,$3FFC dc.w $581A,$D81B,$37EC,$53CA,$D3CB,$3DBC,$53CA,$D3CB dc.w $2FF4,$47E2,$C7E3,$3BDC,$57EA,$D7EB,$2FF4,$4002 dc.w $C003,$3FFC,$7FFE,$FFFF,0,0,$FFFF,0 dc.w 0,0,$FFFF,0,0,$8001,0,0 dc.w $8001,$FC0,$20,$8FE1,$1FE0,$10,$9FF1,$1830 dc.w $640,$9E71,$1830,$4C0,$9CF1,$1FE0,$10,$9FF1 dc.w $1FF0,0,$9FF1,$1818,$620,$9E39,$1818,$460 dc.w $9C79,$1FF0,$8,$9FF9,$FE0,$10,$8FF1,0 dc.w 0,$8001,0,0,$8001,0,0,$FFFF dc.w 0,$FFFF,0,$7FFE,$FFFF,0,$4002,$C003 dc.w $3FFC,$503A,$D03B,$3FFC,$401A,$C01B,$3FFC,$47CA dc.w $C7CB,$3FFC,$47CA,$C7CB,$3FFC,$401A,$C01B,$3FFC dc.w $400A,$C00B,$3FFC,$47E2,$C7E3,$3FFC,$47E2,$C7E3 dc.w $3FFC,$400A,$C00B,$3FFC,$501A,$D01B,$3FFC,$4002 dc.w $C003,$3FFC,$7FFE,$FFFF,0,0,$FFFF,0 icondat dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 14,15,$30,$AAAA,$FFFF,0,$B000,$F800 dc.w 0,0,0,0,$33,$73,12,$D555 dc.w $FFFF,0,$5600,$FF00,0,0,0,0 dc.w 12,$7C,3,$7AAA,$7FFF,$8000,$AAC0,$FFE0 dc.w 0,0,0,0,1,$7F,0,$8FFF dc.w $8FFF,$7000,$FFF8,$FFFC,0,0,0,0 dc.w 0,$7F,0,$33FF,$F3FF,$C00,$FFFE,$FFFF dc.w 0,0,0,0,0,$7F,0,$C7F dc.w $FC7F,$380,$FFFF,$FFFF,0,$C000,$E000,0 dc.w 0,$7F,0,$19F,$FF9F,$60,$FFFF,$FFFF dc.w 0,$F000,$F800,0,0,$7F,0,$60 dc.w $FFE0,$1F,0,0,$FFFF,0,$200,$FC00 dc.w 0,$7F,0,$1F,$FFFF,0,$FFFF,$FFFF dc.w 0,$FE00,$FE00,0,0,$7F,0,7 dc.w $FFFF,0,$FFFF,$FFFF,0,$FE00,$FE00,0 dc.w 0,$3F,0,7,$FFFF,0,$FF00,$FFFF dc.w 0,$1E00,$FE00,0,0,$1F,0,6 dc.w $FFFF,0,0,$FFFF,0,$600,$FE00,0 dc.w 0,7,0,5,$FFFE,0,$C000,0 dc.w $3FFF,$3600,$E00,$C000,0,1,0,5 dc.w $FFFE,0,$FFFF,$3FFF,0,$F600,$CE00,0 dc.w 0,0,0,4,$7FFF,0,0,$FFFF dc.w 0,$E00,$FE00,0,0,0,0,7 dc.w $1FFF,0,$FC00,$FFFF,0,$7E00,$FE00,0 dc.w 0,0,0,7,$7FF,0,$F800,$F800 dc.w $7FF,$FE00,$FE00,$3000,0,0,0,7 dc.w $1FF,0,$F001,$FFFF,0,$FE00,$FE00,$6000 dc.w 0,0,0,7,$7F,0,$FFFF,$FFFF dc.w 0,$FC00,$FE00,0,0,0,0,1 dc.w $1F,0,$FFFF,$FFFF,0,$F800,$FC00,0 dc.w 0,0,0,0,3,0,0,$FFFF dc.w 0,0,$F800,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,$600,0,0,$FF00,0 dc.w $FF00,0,0,0,0,0,0,$F03 dc.w 0,3,$81C0,$7E00,$FFC0,0,0,0 dc.w 0,0,0,$1F86,1,7,$1E0,$8000 dc.w $81E0,0,0,0,0,0,0,$3FD8 dc.w 6,$1E,$70,$4008,$78,0,0,0 dc.w 0,0,0,$7FF0,9,$18,$18,$E000 dc.w $18,0,0,0,0,0,0,$FFF0 dc.w 7,$30,8,$F004,12,0,0,0 dc.w 1,0,0,$FFE2,$17,$70,12,$F802 dc.w 14,0,0,0,3,0,0,$FF62 dc.w $8B,$64,4,$FC02,6,0,0,0 dc.w 7,0,0,$FEC0,$12B,$E4,6,$FE01 dc.w 7,0,0,0,15,0,0,$FC84 dc.w $357,$C8,2,$F709,3,0,0,0 dc.w $1E,0,1,$F884,$757,$C8,$C0A,$E389 dc.w 3,0,0,0,$3C,0,3,$7C8C dc.w $35F,$80C0,$1E0A,$C1C9,3,0,0,0 dc.w $78,0,7,$3E88,$15F,$C0C0,$3F12,$80F1 dc.w 11,0,0,0,$F0,0,15,$1F88 dc.w $5F,$E0C0,$7F92,$71,11,0,0,0 dc.w $1E0,0,$1F,$F80,$5E,$F0C0,$FFE2,$29 dc.w $13,0,0,0,$1C0,0,$3F,$7C1 dc.w $2C,$F8E0,$FFE6,$21,$17,0,0,0 dc.w $380,0,$7F,$3E3,8,$FC60,$FFE6,$30 dc.w 6,0,0,0,$100,0,$FF,$1E7 dc.w $10,$FE70,$FF8E,$60,14,0,0,0 dc.w 0,$100,$FF,$F7,0,$FF30,$FF0E,$E0 dc.w 14,0,0,0,0,$80,$7F,$79 dc.w 0,$FF98,$FE1E,$180,$1E,0,0,0 dc.w 0,$40,$3F,$26,$18,$FFDE,$7C7F,$200 dc.w $7F,0,0,0,0,$20,$1F,$1B dc.w 4,$FFE7,$81FF,0,$81FF,$8000,0,$8000 dc.w 0,$10,15,$38,3,$FFC3,$FF01,$FE dc.w $FFFF,$E000,0,$E000,0,8,7,$70 dc.w 0,$FF80,0,$FF01,$FF01,$7000,$8000,$F000 dc.w 0,4,3,$E0,0,$FF00,0,0 dc.w 0,$3800,$C000,$F800,0,2,1,$1C0 dc.w 0,$FE00,0,0,0,$1E00,$6000,$7E00 dc.w 0,1,0,$380,0,$FC00,0,0 dc.w 0,$700,$3800,$3F00,0,0,0,$700 dc.w $8000,$7800,0,0,0,$380,$C00,$F80 dc.w 0,0,0,$E00,$4000,$3000,0,0 dc.w 0,$180,$640,$7C0,0,0,0,$1C00 dc.w $2000,0,0,0,0,0,$3C0,$3C0 dc.w 0,0,0,$1800,0,0,0,0 dc.w 0,0,$180,$180,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w $3FF,0,0,$FFFF,0,0,$C000,0 dc.w 0,0,0,0,$7FF,0,0,$FFFF dc.w 0,0,$E000,0,0,0,0,0 dc.w $3FF,$7FF,0,$FFFF,$F000,0,$E000,0 dc.w 0,0,0,0,$200,$600,$1FF,$1FFF dc.w $1000,$E000,$E000,0,0,0,0,0 dc.w $200,$600,$1FF,$1FFF,$1000,$E000,$E000,0 dc.w 0,0,0,0,$200,$600,$1FF,$1FFF dc.w $1000,$E000,$E000,0,0,0,0,0 dc.w $200,$600,$1FF,$1FFF,$1000,$E000,$E00C,12 dc.w 12,0,0,0,$200,$600,$1FF,$1FFF dc.w $1000,$E000,$E01C,$1C,$1C,0,0,0 dc.w $200,$600,$1FF,$1FFF,$1000,$E000,$E03C,$3C dc.w $3C,0,0,0,$200,$600,$1FF,$1FFF dc.w $1000,$E000,$E07C,$7C,$7C,0,0,0 dc.w $200,$600,$1FF,$1F80,$107F,$E000,$FF,$E0FF dc.w $FF,$EEE0,$EEE0,$EEE0,$200,$600,$1FF,$1F00 dc.w $10FF,$E000,$1FF,$E1FF,$1FF,$EEE0,$EEE0,$EEE0 dc.w $200,$600,$1FF,$1F00,$10FF,$E000,$3FF,$E3FF dc.w $3FF,$EEE0,$EEE0,$EEE0,$200,$600,$1FF,$1F00 dc.w $10FF,$E000,$7FF,$E7FF,$7FF,$EEE0,$EEE0,$EEE0 dc.w $200,$600,$1FF,$1F00,$10FF,$E000,$3FF,$E3FF dc.w $3FF,$EEE0,$EEE0,$EEE0,$200,$600,$1FF,$1F00 dc.w $10FF,$E000,$1FF,$E1FF,$1FF,$EEE0,$EEE0,$EEE0 dc.w $200,$600,$1FF,$1F00,$10FF,$E000,$FF,$E0FF dc.w $FF,$EEE0,$EEE0,$EEE0,$200,$600,$1FF,$1F00 dc.w $10FF,$E000,$7C,$E07C,$7C,0,0,0 dc.w $200,$600,$1FF,$1F7F,$1080,$E000,$C03C,$203C dc.w $3C,0,0,0,$200,$600,$1FF,$1F7F dc.w $1080,$E000,$C01C,$201C,$1C,0,0,0 dc.w $200,$600,$1FF,$1F7F,$1080,$E000,$C00C,$200C dc.w 12,0,0,0,$200,$600,$1FF,$1F7F dc.w $1080,$E000,$C000,$2000,0,0,0,0 dc.w $200,$600,$1FF,$1F00,$10FF,$E000,0,$E000 dc.w 0,0,0,0,$200,$600,$1FF,$1F80 dc.w $107F,$E000,0,$E000,0,0,0,0 dc.w $200,$600,$1FF,$1FFF,$1000,$E000,$E000,0 dc.w 0,0,0,0,$3FF,$7FF,0,$FFFF dc.w $F000,0,$E000,0,0,0,0,0 dc.w $7FF,0,0,$FFFF,0,0,$C000,0 dc.w 0,0,0,0,$3FF,0,0,$FFFF dc.w 0,0,$8000,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w $7FF,0,0,$FFFF,0,0,$8000,0 dc.w 0,0,0,0,$FFF,0,0,$FFFF dc.w 0,0,$C000,0,0,0,0,0 dc.w $7FF,$FFF,0,$FFFF,$E000,0,$C000,0 dc.w 0,0,0,0,$400,$C00,$3FF,$3FFF dc.w $2000,$C000,$C000,0,0,0,0,0 dc.w $400,$C00,$3FF,$3FFF,$2000,$C000,$C000,0 dc.w 0,0,0,0,$400,$C00,$3FF,$3FFF dc.w $2000,$C000,$C000,0,0,0,0,0 dc.w $400,$C00,$3FF,$3FFF,$2000,$C000,$C000,0 dc.w 0,0,0,0,$400,$C00,$3FF,$3FFF dc.w $2000,$C000,$C000,0,0,$1800,$1800,$1800 dc.w $400,$C00,$3FF,$3FFF,$2000,$C000,$C000,0 dc.w 0,$1C00,$1C00,$1C00,$400,$C00,$3FF,$3FFF dc.w $2000,$C000,$C000,0,0,$1E00,$1E00,$1E00 dc.w $400,$C00,$3FF,$3F00,$20FF,$C000,0,$C000 dc.w 0,$1F00,$1F00,$1F00,$400,$C00,$3FF,$3E00 dc.w $21FF,$C000,$3BB,$C3BB,$3BB,$FF80,$FF80,$FF80 dc.w $400,$C00,$3FF,$3E00,$21FF,$C000,$3BB,$C3BB dc.w $3BB,$FFC0,$FFC0,$FFC0,$400,$C00,$3FF,$3E00 dc.w $21FF,$C000,$3BB,$C3BB,$3BB,$FFE0,$FFE0,$FFE0 dc.w $400,$C00,$3FF,$3E00,$21FF,$C000,$3BB,$C3BB dc.w $3BB,$FFF0,$FFF0,$FFF0,$400,$C00,$3FF,$3E00 dc.w $21FF,$C000,$3BB,$C3BB,$3BB,$FFE0,$FFE0,$FFE0 dc.w $400,$C00,$3FF,$3E00,$21FF,$C000,$3BB,$C3BB dc.w $3BB,$FFC0,$FFC0,$FFC0,$400,$C00,$3FF,$3E00 dc.w $21FF,$C000,$3BB,$C3BB,$3BB,$FF80,$FF80,$FF80 dc.w $400,$C00,$3FF,$3EFF,$2100,$C000,$8000,$4000 dc.w 0,$1F00,$1F00,$1F00,$400,$C00,$3FF,$3EFF dc.w $2100,$C000,$8000,$4000,0,$1E00,$1E00,$1E00 dc.w $400,$C00,$3FF,$3EFF,$2100,$C000,$8000,$4000 dc.w 0,$1C00,$1C00,$1C00,$400,$C00,$3FF,$3EFF dc.w $2100,$C000,$8000,$4000,0,$1800,$1800,$1800 dc.w $400,$C00,$3FF,$3E00,$21FF,$C000,0,$C000 dc.w 0,0,0,0,$400,$C00,$3FF,$3F00 dc.w $20FF,$C000,0,$C000,0,0,0,0 dc.w $400,$C00,$3FF,$3FFF,$2000,$C000,$C000,0 dc.w 0,0,0,0,$7FF,$FFF,0,$FFFF dc.w $E000,0,$C000,0,0,0,0,0 dc.w $FFF,0,0,$FFFF,0,0,$8000,0 dc.w 0,0,0,0,$FFF,0,0,$FFFF dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,$100,$C0,$1C0,0,0 dc.w 0,0,0,0,0,0,0,$F00 dc.w $10C0,$1FC0,0,0,0,0,0,0 dc.w 0,1,1,$FF00,$C0,$FFC0,0,0 dc.w 0,0,0,0,3,4,7,$FF00 dc.w $DE,$FFDE,0,0,0,0,0,0 dc.w 7,0,7,$FF3C,$C2,$FFC2,0,0 dc.w 0,0,0,0,7,0,7,$FF3C dc.w $C2,$FFC2,0,0,0,0,0,0 dc.w 7,0,7,$FF3C,$C2,$FFC2,0,0 dc.w 0,0,0,0,7,0,7,$FF3C dc.w $C2,$FFC2,$800,$800,$800,0,0,0 dc.w 7,0,7,$FF3C,$C2,$FFC2,$1800,$1800 dc.w $1800,0,0,0,7,0,7,$FF3C dc.w $C2,$FFC2,$3800,$3800,$3800,0,0,0 dc.w 7,0,7,$FF3C,$C2,$FFC2,$7800,$7800 dc.w $7800,0,0,0,7,0,7,$FF3C dc.w $C2,$FFC2,$F800,$F800,$F800,0,0,0 dc.w 7,0,7,$FF3D,$C1,$FFC1,$FFEE,$FFEE dc.w $FFEE,$E000,$E000,$E000,7,0,7,$F33B dc.w $4C3,$FBC3,$FFEE,$FFEE,$FFEE,$E000,$E000,$E000 dc.w 7,0,7,$F137,$6C7,$FBC7,$FFEE,$FFEE dc.w $FFEE,$E000,$E000,$E000,7,0,7,$F13F dc.w $6CF,$FBCF,$FFEE,$FFEE,$FFEE,$E000,$E000,$E000 dc.w 7,0,7,$F137,$EC7,$F3C7,$FFEE,$FFEE dc.w $FFEE,$E000,$E000,$E000,7,0,7,$F13B dc.w $EC3,$FFC3,$FFEE,$FFEE,$FFEE,$E000,$E000,$E000 dc.w 7,0,7,$FF3D,$C1,$FFC1,$FFEE,$FFEE dc.w $FFEE,$E000,$E000,$E000,7,0,7,$FF3C dc.w $C2,$FFC2,$F800,$F800,$F800,0,0,0 dc.w 7,0,7,$FF3C,$C2,$FFC2,$7800,$7800 dc.w $7800,0,0,0,7,0,7,$FF3C dc.w $C2,$FFC2,$3800,$3800,$3800,0,0,0 dc.w 7,0,7,$FF3C,$C2,$FFC2,$1800,$1800 dc.w $1800,0,0,0,7,0,7,$FF3C dc.w $C2,$FFC2,$800,$800,$800,0,0,0 dc.w 7,0,7,$FF3C,$C2,$FFC2,0,0 dc.w 0,0,0,0,3,4,7,$FF3C dc.w $C2,$FFC2,0,0,0,0,0,0 dc.w 0,1,1,$FF00,$DE,$FFDE,0,0 dc.w 0,0,0,0,0,0,0,$1F00 dc.w $60C0,$7FC0,0,0,0,0,0,0 dc.w 0,0,0,$F00,$10C0,$1FC0,0,0 dc.w 0,0,0,0,0,0,0,$300 dc.w $4C0,$7C0,0,0,0,0,0,0 dc.w 0,0,0,$100,$C0,$1C0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w $40,$40,0,0,0,0,0,0 scrdata dc.l 0,0,$7FF0000,0,$3FF0000,0,$F8000000,0,$70000,0 dc.l $C7C00000,0,$1FC00000,0,0,0,0,0,0,0,0,0,$10000 dc.l 0,$F3F00000,0,$7F00000,0,$1FC0000,0,$3F0000,0 dc.l $80000000,0,0,0,0,0,0,0,0,0,$C010000,$3FE0000 dc.l $83FF0000,$1FF0000,$F8000000,$F0000000,$C0003,$30000 dc.l $6C608380,$83800000,$1FC00F80,$F800000,0,0,0,0,0,0 dc.l 0,0,$30000,0,$FFF8E1E0,$E1E0,$4100000,$3E003E0 dc.l $3FE0000,$F800F8,$60001F,$1F001F,$C0000000,0,0,0,0,0 dc.l 0,0,0,0,$18000000,$7FF0000,$C3FF0000,$1FF0000 dc.l $F8000000,$F0000000,$80007,$70000,$2820C7C0,$C7C00000 dc.l $1FC00F80,$F800000,0,0,0,0,0,0,0,0,$30001,1 dc.l $FFF8F3F0,$F3F0,$4100000,$3E003E0,$3FE0000,$1FC01FC dc.l $40003F,$3F003F,$40008000,$80008000,0,0,0,0,0,0,0 dc.l 0,$10200000,$FDF0000,$43FF0000,$801F0000,$F8000000,0 dc.l $80007,$70000,$2820C7C0,$C7C00000,$1FC00000,0,0,0,0 dc.l 0,0,0,0,0,$30001,1,$FFF8F7E0,$F7E0,$7F00000,0 dc.l $3FE0000,$FC00FC,$60001F,$1F001F,$40008000,$80008000,0 dc.l 0,0,0,0,0,0,0,$10500000,$F8F0000,$403F0000 dc.l $801F0000,$80000000,0,$80007,$70000,$2820C7C0,$C7C00000 dc.l $3F800000,0,$1FFE0000,0,$3E30000,0,$E03F0000,0 dc.l $FC000000,0,$30001,1,$FFF0F7C0,$F7C0,$FE00000,0 dc.l $1FE0000,$7C007C,$30000F,$F000F,$400F8000,$80008000 dc.l $FE030000,0,$FFC00000,0,0,0,0,0,$105F0000,$F800000 dc.l $C03F0000,$1F0000,$80000000,0,$80007,$70000,$2820C7C0 dc.l $C7C00000,$7FC01F00,$1F000000,$30030000,$FFC,$7F70000 dc.l $1C1,$F060001F,$C01F,$600F800,$F800,$30001,1,$FFE0FF80 dc.l $FF80,$18300000,$7C007C0,$FE0000,$7C007C,$10000F,$F000F dc.l $401F8007,$80078007,$FF06FC00,$FC01FC00,$600000,$FF800000 dc.l 0,0,0,0,$103F0000,$FC00000,$3F0000,$1F0000,$80000000 dc.l 0,$80007,$70000,$2820C7C0,$C7C00000,$7FC03F80,$3F800000 dc.l $20010000,$1FFE,$87F70000,$3E3,$F0C0003F,$E03F,$200FC00 dc.l $FC00,$30001,1,$FFC0FF00,$FF00,$10100000,$FE00FE0 dc.l $FE0000,$7C007C,$10000F,$F000F,$403F800F,$800F800F dc.l $FF84FE00,$FE03FE00,$300000,$FFC00000,0,0,0,0 dc.l $18010000,$7FE0000,$803F0000,$1F0000,$80000000,0,$80007 dc.l $70000,$2820C7C0,$C7C00000,$7FC01F80,$1F800000,$20400000 dc.l $1FBF,$87F70000,$3E3,$F081007E,$E07E,$FE000000,0,$30001 dc.l 1,$FF80FE00,$FE00,$18100000,$7E007E0,$FE0000,$7C007C dc.l $10000F,$F000F,$403F801F,$801F801F,$FF841F00,$1F031F00 dc.l $8100000,$F7E00000,0,0,0,0,$C000000,$3FF0000 dc.l $C03F0000,$1F0000,$80000000,0,$80007,$70000,$2820C7C0 dc.l $C7C00000,$3FC00F80,$F800000,$20E10000,$1F1E,$87F70000 dc.l $3E3,$F083007C,$E07C,$F8000000,0,$30001,1,$FF80FC00 dc.l $FC00,$C100000,$3E003E0,$FE0000,$7C007C,$10000F,$F000F dc.l $403F801F,$801F801F,$FF841F00,$1F031F00,$1C300000 dc.l $E3C00000,0,0,0,0,$7E00000,$1F0000,$403F0000 dc.l $801F0000,$80000000,0,$80007,$70000,$3820C7C0,$C7C00000 dc.l $1FC00F80,$F800000,$20BF0000,$1F00,$7F70000,$3E3 dc.l $F0C0003F,$E03F,$C00F000,$F000,$30001,1,$FFC0FF00,$FF00 dc.l $4100000,$3E003E0,$FE0000,$7C007C,$10000F,$F000F dc.l $403F801F,$801F801F,$FF84FF00,$FF03FF00,$17E00000 dc.l $E0000000,0,0,0,0,$1FD00000,$F0000,$403F0000 dc.l $801F0000,$80000000,0,$C0003,$30000,$1060EF80,$EF800000 dc.l $1FC00F80,$F800000,$20800000,$1F00,$7F70000,$3E3 dc.l $F060001F,$E01F,$600F800,$F800,$30001,1,$FFE0FF80,$FF80 dc.l $4100000,$3E003E0,$FE0000,$7C007C,$10000F,$F000F dc.l $403F801F,$801F801F,$FF84FE00,$FE03FE00,$10000000 dc.l $E0000000,0,0,0,0,$10500000,$F8F0000,$403F0000 dc.l $801F0000,$80000000,0,$40003,$30000,$40FF80,$FF800000 dc.l $3FE00F80,$F800000,$20800000,$1F00,$7FF0000,$3E3 dc.l $F03F0000,$E000,$82007C00,$7C00,$30001,1,$FFF0F7C0,$F7C0 dc.l $C180000,$3E003E0,$1FF0000,$7C007C,$30000F,$F000F dc.l $603F801F,$801F801F,$FF040000,$30000,$10000000,$E0000000 dc.l 0,0,0,0,$10200000,$FDF0000,$403F0000,$801F0000 dc.l $80000000,0,$60001,$10000,$C0FF00,$FF000000,$7FF01FC0 dc.l $1FC00000,$20800000,$1F00,$7FF0000,$3F7,$F0FF0000,$E000 dc.l $200FC00,$FC00,$30001,1,$FFF8F7E0,$F7E0,$180C0000 dc.l $7F007F0,$3FF0000,$FE00FE,$8060001F,$1F001F,$303FC01F dc.l $C01FC01F,$FE048000,$80038000,$10000000,$E0000000,0,0 dc.l 0,0,$18000000,$7FF0000,$C03F0000,$1F0000,$80000000,0 dc.l $30000,0,$180FE00,$FE000000,$7FF03FE0,$3FE00000 dc.l $20800000,$1F00,$7FF0000,$1FF,$F080007F,$E07F,$600F800 dc.l $F800,$30001,1,$FFF8F3F0,$F3F0,$10040000,$FF80FF8 dc.l $3FF0000,$1FF01FF,$8040003F,$3F003F,$103FE00F,$E00FE00F dc.l $FE04FC00,$FC03FC00,$10000000,$E0000000,0,0,0,0 dc.l $C010000,$3FE0000,$803F0000,$E0000,$80000000,0,$10000,0 dc.l $83007C00,$7C000000,$7FF01FC0,$1FC00000,$31800000,$E00 dc.l $3FF0000,$FF,$F0C0003F,$C03F,$C00F000,$F000,$30000,0 dc.l $FFF8E1E0,$E1E0,$180C0000,$7F007F0,$3FF0000,$FE00FE dc.l $8060001F,$1F001F,$301FC007,$C007C007,$FE06F800,$F801F800 dc.l $30000000,$C0000000,0,0,0,0,$7FF0000,0,$1F0000,0,0 dc.l 0,0,0,$FE000000,0,$3FE00000,0,$1F000000,0,$1FF0000 dc.l 0,$E07F0000,0,$F8000000,0,$10000,0,$F3F00000,0 dc.l $FF80000,0,$1FF0000,0,$3F0000,0,$E00F0000,0,$FC030000 dc.l 0,$E0000000,0,0,0 oldpal buffer equ oldpal+32 trash equ buffer+512 end equ trash+300