This is HARD stuff, man! If you thought coding in Windows in assembly language was hard, try setting up a viable cross-compliation environment or a virtual machine which then runs other OSes in it. I tell you---if you can do that, you have my utmost respect! I sure can't! (tried to though)

Granted, I don't have VMWare (nor can I afford it) and I also don't have any other commercial virtual x86 machine, but I tried Bochs (free, from sourceforge) and it requires quite some setup to get anything to work. I ripped my binaries off of their distribution media (floppy or CD) with a version of dd which works for windows, which I just so happened to find. (forgot where though---search for it;))

I could NOT get Bochs to run any but the absolute simplest operating systems (those which are contained either ALL on one floppy or ALL on one CD) and it ran those so slow that it was unusable for me. If you've gotten it to do better, congradulations to you, but I'm not even sure it's possible to even run any other OS on it unless you had dual hard drives, installed that one OS to the other hard drive, then used dd for Windows to image that other hard drive as a file onto the first. Also, I came across the 2GB limit....as in, the tools Bochs came with to make a virtual hard drive actually caused fatal errors in Windows whenever I tried to use them to make anything larger than 2GB (even though options are included for much larger than that). I know that FAT filesystem has 2GB limit on max size of file but I was thinking NTFS didn't have this (and I am running under NTFS on WindowsXP). Maybe it doesn't but the program Bochs came with for making the images was using older API functions when it should have been using newer ones? I don't know (maybe one of you will)

So, scratch that---uninstalled, didn't bother with anymore.

Next, I tried CoLinux. I managed to get an image to run under that but I could not get networking to work and was having too difficult of a time trying to figure out how to. (again, Kudos to anyone who was actually able to accomplish this). The more I kept reading about it, the more and more files I was having to download and modify/etc, to the point of I just felt it really wasn't worth it (plus the fact that in order to get anything to use an X server, you had to have a Win32 X Server and if you didn't have this, this, that, and these files set up just perfectly here, there, and everywhere, you had a near 100% chance of a Windows crash) As well, the instructions to configure and set up CoLinux as a service under WindowsXP did NOT work for me. Too much trouble for a novelty, I thought.

Uninstalled and deleted as well.

Also, I've read about cross-compiling Win32 binaries from a Linux machine and found some instructions for this, but it just seemed too much work to me and I didn't bother with it. I couldn't find any suitable instructions for cross-compiling a Linux binary from Win32 though, though it's probably something similar. Again, I didn't want to fool with this. (Yes, I realize you could use FASM and make Linux binaries from Windows or Windows binaries from Linux, but then you'd probably have a very hard time using various libraries and blah blah----actually, I probably should try that sometime, but now is not that time;))

Anyhow, I'd be interested if anybody has success stories with cross-compiling (making binaries for one OS from a DIFFERENT and incompatible OS) or with setting up other OSes to run under virtual machines from your primary OS, where they actually work to an acceptable degree. In fact, congradulations if you have! You already have my respect.

At least I tried though, right?
Posted on 2004-04-22 04:33:36 by ShortCoder
Yes i did compiled (lately) the GNUPG from sources on a MSYS unix emulator generating binaries for windows :D

Also Boschs is so slow because it emulates every instruction, this way it can simulate an Intel CPU even on an Sparc workstation :P or Motorola CPU ...

If you need speed you should try VMWare and Virutual PC, they run much more faster, using them you can easyly run multiple OSes in a sandbox...still having enough speed to test them decently
Posted on 2004-04-22 07:07:23 by BogdanOntanu
Cygwin with "KDE On Cygwin" and "CyGnome" binaries and libraries is a very nice Linux environment for Windows. (Google)

Microsoft's free Windows Services for UNIX 3.5 seems ok for porting some Unix applications. But they don't include any Linux libraries\headers like Cygwin does.

Someone should whip up a user friendly Windows GUI front end for Bochs in my opinion. The current interface scares and frustrates Boch newbies and oldbies.

I've been running an OS emulation forum for five years and have tried out many OS emulators for various platforms. VMWare is the best x86 virtual machine, followed by Virtual PC for Windows. But there are many other virtual machines and emulators for running a guest OS on a host platform. Scroll down my forum's start page for a working list of known OS emulators : http://forums.delphiforums.com/MacEmulation/start The list hasn't been updated to include MKS Toolkit, Serenity Virtual Station, twoOStwo and a few other virtual machines that have come out over the last year.

I had been using PocketDOS on my Dell Axium X3 to run MS-DOS 6.22 and do a little bit of real mode assembly using MASM 5.1. :grin:
Posted on 2004-04-22 13:40:33 by Masmer
Oh, I'm not interested in porting UNIX applications to Windows. More like I'm interested in running one main OS and also running other OSes as well (in emulators) and developing native programs (native to each OS). This way I can fully test out software to see if it would really work under the real OS it was designed for;).

Also looking for a viable 386+ emulator which is freeware (as I've no funds to purchase and they are typically very expensive from what I've seen). I do not care if the emulator HAS to run under Windows or if it HAS to work under a UNIX/Linux type environment....in the case of whichever environment it HAD to run under (host OS), I would simply install that OS and then install the emulator and then the other OS;) (Assuming it was a viable emulator, which I define as having good (works 95% of the time) instruction and hardware emulation as well as being fast enough (responsive enough) to give a decent playback/run of software run on it.) I realize such solutions are typically pay-only and hence out of my league;) Bochs being the only free one I have found, but it didn't work suitably for me. (CoLinux as well, and it also didn't work suitably for me)

