Sunday, August 1, 2010

PC->NES Speed improvement!

So I've been wrestling with the timing of the transfer tool. The Arduino end is a huge unknown since I can't get access to the underlying assembly. The good news is I figured out what was blowing the timing. I had 2 bytes being sent each time - pretty much like a PISO (parallel in serial out) shift register. The way I was doing it originally was

PORTC = (byteToSend1 >> bitIndex);

Which was fine, but in the worst case it would have to shift the value 15 times.
Instead I made the change persistant:

byteToSend1 = (byteToSend1 >> 1);
PORTC = (byteToSend1);

Which ensures each bit only needs to be shifted once!


  1. Absolutely fantastic posting! Lots of useful information and inspiration, both of which we all need!Relay appreciate your work.
    raja poker

  2. this post is really amazing and the the information is brilliant.

    Escorts Service in Goa

    Delhi Escort

  3. I dunno how to say, but this post so helpfully
    Agen Bola Terpercaya

  4. This is a very interesting post and thanks for this informative post.
    VIP Delhi Escorts Service
    Escorts Service in Delhi

  5. Hi, I have been looking for some straight alternatives regarding it almost three times. You affected me with a lot indeed and analyzing this your website. There is many new and useful details on this subject. Well job and keep it up.
    Escorts in Gurgaon |
    Escorts in Gurgaon
    Gurgaon Escorts Service |
    Escorts in Delhi |
    Gurgaon Escorts |
    Female Escorts in Gurgaon |
    Gurgaon Escorts Service |
    Female Escorts in Dwarka