Wine is animplementationof the WindowsAPI on top of Xand Unix. Itdoes notrequireMicrosoftWindows, butcan use nativeWindows DLLs ifthey areavailable. Itprovides both adevelopmenttoolkit forporting Windowssource code toUnix as well asa programloader,allowing manyunmodifiedWindowsprograms to runon x86-basedUnixes.
Bochs is apowerfulx86/amd64hardwareemulation anddebuggersoftware. Besides the CPUand instructset extensions,it simulatescommon PC/AThardware, anISA and PCIsystem bus,memory, disks,video hardware,ethernet, andenough of acompatible BIOSto runDOS/Winows,Linux/BSD,Minix and otheroperatingsystems. Itdoesn'tprovidevirtualization,thus runsextremely slow,but is safe torun for thehost operatingsystem.
VICE is aprogram thatruns on a Unix,DOS, Win32,OS/2, BeOS,Amiga or Mac OSX machine andexecutesprogramsintended forthe old 8-bitcomputers. Thecurrent versionemulates theC64, theC64DTV, theC128, theVIC20,practically allPET models, thePLUS4 and theCBM-II (akaC610/C510). Anextra emulatoris provided forC64 expandedwith the CMDSuperCPU. VICEis *free*softwarereleased underthe GNU GeneralPublic License,and as such itcomes with fullsource code.
mipsrun is anemulator thatallows to runbinaries forMIPS machineson *nix-likeoperatingsystems.mipsrun doesnot emulate themachines thebinaries weremeant to runon, but ratherwhen theprogram asks torun a systemcall, mipsrunemulates thesystem callconverting fromand to thecorrectformats, so tothe emulatedapplication itlooks like asystem call inits nativeexecutionenvironment wasexecuted.mipsrun iswritten in C++,and has beentested on Linux(i386, amd64and PPC),NetBSD
libtmt is theTiny MockTerminalLibrary. Itprovidesemulation of aclassic smarttext terminal,by maintainingan in-memoryscreen image.Sending textand commandsequences tolibtmt causesit to updatethis in-memoryimage, whichcan then beexamined andrenderedhowever theuser sees fit. libtmt issimilar inpurpose tolibtsm, butconsiderablysmaller (500lines versus6500 lines).libtmt is also,in thisauthor'shumble opinion,considerablyeasier to use.
QEMU is ageneric machineemulator andvirtualizer. Itcan emulateother CPU andhostarchitectures,or run nativebinaries withnativeperformances byexecuting theguest codedirectly on thehost CPU anyonly emulatedevices.It's thusoften used inconjunctionwith KVM onLinux forsystemvirtualization.
Mono is an opensourceimplementationof Microsofts.NET Framework,which in turnis meanwhilebased on theECMA standardsfor C# and theCommon LanguageRuntime. Monoprovides itsown C#compiler, and aJIT/AOT-basedVM. It addstrue runtimecross-platformsupport byprovidingGtk/Cairo,OpenGL, LDAP,and POSIXbindings, andfurtherintegrationwith Wine. Monoruns on Linux,BSD systems,MacOS, PS3,Wii, Android,x86/amd64,PowerPC, Sparc,ARM, Alphasystems.Besides C#4.0-6.0support, it can