|  | Atari coding BBS
 
 
 
| Timer-B at several lines? | 
|---|
 
| Posted by: PeyloW | Apr,23.2015-17:13 |  
| I am creating auto generated code for timer-b interrupts, for setting colors and new screen address for screen splits. Obviously I want to avoid the timer firing every line, so I use the counting mode and the timer-b counter in $fa1b.w.
 
 The counter set in the vbl is respected, but from there on the new counters set in the timer-b interrupts are used "one to late". I guess a solution would be to always generate a dummy interrupt doing nothing but setting the counter, and have all the counter updates adjusted for "one too early".
 
 Or is there a proper solution?
 
 My generated code looks something like this:
 vbl:
 addq.w  #1,vblcount
 move.w   #$000,$fffff8240.w
 clr.b    $fffffa1b.w
 move.b   #32,$fffffa21.w
 move.b   #8,$fffffa1b.w
 move.l   #timer_b1,$120.w
 save_vbl:
 jmp      $12345678
 
 timer_b1:
 move.w   #$700,$fffff8240.w
 move.l   #timer_b2,$120.w
 move.b   #16,$fffffa21.w
 rte
 
 timer_b2:
 move.w   #$070,$fffff8240.w
 move.l   #timer_b3,$120.w
 move.b   #8,$fffffa21.w
 rte
 
 timer_b3:
 move.w   #$007,$fffff8240.w
 move.l   #timer_b4,$120.w
 move.b   #4,$fffffa21.w
 rte
 
 timer_b4:
 move.w   #$000,$fffff8240.w
 clr.b    $fffffa1b.w
 rte
 
 I expect black until line 32. Then red for 16 lines, green for 8 lines, and finally blue for 4 lines.
 But what I get is black until line 32. Then red for 32 lines, green for 16 lines, and blue for 8 lines.
 
 
 
 |  
 
 
 
 
 [All messages in this thread]      [Start new thread]
 
 
 
 What's the anti-troll code?
 That's your personal code to be able to add comments and messages on the dhs.nu site.
 Don't have a code or forgot it? Fix it here.
 |