Quote:
Originally Posted by Mequa
Nice. Is this based on PUAE source for cross-platform capabilities?
|
No. I wanted the most up-to-date emulator core possible, so I started with the WinUAE code. I then removed features and massaged the code until it compiled on Linux. The WinUAE code (even some of the core UAE emulation code) is quite Windows-specific (and Visual Studio-specific) nowadays.
Anyway, to be able to incorporate updates from WinUAE regularly and with ease, I have coded fs-uae with as little changes to the WinUAE code as possible, among other things with a lot of defines to "translate" windows-specific code to POSIX. If could solve something with a define, I probably did it (so I had to make minimal changes to the code from WinUAE).
Earlier, about a year ago, I used additional code from E-UAE and PUAE to get the Linux version up and running (video, audio, threading code, etc). But when the emulator evolved, I wanted to have fs-uae instead of WinUAE on my Windows box as well, and for several reasons, I started writing libfsemu (which handles video, audio, and input for fs-uae).
Some of the code borrowed from E-UAE/PUAE is therefore now removed again, but there is some code from E-UAE and PUAE left still, and they are credited the README and startup notice.
The cross-platform capabilities codes from the fact the UAE was originally cross-platform, and libfsemu which handles platform-specific details (with good help of SDL and glib).
When the ball was rolling, I threw in Mac OS X support for good show
The UAE/WinUAE code is somewhat messy (GCC gives a lot of warnings), and I would like to clean it up a bit, but it is also good to be able to copy changes from WinUAE easily. (I will probably ask Toni if he would accept some cleanup patches at some time).