Yeah, scramble is fubar. I did fix the problems but never put them in cvs, cause I don't care.

It has no use for vm_* stuff so it just needs to go back to using the standard malloc/free. I actually never meant to make that change but forgot about it during commit of the vm_* changes. But if you want to send a patch for the scramble stuff please feel free. I don't really want to go through all of my experimental code trees to figure out which one has the scramble fixes.
- SDL_Delay(), because I don't want to #ifdef the hell out of the thing. It will use nanosleep() or whatever works best on the platform it's running on. Leave it to SDL, saves on code for us.
- timer functions, there are too many freaky issues there and as long as it works then it will likely get left alone. What we have works well for what it does and setitimer won't give us any extra precision over the current method(s). The Windows specific timer code will probably get dropped if we go with SDL since the two are doing the exact same thing.
The stubs work because it's been easier to deal with for everyone. It keeps as many ifdef's out of the code as possible and while it can get a bit useless with Linux code it can be dealt with pretty easily. Eventually we'll probably go with SDL on all platforms so most of that will be rendered obsolete. We can get rid of all of those extra types and use what SDL provides us and remove most of the platform specific code. That's for the future though. All of the cross platform stuff is going in stages and this particular cleanup stuff is really at the end of that chain. Audio->Input->Video->EverythingElse, that's pretty much how it will go. Audio won't use anything SDL at first and neither will the input changes (but will be ifdef'd). Video will go with SDL (after some public testing) for initting/controlling OGL on all platforms and that's the first time that SDL will be a requirement. Audio and input code will then be compiled to use SDL by default. OS stuff and types will come later.