Yeah, if you draw things in a more efficient manner then there's room for more frames down the serial.. It worked fairly well, many of the visuals are fairly usable now, but the 3900/7000 doesn't have a latching command to update the display all at once so you can sort of see it drawing, and the algorithm I had looks bad like that.. I think there's offscreen memory I could draw to and then move the viewport though to do the same thing.

I can record a video of the 3900 (and the others once I get the 610 from foxtrot and test my 7000) if you want to see how fast they are.. Like I said before I find it perfectly usable.. The main slowdown with menus is that it tries to draw 2 or 3 intermediate frames between each slide of the menu, and each one takes a while.. maybe I can detect when menus are up and turn down the sampling rate.

I'm not done improving it though.. I need to check which commands obey they XOR drawing mode, because that could speed things up considerably, especially for some of the visuals (you can just draw 1s on all the pixels that changed, without worrying about whether they changed to 1 or 0). Checkerboard patterns in visuals or the clock are murder to the current algorithm (which draws long vertical lines, then the rest with horizontal lines). Last time I looked it seemed to be useless but I think I was drawing bitmaps at the time.

I also need to look into using startup macros to show a boot logo/animation and hide the junk the empeg sends @ 115.2 before the player app starts (only the 3900 supports that.. the 7000 is 115.2 so you'll just see the boot log, for the 610 I guess you're screwed unless you do something with a timer chip to disable the serial line for the first few seconds after power's applied). And increasing the priority of the joystick input app so it doesn't get starved by the player. And getting access to Hijack from joystick. And...