0x3B0 wrote:Why you don't give the source code for Visual C?
Why would he?
0x3B0 wrote:Why you don't give the source code for Visual C?
Perhaps the same reason most people here are motivated to work on an operating system - because they can and they like the challenge.Nable wrote:I think that this emulator is really nice piece of work but what motivates you to work on it ( there are a lot of emulators nowadays, why one more? ) ?
yep, exactly. i wanted to give it a shot and see where it goes, it's fun to be able to play old games and run programs in it after spending all these brutal hours writing the code and many many more debugging it. just like 99.9% of OS projects here are never going end up being as good as windows or linux, i know this is almost certainly never going to reach the level of something like QEMU. it's just a good learning experience.MessiahAndrw wrote:Perhaps the same reason most people here are motivated to work on an operating system - because they can and they like the challenge.Nable wrote:I think that this emulator is really nice piece of work but what motivates you to work on it ( there are a lot of emulators nowadays, why one more? ) ?
If you want, PM me or something, and I'll set it up to build in MSVC (10 or 11 Beta, whichever). I don't know if you've updated it yet, it would make more sense to 'port' the newer version than to port the older version and merge changes.miker00lz wrote:pretty good link. that's probably the best general emulation doc i've seen.
btw, i will probably post another update to fake86 within the next few days if anybody cares. i've fixed some bugs, improved the timing accuracy by a ton, fixed the PC speaker emulation, added network emulation support under linux via libpcap (not limited to the win32 version anymore), and fixed the bug where MS-DOS Edit and QBASIC would leave you in a garbage screen mode after exiting, among other more minor fixes.
thanks for giving it a go. i know the code is very poorly written in most places. i'm pretty new to C, and a lot of the code was written a good year and a half ago. i've been putting off re-organizing it all because it worked. i've been improving my header usage a lot in particular, i know that's the biggest problem with this code. (my NES emu is much more well-organized, and uses VC http://sourceforge.net/projects/moarnes )Ameise wrote:I've finished a preliminary port. It doesn't quite work yet.
First off: the original program looks to be written in C99 making use of GCC extensions (or some kind of extensions). VC++ only supports C89 (that's why it's called Visual C++).
I've had to change a bit of code, and also, I forced it to compile in C++ mode as it was easier than fixing all the C99->C89 changes. You really need to learn to use headers better... you duplicate the same code and macros a lot, and I wouldn't be surprised if that was part of the problems I'm having. For instance: why are the macros to control Mutexes (btw, on Windows use Critical Sections, mutexes are slower and are for something else) defined in _two_ places?
I can get it to start. It sometimes hangs on starting audio; once video is set up, though, it randomly crashes. I am assuming that there is a buffer overrun somewhere, but I have not yet located it. It's hard to navigate the code.
Anyways, here's what I have so far: http://www.stackheap.com/fake86.7z ... I will leave it up to the builder to find and set up SDL.