So my mission has been achieved! I have removed SDL from RetroCopy! Now why am I excited about this and why should you care? Good question.
Firstly what is SDL and why am I talking about it?
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.
Basically RetroCopy only used this library for creating the window you see on your desktop and input (mouse, keyboard, joysticks, etc). The reason I used SDL is because at some stage I knew RetroCopy was going multi platform and I didn't want to have to bother with creating the code for windowing and input for each platform.
Now for simple projects SDL is fine and dandy, it even has a lot of features many people find useful. I don't want to rag too much on FREE and open source libraries, for MANY projects SDL is exactly what you need! But why is it only useful for simple projects in my opinion? Well two reasons, A) it has a lot of bugs (I was surprised) and B) it doesn't have features people need for user friendly applications on modern operating systems. Threaded input and multi monitor support is completely missing for instance.
Seeing as RetroCopy only uses a tiny fraction of SDL and with the v0.720 -> v0.800 rewrite now complete (which removed nearly every windows specific code) I thought NOW is the time to free RC from the shackles of SDL. So I've basically written my own window and input engine, and in the process made porting Linux, MacOS, etc a bit easier on myself by adding a few layers. With SDL removed the amount of code that is 100% original in RetroCopy is now nearing 95% (the font engine isn't written be myself but it's awesome), and with the code base of RetroCopy nearing a half million lines of code, I think that is quite an achievement for myself (pats self on back).
What are the better features coming to RC due to all this. Well, less bugs, less input latency and better support for features you probably take for granted in other applications. Also the size of retrocopy.exe has SHRUNK by a massive 20% or 800KB. Wooooo! Are you wooing? No? That's what probably makes me the nerd.
I'll be writing a post specific to input latency in the next day or two because I think most people will be interested in the limitations of emulators with input and RetroCopy's NEXT VERSION way to improve it. I even have some graphics prepared for it unlike this bible type post.
Also check out the work Tommy is doing with the online game database and add some reviews for the games you play. I recently checked the logs and over 10000 hours of game play time has been recorded for SMS alone. And even though GameGear and Arcade have only been up a few days they have already accumulated a few hundred hours of play time! This is only for member usage also as the game logging is only enabled when you are logged in, the real figure would likely be 2 or 3 times higher.
Last thing to mention is, if you missed the v0.850 release of the RetroCopy media torrent (contains all the 3D covers and screenshots), grab it here. http://www.retrocopy.com/downloads/media.torrent