overscan:equ 0 ;cpy13 next ; Double Megadistorter by Gunstick (c) ULM 1990 ;free d0 d1 d2 d3 d4 d5 d6 d7 a0 a1 a2 a3 a4 a5 a6 a7 usp pea start(pc) move.w #38,-(sp) trap #14 addq.l #6,sp clr.w -(sp) trap #1 start: bsr waitvbl lea $ffff8240.w,a2 lea oldpal,a3 movem.l (a2),d0-d7 movem.l d0-d7,(a3) movem.l hwpalette,d0-d7 movem.l d0-d7,(a2) lea $ffff8201.w,a0 movep.w 0(a0),d0 lea screenad1,a2 move.w d0,(a2) move.l #screen,d0 add.l #255,d0 and.l #$ffff00,d0 lea screenad2,a2 move.l d0,(a2) movea.l d0,a2 ror.l #8,d0 movep.w d0,0(a0) move.w #0,-(sp) move.l a2,-(sp) move.l a2,-(sp) move.w #5,-(sp) trap #14 lea 12(sp),sp move.l screenad2,d0 sub.l #160*6,d0 move.l d0,screenadr ; addi.l #8*5-64,screenadr movea.l screenad2,a0 move.l #9999,d0 clear_loop: clr.l (a0)+ dbra d0,clear_loop movea.l screenad2,a0 ; movem.l graphic,d6-d7 movem.l black,d6-d7 move.w #285,d2 allline: ifne overscan move.w #20,d1 endc ifeq overscan move.w #27,d1 endc alles: move.l d6,(a0)+ move.l d7,(a0)+ dbra d1,alles ifeq overscan addq.l #6,a0 endc dbra d2,allline pea message move.w #9,-(sp) ; trap #1 addq.w #6,sp bsr psginit lea oldres,a0 move.b $ffff8260.w,(a0) bsr waitvbl move.b #0,$ffff8260.w move.b #18,$fffffc02.w bsr.s waitvbl move.b #26,$fffffc02.w bsr screen2 move.b #20,$fffffc02.w bsr.s waitvbl move.b #8,$fffffc02.w bsr.s waitvbl move.b #2,$ffff820a.w bsr.s waitvbl move.b #2,$ffff820a.w move.b oldres,$ffff8260.w lea $ffff8201.w,a0 moveq #0,d0 move.w screenad1,d0 movep.w d0,0(a0) lsl.l #8,d0 move.w #0,-(sp) move.l d0,-(sp) move.l d0,-(sp) move.w #5,-(sp) trap #14 lea 12(sp),sp bsr.s psginit lea oldpal,a0 lea $ffff8240.w,a1 movem.l (a0),d0-d7 movem.l d0-d7,(a1) bsr.s waitvbl rts waitvbl: move.b $ffff8203.w,d0 lsl.w #8,d0 lea $ffff8207.w,a0 no_vbl: movep.w 0(a0),d1 cmp.w d0,d1 bne.s no_vbl rts psginit: lea psginittab,a0 nextinit: move.b (a0)+,d0 cmp.b #$ff,d0 beq.s initend move.b (a0)+,d1 move.b d0,$ffff8800.w move.b d1,$ffff8802.w bra.s nextinit initend: rts screen2: ;free d0 d1 d2 d3 d4 d5 d6 d7 a0 a1 a2 a3 a4 a5 a6 usp move sr,-(sp) move #$2700,sr move.l sp,stack ; clr.b lowbyte ;********************************************************** ; Distorted scroller by Gunstick lea linebuffbegin,a0 moveq #25,d0 ;26 lines are scrolled initdist: move.l #scrolltext,textptr-linebuffbegin(a0) move.l a0,a1 lea buffer-linebuffbegin(a1),a1 move.l a1,bufptr-linebuffbegin(a0) clr.w bufcnt-linebuffbegin(a0) clr.w shift-linebuffbegin(a0) lea linebuffend-linebuffbegin(a0),a0 dbf d0,initdist lea wavetab,a0 move.l a0,wavetabptr move.l (a0),a0 move.l a0,distwaveptr move.l #disttable,disttableptr move.l #scrnadrs,nextscrn move.l #screen-230*20,cpybufdest bra kaka lea font,a0 lea buffer,a1 moveq #25,d0 ;init all unshiftet linebuffers testinitbuff: move.l (a0),(a1)+ move.l 4(a0),(a1)+ move.l 32*8(a0),(a1)+ move.l 32*8+4(a0),(a1)+ move.l 32*8*2(a0),(a1)+ move.l 32*8*2+4(a0),(a1)+ move.l 32*8*3(a0),(a1)+ move.l 32*8*3+4(a0),(a1)+ move.l 32*8*4(a0),(a1)+ move.l 32*8*4+4(a0),(a1)+ move.l 32*8*5(a0),(a1)+ move.l 32*8*5+4(a0),(a1)+ move.l 32*8*6(a0),(a1)+ move.l 32*8*6+4(a0),(a1)+ move.l 32*8*7(a0),(a1)+ move.l 32*8*7+4(a0),(a1)+ move.l 32*8*8(a0),(a1)+ move.l 32*8*8+4(a0),(a1)+ move.l 32*8*9(a0),(a1)+ move.l 32*8*9+4(a0),(a1)+ move.l 32*8*10(a0),(a1)+ move.l 32*8*10+4(a0),(a1)+ move.l 32*8*11(a0),(a1)+ move.l 32*8*11+4(a0),(a1)+ move.l 32*8*12(a0),(a1)+ move.l 32*8*12+4(a0),(a1)+ move.l 32*8*13(a0),(a1)+ move.l 32*8*13+4(a0),(a1)+ move.l 32*8*14(a0),(a1)+ move.l 32*8*14+4(a0),(a1)+ move.l 32*8*15(a0),(a1)+ move.l 32*8*15+4(a0),(a1)+ move.l 32*8*16(a0),(a1)+ move.l 32*8*16+4(a0),(a1)+ move.l 32*8*17(a0),(a1)+ move.l 32*8*17+4(a0),(a1)+ move.l 32*8*18(a0),(a1)+ move.l 32*8*18+4(a0),(a1)+ move.l 32*8*19(a0),(a1)+ move.l 32*8*19+4(a0),(a1)+ move.l 32*8*20(a0),(a1)+ move.l 32*8*20+4(a0),(a1)+ move.l 32*8*21(a0),(a1)+ move.l 32*8*21+4(a0),(a1)+ move.l 32*8*22(a0),(a1)+ move.l 32*8*22+4(a0),(a1)+ move.l 32*8*23(a0),(a1)+ move.l 32*8*23+4(a0),(a1)+ move.l 32*8*24(a0),(a1)+ move.l 32*8*24+4(a0),(a1)+ move.l 32*8*25(a0),(a1)+ move.l 32*8*25+4(a0),(a1)+ addq.l #8,a0 lea linebuffend-linebuffbegin-208(a1),a1 dbf d0,testinitbuff kaka: ;******************************************************** lea screenadr,a3 ; move.b lowbyte,3(a3) bsr waitvbl ;lower border move.w #4000,d0 firsttopwait: dbf d0,firsttopwait ;move.b #0,$ffff820a.w ;ULM Hardware Scrolling PART 1 ;THIS PART IS TO BE STARTED BEFORE THE BEGINNING OF THE VBL ;sets screen to adress contained in screenadr+(6 scanlines) lea screenadr,a3 ;~12 moveq #0,d1 ;~4 move.b 3(a3),d1 ;~12 move.w d1,d0 ;~4 add.w d1,d1 ;~4 add.w d0,d1 ;~4 add.w d1,d1 ;~4 add.w d1,d1 ;~4 *12 (24 byte per tabentry) lea $ffff8201.w,a1 ;~8 lea hwscrolldat,a0 ;~12 add.w d1,a0 ;~8 movep.w 1(a3),d1 ;~16 move.b 2(a3),d1 ;~12 move.b (a0)+,d0 ;~8 ext.w d0 ;~4 add.w d0,d1 ;~4 movep.w d1,0(a1) ;~16 move.l a0,tabentry-screenadr(a3) ;~16 save tablepos ;ULM Hardware Scrolling END OF PART 1 loop: bsr waitvbl movem.l black,d0-d7 movem.l d0-d7,$ffff8240.w movem.l hwpalette,d2-d7/a2-a3 lea $ffff8209.w,a1 moveq #10,d1 movea.l tabentry,a0 ;get back tablepos move.w #1500,d0 opentopwait: dbra d0,opentopwait dcb $4e71,196-72-2 move.b #0,$ffff820a.w ; move.w #$007,$ffff8240.w dcb $4e71,8 move.b #2,$ffff820a.w ;ULM Hardware Scrolling PART 2 ;THIS PART IS TO BE STARTED BEFORE THE END OF THE VBL ;Sets colors to zero ;Sets screen to screenadr(+6 lines) ;Initializes colors with hwpalette ;Uses : d0-a3 sync: move.b (a1),d0 beq.s sync sub.w d0,d1 lsl.w d1,d1 moveq #5,d0 nop bra intoall switchloop: dcb $4e71,3 ; move.b #2,$ffff8260.w ;GunsticK's right border end switch ; move.b #0,$ffff8260.w tst.b (a0)+ bne.s links1 move.b #2,$ffff820a.w dcb $4e71,19 ;-4*2 bra.s cont1 links1: move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ;links1: move.b #2,$ffff820a.w dcb $4e71,5 move.b #2,$ffff8260.w move.b #0,$ffff8260.w cont1: dcb $4e71,28 intoall: tst.b (a0)+ bne.s mitte dcb $4e71,6 bra.s cont3 mitte: move.b #2,$ffff8260.w move.b #0,$ffff8260.w cont3: dcb $4e71,33 tst.b (a0)+ bne.s rechts1 tst.b (a0)+ bne.s rechts2 dcb $4e71,7 bra.s cont4 rechts1: move.b #0,$ffff820a.w addq.w #1,a0 dcb $4e71,4 bra.s cont4 rechts2: dcb $4e71,4 move.b #0,$ffff820a.w nop cont4: dbra d0,switchloop move.b #2,$ffff820a.w ;HERE WE ARE SYNCHRON ;These lines are to be used if the screen uses left border dcb $4e71,3 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w movem.l d2-d4,$ffff8240.w move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w movem.l d5-d7/a2-a3,12+$ffff8240.w ;********************************************************** ; Distorted scroller by Gunstick ;INITIALISATIONS ;***** Calc next screenadress **** ;free: d0 d1 d2 d3 d4 d5 d6 d7 a0 a1 a2 a3 a4 a5 a6 usp lea nextscrn,a3 ;~12 move.l (a3),a0 ;~20 move.l (a0)+,d0 ;~12 bne scrnok ;~12 lea scrnadrs-nextscrn(a3),a0 ;~12 move.l (a0)+,d0 ;~12 ; move.l #screen-(20*230)+160*6,cpybufdest-nextscrn(a3);~24 dcb $4e71,6 _scrnok: move.l d0,logbase-nextscrn(a3) ;~20 move.l a0,(a3) ;~20 ;do some hardwarebouncing move.l hwbounceptr-nextscrn(a3),a0 ;~20 move.w (a0)+,d1 ;~8 bne.s hwbounceok ;~8 lea hwbouncetab-nextscrn(a3),a0 ;~8 move.w (a0)+,d1 ;~8 _hwbounceok: move.l a0,hwbounceptr-nextscrn(a3) ;~16 ext.l d1 ;~4 add.l d1,d0 ;~8 move.l d0,screenadr-nextscrn(a3);~16 ; dcb $4e71,4 ;free: d0-a6/usp dcb $4e71,4+4-6 dcb $4e71,25-23 dcb $4e71,17 move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w bra.s cont6 scrnok: dcb $4e71,3-1+6 bra _scrnok ;~12 hwbounceok: dcb $4e71,0 bra _hwbounceok ;~12 cont6: dcb $4e71,5 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist ;***** Do the 8 following distorter entrys **** ;; first copy the wave to the disttable ;Registerdefs: take care of the order. Modify also the addx.l !!!! d_0 equr d0 d_1 equr d1 d_2 equr d2 d_3 equr d3 a_0 equr a0 a_1 equr a1 a_2 equr a2 a_3 equr a3 distspeed equ 5 disthigh equ 20 ;copy (disthigh-distspeed)/2 registers movem.l disttable+distspeed*2,d1-d7/a1 ;copy disttab movem.l d1-d7/a1,disttable dcb $4e71,25 dcb $4e71,17 move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist dcb $4e71,27 lea disttable+disthigh*2-distspeed*2,a_3 ;position to write new move.l distwaveptr,a_0 ;position in the actual wave moveq #distspeed-1,d_0 ;read 8 moveq #0,d_3 move.w distcalc,d_2 distwaveread: ;free: d4-d7/a2/a4-a6/usp dcb $4e71,17 ;mdist dcb $4e71,25 ;digi move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w bra.s cont notnextwavetab: ;~12 time adjust dcb $4e71,20 bra.s _notnextwavetab ;~12 notendwavetab: ;~12 bra.s _notendwavetab ;~12 cont: move.w (a_0)+,d_1 ;~8 dcb $4e71,3 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist cmp.w #128,d_1 ;~8 bne.s notnextwavetab ;~8 move.l wavetabptr,a_1 ;~20 next wave to be read tst.l (a_1) ;~12 bne.s notendwavetab ;~8 lea wavetab,a_1 ;~12 reset wavetabptr nop _notendwavetab: move.l (a_1)+,a_0 ;~12 move.w (a_0)+,d_1 ;~12 move.l a_1,wavetabptr ;~20 _notnextwavetab: add.w d_1,d_3 ;~4 add.w d_1,d_2 ;~4 sub.w 16(a_3),d_2 ;~16 move.w d_1,16(a_3) ;~12 move.w d_2,(a_3)+ ;~8 write new curve dbf d_0,distwaveread ;~12/16 ;free: d1-d2/d4-d7/a0-a6/usp dcb $4e71,24 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist move.l a_0,distwaveptr ;~20 move.w d_3,distcalc ;~16 lea disttable+4,a_3 ;~12 scroll begins 18 lines before end of screen lea shift,a_0 ;~12 pointer to the shifts move.w #-(18*8),count ;~20 scroll has 18 lines distcalcloop: ;(~12) ;free: d0/d3-d7/a1-a2/a4-a6/usp cpy:d0/d3/a1/a2 move.w (a_3)+,d_1 ;~8 move.w (a_0),d_2 ;~8 ;read shift add.w d_1,d_2 ;~4 bmi rueckwaerts ;~12 sub.w #16,d_2 ;~8 bhs vorwaerts ;~12 add.w #16,d_2 ;~8 move.w d_2,(a_0) ;~8 ;write back new shift dcb $4e71,4-2 moveq #7,d_2 noshift: nop ;free: d0/d3-d7/a1-a2/a4-a6/usp cpy:d0/d3/a1/a2 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist dcb $4e71,41-4 dbf d_2,noshift indistcalcloop: ;free: d0/d3-d7/a1-a2/a4-a6/usp cpy:d0/d3/a1/a2 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist dcb $4e71,10 lea linebuffend-linebuffbegin(a_0),a_0 ;~8 next line addq.w #8,count ;~4 bne distcalcloop ;~12 dcb $4e71,41-20 ;free: d0-a6/usp dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #0,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist move.b #2,$ffff820a.w ;ULM Hardware Scrolling PART 1 ;THIS PART IS TO BE STARTED BEFORE THE BEGINNING OF THE VBL ;sets screen to adress contained in screenadr+(6 scanlines) lea screenadr,a3 ;~12 moveq #0,d1 ;~4 move.b 3(a3),d1 ;~12 move.w d1,d0 ;~4 add.w d1,d1 ;~4 add.w d0,d1 ;~4 add.w d1,d1 ;~4 add.w d1,d1 ;~4 *12 (24 byte per tabentry) lea $ffff8201.w,a1 ;~8 lea hwscrolldat-screenadr(a3),a0 ;~8 add.w d1,a0 ;~8 movep.w 1(a3),d1 ;~16 move.b 2(a3),d1 ;~12 move.b (a0)+,d0 ;~8 ext.w d0 ;~4 add.w d0,d1 ;~4 movep.w d1,0(a1) ;~16 move.l a0,tabentry-screenadr(a3) ;~16 save tablepos ;ULM Hardware Scrolling END OF PART 1 ; dcb $4e71,41-4-33 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist bra copydistscroll rept 34 dcb $4e71,41 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist endr dcb $4e71,41 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #0,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist move.b #2,$ffff820a.w dcb $4e71,41-4 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist rept 7 dcb $4e71,41 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #2,$ffff8260.w ; move.b #0,$ffff8260.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist endr bra copydistscroll dcb $4e71,41-9 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist ; move.w #221-16,d7 move.w #32,d7 ;~8 move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 overscanloop: move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist dcb $4e71,83 move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,5 dbra d7,overscanloop move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w asd ;=-| read the new distortions and shift the buffers ; letters of font must be 256 bytes !!!!!!!! ;-> advance this line by one word vorwaerts: move.w d_2,(a_0) ;~8 write back new shift move.l textptr-shift(a_0),a_1 ;~16 dcb $4e71,2 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w bra.s cont2 nottextend: ;~12 addq.w #1,a_1 ;~8 bra _nottextend ;~12 cont2: dcb $4e71,5 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist ;movep : 5 nops weniger ;actual = if any bit of the letter appears in one buffer ; textptr ; | ;UNLIMITED MATRICKS a bit of C appears somewhere ;now we have to write a bit of K and C movep.w 0(a_1),d_1 ;~16 previous letter : C movep.w 1(a_1),d_2 ;~16 act letter : K tst.b d_1 ;~4 test letter after act : S bne.s nottextend ;~8 lea scrolltext,a_1 ;~12 nop nop nop _nottextend: move.l a_1,textptr-shift(a_0) ;~16 textptr points to K clr.b d_1 ;~4 C clr.b d_2 ;~4 K lea font+(18*8),a_1 ;~8 add.w count,a_1 ;~20 lea (a_1,d_1),a_2 ;~12 C ; lea (a_1),a_2 ;C movem.l (a_1,d_2),d_1/d_3 ;~36 K ; movem.w 256(a_1),d_0/d_1/d_2/d_3 ;K ;d0:xxxxxxxxxxxxxxxx ;d1:aaaaaaaabbbbbbbb ;d2:xxxxxxxxxxxxxxxx ;d3:ccccccccdddddddd move.w d_1,d_2 ;~4 move.w d_3,d_0 ;~4 ;d0:xxxxxxxxdddddddd ;d1:aaaaaaaabbbbbbbb ;d2:xxxxxxxxbbbbbbbb ;d3:ccccccccdddddddd swap d_0 ;~4 swap d_2 ;~4 ;d0:ddddddddxxxxxxxxx ;d1:aaaaaaaabbbbbbbbb ;d2:bbbbbbbbxxxxxxxxx ;d3:ccccccccddddddddd move.l bufptr-shift(a_0),a_1 ;~16 ;prepare shifter move.w (a_2)+,d_0 ;~8 C move.w (a_2)+,d_1 ;~8 move.w (a_2)+,d_2 ;~8 move.w (a_2)+,d_3 ;~8 ;uff one line of the 2 letters is in d0-d3 ;d0 dddddddd|AAAAAAAA ;d1 aaaaaaaa|BBBBBBBB ;d2 bbbbbbbb|CCCCCCCC ;d3 cccccccc|DDDDDDDD dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist ;buffer gestion cmpi.w #25*4,bufcnt-shift(a_0) ;~16 blo.s vorbufok ;~8 clr.w bufcnt-shift(a_0) ;~16 screenwidth = 26 words subi.l #25*8,bufptr-shift(a_0) ;~20 bra.s vorbufnok ;~12 vorbufok: addq.w #4,bufcnt-shift(a_0) ;~16 addq.l #8,bufptr-shift(a_0) ;~16 dcb $4e71,9-5 vorbufnok: dcb $4e71,5 dcb $4e71,2 call_shifter: ;write first buffer movem.w d_0/d_1/d_2/d_3,(a_1) ;~24 lea 26*8(a_1),a_1 ;~8 dcb $4e71,5 *************************************************** dcb $4e71,25 dcb $4e71,17-1-11 moveq #0,d7 ; megadistorter test ; lea 0(a0,d7),a0 movem.l (a0),d4/d5/d6/d7 move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 ;--------------------------------------- dcb $4e71,25-13 dcb $4e71,17 move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 dcb $4e71,8-3 ;--------------------------------------- dcb $4e71,25 dcb $4e71,17 move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 ;--------------------------------------- dcb $4e71,25-13 dcb $4e71,17 move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 dcb $4e71,8-3 ;--------------------------------------- dcb $4e71,25 dcb $4e71,17 move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 ;--------------------------------------- dcb $4e71,25-13 dcb $4e71,17 move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 swap d_1 ;~4 addx.w d1,d1 ;~4 ;a out swap d_1 ;~4 addx.l d0,d0 ;~8 ;a in and d out addx.l d3,d3 ;~8 ;d in and c out addx.l d2,d2 ;~8 ;c in and b out addx.w d1,d1 ;~4 ;b in movem.w d_0/d_1/d_2/d_3,(a_1) ;~28 lea 26*8(a_1),a_1 ;~8 ; dcb $4e71,8-3 dcb $4e71,2 bra indistcalcloop ;~12 26 nops before right borde ;--------------------------------------- *************************************************** dcb $4e71,25 dcb $4e71,17 move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w movem.l d0/d1/d2,$ffff8250.w ;mdist move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist dcb $4e71,38 bra indistcalcloop ;~12 26 nops before right borde ;-< back this line by one word rueckwaerts: add.w #16,d_2 ;~8 move.w d_2,(a_0) ;~8 write back new shift dcb $4e71,2+7 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w bra.s cont5 rueckbufok: subq.l #8,bufptr-shift(a_0) ;~16 DCB $4E71,2 bra.s _rueckbufok ;~12 cont5: dcb $4e71,5 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist subq.w #4,bufcnt-shift(a_0) ;~12 bhs.s rueckbufok ;~8 move.w #25*4,bufcnt-shift(a_0) ;~16 screenwidth = 26 words add.l #25*8,bufptr-shift(a_0) ;~32 _rueckbufok: move.l textptr-shift(a_0),a_1 ;~16 dcb $4e71,7 ;movep : 5 nops weniger ;actual = if any bit of the letter appears in one buffer ; textptr ; | | ;YEAH THIS IS UNLIMITED MATRICKS a bit of C appears somewhere ;a bit of A appears somewhere ;now we have to write a bit of E and A movep.w -27(a_1),d_1 ;~16 previous letter : E movep.w -26(a_1),d_2 ;~16 act letter : A lea -1(a_1),a_1 ;~8 move.l a_1,textptr-shift(a_0) ;~16 textptr points to I clr.b d_1 ;~4 E clr.b d_2 ;~4 A lea font+(18*8),a_1 ;~12 add.w count,a_1 ;~20 lea (a_1,d_1),a_2 ;~12 E movem.l (a_1,d_2),d_1/d_3 ;~36 A ;d0:xxxxxxxxxxxxxxxx ;d1:aaaaaaaabbbbbbbb ;d2:xxxxxxxxxxxxxxxx ;d3:ccccccccdddddddd dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist move.l bufptr-shift(a_0),a_1 ;~16 move.w d_1,d_2 ;~4 move.w d_3,d_0 ;~4 ;d0:xxxxxxxxdddddddd ;d1:aaaaaaaabbbbbbbb ;d2:xxxxxxxxbbbbbbbb ;d3:ccccccccdddddddd swap d_0 ;~4 swap d_2 ;~4 ;d0:ddddddddxxxxxxxxx ;d1:aaaaaaaabbbbbbbbb ;d2:bbbbbbbbxxxxxxxxx ;d3:ccccccccddddddddd ;prepare shifter move.l bufptr-shift(a_0),a_1 ;~16 move.w (a_2)+,d_0 ;~8 E move.w (a_2)+,d_1 ;~8 move.w (a_2)+,d_2 ;~8 move.w (a_2)+,d_3 ;~8 ;uff one line of the 2 letters is in d0-d3 ; A E ;d0 dddddddd|AAAAAAAA ;d1 aaaaaaaa|BBBBBBBB ;d2 bbbbbbbb|CCCCCCCC ;d3 cccccccc|DDDDDDDD ;write first buffer dcb $4e71,5 bra call_shifter copydistscroll: ;**** Copy all the buffers to the screen **** move.l logbase,a6 ;put it there add.l #6*160+230*(280-20),a6 ;for hwscroll lea buffer,a4 moveq #18-5,d0 ;scrollhigh:18 dcb $4e71,25 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$77,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #7,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist dcb $4e71,11 scrollcpy: move.w shift-buffer(a4),d1 mulu #208,d1 ; lea 208*15(a4),a5 lea (a4,d1),a5 ; move.w #0,d1 move.w bufcnt-buffer(a4),d1 lea cpyjsr,a0 move.l (a0,d1),a0 ; move.l a5,a6 dcb $4e71,25 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$77,$ffff8240.w ; move.b #7,$ffff8240.w dcb $4e71,6 ; NOT.W $FFFF8240.W jmp (a0) ;(a5)+ -> (a6) uses d1-a1 endcpy: ; NOT.W $FFFF8240.W move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist dcb $4e71,4 lea 230(a6),a6 lea linebuffend-linebuffbegin(a4),a4 dbf d0,scrollcpy not $ffff8240.w ; lea bufcnt,a5 ; moveq #25,d0 ;scrollhigh:26 ;wordscroll: ; add.w #4,(a5) ; cmp.w #4*26,(a5) ; bne.s notend ; clr.w (a5) ;notend: ; lea linebuffend-linebuffbegin(a5),a5 ; dbf d0,wordscroll ; lea font,a0 ; move.l logbase,a1 ;put it there ; add.l #6*160+40,a1 ;for hwscroll ; moveq #26,d0 ;init all unshiftet linebuffers ;ttestinitbuff: ; move.l (a0),(a1)+ ; move.l 4(a0),(a1)+ ; move.l 26*8(a0),(a1)+ ; move.l 26*8+4(a0),(a1)+ ; addq.l #8,a0 ; lea 230-16(a1),a1 ; dbf d0,ttestinitbuff ;********************************************************** ;buffercopy bbb move.l cpybufdest,a6 ;write there move.l a6,a5 add.l #230*280*4-230*20,a5 ;read here rept 5 movem.l (a5)+,d0-d7/a0-a4 movem.l d0-d7/a0-a4,(a6) movem.l (a5)+,d0-d7/a0-a4 movem.l d0-d7/a0-a4,52(a6) movem.l (a5)+,d0-d7/a0-a4 movem.l d0-d7/a0-a4,104(a6) movem.l (a5)+,d0-d7/a0-a4 movem.l d0-d7/a0-a4,156(a6) ;4*13*4=208:1 line copied lea 230(a6),a6 ;next line lea 22(a5),a5 endr move.l a6,cpybufdest ;position to write during next vbl cmp.l #scrnadrs+4,nextscrn bne.s notreset move.l #screen-(15*230)+160*6,cpybufdest notreset: ;********************************************************** btst #0,$fffffc00.w beq no_key move.b $fffffc02.w,d0 cmpi.b #99,d0 bne.s notl addi.l #16,codmod+2 notl: cmpi.b #100,d0 bne.s notr addi.l #-16,codmod+2 notr: cmpi.b #107,d0 bne.s not5 move.l #0,codmod+2 not5: cmpi.b #110,d0 bne.s not2 ifeq overscan addi.l #-230,codmod+2 endc ifne overscan addi.l #-160,codmod+2 endc not2: cmpi.b #104,d0 bne.s not8 ifeq overscan addi.l #230,codmod+2 endc ifne overscan addi.l #160,codmod+2 endc not8: cmpi.b #108,d0 bne.s not6 addi.l #-8,codmod+2 not6: cmpi.b #78,d0 bne.s notd ; add.l #-320,codmod+2 addi.b #-2,lowbyte lea screenadr,a3 move.b lowbyte,3(a3) notd: cmpi.b #106,d0 bne.s not4 addi.l #8,codmod+2 not4: cmpi.b #74,d0 bne.s notu ; add.l #320,codmod+2 addi.b #2,lowbyte lea screenadr,a3 move.b lowbyte,3(a3) notu: cmpi.b #57,d0 bne.s no_key movea.l stack,sp move (sp)+,sr rts no_key: lea screenadr,a3 codmod: addi.l #0,(a3) moveq #0,d0 move.b 3(a3),d0 lsr.l #1,d0 lea str,a3 move.l #"0000",-4(a3) bsr d0todeza3 pea prt move.w #9,-(sp) ; trap #1 addq.w #6,sp bra loop bsr waitvbl movem.l black,d0-d7 movem.l d0-d7,$ffff8240.w movem.l hwpalette,d2-d7/a2-a3 lea $ffff8209.w,a1 moveq #10,d1 movea.l tabentry,a0 ;get back tablepos move.w #1500,d0 opentopwait2: dbra d0,opentopwait2 dcb $4e71,196-72-2 move.b #0,$ffff820a.w move.w #$007,$ffff8240.w dcb $4e71,8 move.b #2,$ffff820a.w exit: movea.l stack,sp move (sp)+,sr rts d0todeza3: movem.l d0-d1/a3,-(sp) addq.w #1,a3 moveq #3,d1 divu #10000,d0 beq.s smallone hexdezinit: move.b #"0",-(a3) dbra d1,hexdezinit bsr.s hextodez addq.w #4,a3 smallone: swap d0 bsr.s hextodez movem.l (sp)+,d0-d1/a3 rts hextodez: movem.l d1/a3,-(sp) move.w d0,d1 nexthextodez: divu #10,d1 swap d1 add.b #"0",d1 move.b d1,-(a3) clr.w d1 swap d1 bne.s nexthextodez movem.l (sp)+,d1/a3 rts ;********************************************************** ; Distorted scroller by Gunstick ;The 26 copyroutines cpyjsr: rept 30 ; dc.l cpy00 endr dc.l cpy00,cpy01,cpy02,cpy03,cpy04 dc.l cpy05,cpy06,cpy07,cpy08,cpy09 dc.l cpy10,cpy11,cpy12,cpy13,cpy14 dc.l cpy15,cpy16,cpy17,cpy18,cpy19 dc.l cpy20,cpy21,cpy22,cpy23,cpy24 dc.l cpy25 ;copy 208 bytes from (a5) to (a6) (52 registers) ;6 movems : 9,9,9,9,9,7 regs (3 scanlines) ;read/write: 24+16*n = 16*(1.5+n) (max: 10.5) c0 equr a1 c1 equr d1 c2 equr d2 c3 equr d3 c4 equr d4 c5 equr d5 c6 equr d6 c7 equr d7 c8 equr a0 swnodigi MACRO dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #$0,$ffff8240.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist ENDM swdigi MACRO dcb $4e71,22 ;digi dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #$0,$ffff8240.w dcb $4e71,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist ENDM cpy00: ;7,9,9,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*5(a6) dcb $4e71,6 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*12(a6) ;DIGI move.l (a5)+,4*19(a6) dcb $4e71,10-6 swdigi movem.l (a5)+,c1/c2/c3/c4/c5/c6 movem.l c1/c2/c3/c4/c5/c6,4*20(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*26(a6) ;NODIGI dcb $4e71,2 swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*33(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*40(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*47(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w ; dcb $4e71,25 ; dcb $4e71,4 dcb $4e71,5 bra endcpy ; move.b #1,$ffff8260.w ;GunsticK's right border end switch ; move.b #0,$ffff8260.w move.b #$70,$ffff8240.w move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #0,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6/c7/c8 movem.l c0/c1/c2/c3/c4/c5/c6/c7/c8,4*7(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6/c7/c8 movem.l c0/c1/c2/c3/c4/c5/c6/c7/c8,4*16(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6/c7/c8 movem.l c0/c1/c2/c3/c4/c5/c6/c7/c8,4*25(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6/c7/c8 movem.l c0/c1/c2/c3/c4/c5/c6/c7/c8,4*34(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6/c7/c8 movem.l c0/c1/c2/c3/c4/c5/c6/c7/c8,4*43(a6) bra endcpy cpy01: ;2+5,7,7,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1 movem.l c0/c1,4*50(a6) movem.l (a5)+,c0/c1/c2 movem.l c0/c1/c2,(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*3(a6) ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*10(a6) ;DIGI move.l (a5)+,4*17(a6) dcb $4e71,10-6 swdigi movem.l (a5)+,c1/c2/c3/c4/c5/c6 movem.l c1/c2/c3/c4/c5/c6,4*18(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*24(a6) ;NODIGI dcb $4e71,2 swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*31(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*38(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*45(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w ; dcb $4e71,25 ; dcb $4e71,4 dcb $4e71,5 bra endcpy cpy02: ;4+3,9,9,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3 movem.l c0/c1/c2/c3,4*48(a6) movem.l (a5)+,c0/c1/c2 movem.l c0/c1/c2,(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*3(a6) ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*8(a6) ;DIGI move.l (a5)+,4*15(a6) dcb $4e71,10-6 swdigi movem.l (a5)+,c1/c2/c3/c4/c5/c6 movem.l c1/c2/c3/c4/c5/c6,4*16(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*22(a6) ;NODIGI dcb $4e71,2 swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*29(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*36(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*43(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w ; dcb $4e71,25 ; dcb $4e71,4 dcb $4e71,5 bra endcpy cpy03: ;6+1,9,9,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*46(a6) movem.l (a5)+,c0/c1/c2 movem.l c0/c1/c2,(a6) movem.l (a5)+,c0/c1/c2 movem.l c0/c1/c2,4*3(a6) ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*6(a6) ;DIGI move.l (a5)+,4*13(a6) dcb $4e71,10-6 swdigi movem.l (a5)+,c1/c2/c3/c4/c5/c6 movem.l c1/c2/c3/c4/c5/c6,4*14(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*20(a6) ;NODIGI dcb $4e71,2 swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*27(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*34(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*41(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w ; dcb $4e71,25 ; dcb $4e71,4 dcb $4e71,5 bra endcpy cpy04: ;8,8,9,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*44(a6) movem.l (a5)+,c0 movem.l c0,4*51(a6) movem.l (a5)+,c0/c1/c2/c3 movem.l c0/c1/c2/c3,(a6) ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*4(a6) ;DIGI move.l (a5)+,4*11(a6) dcb $4e71,10-6 swdigi movem.l (a5)+,c1/c2/c3/c4/c5/c6 movem.l c1/c2/c3/c4/c5/c6,4*12(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*18(a6) ;NODIGI dcb $4e71,2 swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*25(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*32(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*39(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w ; dcb $4e71,25 ; dcb $4e71,4 dcb $4e71,5 bra endcpy cpy05: ;9,1+6,9,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*42(a6) movem.l (a5)+,c0/c1/c2 movem.l c0/c1/c2,4*49(a6) movem.l (a5)+,c0/c1 movem.l c0/c1,(a6) ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*2(a6) ;DIGI move.l (a5)+,4*9(a6) dcb $4e71,10-6 swdigi movem.l (a5)+,c1/c2/c3/c4/c5/c6 movem.l c1/c2/c3/c4/c5/c6,4*10(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*16(a6) ;NODIGI dcb $4e71,2 swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*23(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*30(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*37(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w ; dcb $4e71,25 ; dcb $4e71,4 dcb $4e71,5 bra endcpy cpy06: ;9,3+4,9,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*40(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*47(a6) dcb $4e71,5 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,(a6) nop ;DIGI move.l (a5)+,4*7(a6) dcb $4e71,10-6 swdigi movem.l (a5)+,c1/c2/c3/c4/c5/c6 movem.l c1/c2/c3/c4/c5/c6,4*8(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*14(a6) ;NODIGI dcb $4e71,2 swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*21(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*28(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*35(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w ; dcb $4e71,25 ; dcb $4e71,4 dcb $4e71,5 bra endcpy cpy07: ;9,5+2,9,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*38(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*45(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0 movem.l c0,4*51(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,(a6) dcb $4e71,5 ;DIGI swdigi movem.l (a5)+,c1/c2/c3/c4/c5/c6 movem.l c1/c2/c3/c4/c5/c6,4*6(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*12(a6) ;NODIGI dcb $4e71,2 swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*19(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*26(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*33(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w ; dcb $4e71,25 ; dcb $4e71,4 dcb $4e71,5 bra endcpy cpy08: ;9,7,9,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*36(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*43(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2 movem.l c0/c1/c2,4*49(a6) movem.l (a5)+,c0/c1/c2/c3 movem.l c0/c1/c2/c3,(a6) dcb $4e71,5 ;DIGI swdigi movem.l (a5)+,c1/c2/c3/c4/c5/c6 movem.l c1/c2/c3/c4/c5/c6,4*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*10(a6) ;NODIGI dcb $4e71,2 swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*17(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*24(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*31(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy09: ;9,9,7,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*34(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*41(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*47(a6) movem.l (a5)+,c0/c1 movem.l c0/c1,(a6) dcb $4e71,5 ;DIGI swdigi movem.l (a5)+,c1/c2/c3/c4/c5/c6 movem.l c1/c2/c3/c4/c5/c6,4*2(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*8(a6) ;NODIGI dcb $4e71,2 swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*15(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*22(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*29(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy10: ;9,9,2+5,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*32(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*39(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*45(a6) dcb $4e71,10 ;DIGI swdigi movem.l (a5)+,c1/c2/c3/c4/c5/c6 movem.l c1/c2/c3/c4/c5/c6,4*0(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*6(a6) ;NODIGI dcb $4e71,2 swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*13(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*20(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*27(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy11: ;9,9,4+3,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*30(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*37(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*43(a6) move.l (a5)+,50*4(a6) dcb $4e71,4 ;DIGI swdigi move.l (a5)+,51*4(a6) movem.l (a5)+,c1/c2/c3/c4 movem.l c1/c2/c3/c4,(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*4(a6) dcb $4e71,5 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*11(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*18(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*25(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy12: ;9,9,6+1,9,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*28(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*35(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*41(a6) move.l (a5)+,48*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2 movem.l c0/c1/c2,49*4(a6) movem.l (a5)+,c1/c2 movem.l c1/c2,(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*2(a6) dcb $4e71,1 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*9(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*16(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*23(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy13: ;9,9,8,8,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*26(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*33(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*39(a6) move.l (a5)+,46*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,47*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,(a6) dcb $4e71,1+6 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*7(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*14(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*21(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy14: ;9,9,9,1+6,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*24(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*31(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*37(a6) move.l (a5)+,44*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,45*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,(a6) dcb $4e71,1+6 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*5(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*12(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*19(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy15: ;9,9,9,3+4,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*22(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*29(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*35(a6) move.l (a5)+,42*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,43*4(a6) movem.l (a5)+,c0/c1 movem.l c0/c1,50*4(a6) movem.l (a5)+,c0/c1/c2 movem.l c0/c1/c2,(a6) dcb $4e71,1 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*3(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*10(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*17(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy16: ;9,9,9,5+2,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*20(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*27(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*33(a6) move.l (a5)+,40*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,41*4(a6) movem.l (a5)+,c0/c1/c2/c3 movem.l c0/c1/c2/c3,48*4(a6) movem.l (a5)+,c0 movem.l c0,(a6) dcb $4e71,1 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*1(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*8(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*15(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy17: ;9,9,9,7,9,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*18(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*25(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*31(a6) move.l (a5)+,38*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,39*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,46*4(a6) dcb $4e71,2 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,(a6) ;DIGI dcb $4e71,10+5 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*6(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*13(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy18: ;9,9,9,9,7,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*16(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*23(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*29(a6) move.l (a5)+,36*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,37*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,44*4(a6) dcb $4e71,2 ;NODIGI swnodigi movem.l (a5)+,c0/c1 movem.l c0/c1,50*4(a6) movem.l (a5)+,c0/c1/c2/c3 movem.l c0/c1/c2/c3,(a6) ;DIGI dcb $4e71,9 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*11(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy19: ;9,9,9,9,2+5,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*14(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*21(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*27(a6) move.l (a5)+,34*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,35*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,42*4(a6) dcb $4e71,2 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3 movem.l c0/c1/c2/c3,48*4(a6) movem.l (a5)+,c0/c1 movem.l c0/c1,(a6) ;DIGI dcb $4e71,9 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*2(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*9(a6) ;NODIGI+RETURN dcb $4e71,6 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy20: ;9,9,9,9,4+3,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*12(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*19(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*25(a6) move.l (a5)+,32*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,33*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,40*4(a6) dcb $4e71,2 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,46*4(a6) ;DIGI dcb $4e71,1+6+7 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*7(a6) ;NODIGI+RETURN dcb $4e71,6+1 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy21: ;9,9,9,9,6+1,9 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*10(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*17(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*23(a6) move.l (a5)+,30*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,31*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,38*4(a6) dcb $4e71,2 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,44*4(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0 movem.l c0,51*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*5(a6) ;NODIGI+RETURN dcb $4e71,5 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy22: ;9,9,9,9,8,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*8(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*15(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*21(a6) move.l (a5)+,28*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,29*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,36*4(a6) dcb $4e71,2 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,42*4(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2 movem.l c0/c1/c2,49*4(a6) movem.l (a5)+,c0/c1/c2 movem.l c0/c1/c2,(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,4*3(a6) ;NODIGI+RETURN dcb $4e71,5 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy23: ;9,9,9,9,8,8 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*6(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*13(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*19(a6) move.l (a5)+,26*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,27*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,34*4(a6) dcb $4e71,2 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,40*4(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,47*4(a6) movem.l (a5)+,c0 movem.l c0,(a6) movem.l (a5)+,c0/c1/c2/c3/c4 movem.l c0/c1/c2/c3/c4,1*4(a6) ;NODIGI+RETURN dcb $4e71,5 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy24: ;9,9,9,9,9,3+4 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*11(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*17(a6) move.l (a5)+,24*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,25*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,32*4(a6) dcb $4e71,2 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,38*4(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,45*4(a6) movem.l (a5)+,c0/c1/c2/c3 movem.l c0/c1/c2/c3,(a6) ;NODIGI+RETURN dcb $4e71,1+6+4 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy cpy25: ;9,9,9,9,9,5+2 move.b #1,$ffff8260.w ;GunsticK's right border end switch move.b #0,$ffff8260.w ; move.b #$70,$ffff8240.w ; move.b #0,$ffff8240.w ; movem.l d0/d1/d2,$ffff8250.w ;mdist dcb $4e71,9 move.b #2,$ffff8260.w ;Open left border move.b #0,$ffff8260.w move.l d3,$ffff824e.w ;mdist movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*2(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,4*9(a6) dcb $4e71,1 ;NODIGI nop swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,4*15(a6) move.l (a5)+,22*4(a6) dcb $4e71,4 ;DIGI swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,23*4(a6) movem.l (a5)+,c0/c1/c2/c3/c4/c5 movem.l c0/c1/c2/c3/c4/c5,30*4(a6) dcb $4e71,2 ;NODIGI swnodigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,36*4(a6) ;DIGI dcb $4e71,10 swdigi movem.l (a5)+,c0/c1/c2/c3/c4/c5/c6 movem.l c0/c1/c2/c3/c4/c5/c6,43*4(a6) movem.l (a5)+,c0/c1 movem.l c0/c1,50*4(a6) movem.l (a5)+,c0/c1 movem.l c0/c1,(a6) ;NODIGI+RETURN dcb $4e71,1+4 dcb $4e71,17 ;mdist move.b #0,$ffff820a.w ;Open right border move.b #2,$ffff820a.w ; move.b #$7,$ffff8240.w ; move.b #0,$ffff8240.w dcb $4e71,5 bra endcpy ; ;********************************************************** section data ;********************************************************** ; Distorted scroller by Gunstick digi: ; incbin "includes\telgraph.dmn" hwbounceptr: dc.l hwbouncetab hwbouncetab: dc.w 230*16,230*16 dc.w 230*16,230*16 dc.w 230*15,230*15 dc.w 230*15,230*15 dc.w 230*14,230*14 dc.w 230*14,230*14 dc.w 230*13,230*13 dc.w 230*12,230*12 dc.w 230*11,230*10 dc.w 230*9,230*8 dc.w 230*7 dc.w 230*6 dc.w 230*5,230*3 dc.w 230*1,230*3 dc.w 230*5 dc.w 230*6,230*7 dc.w 230*8,230*9 dc.w 230*10,230*11 dc.w 230*12,230*12 dc.w 230*13,230*13 dc.w 230*14,230*14 dc.w 230*14,230*14 dc.w 230*15,230*15 dc.w 230*15,230*15 dc.w 230*16,230*16 dc.w 230*16,230*16 dc.w 0 scrnadrs: dc.l screen+64400*0 dc.l screen+64400*1 dc.l screen+64400*2 dc.l screen+64400*3 dc.l screen+64400*0+230*20 dc.l screen+64400*1+230*20 dc.l screen+64400*2+230*20 dc.l screen+64400*3+230*20 dc.l screen+64400*0+230*40 dc.l screen+64400*1+230*40 dc.l screen+64400*2+230*40 dc.l screen+64400*3+230*40 dc.l screen+64400*0+230*60 dc.l screen+64400*1+230*60 dc.l screen+64400*2+230*60 dc.l screen+64400*3+230*60 dc.l screen+64400*0+230*80 dc.l screen+64400*1+230*80 dc.l screen+64400*2+230*80 dc.l screen+64400*3+230*80 dc.l screen+64400*0+230*100 dc.l screen+64400*1+230*100 dc.l screen+64400*2+230*100 dc.l screen+64400*3+230*100 dc.l screen+64400*0+230*120 dc.l screen+64400*1+230*120 dc.l screen+64400*2+230*120 dc.l screen+64400*3+230*120 dc.l screen+64400*0+230*140 dc.l screen+64400*1+230*140 dc.l screen+64400*2+230*140 dc.l screen+64400*3+230*140 dc.l screen+64400*0+230*160 dc.l screen+64400*1+230*160 dc.l screen+64400*2+230*160 dc.l screen+64400*3+230*160 dc.l screen+64400*0+230*180 dc.l screen+64400*1+230*180 dc.l screen+64400*2+230*180 dc.l screen+64400*3+230*180 dc.l screen+64400*0+230*200 dc.l screen+64400*1+230*200 dc.l screen+64400*2+230*200 dc.l screen+64400*3+230*200 dc.l screen+64400*0+230*220 dc.l screen+64400*1+230*220 dc.l screen+64400*2+230*220 dc.l screen+64400*3+230*220 dc.l screen+64400*0+230*240 dc.l screen+64400*1+230*240 dc.l screen+64400*2+230*240 dc.l screen+64400*3+230*240 dc.l screen+64400*0+230*260 dc.l screen+64400*1+230*260 dc.l screen+64400*2+230*260 ; dc.l screen+64400*3+230*260 ; dc.l screen+64400*0+230*280 dc.l 0 font equ *-32*8 incbin "includes\font.bin" even wavetab: ; dc.l byteschief,0 dc.l wordschief dc.l byteschief dc.l nix dc.l nix dc.l wordhinher dc.l nix dc.l nix dc.l hacker,hacker,hacker dc.l hacker,hacker,hacker dc.l hacker,hacker,hacker dc.l hacker,hacker,hacker dc.l hacker,hacker,hacker ; dc.l dreieck dc.l dreieck dc.l dreieck dc.l dreieck dc.l dreieck dc.l dreieck dc.l dreieck dc.l dreieck dc.l dreieck dc.l dreieck dc.l slowdist,slowdist,slowdist,slowdist dc.l slowdist,slowdist,slowdist,slowdist dc.l slowdist,slowdist,slowdist,slowdist dc.l hacker,hacker,hacker dc.l sinus dc.l sinus dc.l sinus dc.l sinus dc.l sinschief dc.l sinschief dc.l sinschief dc.l sinschief dc.l sinus dc.l sinus dc.l sinus dc.l sinus dc.l sinschief dc.l sinschief dc.l sinschief dc.l sinschief dc.l bigsin dc.l bigsin dc.l bigsin dc.l sinus dc.l sinus dc.l sinschief dc.l sinschief dc.l sinus dc.l sinus dc.l bigsin dc.l bigsin dc.l bigsin dc.l bigsin dc.l bigsin dc.l bytezurueck dc.l bytezurueck dc.l bytezurueck dc.l bytezurueck dc.l bytezurueck dc.l bytezurueck dc.l bytezurueck dc.l bytezurueck dc.l bytezurueck dc.l bytezurueck dc.l bytezurueck dc.l bytezurueck dc.l wordschief dc.l wordschief dc.l wordschief dc.l 0 ;end hacker: dc.w 2-1,-2,2,-2,2,-2,2,-2-1 dc.w 4,-4,4,-4,4,-4,4,-4-1 dc.w 6,-6,6,-6,6,-6,6,-6-1 dc.w 8,-8,8,-8,8,-8,8,-8-3 dc.w 12,-12,12,-12,12,-12,12,-12-1 dc.w 14,-14,14,-14,14,-14,14,-14-1 dc.w 16,-16,16,-16,16,-16,16,-16 dc.w 16,-16,16,-16,16,-16,16,-16+1 dc.w 14,-14,14,-14,14,-14,14,-14+1 dc.w 12,-12,12,-12,12,-12,12,-12+3 dc.w 8,-8,8,-8,8,-8,8,-8+1 dc.w 6,-6,6,-6,6,-6,6,-6+1 dc.w 4,-4,4,-4,4,-4,4,-4+1 dc.w 2,-2,2,-2,2,-2,2,-2+1 dc.w 128 dc.w 0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,16 dc.w 0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,-16 dc.w 0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,16 dc.w 0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,-16 dc.w 128 slowdist: dc.w 0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1 dc.w 0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1 dc.w 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1 dc.w 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 1,1,1,2,1,1,1,2,1,1,1,2,1,1,1,2 dc.w 1,2,1,2,1,2,1,2,2,2,2,2,2,2,2,2 dc.w 2,2,2,3,2,2,2,3,2,3,2,3,2,3,2,3 dc.w 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 dc.w 2,3,2,3,2,3,2,3,2,2,2,3,2,2,2,3 dc.w 2,2,2,2,2,2,2,2,1,2,1,2,1,2,1,2 dc.w 1,1,1,2,1,1,1,2,1,1,1,2,1,1,1,2 dc.w 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 dc.w 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1 dc.w 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1 dc.w 0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1 dc.w 0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,-1,0,0,0,-1 dc.w 0,0,0,-1,0,0,0,-1 dc.w 0,-1,0,-1,0,-1,0,-1 dc.w 0,-1,0,-1,0,-1,0,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-2,-1,-1,-1,-2 dc.w -1,-2,-1,-2,-2,-2,-2,-2 dc.w -2,-2,-2,-3,-2,-3,-2,-3 dc.w -3,-3,-3,-3,-3,-3,-3,-3 dc.w -2,-3,-2,-3,-2,-2,-2,-3 dc.w -2,-2,-2,-2,-1,-2,-1,-2 dc.w -1,-1,-1,-2,-1,-1,-1,-2 dc.w -1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,-1,0,-1,0,-1,0,-1 dc.w 0,-1,0,-1,0,-1,0,-1 dc.w 0,0,0,-1,0,0,0,-1 dc.w 0,0,0,-1,0,0,0,-1 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 128 bytezurueck; dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 dc.w 128 sinschief; dc.w 0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 dc.w 0,0,1,0,0,1,0,0,2,0,0,1,0,0,1,0,0,2,0,0,2,0,0,2,0,0,2,0,0,1,0,0,1 dc.w 0,0,2,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128 wordhinher: dc.w 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 dc.w -2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,128 wordschief: dc.w 2,2,2,2,2,2,2,2 dc.w 2,2,2,2,2,2,2,2 dc.w 2,2,2,2,2,2,2,2 dc.w 2,2,2,2,2,2,2,2 dc.w 2,2,2,2,2,2,2,2 dc.w 2,2,2,2,2,2,2,2 dc.w 2,2,2,2,2,2,2,2 dc.w 2,2,2,2,2,2,2,2 dc.w 2,2,2,2,2,2,2,128 dc.w 0 dc.w 3,2,2,2,2,2,2,2,128 byteschief: dc.w 1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1,128 hops1: dc.w 1 nix: dc.w 0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0,128 dreieck: dc.w 1,0,1,0,1,0,1,0 dc.w 1,0,1,0,1,0,1,0 dc.w 1,0,1,0,1,0,1,0 dc.w 1,0,1,0,1,0,1,0 dc.w 1,1,1,1,1,1,1,1 dc.w -1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1 dc.w -1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,128 dc.w 2,2,2,2,2,2,2,2 dc.w 1,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,1,0,0,0,0 dc.w 0,0,-3,-2,-1,0,1,2 dc.w 1,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,-1 dc.w -1,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,1 dc.w 2,2,2,2,2,2,2,2 dc.w 3,3,3,3,3,3,3,3 dc.w 3,3,3,3,3,3,3,3 dc.w 4,4,4,4,4,4,4,4 dc.w 4,4,4,4,4,4,4,4 dc.w 5,5,5,5,5,5,5,5 dc.w 5,5,5,5,5,5,5,5 dc.w 5,5,5,5,5,5,5,5 dc.w 5,5,5,5,5,5,5,5 dc.w 5,5,5,5,5,5,5,5 dc.w 4,4,4,4,4,4,4,4 dc.w 4,4,4,4,4,4,4,4 dc.w 4,4,4,4,4,4,4,4 dc.w 3,3,3,3,3,3,3,3 dc.w 3,3,3,3,3,3,3,3 dc.w 2,2,2,2,2,2,2,2 dc.w 2,2,2,2,2,2,2,2 dc.w 1,1,1,1,1,1,1,1 dc.w 0,0,0,0,0,0,0,0 dc.w -1,-1,-1,-1,-1,-1,-1,-1 dc.w -2,-2,-2,-2,-2,-2,-2,-2 dc.w -3,-3,-3,-3,-3,-3,-3,-3 dc.w -3,-3,-3,-3,-3,-3,-3,-3 dc.w -4,-4,-4,-4,-4,-4,-4,-4 dc.w -4,-4,-4,-4,-4,-4,-4,-4 dc.w -4,-4,-4,-4,-4,-4,-4,-4 dc.w -4,-4,-4,-4,-4,-4,-4,-4 dc.w -4,-4,-4,-4,-4,-4,-4,-4 dc.w -3,-3,-3,-3,-3,-3,-3,-3 dc.w -3,-3,-3,-3,-3,-3,-3,-3 dc.w -2,-2,-2,-2,-2,-2,-2,-2 dc.w -1,-1,-1,-1,-1,-1,-1,-1 dc.w 0,0,0,0,0,0,0,0,128 dc.w 16,16,16,16,16,16,16,16 dc.w 1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1 dc.w 1,1,1,1,1,1,1,1 dc.w 128 sinus: dc.w 1,0,0,1,0,0,1,0,0,1,0,0,2,0,0,1,0,0,2,0,0,1,0,0,2,0,0,2 dc.w 0,0,2,0,0,2,0,0,3,0,0,2,0,0,3,0,0,2,0,0,3,0,0,3,0,0,3,0,0,3 dc.w 2,0,0,3,0,0,2,0,0,3,0,0,2,0,0,2,0,0,2,0,0,2,0,0,1,0,0,2,0,0,1,0,0,1,0,0,1,0,0,1 dc.w 0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,-1,0,0,0,0,0,-1 dc.w -1,0,0,-1,0,0,-1,0,0,-2,0,0,-1,0,0,-2,0,0,-1,0,0,-2,0,0,-2,0,0,-2,0,0,-3,0,0,-2 dc.w -3,0,0,-3,0,0,-3,0,0,-2,0,0,-3,0,0,-2,0,0,-2,0,0,-2,0,0,-1,0,0,-2,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,0,0,-1,0,0,0,0,0,0 dc.w 128 bigsin: dc.w 1,0,0,1,0,0,1,0,0,2,0,0,2,0,0,2,0,0,3,0,0,3,0,0,3,0,0,4,0,0,4,0,0,4 dc.w 5,0,0,5,0,0,5,0,0,4,0,0,4,0,0,3,0,0,3,0,0,2,0,0,2,0,0,1,0,0,1,0,0,0 dc.w 0,0,0,-1,0,0,-1,0,0,-2,0,0,-2,0,0,-3,0,0,-3,0,0,-4 dc.w -4,0,0,-5,0,0,-5,0,0,-4,0,0,-4,0,0,-4,0,0,-3,0,0,-3 dc.w -3,0,0,-2,0,0,-2,0,0,-2,0,0,-1,0,0,-1,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,128 zero equ 1 one equ 3 two equ 5 three equ 7 four equ 9 five equ 11 six equ 13 seven equ 15 eight equ 17 nine equ 19 dp equ 21 sp equ 23 ka equ 25 mi equ 27 kz equ 29 fz equ 31 az equ 33 a equ 35 b equ 37 c equ 39 d equ 41 e equ 43 f equ 45 g equ 47 h equ 49 i equ 51 j equ 53 k equ 55 l equ 57 m equ 59 n equ 61 o equ 63 p equ 65 q equ 67 r equ 69 s equ 71 t equ 73 u equ 75 v equ 77 w equ 79 x equ 81 y equ 83 z equ 85 space equ 87 ;Panic buffer for scrolltext dc.b 01,0,0,0,0,0,0,0,0,01,0,0,01,0,0,01,0,0,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01 dc.b space,az,az+1,az,az+1,space,space,space,n,n+1,o,o+1,b,b+1,o,o+1,d,d+1,y,y+1 dc.b space,space,c,c+1,a,a+1,n,n+1,space,space,b,b+1,e,e+1,a,a+1,t,t+1 dc.b space,space,u,u+1,space,l,l+1,space,m,m+1,space,az,az+1,az,az+1,az,az+1 dc.b space,space,space scrolltext: dc.b space,space,space,h,h+1,e,e+1,l,l+1,l,l+1,o,o+1,space,space dc.b t,t+1,h,h+1,i,i+1,s,s+1,space,space,i,i+1,s,s+1,space,space dc.b g,g+1,u,u+1,n,n+1,s,s+1,t,t+1,i,i+1,c,c+1,k,k+1,space,s,s+1 dc.b space,space,space,r,r+1,e,e+1,v,v+1,o,o+1,l,l+1,u,u+1,t,t+1,i,i+1,o,o+1 dc.b n,n+1,a,a+1,r,r+1,y,y+1,space,space,f,f+1,u,u+1,l,l+1,l,l+1,mi,mi+1 dc.b s,s+1,c,c+1,r,r+1,e,e+1,e,e+1,n,n+1,mi,mi+1,s,s+1,c,c+1,r,r+1,e,e+1,e,e+1,n,n+1 dc.b space,az,az+1,az,az+1,space,space,space,n,n+1,o,o+1,b,b+1,o,o+1,d,d+1,y,y+1 dc.b space,space,c,c+1,a,a+1,n,n+1,space,space,b,b+1,e,e+1,a,a+1,t,t+1 dc.b space,space,u,u+1,space,l,l+1,space,m,m+1,space,az,az+1,az,az+1,az,az+1 dc.b space,space,space dc.b 0 dc.b 87,87 dc.b 01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20 dc.b 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40 dc.b 41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60 dc.b 61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80 dc.b 81,82,83,84,85,86,87 dc.b 0 even ;********************************************************** prt: dc.b 27,"Y",32+20,32+1," 000" str: dc.b "0 ",0 even psginittab:dc.b 0,$ff,1,$ff,2,$ff,3,$ff,4,$ff,5,$ff,6,0 dc.b 7,$7f,8,7,9,7,10,7,$ff,0 even hwpalette: dc.w $0700,$0707,$0474,$0777,$0606,$0505,$0404,$303 dc.w $777,$666,$555,$444,$333,$222,$111,$002 graphic: dc.w $d555,$3333,$0f0f,$ff message: dc.b 0 even lowbyte: dc.b 0 hwscrolldat: incbin "includes\hwscroll.dat" even section bss stack: ds.l 1 oldpal: ds.w 16 oldres: ds.w 1 screenad1:ds.w 1 screenad2:ds.l 1 screenadr:ds.l 1 logbase: ds.l 1 ;screen where to put scroll black: ds.l 8 tabentry: ds.l 1 ;for hwscroll cpybufdest: ds.l 1 ;copy from (this+4buffers-1scroll) to (this) shiftcnt: ds.w 1 ;counter for shifter count: ds.l 1 ;for some dbf without register nextscrn: ds.l 1 ;points to next screenadress to be used distcalc: ds.w 1 distwaveptr: ds.l 1 ;pointer in one distwave wavetabptr: ds.l 1 ;pointer to the next wave to be played disttableptr: ds.l 1 ;pointer to the distorter adjust table ds.w 1600 ;panic for table disttable: ds.w 26*2+100 ;adjusttable for the two distorters ds.w 1600 ;panic for table linebuffbegin: textptr: ds.l 1 ;letter not completly copied into buffer (forward) bufptr: ds.l 1 ;pos where graphic is added in preshift 0 bufcnt: ds.w 1 ;which one of the 26 routs to be used to copy shift: ds.w 1 ;which preshift to copy buffer: ds.l 2*26*16 ;16 shifts of the 1st line of the scrolling linebuffend: rept 25 ;26 lines scroll ; ds.l 1 ; ds.l 1 ; ds.w 1 ; ds.w 1 ds.l 2*26*16+1+1+1 endr ds.l 230*40 screen: rept 5 ds.l 8000 ds.l 8000 endr end screen: ;************** Digiplayer by GunsticK ;init lea digi,a3 lea voltab,a4 move.w (a3)+,d3 lea $ffff8800,a5 loop: btst #6,$fffffa0d.w bne exit ;************** Domino Digiplayer by GunsticK moveq #-1,d0 move.b (a3),d0 add.w d0,d0 add.w (a4,d0),d3 andi.w #$ff*4,d3 move.l (a4,d3),d0 movep.l d0,(a5) ;~7 not.w $ffff8240.w not.w $ffff8240.w dcb $4e71,128-22-8 moveq #-1,d0 ;~1 move.b (a3)+,d0 ;~2 add.w d0,d0 ;~1 add.w 2(a4,d0),d3 ;~4 andi.w #$ff*4,d3 ;~2 move.l (a4,d3),d0 ;~5 movep.l d0,(a5) ;~7 not.w $ffff8240.w not.w $ffff8240.w dcb $4e71,128-22-20-8 cmp.l #digiend,a3 blo.s contdigi lea digi,a3 lea voltab,a4 move.w (a3)+,d3 _contdigi: bra loop contdigi: bra.s _contdigi exit: movea.l $0600.w,a0 jmp (a0) waitvbl: move.b $ffff8203.w,d0 lsl.w #8,d0 lea $ffff8207.w,a0 no_vbl: movep.w 0(a0),d1 cmp.w d0,d1 bne.s no_vbl rts ;please leave all section indications unchanged... ;here starts the data section black: dc.l 0,0,0,0,0,0,0,0 dc.l 0,0,0,0,0,0,0,0 graphic: dc.l %01010101010101010011001100110011 dc.l %00001111000011111111111111111111 pal: dc.w $000,$0221,$0332,$0443,$0554,$0665,$0110,$20 entrylen = 4 even digi: dc.w entrylen*$a0 incbin "telgraph.dmn" digiend: ;end of data section section bss ;please leave all section indications unchanged... bss_start: ;here starts the bss stack: ds.l 1 screenad1: ds.l 1 screenmem: ds.l 14300 bss_end: ;here ends the bss