>>>>> "Werner" == Werner Almesberger <[email protected]> writes:
> So far, when using DMA, all the 640x480 modes suffered from what I > call FIFO jitter, where many lines are shifted by 10-20 pixels, > similar to the artefacts shown here: [..] > As one can see, there is still considerable jitter in the range of a > few pixels. I suspected that this was caused by the low accuracy of my > timer polling loop: the timer runs at about 112 MHz but we can only > poll it with approximately 10 MHz. Hi Werner, I wonder whether having a high-priority timer interrupt would help here? Already thought about hooking into interrupts on the NanoNote. Might work like in the MS-DOS days. Just read out the current value of the IRQ in the vector table, replace it by our own IRQ routine, and make our IRQ routine (selectively?) tail-jump to the original IRQ. After a short glance at Linux memory mapping basics, I think we might get away with putting our IRQ routine into a of physical memory, using then the corresponding kernel logical address of the IRQ vector table!? Where kernel logical address maybe equals the physical address? Would help if the service routine where 100% position-independant code. But that should be possible. Just use only relative jumps (BGTZ etc.). PC-relative references are a little tricky (since PC cannot be read), but doing a 'BGEZAL #4' captures PC in $31 ($ra). just my $0.02 cheers, David -- GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40
pgp22Oz7mbTzQ.pgp
Description: PGP signature
_______________________________________________ Qi Hardware Discussion List Mail to list (members only): [email protected] Subscribe or Unsubscribe: http://lists.en.qi-hardware.com/mailman/listinfo/discussion

