Silly question but: do you power off the guest OS before quitting Bosch? Because that is the usual message a virtualisation software gives when quitting without powering off (barring any "additions" that would transform it into a hibernation).
I do, but even if I wait, for example, for Windows XP to tell me "it is now safe to turn off this computer" (which by the way seems to suggest ACPI wasn't being emulated, else the OS normally shuts itself off for you), and then Quit Bochs, I get the same message, as if the timing wasn't right.
That was a good question, though. I also wondered the same before, so I tried it out.
===========
Ok, so, I bring "news".
I tried playing with CodeWarrior 2 ~ 5, and with the source code to recompile Bochs, and on the way I learned a few things. (Note: Keep in mind I have close to no experience whatsoever with CodeWarrior, C or C++... Unfortunately my background is C#, JavaScript, and a bit of Java.)
First, there are 2 project files included: 1 for Bochs (MacBochs), 1 for bximage (to create disk images).
Despite the .SIT file name suggesting they are CWPro3 project files, it seems they are CWPro2 files: they open normally under CWPro2, and when opening on CWPro3/4/5, it asks me to convert the project files first.
Those projects also reference some libraries included with CodeWarrior, but maybe you will need to recompile them first (right-click on the library or library folder -> compile). After that, it's just the bximage specific files (just 1 file!), or MacBochs files (some 200 or so files). I got CodeWarrior 2/3/4 up to speed with those, but CW 5 was complaining about some things I just couldn't be bothered to deal with for the time being, so I stuck to CW2/3/4.
I started with Bochs 2.1.1 source, since that's the latest version they distributed binaries for, but I learned very quickly that the list of files of the source code changed for that version, and the accompanying CW project files were
not updated with that. So for example CW will search for "sse2.c" or something like that, and it doesn't exist, because Bochs 2.0.2 and later refactored the code, so now there's no more any file with that name. Meaning it won't build.
So before I started getting lost trying to fix the 2.1.1 project file, I switched to Bochs 2.0.1 source, which still seems to have all the files the CW project seeks.
Now for reasons I don't know, CW was throwing errors during compile time, things that sounded silly, like "bool on;" and then say ";" was missing or that "bool is not defined" (wtf). I tried to get past those or figure it out, but before that, I decided to take a peek at the tiny bximage project instead.
So I went and tried to compile it: bximage compiled successfully, CW 2/3/4, and it functions just as the release versions. Great, I never compiled anything for the Mac in my life before, so that's cool to see. I took a peek at the code (it's small), and identified the exact part that errors out when you create images bigger than 2 GB, but I dared not try to fix that right now, as I was concerned of destroying my file system if I did something wrong. So for the time being I moved on. (Anyone that understands C or C++, feel free to take a look at it!)
Right now, I was going to go back to figuring out why the compiler barfs at the (old!) Bochs code, although I will give this a break for now. All this makes me wonder how the hell they prepared and released the Bochs 2.1.1 binaries. Cross-compilation, ignoring CW? Compiling under OS X for OS 9? Or whoever compiled it just didn't provide the up-to-date project files (if so, why?).
Maybe I will go into 1.x territory to get something working, but if someone knows CW or C/C++ better than I do (which is not hard...), Bochs 2.0.1 seems like the best place to start. Just don't count on me on this, I suck at this!
You guys (@adespoton, @teroyk, @DrNo7) are probably more likely to successfully compile this than me.
Incidentally, I used Mac OS X 10.4 Tiger, after installing Xcode 2.4.1 fully (to get GCC etc.), to take the Bochs source code and run on the terminal "sh .conf.macos". Then I made a .sit of the whole folder and sent it back to my Mac OS 9.2.2 machine. Doing this might be important, else dealing with the source code on CodeWarrior will become even more complicated. (In 1999, there were less configure options, so it was less necessary, but after testing things out, I noticed that changed, and now there are lots of settings.)