I have been porting emu8x, the 81-86 emulator for the 83+SE and 84+(se) to the 84 CSE. Since the only difference between the 84+SE and the 84+CSE is the screen (and flash), I needed to add in an emulated screen. So far it works but is very very slow. I still need to work on fixing some instabilities and other issues.
Screenshot so far:
Nice work Hooloovoo! Looking pretty spiffy.

How are you handling the different areas of safeRam? That is one thing I've often wondered... Good luck on this!
Emu8x was using little enough saferam because it doesn't need much ram other than the emulated calc's ram, which are on extra ram pages, and some state variables, which all fit in one area. I need to work on getting the CSE version to use the correct extra RAM pages because the ram page is hardcoded in a lot of places.
Edit:
I just realized that I forgot to say that I am almost out of space in the app. I need to optimize things further for size to add more code, which is probably a good thing.
Forced optimization can be both frustrating and a fun challenge, in my experience, so good luck as you work on that. What is your current approach to the LCD emulation? Perhaps we can help you brainstorm how to make it faster?
Currently I'm doing everything directly on the LCD, and I set row and column before I read or write. For the most part, the writing is pretty optimized I think, and the reading could be better. I compared it to the b/w version of emu8x and it's actually not too bad in terms of screen performance.
Currently I'm facing a dilemma. The source right now uses only port 07 for paging (in a lot of places) but not port 0F. Should I assume that the app won't be on the boundary between the two halves of flash? Not implementing port 0F would greatly simplify things but make it not work in some configurations, but make it smaller and faster.
When will a download be available?