rodot wrote:I was thinking about something different : when you generate a new frame, you make 50/50 merge with the previous one an you display the result. Do you get what I mean?
I think so, but the problem is what is a "frame". There are two threads running - one with the AVR simulator, including a simulated LCD display. Periodically (once every computer monitor refresh, I think) the LCD memory gets copied into a framebuffer, then displayed on the screen. If these refresh rates don't match - I read on these forums that about 44Hz is a good rate for grey, vs 60 Hz for your monitor - you'll get the flickering. Also, the LCD doesn't really have a fixed refresh rate (maybe internally it does, but you don't get any control over that), it just updates when you write to part of its memory.
Maybe the actual fading times for the LCD itself needs to be simulated. Being a passive LCD screen (not a TFT screen). there would be a noticeable fade in/fade out when you turn pixels on and off. This could be considered when handling LCD writes.
DFX2KX wrote:I don't know how you managed to get a working emulator so fast....
I guess I did the easy bit - the hard stuff came from simavr! That's also why it's a bit slow, but it's just fast enough for most computers these days. (I tried adding debugging support, but it runs at about 50% speed! I haven't made a Windows build with this yet.)