I thank you for the links and I will certainly have a look but unless something is a GOOD emulator and is around only about $50 or less, it is very doubtful I will get it;) ...I simply do not have the money to spend. (Plus, I wasted enough on Symantec products which did not function as advertised. --and I STILL haven't received my rebate check for one of those back yet---don't know if I will:o ) If there's one thing I certainly cannot afford to do is I cannot afford to spend money on anything which doesn't work EXACTLY as advertised, if not better. This makes shareware solutions more viable to me than others in this manner because at least I can try before I buy.

You might say to run two boxes, a *nix box and a Windows box, but that is not possible for me when I only have one viable computer;) (I've got two computers total, but the other one is old and has a very small hard disk and is slow and yadda yadda---great for running DOS programs on though;))
Posted on 2004-04-22 18:51:18 by ShortCoder
Right. I have argued the usefullness of emulation many times on other sites. I run Windows, Linux and even Mac OS 8.6 all on one x86 PC as I have favorite programs I like to run on each platform and don't need to go switching from one computer to another to do so.

As you probably know, VMWare has a 30 day trial and VPC 2004 has a 45 day trial. The new VMWare 4.5 dropped down in price to $199 for packaged version, $189 for electronic download which is still very expensive. VPC 2004 is only $129. VMWare is a little more developed and a bit faster plus supports networking on Linux guest OSes. But if all you need is to run Windows effectively on Windows, VPC should be enough. The other freeware\shareware\demo x86 virtual machines either only run DOS, are not as mature as VMWare or VPC, just as expensive, buggy or slow. The only two real solutions you have to settle for running Win on Win besides the slow Bochs Virtual Machine is VMWare or VPC at this time. I would love to be proven wrong. :grin:
Posted on 2004-04-22 19:10:34 by Masmer
Yeah, they have trials but somehow (for emulation software) I'm not liking the ideas of such time trials because of things like

What happens to my binary saved data of other OSes after the trial ends? Is that data destroyed? That certainly won't be any good as I will have work on there so now my work is destroyed. Or, does just the software stop working and display a "Please purchase me" type message but I get to actually KEEP my data and files which I have built up until that time? Is the data stored in an emulator-specific format or is it raw binary images? If it is raw binary images, no problems there for me (assuming I get to KEEP my binaries afterwards and they don't get slashed by the time restriction) If it is emulator-specific format, that does me absolutely no good:(

Plus, I don't know about others but I'm a bit paranoid of software with time-restricted or so-many-uses-then-fails-to-work restricted types of shareware. To me, that says "I'm unfriendly and don't trust you". A better method for shareware authors, IMO, is to do one of two things depending on what kind of shareware it is.

1: For content-editing programs, limit the overall functionality of it so that it isn't incredibly useful unless you buy the full version but can be used for most basic stuff. For example, for an emulator, a good restriction would be restricting the amount of emulated hard disk space to a SET amount and no more or amount of RAM to a SET amount and no more/etc... For a complex image-manipulation program, maybe allow saves only to a proprietary file format and ONLY allow the convert-to-jpeg or convert-to-png with the full version, etc... There are ways around it that allow a user to feel more trusted;)

2: For a video game, include the first few levels (like three levels is probably good for most games...if they are really simple levels, maybe 10 (puzzle games)) You get someone hooked and THEN they want the full version of the game.

Either 1 or 2 are perfectly acceptable and, in fact, GOOD shareware to me. Oh yeah, also no installing unwanted things from shareware:p

I am very apprehensive of so-many-days-only based shareware, though.:o
Posted on 2004-04-23 01:52:03 by ShortCoder
You keep your data on "hard drive files" (HDF) which contain the guest operating system and all the programs and other files you install. This HDF acts as a container and could be compressed and\or backed up onto another media format like a CDR for later use.

I don't like timed trials either, but at least they let you experience the complete program in order to base a decision to buy. I've bought a number of x86 emulators in the past for running on Macintosh, but haven't bought a x86 virtual machine for running on x86 except Win4Lin for Linux. Someday I will probably treat myself to buying Virtual PC, especially if it drops under $100 (maybe via a student discount?) or I win a small fortune again. :grin:

Not sure if this is ethical, but you could install VPC, try it out for 45 days and save the hard drive file(s) on a CD-RW. You then have the option of continuing your work by installing the VPC 45 day trial on a second PC or reinstalling VPC on your main PC (if you dual+ boot or reinstall Windows) and copy over the hard drive files (and make them read\write) from CD-RW. It's not the best solution (which is to buy VPC or VMWare), but it does somewhat extend the 45 day trial for some.
Posted on 2004-04-23 07:38:31 by Masmer

You keep your data on "hard drive files" (HDF) which contain the guest operating system and all the programs and other files you install. This HDF acts as a container and could be compressed and\or backed up onto another media format like a CDR for later use.

I don't like timed trials either, but at least they let you experience the complete program in order to base a decision to buy. I've bought a number of x86 emulators in the past for running on Macintosh, but haven't bought a x86 virtual machine for running on x86 except Win4Lin for Linux. Someday I will probably treat myself to buying Virtual PC, especially if it drops under 0 (maybe via a student discount?) or I win a small fortune again. :grin:

Not sure if this is ethical, but you could install VPC, try it out for 45 days and save the hard drive file(s) on a CD-RW. You then have the option of continuing your work by installing the VPC 45 day trial on a second PC or reinstalling VPC on your main PC (if you dual+ boot or reinstall Windows) and copy over the hard drive files (and make them read\write) from CD-RW. It's not the best solution (which is to buy VPC or VMWare), but it does somewhat extend the 45 day trial for some.


Thanks man, but nah. That'd be cheating;) ...and while it probably wouldn't be too hard to remove the 45 day limitation that wouldn't be legal or ethical as well so....I'll pass for now.;)
Posted on 2004-04-24 09:47:14 by ShortCoder