; unbanked picture version.. made it! close call though! ; pic: 124x59 (y) ; buf: 160x100 = 160x50 (top) (y) + 160x50 (btm) (x) get: MACRO jclr #0,X:<<$FFE9,* movep X:<<$FFEB,\1 ENDM send: MACRO jclr #1,X:<<$FFE9,* movep \1,X:<<$FFEB ENDM org x:0 xoff: ds 1 yoff: ds 1 top_border: ds 1 topl_border: ds 1 btmu_border: ds 1 btm_border: ds 1 top_lines: ds 1 btm_lines: ds 1 picadr: ds 1 left_border: ds 1 mid_pixels: ds 1 right_border: ds 1 stride: ds 1 ; for pic! (w=124) screenstride: ds 1 ; for screenbuffer! (w=160) pal_offset: ds 1 steps: ds 160 ysteps: ds 100 xbuf: ds 8000 ds 256 ; 0 words (for fading) pal: ds 256 end_x_mem: org y:0 pic: ds 124*59 ybuf: ds 8000 end_y_mem: ; just enuff mem left.. ayee! org p:0 jmp 4,y0 tst b (r0)+n0 jeq <_top_loop do b,_top_loop move x:$F00000,a0 move x0,b0 do #160,_preloop add b,a a,x:(r0)+ _preloop: ; precalc y steps (top) ; move #ysteps,r0 ; put y offset in a1 move x0,a lsr a #100,y0 tfr y0,a a1,x1 mac -x1,y0,a asr a #<50,n0 ; a1= y offset ; top do #50,_preloop_yt add b,a a,x:(r0)+ _preloop_yt: ; btm move (r0)+n0 do #50,_preloop_yb add b,a a,x:-(r0) _preloop_yb: ; top clr b #ysteps,r0 move #ybuf,b0 move #160/2,y0 do #50,_preloop_yt2 tfr b,a x:(r0),x1 mac x1,y0,a move a0,x:(r0)+ _preloop_yt2: ; btm move #xbuf-160*50,b0 do #50,_preloop_yb2 tfr b,a x:(r0),x1 mac x1,y0,a move a0,x:(r0)+ _preloop_yb2: ; now actually blur it, using the steptables. ; top move #<80,n0 move #ybuf,r2 move #ysteps,r3 move #<80,n2 do #50,_toploop move #8000,x1 move #>$7FFFFF/40,y1 move #pal,r2 move x:160,a tmi x1,b cmp a,b tgt a,b move b,x:36,x0 move a,x: