Throw away the SDL with the bathwater

9/19/2010 2:14:49 AM

By RetroRalph

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

8 responses to Throw away the SDL with the bathwater

Sasha wrote:

9/19/2010 12:49:07 PM

Woooo! this is good news, Retrocopy.exe with decreased size, and with better optimisation.

Gameplay timer, yeah this is cool thing, maybe and for Mega Drive will be timer? ;)

This is more and more become interesting. :)

DiDaDo wrote:

9/19/2010 3:41:18 PM

Your a non-stopping train.. Great work!!

Sasha wrote:

9/19/2010 4:40:32 PM

I finished all game testing, also send e-mails about database. ;)

wesman6960 wrote:

9/19/2010 11:09:18 PM

WOW! amazing online game database! can't wait to see it finished!! will there be a way to access it from retrocopy?!

RetroRalph wrote:

9/19/2010 11:22:23 PM

Haha... yes you can already access it within RetroCopy, for about 9 months now. :)

FadWare wrote:

9/22/2010 8:01:31 AM

Hi Ralph, i've been out of the internet for a few months now. But i'm back and glad to see all the improvements you've done in RetroCopy. Congratulations!!!

One question only: Are you still planning to release your personal accurate 68K core?

I think that is the only "wall" between the actual state of your work and the 100% Accuracy.

RetroRalph wrote:

9/22/2010 10:53:22 AM

Out of the internet.... on the space shuttle? :D

RC 68K core, not any time soon, I have modified the way I use the musashi one to be more accurate though, it's the most accurate you can use a genesis emulator right now in a public emulator.

Some more exciting things are coming very soon though, and Genesis accuracy is very high already (still a few bugs to fix though).

FadWare wrote:

9/23/2010 7:04:28 AM

Hehehe ... Very funny.
The truth is that here in Brazil, the Internet is not free, much less
cheap.
I bought my house recently, so I'm saving.

Add Comment
RetroCopy: Making emulation easy and fun.
  |   RetroCopy © 2011