Hi Michel, you almost have it. The clock already constructs a 'drawlist' and draws it top to bottom as fast as it can, each segment displayed as many times as needed to have proper intensity. Please see the code which is well-commented - draw.asm and drawlist.asm is very helpful for you. There is no need for an interrupt because the next segments are prepared while the previous segment is being displayed (unblanked). The MCU has spare cycles at that instant. In fact, for a screen displaying a small drawlist there are many spare cycles.
There is a throttle in the 'config' setup screen called "Delay", which you can change to control how long the display is left unblanked for each segment. Reducing this delay allows for very high refresh rates already! - EXCEPT: The display is currently deliberately timed to display one drawlist at 50Hz or 60Hz refresh. This is to ensure stability in the vicinity of magnetic fields. Remember the CRT does not have a shield, so electric wiring in the house will cause the image to sway if the refresh rate is not aligned. If we ignore this concern, we can easily have super-high refresh rates with only a code change. But to be honest for basic games this will not be necessary. Look at the main menu, with a myriad of hundreds of segments being displayed successfully at 60Hz. Also, currently the clock is 20Mhz (okay, 19.xxxx). I may rework for a 40Mhz (39) clock, not difficult on the same board and same PIC. But the proof is in the pudding. One day I'll upload something. But I really like your ideas. It will be good to think about! Aaron On 2012/09/06, at 9:38, Michel <[email protected]> wrote: > OK, I see the difference. David uses a timed system to display the > arcs, while I would use a counter system. I would let the amount of > displayed objects (arcs) determine the screen refresh rate rather than > a pre-defined (timed) rate. For example, the smallest circle I would > display exactly 1 time while the largest circle could be 20 times to > make it appear with the same brightness. This way I would sequence a > list of all the arcs to be displayed, and once at the bottom go > immediately to the top. The refresh rate could then well be 200Hz for > very few objects or 20Hz for many objects. If you want to make some > games for your clock, this method would lead to a larger amount of > arcs you can display on the screen, but you would need to hookup Q9 to > an external interrupt and re-write the software a bit. You might also > have to run the MCU at a higher frequency so that you can still update > the D/A converters at the new rate. > > Michel > > > > > On Sep 6, 9:51 am, Oscilloclock <[email protected]> wrote: >> You have it, Michel! >> >> I have several posts on theory in Draft state so be sure to subscribe or >> check back once in a while. Until then, (and very likely even AFTER then!), >> the best circuit theory explanation is on David's site: >> >> http://cathodecorner.com/sc200theory.html >> >> My circuit has not veered greatly from his design. >> >> Aaron > > -- > You received this message because you are subscribed to the Google Groups > "neonixie-l" group. > To post to this group, send an email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "neonixie-l" group. To post to this group, send an email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
