I was wondering how Makaron project was doing and found out that the author was porting the emulator to Microsoft Visual Studio because of problems with GCC and the limitation it have with Win32 (I have seen some of those limitations myself

), GCC team is just not to excited to work on Win32 these days so I think he did the right move.
Here you have a recent post at Makaron website were you can see the current progress that seems very cool to me ^^...
I've moved Makaron project to Microsoft Visual C++ 2008. Express edition for now as it's free and has about all the tools I need (resource editor would be nice though). Too bad I won't be using a profiler anytime soon - it's only present in the Team suite and that's a bit out of my price range
Maybe I could use CodeAnalyst, though on Intel hardware it can only do timer-based analysis. But hey, this is still about as good as gprof and it's also free, whereas VTune prices start at 700$ - and that's just a licence for the basic module.
You know, it's funny but I also liked GPU ShaderAnalyzer better than NVidia tools. It's not as sophisticated but also easier to install and use. Get a hint, Intel and NVidia 
There weren't too many problems with moving to MSVC. Mostly I had to switch to different alignment and structure packing semantics. That and some inline assembly had to give way to more generic C code - it was only worthwhile when using AT&T syntax with clobbered register hints. The YUV converter is now using MMX/SSE2 intrinsics (as it was meant to but I had no choice but to use assembly under MinGW 3.4.5).
All in all, it compiles and works. I'm still using controller and keyboard plugins done with MinGW but that will soon change as well.
I've also moved to Unicode - that was done even before I switched compilers though. The INI files can now be encoded as ANSI (that's ASCII plus current Windows code page character set), UTF-8 or (preffered) UTF-16. Little endian of course, as all x86 architecture is. The format will be autodetected based on the BOM and so Unicode files must start with one. Notepad will take care of that for you.
So far there are only two downsides to MSVC: it comes with standard STL headers only (so no slist for example) and running the executable requires one to download and install a redistributable package from Microsoft. The latter is only 4MB so it shouldn't be a problem.
As for STL, I've been experimenting with it for some time now. My own classes are not that universal and not really faster either. I did port some of that code back to plain C to use on Dreamcast, but that doesn't mean I need to keep Makaron STL-free forever. There wasn't much point in switching to STL under MinGW, but I did anyway, and I got rewared for that in MSVC. It's debug build helped me find some deeply buried bugs in the way I handled texture lists. Nothing major but still.
What else is new? The YUV->RGB texture conversion performance on NVidia cards should be a bit higher now. It also turns out using PUREDEVICE is not the best idea considering how many state changes I do per frame (even if I do try to limit the most costly ones).
Oh, and thanks to new compiler Makaron is now a tad bit faster. Not much, not always, but I'm getting up to 120 MIPS out of SH4 in full MMU mode where I was getting 90 before. Unfortunately the slower your CPU is the less boost you will see - but still, that's an improvement.
http://dknute.livejournal.com/SeeYaa!
