Thread: Sine scroller
View Single Post
Old 13 April 2007, 22:35   #10
bobbybearing
Zone Friend
 
bobbybearing's Avatar
 
Join Date: Oct 2003
Location: France
Age: 51
Posts: 161
wooo
you seems to want make all in one step!

have you tested each routine, step by step, before put the whole routs in interrupt ?

first test if text appear on main screen, to see if modulos or addresses are good.
then make a scroll routine and test it in the main loop with a wait vbl
wait_lmb:
move.l $dff004,d0
and.l #$1ff00,d0
cmpi.l #256<<8,d0
bne.s wait_lmb

bsr get_char_pos

btst #6,mouse
bne.s wait_lmb

and if these 2 routs run fine, you can start the sinus copy. it's more simple to detect bug.

/!\ : in case of animation, you have to use the double buffering for a good result !

start your code with :
movem.l d0-d7/a0-a6,-(sp)
and end the code with:
movem.l (sp)+,d0-d7/a0-a6
moveq #0,d0 ; no error
rts

try to use decimal value for some registers like modulos, bltsize... you can write expressions. more simple to read

about the interrupt, you miss to save and restore intreq/intena registers.
Terminate your interrupt with rte, and not the old address and rts

about scroll : more smooth 8!

sin rout : stay in loop => freeze
bobbybearing is offline  
 
Page generated in 0.04217 seconds with 11 queries