shining 8 present .... the 8 channel soundtracker 99 percent released by s8 on 4.11.1989 .... contact our headquarter under plk.057725 b 7630 lahr west germany our greets are shining in non order to: ...... paranomia deathstar headwave prime evil music steve the force hellas acme factories isf browbeat contex x factor cult complex the fire starters nato tarkus team beasty boys ecg ibb d tect beyond force avenger triangle amiga industries black monks argus bounty silver hawks phase 101 sharks alpha flight wintex byterapers supplex don of indy romano stet supreme rebels the silents esa kefrens brainstorm escape storm the web dark force the shiners are : romrunner ecr net. fletch trashcan sledge napalm exorcist devil this intro were done by romrunner * dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff sprite3: dc.w $80d8,$b500 dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff sprite4: dc.w $80cc,$b500 dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff sprite5: dc.w $6010,$6100 dc.w $0001,$0001 dc.w $6460,$6500 dc.w $0001,$0000 dc.w $68c0,$6900 dc.w $0000,$0001 dc.w $6c50,$6d00 dc.w $0001,$0001 dc.w $70f0,$7100 dc.w $0001,$0000 dc.w $7440,$7500 dc.w $0000,$0001 dc.w $7890,$7900 dc.w $0001,$0001 dc.w $7c30,$7d00 dc.w $0001,$0000 dc.w $8020,$8100 dc.w $0001,$0000 dc.w $8460,$8500 dc.w $0000,$0001 dc.w $88a0,$8900 dc.w $0001,$0001 dc.w $8cc0,$8d00 dc.w $0001,$0000 dc.w $9060,$9100 dc.w $0000,$0001 dc.w $9410,$9500 dc.w $0001,$0001 dc.w $9830,$9900 dc.w $0000,$0001 dc.w $9cc0,$9d00 dc.w $0001,$0000 dc.w $a010,$a100 dc.w $0001,$0001 dc.w $a470,$a500 dc.w $0000,$0001 dc.w $a8e0,$a900 dc.w $0001,$0000 dc.w $ac20,$ad00 dc.w $0000,$0001 dc.w $b0a0,$b100 dc.w $0001,$0000 dc.w $b4f0,$b500 dc.w $0001,$0001 dc.w $b840,$b900 dc.w $0001,$0000 dc.w $bc70,$bd00 dc.w $0000,$0001 dc.w $c080,$c100 dc.w $0001,$0000 dc.w $c440,$c500 dc.w $0000,$0001 dc.w $c820,$c900 dc.w $0001,$0001 dc.w $cce0,$cd00 dc.w $0001,$0000 dc.w $d070,$d100 dc.w $0000,$0001 dc.w $d450,$d500 dc.w $0001,$0000 dc.w $d8b0,$d900 dc.w $0001,$0001 dc.w $dc30,$dd00 dc.w $0000,$0001 dc.w $e060,$e100 dc.w $0001,$0000 dc.w $e4b0,$e500 dc.w $0001,$0000 dc.w $e890,$e900 dc.w $0000,$0001 dc.w $ec10,$ed00 dc.w $0001,$0000 sprite6: dc.w $6960,$7300 dc.w %0000000000000000,0000000000000000 dc.w %1110000000000000,0000000000000000 dc.w %1111110000000000,0000000000000000 dc.w %1111111110000000,0000000000000000 dc.w %1111111111110000,0000000000000000 dc.w %1111111111111110,0000000000000000 dc.w %1111111111110000,0000000000000000 dc.w %1111111110000000,0000000000000000 dc.w %1111110000000000,0000000000000000 dc.w %1110000000000000,0000000000000000 dc.w %0000000000000000,0000000000000000 blk.b 10,0 even chartab: dc.w $98c0,$f6c0,$0000,$0000,$0000,$0000,$0000,$f0e0,$0500,$0000 dc.w $0000,$0000,$d960,$050a,$e520,$0000,$9ea0,$a480,$aa60,$b040 dc.w $b620,$bc00,$c1e0,$c7c0,$cda0,$d380,$eb00,$df40,$0000,$0000 dc.w $0000,$0522,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$05e0,$0bc0,$11a0,$1780 dc.w $1d60,$2340,$2920,$2f00,$34e0,$3ac0,$40a0,$4680,$4c60,$5240 dc.w $5820,$5e00,$63e0,$69c0,$6fa0,$7580,$7b60,$8140,$8720,$8d00 dc.w $92e0,$98c0,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000 scrolltext: dc.b " " dc.b " shining'8 present proud the first sound erection " dc.b "disk *" even charadr=$40000 chartab2: dc.w $0524,$050e,$0000,$0512,$0000,$0000,$0000,$0000,$0500,$0502 dc.w $0504,$0506,$0508,$050a,$050c,$028e,$0290,$0292,$0294,$0296 dc.w $0298,$029a,$029c,$029e,$02a0,$02a2,$02a4,$02a6,$0000,$0000 dc.w $0000,$0522,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0002,$0004,$0006,$0008,$000a dc.w $000c,$000e,$0010,$0012,$0014,$0016,$0018,$001a,$001c,$001e dc.w $0020,$0022,$0024,$0026,$0280,$0282,$0284,$0286,$0288,$028a dc.w $028c,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000 scrolltext2: dc.b " yep ..... this is sound erection #1 of " dc.b "shining 8 ...... all sounds were tracked by our " dc.b "soundwizard .... trashcan .... and now " dc.b "we send our greets (no order) to : " dc.b "headwave (dave) prime evil music steve " dc.b "the force (australia,israel (danny) on c64) " dc.b " hellas acme factories isf browbeat (64) " dc.b " contex (64) x-factory cult complex " dc.b "the fire starters nato (64) tarkus team " dc.b "beasty boys (sascha) ecg (64) ibb (enrico) " dc.b "d-tect beyond force (64+amiga) avenger " dc.b "triangle amiga industries black monks " dc.b "angus bounty silver hawks phase 101 " dc.b "sharks (64) alpha flight wintex " dc.b "byterapers supplex don of indy romano " dc.b "sted supreme (tim) rebels the silent " dc.b "esa kefrens (pop) brainstorm (shadow) " dc.b "escape storm the web dark force (ex-shining member)" dc.b " and all other we forgot !!! " dc.b " our actual memberlist : romrunner trashcan " dc.b "ecr net. fletch napalm exorsist devil " dc.b "sledge credits for this demo : " dc.b " coding : romrunner big charset : sledge" dc.b " sounds : trashcan ....." dc.b " credits for the sounddisk intro : " dc.b " coding : romrunner logo : exorsist " dc.b " sound : trashcan equlizer : " dc.b "napalm and a bit romrunner thats all for this time " dc.b " ............ *" charadr2=$53000 even spritespeed: dc.b 1,2,1,1,3,2,1,3,1,2,1 dc.b 3,2,2,3,1,1,3,2,1,1,2 dc.b 1,2,2,1,2,1,1,3,2,2,1 dc.b 2,1,1,1,2,3,1,2,1,2,1 loader: ********************* * Daten-file loader * * written by * * romrunner / s8 * ********************* ; Thanx to Music-steve for the origonal.prg (as segment loader) jsr mt_end move.w #$4000,$dff09a move.l oldirq,$6c ;restore interruptvectors move.w #$c000,$dff09a move.l execbase,a6 move.l gfxbase,a1 jsr closelibrary(a6) ;close graphicslibrary move.l gfxbase,a0 add.l #$32,a0 move.w #$0080,$dff096 move.l oldcopper,(a0) ;restore old copper move.w #$8080,$dff096 move.l execbase,a6 jsr permit(a6) ;multitasking is back move.w #$8020,$dff096 movem.l (sp)+,d0-d7/a0-a6 ;pull registers from stack moveq #$00,d0 ******** Routine for DISK OPERATIONS ************** ;execbase = 4 OpenLib = -408 CloseLib = -414 Open = -30 Close = -36 mode_old = 1005 mode_new = 1006 write = -48 read = -42 start: movem.l a0-a6/d0-d7,-(sp) move.l execbase,a6 ;open dos.library lea dosname,a1 moveq #0,d0 jsr OpenLib(a6) move.l d0,dosbase beq end ;Fehler ? bsr openfile beq end move.l #feld,d2 bsr readdata move.l d0,d6 bsr closefile end: move.l execbase,a6 move.l dosbase,a1 jsr CloseLib(a6) movem.l (sp)+,a0- star dc.b "headwave (dave) dc.b "headwave (dave) prime evidc.b "headwave (dave) prime dc.b "paranomia deathstar " dc.b "headwave prime evil music steve " dc.b "the force " dc.b " hellas acme factories isf browbeat " dc.b " contex x-factor cult complex " dc.b "the fire starters nato tarkus team " dc.b "beasty boys ecg ibb " dc.b "d-tect beyond force avenger " dc.b "triangle amiga industries black monks " dc.b "angus bounty silver hawks phase 101 " dc.b "sharks alpha flight wintex " dc.b "byterapers supplex don of indy romano " dc.b "sted supreme rebels the silent " dc.b "esa kefrens brainstorm " dc.b "escape storm the web dark force " dc.b " and all other we forgot !!! " dc.b " our actual memberlist : romrunner trashcan " dc.b "ecr net. fletch napalm exorsist devil " dc.b "sledge credits for this demo : " dc.b " coding : romrunner big charset : sledge" dc.b " sounds : trashcan ....." dc.b " credits for the sounddisk intro : " dc.b " coding : romrunner logo : exorsist " dc.b " sound : trashcan equlizer : " dc.b "napalm and a bit romrunner thats all for this time " dc.b " ............ *" charadr2=$53000 even spritespeed: dc.b 1,2,1,1,3,2,1,3,1,2,1 dc.b 3,2,2,3,1,1,3,2,1,1,2 dc.b 1,2,2,1,2,1,1,3,2,2,1 dc.b 2,1,1,1,2,3,1,2,1,2,1 loader: ********************* * Daten-file loader * * written by * * romrunner / s8 * ********************* ; Thanx to Music-steve for the origonal.prg (as segment loader) jsr mt_end move.w #$4000,$dff09a move.l oldirq,$6c ;restore interruptvectors move.w #$c000,$dff09a move.l execbase,a6 move.l gfxbase,a1 jsr closelibrary(a6) ;close graphicslibrary move.l gfxbase,a0 add.l #$32,a0 move.w #$0080,$dff096 move.l oldcopper,(a0) ;restore old copper move.w #$8080,$dff096 move.l execbase,a6 jsr permit(a6) ;multitasking is back move.w #$8020,$dff096 movem.l (sp)+,d0-d7/a0-a6 ;pull registers from stack moveq #$00,d0 ******** Routine for DISK OPERATIONS ************** ;execbase = 4 OpenLib = -408 CloseLib = -414 Open = -30 Close = -36 mode_old = 1005 mode_new = 1006 write = -48 read = -42 start: movem.l a0-a6/d0-d7,-(sp) move.l execbase,a6 ;open dos.library lea dosname,a1 moveq #0,d0 jsr OpenLib(a6) move.l d0,dosbase beq end ;Fehler ? bsr openfile beq end move.l #feld,d2 bsr readdata move.l d0,d6 bsr closefile end: move.l execbase,a6 move.l dosbase,a1 jsr CloseLib(a6) movem.l (sp)+,a0-a6/d0-d7 jmp anfang dosname: dc.b 'dos.library',0,0 even dosbase: blk.l 1 filehd: dc.l 0 filename1: dc.b "modules/stylex1",0 filename2: dc.b "modules/stylex2",0 filename3: dc.b "modules/coll-as-saft",0 filename4: dc.b "modules/melody2",0 filename5: dc.b "modules/actionhouse",0 filename6: dc.b "modules/ig",0 filename7: dc.b "modules/invasion-of-sex",0 even text: dc.b "Dies ist ein Text fuer das Textfile",0 textende: even feld=$60000 even *********** SUBROUTINES ********* openfile: move.l #mode_old,d2 move.l $7fa00,d1 move.l dosbase,a6 jsr Open(a6) move.l d0,filehd rts closefile: move.l dosbase,a6 move.l filehd,d1 jsr close(a6) rts writedata: move.l dosbase,a6 move.l filehd,d1 jsr write(a6) rts readdata: move.l dosbase,a6 move.l filehd,d1 move.l #$ffffff,d3 jsr read(a6) rts ,$dff096 move.l oldcopper,(a0) ;restore old copper move.w #$8080,$dff096 move.l execbase,a6 jsr permit(a6) ;multitasking is back move.w #$8020,$dff096 movem.l (sp)+,d0-d7/a0-a6 ;pull registers from stack moveq #$00,d0 rts newirq: movem.l d0-d7/a0-a6,-(sp) lea sprite5+1,a0 lea spritespeed+2,a1 move.b #35,d0 beweg: move.b (a1)+,d1 beweg2: add.b #1,(a0) sub.b #1,d1 bne beweg2 add.w #8,a0 dbra d0,beweg bsr mt_music lea sprite1(pc),a0 cmp.b #00,merke1 beq weiter move.b #$70,(a0) weiter: add.b #4,(a0) cmp.b #$b8,(a0) bne stand move.b #$b4,(a0) stand: lea sprite2(pc),a0 cmp.b #00,merke2 beq weiter2 move.b #$70,(a0) weiter2: add.b #4,(a0) cmp.b #$b8,(a0) bne stand2 move.b #$b4,(a0) stand2: lea sprite3(pc),a0 cmp.b #00,merke3 beq weiter3 move.b #$70,(a0) weiter3: add.b #4,(a0) cmp.b #$b8,(a0) bne stand3 move.b #$b4,(a0) stand3: lea sprite4(pc),a0 cmp.b #00,merke4 beq weiter4 move.b #$70,(a0) weiter4: add.b #4,(a0) cmp.b #$b8,(a0) bne stand4 move.b #$b4,(a0) stand4: move.l #$50000,a0 move.l a0,a1 sub.w #1,a1 move.l a0,$dff050 move.l a1,$dff054 move.l #$00000000,$dff064 move.l #$ffffffff,$dff044 move.l #$e9f00000,$dff040 move.w #$0700,$dff058 btest: btst #14,$dff002 bne btest move.l #$51000,a0 move.l a0,a1 sub.w #1,a1 move.l a0,$dff050 move.l a1,$dff054 ; move.l #$00000000,$dff064 ; move.l #$ffffffff,$dff044 ; move.l #$f9f00000,$dff040 move.w #$0700,$dff058 btest2: btst #14,$dff002 bne btest2 move.l #$52000,a0 move.l a0,a1 sub.w #1,a1 move.l a0,$dff050 move.l a1,$dff054 ; move.l #$00000000,$dff064 ; move.l #$ffffffff,$dff044 ; move.l #$f9f00000,$dff040 move.w #$0700,$dff058 btest3: btst #14,$dff002 bne btest3 movem.l $7e000,a0-a6/d0-d6 add.w #1,d0 cmp.w #26,d0 bne endscroll clr.w d0 cmp.b #"*",(a0) bne text2 lea scrolltext,a0 move.w #$98c0,d3 jmp text3 text2: move.b (a0),d2 sub.w #$20,d2 add.w d2,d2 lea chartab,a1 add.w d2,a1 move.w (a1),d3 text3: move.l #$40000,a1 add.l d3,a1 move.l #$5002c,a2 move.w #62,d1 print: move.l (a1)+,(a2)+ move.w (a1)+,(a2)+ move.b (a1),(a2) add.w #2,a1 add.w #50,a2 dbra d1,print move.l #$5102c,a2 move.w #62,d1 print2: move.l (a1)+,(a2)+ move.w (a1)+,(a2)+ move.b (a1),(a2) add.w #2,a1 add.w #50,a2 dbra d1,print2 move.l #$5202c,a2 move.w #62,d1 print3: move.l (a1)+,(a2)+ move.w (a1)+,(a2)+ move.b (a1),(a2) add.w #2,a1 add.w #50,a2 dbra d1,print3 add.w #1,a0 endscroll: movem.l a0-a6/d0-d6,$7e000 move.l #$54000,a0 move.l a0,a1 sub.w #1,a1 move.l a0,$dff050 move.l a1,$dff054 ; move.l #$00000000,$dff064 ; move.l #$ffffffff,$dff044 move.l #$f9f00000,$dff040 move.w #$0200,$dff058 btst4: btst #14,$dff002 bne btst4 movem.l $7d000,a0-a6/d0-d6 add.w #1,d0 cmp.w #16,d0 bne endscroll2 clr.w d0 cmp.b #"*",(a0) bne text2a lea scrolltext2,a0 move.w #$0524,d3 jmp text3a text2a: move.b (a0),d2 sub.w #$20,d2 add.w d2,d2 lea chartab2,a1 add.w d2,a1 move.w (a1),d3 text3a: lea charadr2,a1 add.w d3,a1 move.l #$5402c,a2 move.w #16,d1 printa: move.w (a1),(a2) add.w #40,a1 add.w #56,a2 dbra d1,printa add.w #1,a0 endscroll2: movem.l a0-a6/d0-d6,$7d000 lea farben+14,a0 move.l a0,a1 add.w #16,a1 move.w (a0),d0 move.w #70,d1 farbenscroll: move.w (a1),(a0) add.w #16,a1 add.w #16,a0 dbra d1,farbenscroll move.w d0,(a0) movem.l (sp)+,d0-d7/a0-a6 dc.w $4ef9 ;jump to old interrupt oldirq: dc.l 0 bitmap: blk.w 4,0 r_bitmap: blk.l 26,0 gfxbase: dc.l 0 rastport: blk.l 1,0 oldcopper: dc.l 0 copper: dc.w $0100,$4400 dc.w $008e,$3071 dc.w $0090,$40d4 dc.w $0092,$0032 dc.w $0094,$00d4 dc.w $0108,$000c dc.w $010a,$000c dc.w $0104,$0001 dc.w $0001,$fffe dc.w $00e0,$0005 dc.w $00e2,$4000 dc.w $00e4,$0005 dc.w $00e6,$50e7 dc.w $00e8,$0005 dc.w $00ea,$d700-$1f5 dc.w $00ec,$0005 dc.w $00ee,$9c27-$e0 dc.w $00f0,$0000 dc.w $00f2,$0000 dc.w $00f4,$0000 dc.w $00f6,$0000 spritepointer: dc.w $0120,$0000 dc.w $0122,$0000 dc.w $0124,$0000 dc.w $0126,$0000 dc.w $0128,$0000 dc.w $012a,$0000 dc.w $012c,$0000 dc.w $012e,$0000 dc.w $0130,$0000 dc.w $0132,$0000 dc.w $0134,$0000 dc.w $0136,$0000 dc.w $0138,$0000 dc.w $013a,$0000 dc.w $013c,$0000 dc.w $013e,$0000 bitplane2: dc.w $3201,$fffe,$0182,$000f dc.w $3301,$fffe,$0182,$000f dc.w $3401,$fffe,$0182,$000e dc.w $3501,$fffe,$0182,$000e dc.w $3601,$fffe,$0182,$000d dc.w $3701,$fffe,$0182,$000d dc.w $3801,$fffe,$0182,$000c dc.w $3901,$fffe,$0182,$000c dc.w $3a01,$fffe,$0182,$000a dc.w $3b01,$fffe,$0182,$000a dc.w $3c01,$fffe,$0182,$0008 dc.w $3d01,$fffe,$0182,$0008 dc.w $4601,$fffe,$0182,$0000 farben: dc.w $6101,$fffe,$01a6,$0000,$01ae,$0000,$0184,$0111 dc.w $6201,$fffe,$01a6,$0000,$01ae,$0000,$0184,$0111 dc.w $6301,$fffe,$01a6,$0000,$01ae,$0000,$0184,$0222 dc.w $6401,$fffe,$01a6,$0001,$01ae,$0111,$0184,$0222 dc.w $6501,$fffe,$01a6,$0002,$01ae,$0222,$0184,$0333 dc.w $6601,$fffe,$01a6,$0003,$01ae,$0333,$0184,$0333 dc.w $6701,$fffe,$01a6,$0004,$01ae,$0444,$0184,$0444 dc.w $6801,$fffe,$01a6,$0005,$01ae,$0555,$0184,$0444 dc.w $6901,$fffe,$01a6,$0006,$01ae,$0666,$0184,$0555 dc.w $6a01,$fffe,$01a6,$0007,$01ae,$0777,$0184,$0555 dc.w $6b01,$fffe,$01a6,$0008,$01ae,$0888,$0184,$0666 dc.w $6c01,$fffe,$01a6,$0009,$01ae,$0999,$0184,$0666 dc.w $6d01,$fffe,$01a6,$000a,$01ae,$0aaa,$0184,$0777 dc.w $6e01,$fffe,$01a6,$000b,$01ae,$0bbb,$0184,$0777 dc.w $6f01,$fffe,$01a6,$000c,$01ae,$0ccc,$0184,$0888 dc.w $7001,$fffe,$01a6,$000d,$01ae,$0ddd,$0184,$0888 dc.w $7101,$fffe,$01a6,$000e,$01ae,$0eee,$0184,$0999 dc.w $7201,$fffe,$01a6,$000f,$01ae,$0fff,$0184,$0999 dc.w $7301,$fffe,$01a6,$0000,$01ae,$0000,$0184,$0aaa dc.w $7401,$fffe,$01a6,$0001,$01ae,$0111,$0184,$0aaa dc.w $7501,$fffe,$01a6,$0002,$01ae,$0222,$0184,$0999 dc.w $7601,$fffe,$01a6,$0003,$01ae,$0333,$0184,$0999 dc.w $7701,$fffe,$01a6,$0004,$01ae,$0444,$0184,$0888 dc.w $7801,$fffe,$01a6,$0005,$01ae,$0555,$0184,$0888 dc.w $7901,$fffe,$01a6,$0006,$01ae,$0666,$0184,$0777 dc.w $7a01,$fffe,$01a6,$0007,$01ae,$0777,$0184,$0777 dc.w $7b01,$fffe,$01a6,$0008,$01ae,$0888,$0184,$0666 dc.w $7c01,$fffe,$01a6,$0009,$01ae,$0999,$0184,$0666 dc.w $7d01,$fffe,$01a6,$000a,$01ae,$0aaa,$0184,$0555 dc.w $7e01,$fffe,$01a6,$000b,$01ae,$0bbb,$0184,$0555 dc.w $7f01,$fffe,$01a6,$000c,$01ae,$0ccc,$0184,$0444 dc.w $8001,$fffe,$01a6,$000d,$01ae,$0ddd,$0184,$0444 dc.w $8101,$fffe,$01a6,$000e,$01ae,$0eee,$0184,$0333 dc.w $8201,$fffe,$01a6,$000f,$01ae,$0fff,$0184,$0333 dc.w $8301,$fffe,$01a6,$010f,$01ae,$0fef,$0184,$0222 dc.w $8401,$fffe,$01a6,$020f,$01ae,$0fdf,$0184,$0222 dc.w $8501,$fffe,$01a6,$030f,$01ae,$0fcf,$0184,$0111 dc.w $8601,$fffe,$01a6,$040f,$01ae,$0fbf,$0184,$0111 dc.w $8701,$fffe,$01a6,$050f,$01ae,$0faf,$0184,$0000 dc.w $8801,$fffe,$01a6,$060f,$01ae,$0f9f,$0184,$0000 dc.w $8901,$fffe,$01a6,$070f,$01ae,$0f8f,$0184,$0000 dc.w $8a01,$fffe,$01a6,$080f,$01ae,$0f7f,$0184,$0000 dc.w $8b01,$fffe,$01a6,$090f,$01ae,$0f6f,$0184,$0000 dc.w $8c01,$fffe,$01a6,$0a0f,$01ae,$0f5f,$0184,$0000 dc.w $8d01,$fffe,$01a6,$0b0f,$01ae,$0f4f,$0184,$0000 dc.w $8e01,$fffe,$01a6,$0c0f,$01ae,$0f3f,$0184,$0000 dc.w $8f01,$fffe,$01a6,$0d0f,$01ae,$0f2f,$0184,$0000 dc.w $9001,$fffe,$01a6,$0e0f,$01ae,$0f1f,$0184,$0000 dc.w $9101,$fffe,$01a6,$0f0f,$01ae,$0f0f,$0184,$0000 dc.w $9201,$fffe,$01a6,$0f0e,$01ae,$0e0f,$0184,$0000 dc.w $9301,$fffe,$01a6,$0f0d,$01ae,$0d0f,$0184,$0000 dc.w $9401,$fffe,$01a6,$0f0c,$01ae,$0c0f,$0184,$0000 dc.w $9501,$fffe,$01a6,$0f0b,$01ae,$0b0f,$0184,$0000 dc.w $9601,$fffe,$01a6,$0f0a,$01ae,$0a0f,$0184,$0000 dc.w $9701,$fffe,$01a6,$0f09,$01ae,$090f,$0184,$0000 dc.w $9801,$fffe,$01a6,$0f08,$01ae,$080f,$0184,$0000 dc.w $9901,$fffe,$01a6,$0f07,$01ae,$070f,$0184,$0000 dc.w $9a01,$fffe,$01a6,$0f06,$01ae,$060f,$0184,$0000 dc.w $9b01,$fffe,$01a6,$0f05,$01ae,$050f,$0184,$0000 dc.w $9c01,$fffe,$01a6,$0f04,$01ae,$040f,$0184,$0000 dc.w $9d01,$fffe,$01a6,$0f03,$01ae,$030f,$0184,$0000 dc.w $9e01,$fffe,$01a6,$0f02,$01ae,$020f,$0184,$0000 dc.w $9f01,$fffe,$01a6,$0f01,$01ae,$010f,$0184,$0000 dc.w $a001,$fffe,$01a6,$0f00,$01ae,$000f,$0184,$0000 dc.w $a101,$fffe,$01a6,$0f10,$01ae,$001e,$0184,$0000 dc.w $a201,$fffe,$01a6,$0f20,$01ae,$002d,$0184,$0000 dc.w $a301,$fffe,$01a6,$0f30,$01ae,$003c,$0184,$0000 dc.w $a401,$fffe,$01a6,$0f40,$01ae,$004b,$0184,$0000 dc.w $a501,$fffe,$01a6,$0f50,$01ae,$005a,$0184,$0000 dc.w $a601,$fffe,$01a6,$0f60,$01ae,$0069,$0184,$0000 dc.w $a701,$fffe,$01a6,$0f70,$01ae,$0078,$0184,$0000 dc.w $a801,$fffe,$01a6,$0f80,$01ae,$0087,$0184,$0000 dc.w $a901,$fffe,$01a6,$0f90,$01ae,$0096,$0184,$0000 dc.w $aa01,$fffe,$01a6,$0fa0,$01ae,$00a5,$0184,$0000 dc.w $ab01,$fffe,$01a6,$0fb0,$01ae,$00b4,$0184,$0000 dc.w $ac01,$fffe,$01a6,$0fc0,$01ae,$00c3,$0184,$0000 dc.w $ad01,$fffe,$01a6,$0fd0,$01ae,$00d2,$0184,$0000 dc.w $ae01,$fffe,$01a6,$0fe0,$01ae,$00e1,$0184,$0222 dc.w $af01,$fffe,$01a6,$0ff0,$01ae,$00f0,$0184,$0444 dc.w $b001,$fffe,$01a6,$0ef0,$01ae,$01f0,$0184,$0666 dc.w $b101,$fffe,$01a6,$0df0,$01ae,$02f0,$0184,$0888 dc.w $b201,$fffe,$01a6,$0cf0,$01ae,$03f0,$0184,$0aaa dc.w $b301,$fffe,$0184,$0aaa dc.w $b401,$fffe,$0184,$0aaa dc.w $b501,$fffe,$0184,$0888 dc.w $b601,$fffe,$0184,$0777 dc.w $bf01,$fffe,$0184,$0005 dc.w $c001,$fffe,$0184,$0006 dc.w $c101,$fffe,$0184,$0007 dc.w $c201,$fffe,$0184,$0008 dc.w $c301,$fffe,$0184,$0009 dc.w $c401,$fffe,$0184,$000a dc.w $c501,$fffe,$0184,$000b dc.w $c601,$fffe,$0184,$000e dc.w $ee01,$fffe planepointer: dc.w $0100,$5400 dc.w $00e0,$0005 dc.w $00e2,$0000 ; dc.w $00e4,$0000 ; dc.w $00e6,$0000 dc.w $00e8,$0005 dc.w $00ea,$1000 ; dc.w $00ec,$0000 ; dc.w $00ee,$0000 dc.w $00f0,$0005 dc.w $00f2,$2000 ; dc.w $00f4,$0000 ; dc.w $00f6,$0000 colors: dc.w $0180,$0000 dc.w $0182,$0222 dc.w $0184,$0444 dc.w $0186,$0555 dc.w $0188,$0666 dc.w $018a,$0777 dc.w $018c,$0888 dc.w $018e,$0999 dc.w $0190,$0aaa dc.w $0192,$0bbb dc.w $0194,$0f00 dc.w $0196,$0000 dc.w $0198,$0000 dc.w $019a,$0000 dc.w $019c,$0000 dc.w $019e,$0000 dc.w $01a0,$0000 dc.w $01a2,$0000 dc.w $01a4,$000c dc.w $01a6,$0fff dc.w $01a8,$0000 dc.w $01aa,$000f dc.w $01ac,$000c dc.w $01ae,$0008 dc.w $01b0,$0000 dc.w $01b2,$0888 dc.w $01b4,$0aaa dc.w $01b6,$0ccc dc.w $ffff,$fffe gfxname: dc.b 'graphics.library',0 ; ----------------------------------------------------- ; ------- D.O.C SoundTracker V2.0 - playroutine ------- ; ----------------------------------------------------- ; ---- Improved and omptimized by Unknown of D.O.C ---- ; --------- Based on the playroutine from TJC --------- ; ----------------------------------------------------- even mt_init:lea mt_data,a0 add.l #$01d8,a0 move.l #$0080,d0 moveq #$00,d1 mt_init1: move.l d1,d2 subq.w #1,d0 mt_init2: move.b (a0)+,d1 cmp.b d2,d1 bgt.s mt_init1 dbf d0,mt_init2 addq.b #1,d2 mt_init3: lea mt_data,a0 lea mt_sample1(pc),a1 asl.l #$08,d2 asl.l #$02,d2 add.l #$0258,d2 add.l a0,d2 moveq #$0e,d0 mt_init4: move.l d2,(a1)+ moveq #$00,d1 move.w 42(a0),d1 asl.l #1,d1 add.l d1,d2 add.l #$1e,a0 dbf d0,mt_init4 lea mt_sample1(pc),a0 moveq #$00,d0 mt_clear: move.l (a0,d0),a1 clr.l (a1) addq.l #4,d0 cmp.l #$3c,d0 bne.s mt_clear clr.w $dff0a8 clr.w $dff0b8 clr.w $dff0c8 clr.w $dff0d8 clr.l mt_partnrplay clr.l mt_partnote clr.l mt_partpoint move.b mt_data+$1d6,mt_maxpart+1 rts mt_end: clr.w $dff0a8 clr.w $dff0b8 clr.w $dff0c8 clr.w $dff0d8 move.w #$000f,$dff096 rts mt_music: addq.l #1,mt_counter mt_cool:cmp.l #6,mt_counter bne.s mt_notsix clr.l mt_counter bra mt_rout2 mt_notsix: lea mt_aud1temp(pc),a6 tst.b 3(a6) beq.s mt_arp1 lea $dff0a0,a5 bsr.s mt_arprout mt_arp1:lea mt_aud2temp(pc),a6 tst.b 3(a6) beq.s mt_arp2 lea $dff0b0,a5 bsr.s mt_arprout mt_arp2:lea mt_aud3temp(pc),a6 tst.b 3(a6) beq.s mt_arp3 lea $dff0c0,a5 bsr.s mt_arprout mt_arp3:lea mt_aud4temp(pc),a6 tst.b 3(a6) beq.s mt_arp4 lea $dff0d0,a5 bra.s mt_arprout mt_arp4:rts mt_arprout: move.b 2(a6),d0 and.b #$0f,d0 tst.b d0 beq.s mt_arpegrt cmp.b #1,d0 beq.s mt_portup cmp.b #2,d0 beq.s mt_portdwn rts mt_portup: moveq #$00,d0 move.b 3(a6),d0 sub.w d0,22(a6) cmp.w #$71,22(a6) bpl.s mt_ok1 move.w #$71,22(a6) mt_ok1: move.w 22(a6),6(a5) rts mt_portdwn: moveq #$00,d0 move.b 3(a6),d0 add.w d0,22(a6) cmp.w #$358,22(a6) bmi.s mt_ok2 move.w #$358,22(a6) mt_ok2: move.w 22(a6),6(a5) rts mt_arpegrt: cmp.l #1,mt_counter beq.s mt_loop2 cmp.l #2,mt_counter beq.s mt_loop3 cmp.l #3,mt_counter beq.s mt_loop4 cmp.l #4,mt_counter beq.s mt_loop2 cmp.l #5,mt_counter beq.s mt_loop3 rts mt_loop2: moveq #$00,d0 move.b 3(a6),d0 lsr.b #4,d0 bra.s mt_cont mt_loop3: moveq #$00,d0 move.b 3(a6),d0 and.b #$0f,d0 bra.s mt_cont mt_loop4: move.w 16(a6),d2 bra.s mt_endpart mt_cont: asl.w #1,d0 moveq #$00,d1 move.w 16(a6),d1 lea mt_arpeggio(pc),a0 mt_loop5: move.w (a0,d0),d2 cmp.w (a0),d1 beq.s mt_endpart addq.l #2,a0 bra.s mt_loop5 mt_endpart: move.w d2,6(a5) rts mt_rout2: lea mt_data,a0 move.l a0,a3 add.l #$0c,a3 move.l a0,a2 add.l #$1d8,a2 add.l #$258,a0 move.l mt_partnrplay,d0 moveq #$00,d1 move.b (a2,d0),d1 asl.l #$08,d1 asl.l #$02,d1 add.l mt_partnote,d1 move.l d1,mt_partpoint clr.w mt_dmacon lea $dff0a0,a5 lea mt_aud1temp(pc),a6 bsr mt_playit move.b d2,merke1 lea $dff0b0,a5 lea mt_aud2temp(pc),a6 bsr mt_playit move.b d2,merke2 lea $dff0c0,a5 lea mt_aud3temp(pc),a6 bsr mt_playit move.b d2,merke3 lea $dff0d0,a5 lea mt_aud4temp(pc),a6 bsr mt_playit move.b d2,merke4 move.w #$01f4,d0 mt_rls: dbf d0,mt_rls move.w #$8000,d0 or.w mt_dmacon,d0 move.w d0,$dff096 lea mt_aud4temp(pc),a6 cmp.w #1,14(a6) bne.s mt_voice3 move.l 10(a6),$dff0d0 move.w #1,$dff0d4 mt_voice3: lea mt_aud3temp(pc),a6 cmp.w #1,14(a6) bne.s mt_voice2 move.l 10(a6),$dff0c0 move.w #1,$dff0c4 mt_voice2: lea mt_aud2temp(pc),a6 cmp.w #1,14(a6) bne.s mt_voice1 move.l 10(a6),$dff0b0 move.w #1,$dff0b4 mt_voice1: lea mt_aud1temp(pc),a6 cmp.w #1,14(a6) bne.s mt_voice0 move.l 10(a6),$dff0a0 move.w #1,$dff0a4 mt_voice0: move.l mt_partnote,d0 add.l #$10,d0 move.l d0,mt_partnote cmp.l #$400,d0 bne.s mt_stop mt_higher: clr.l mt_partnote addq.l #1,mt_partnrplay moveq #$00,d0 move.w mt_maxpart,d0 move.l mt_partnrplay,d1 cmp.l d0,d1 bne.s mt_stop clr.l mt_partnrplay mt_stop:tst.w mt_status beq.s mt_stop2 clr.w mt_status bra.s mt_higher mt_stop2: rts mt_playit: move.l (a0,d1),(a6) addq.l #4,d1 moveq #$00,d2 move.b 2(a6),d2 and.b #$f0,d2 lsr.b #4,d2 tst.b d2 beq.s mt_nosamplechange moveq #$00,d3 lea mt_samples(pc),a1 move.l d2,d4 asl.l #2,d2 mulu #$1e,d4 move.l (a1,d2),4(a6) move.w (a3,d4),8(a6) move.w 2(a3,d4),18(a6) move.w 4(a3,d4),d3 tst.w d3 beq.s mt_displace move.l 4(a6),d2 add.l d3,d2 move.l d2,4(a6) move.l d2,10(a6) move.w 6(a3,d4),8(a6) move.w 6(a3,d4),14(a6) move.w 18(a6),8(a5) bra.s mt_nosamplechange mt_displace: move.l 4(a6),d2 add.l d3,d2 move.l d2,10(a6) move.w 6(a3,d4),14(a6) move.w 18(a6),8(a5) mt_nosamplechange: tst.w (a6) beq.s mt_retrout move.w (a6),16(a6) move.w 20(a6),$dff096 move.l 4(a6),(a5) move.w 8(a6),4(a5) move.w (a6),6(a5) move.w 20(a6),d0 or.w d0,mt_dmacon mt_retrout: tst.w (a6) beq.s mt_nonewper move.w (a6),22(a6) mt_nonewper: move.b 2(a6),d0 and.b #$0f,d0 cmp.b #11,d0 beq.s mt_posjmp cmp.b #12,d0 beq.s mt_setvol cmp.b #13,d0 beq.s mt_break cmp.b #14,d0 beq.s mt_setfil cmp.b #15,d0 beq.s mt_setspeed rts mt_posjmp: not.w mt_status moveq #$00,d0 move.b 3(a6),d0 subq.b #$01,d0 move.l d0,mt_partnrplay rts mt_setvol: move.b 3(a6),8(a5) rts mt_break: not.w mt_status rts mt_setfil: moveq #$00,d0 move.b 3(a6),d0 and.b #$01,d0 rol.b #$01,d0 and.b #$fd,$bfe001 or.b d0,$bfe001 rts mt_setspeed: move.b 3(a6),d0 and.b #$0f,d0 beq.s mt_back clr.l mt_counter move.b d0,mt_cool+5 mt_back:rts mt_aud1temp: blk.w 10,0 dc.w $0001 blk.w 2,0 mt_aud2temp: blk.w 10,0 dc.w $0002 blk.w 2,0 mt_aud3temp: blk.w 10,0 dc.w $0004 blk.w 2,0 mt_aud4temp: blk.w 10,0 dc.w $0008 blk.w 2,0 mt_partnote: dc.l 0 mt_partnrplay: dc.l 0 mt_counter: dc.l 0 mt_partpoint: dc.l 0 mt_samples:dc.l 0 mt_sample1:blk.l 15,0 mt_maxpart:dc.w $0000 mt_dmacon:dc.w $0000 mt_status:dc.w $0000 mt_arpeggio: dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c dc.w $023a,$021a,$01fc,$01e0,$01c5,$01ac,$0194,$017d dc.w $0168,$0153,$0140,$012e,$011d,$010d,$00fe,$00f0 dc.w $00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097 dc.w $008f,$0087,$007f,$0078,$0071,$0000,$0000,$0000 mt_data=$60000 sprite1: dc.w $803c,$b500 dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff sprite2: dc.w $8048,$b500 dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff sprite3: dc.w $80d8,$b500 dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff sprite4: dc.w $80cc,$b500 dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff dc.w $ffff,$ffff sprite5: dc.w $6010,$6100 dc.w $0001,$0001 dc.w $6460,$6500 dc.w $0001,$0000 dc.w $68c0,$6900 dc.w $0000,$0001 dc.w $6c50,$6d00 dc.w $0001,$0001 dc.w $70f0,$7100 dc.w $0001,$0000 dc.w $7440,$7500 dc.w $0000,$0001 dc.w $7890,$7900 dc.w $0001,$0001 dc.w $7c30,$7d00 dc.w $0001,$0000 dc.w $8020,$8100 dc.w $0001,$0000 dc.w $8460,$8500 dc.w $0000,$0001 dc.w $88a0,$8900 dc.w $0001,$0001 dc.w $8cc0,$8d00 dc.w $0001,$0000 dc.w $9060,$9100 dc.w $0000,$0001 dc.w $9410,$9500 dc.w $0001,$0001 dc.w $9830,$9900 dc.w $0000,$0001 dc.w $9cc0,$9d00 dc.w $0001,$0000 dc.w $a010,$a100 dc.w $0001,$0001 dc.w $a470,$a500 dc.w $0000,$0001 dc.w $a8e0,$a900 dc.w $0001,$0000 dc.w $ac20,$ad00 dc.w $0000,$0001 dc.w $b0a0,$b100 dc.w $0001,$0000 dc.w $b4f0,$b500 dc.w $0001,$0001 dc.w $b840,$b900 dc.w $0001,$0000 dc.w $bc70,$bd00 dc.w $0000,$0001 dc.w $c080,$c100 dc.w $0001,$0000 dc.w $c440,$c500 dc.w $0000,$0001 dc.w $c820,$c900 dc.w $0001,$0001 dc.w $cce0,$cd00 dc.w $0001,$0000 dc.w $d070,$d100 dc.w $0000,$0001 dc.w $d450,$d500 dc.w $0001,$0000 dc.w $d8b0,$d900 dc.w $0001,$0001 dc.w $dc30,$dd00 dc.w $0000,$0001 dc.w $e060,$e100 dc.w $0001,$0000 dc.w $e4b0,$e500 dc.w $0001,$0000 dc.w $e890,$e900 dc.w $0000,$0001 dc.w $ec10,$ed00 dc.w $0001,$0000 sprite6: dc.w $6960,$7300 dc.w %0000000000000000,0000000000000000 dc.w %1110000000000000,0000000000000000 dc.w %1111110000000000,0000000000000000 dc.w %1111111110000000,0000000000000000 dc.w %1111111111110000,0000000000000000 dc.w %1111111111111110,0000000000000000 dc.w %1111111111110000,0000000000000000 dc.w %1111111110000000,0000000000000000 dc.w %1111110000000000,0000000000000000 dc.w %1110000000000000,0000000000000000 dc.w %0000000000000000,0000000000000000 blk.b 10,0 even chartab: dc.w $98c0,$f6c0,$0000,$0000,$0000,$0000,$0000,$f0e0,$0500,$0000 dc.w $0000,$0000,$d960,$050a,$e520,$0000,$9ea0,$a480,$aa60,$b040 dc.w $b620,$bc00,$c1e0,$c7c0,$cda0,$d380,$eb00,$df40,$0000,$0000 dc.w $0000,$0522,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$05e0,$0bc0,$11a0,$1780 dc.w $1d60,$2340,$2920,$2f00,$34e0,$3ac0,$40a0,$4680,$4c60,$5240 dc.w $5820,$5e00,$63e0,$69c0,$6fa0,$7580,$7b60,$8140,$8720,$8d00 dc.w $92e0,$98c0,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0000,$0000,$0000