On Tue, Apr 1, 2008 at 10:26 PM, Cat C <catalin_cluj@hotmail.com> wrote: > > > Here's a fun question: How did I get 30fps video out of an 8 MHz M128? :) > > Answer: With some difficulty :-D Sideways.. The data was stored in a gigabyte flash memory, predigested by a windows program. So on each frame, I had to read in only 16 words of data. After that, all I had to do was to toggle an I/O pin for each word of data. On the low transition the memory read the data onto the bus, and on the high transition the display took the data off the bus. In the fastest version, I used a long batch of straightline code to do bit set and clear, rather than a loop, because the loop was slower. (had to decrement a counter and decide whether to do it again) There was a bunch of init code for the display and memory, and a bunch of code to store the images, but playback was dead simple. It had to be. Further, each image was linked to the previous one and the next one by part of that control data, so that the images didn't even have to be loaded in any particular order, and four more words defined what image you'd get sent to if you pressed any of the four buttons while that image was on. I used variable frame rate encoding with 16 words of each frame dedicated to control information. A control word told me how many milliseconds to wait before pulling up the next frame, unless you pressed a button. In addition to the appx 3k of code for the whole app, I could store three color images in the M128's program space, which made it convenient for testing.
Message
Re: [AVR-Chat] Re: Dave vanHorn's 4bit LCD lib
2008-04-02 by David VanHorn
Attachments
- No local attachments were found for this message.