Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
PCem – An emulator for various old PCs (pcem-emulator.co.uk)
90 points by vmorgulis on Oct 24, 2016 | hide | past | favorite | 41 comments


Really hope PCem gets network support at some point. There was a branch implementing ne2k support but it's old and didn't apply to master cleanly last I checked. Setting up an OS on it was a bit of a pain in the ass, the only way to transfer files was to create ISOs with them and mount them in the emulator.


Whats the point of emulating all of these variants? Aren't they all similar enough that you can run the software with just one particular machine emulated and it would work almost identically? I thought that was the whole point of the PC.


Your statement mostly applies to the AT/286 era and beyond. Very early PCs were not clones but rather MS DOS compatible which is different (BIOS was not compatible). Even when true clones appeared with compatible BIOS system designers like Tandy would try to innovate with things like "Tandy Graphics and Sound" which are sort of PC Jr graphics but not quite, etc. Having the ability to emulate the older machines is a boon to gamers.

However, I have no idea why anyone would want to emulate Cyrix chips or later PCs other than out of curiosity. A lot on this list does seem superfluous.


The collection of supported machines does seem to concentrate mostly on the older systems. The newer ones seem to be examples of the interesting quirks that were in place in the later days -- ATI's WinBIOS for example, or Compaq's machines which used a stripped down copy of Windows 3.1 as the bios utility. Gut feeling for the newer systems is mostly to couple with the newer video cards on the list -- the S3 Trio64 and the 3dfx VooDoo.


This is still useful as there are plenty of early Windows games that don't work correctly (if at all) anymore on modern systems.


>However, I have no idea why anyone would want to emulate Cyrix chips or later PCs other than out of curiosity. A lot on this list does seem superfluous.

Gaming, mostly. A lot of computer games from back then simply will not run on modern machines. Even after things fell into place with DirectX/OpenGL, Windows is such a complex system that keeping all those millions of plates spinning at once is simply impossible

There's games today that I can't run from the last 15 years alone, like Westwood Studios Command & Conquer series. The company is defunct, and the buyer (EA) lost the source code over a decade ago, if you believe the rumors. There's simply no other way to RUN the game past Windows 7 (EA no longer bothers patching it to work on newer systems with their re-releases)

The only alternative is really to simply buy the older hardware, which is becoming increasingly scarce and difficult to maintain (why would we keep these 30 year old Video card drivers says someone at AMD, before rm -rf'ing them off the FTP for instance?)


I have had luck with non-game 16-bit programs in Wine, you can look programs up in the Wine database to see if they work: https://appdb.winehq.org/objectManager.php?sClass=version&iI...


While PCem is a more accurate emulator (it's very close to cycle-accurate even), I keep an installation of Windows 3.1 on DosBox around to play really old games. It works for 16-bit games like the original SimTower.

Maybe one day I'll get adventurous and see if Windows 98 will run on DosBox.


Graphics emulation is one of the huge ones. Various graphics chips would give widely different results, sometimes comparably better or worse, sometimes just different. Sound emulation, again, in the old days, sound cards had widely different feature sets, which would result in different sound quality. Then you had the issue of different chipsets which had their own sets of quirks. Compatibility was something that took a good deal of time.


Having owned an Amstrad PC-1512 back in the day, I can attest to it being almost an IBM-XT clone... things like RTC clock and some graphics modes were very odd and totally bespoke.


The sources for the emulated devices are very interesting to read. E.g. https://bitbucket.org/pcem_emulator/pcem/src/c3548dff8c8b235...

I imagine the emulations are based on some public docs or existing driver implementations, and probably not completely accurate--but accurate enough to work with some (most?) drivers. Emulating a lot of old hardware at that level is impressive.


Wonder if this will replace DOSBox which is derelict.


Spend some time playing around with PCem, and you'll find that the emulated machine runs at the same speed as the original hardware. In fact, PCem emulates every facet of the hardware: you're not just running a DOS environment, you're emulating an entire computer from end to end. You may not want to sit through an XT boot sequence every time you want to fire up an old game.

Accurate emulators like PCem serve an important niche which is very different than quick-and-dirty environments like DOSBox. PCem and similar emulators aim to preserve thorough documentation of the hardware ("hardware preservation project" is probably a better term than "emulator" here), and they're also useful for running specialized software that doesn't work unless the emulation is 100% accurate. But if you just want to play a random old game, and it doesn't take advantage of specific hardware quirks, you'd be better off with DOSBox.

Edit: Also, PCem needs BIOS ROMs to work, while DOSBox doesn't. This makes it easier for companies like GOG to ship DOSBox; if they shipped PCem instead, they'd have to either illegally include the ROMs (which will bring down the wrath of IBM's lawyers) or leave ROM acquisition as an exercise to the user, who won't be pleased at having to hunt down ROMs to play a game they bought on GOG.


This.

PCem can run stuff (most) other emulators have trouble with. One example being Xenix 8086 which, to my knowledge, works only on MESS and PCem. And, comparing the usability of both, MESS doesn't seem an unappropriate name.


It should work under Bochs.


I don't think DOSBox is "derelict".

http://source.dosbox.com/dosboxsvn.txt


It might not be, but it's easy to understand why a casual observer would think so. The latest news on the dosbox website is from 2013, and the latest version (0.74) was released in 2010 according to the date on the sourceforge download page.

I wonder why they have not made another official release?


Interestingly, GOG (Good Old Games) are quite happy to ship 0.74 (including wasting 1.5 megabytes of space in most games by shipping the source) with their commercial games - even the latest one 11 days ago (yes, I bought it just to check!)

https://www.gog.com/forum/general/whats_the_latest_dosbox_ba...


the "wasted" 1.5 MB probably are the simplest way for them to be sure to be GPL compliant.


True, but wouldn't they be compliant pointing to http://gog.com/dosbox as well?


I think that would work just as well and would have been my first idea too, but IMHO it's kind of an elegant solution to do it this way. The recipient can very easily find the exact version used and they don't have to maintain that information somewhere else. Especially if they add specific patches -> I know that they often modify the game binaries, but maybe they have custom DOSbox changes as well.


They would have to send a written offer valid for any third party and for IIRC 3 years, so they'd have to commit to their hosting being available and so on. Probably cheaper to just send the 1.5MB.


Interesting, I had heard about a "Daum Branch" but I didn't know the main trunk was that active.

As a completely irrelevant trivia, if you play games on DosBOX, try and use them with Munt (Roland MT32 emulator) if they support Roland MIDI. I am currently playing Police Quest 1 (VGA) and it sounds amazing.


>Daum branch

Last updated in 2015 - http://ykhwong.x-y.net/

Reminds me of the Gameboy Advance emulation scene and the mess that was VBA - eventually mainline was abandoned, VBA-m seems to be the maintained fork, but there's also VBA-rr.


Thankfully, us linux users have a good gba emulator now. Windows already had the legendary no$gba.

And what about the PS emu scene? PCSX is dead, so your choice is between PCSXr, and ePSXe. There are meaningful differences between the two, but it's pretty hard to know that up front.

The DC emu scene is almost nonexistant, all the emulators have been abandoned, none of them work on Linux (Reicast claims to, but it doesn't: I've tried), and even on windows, most games barely run, if at all.

And then there's the NES emulation scene on GBA: pocketnes is the best emulator by far (it's amazing), and you can find copies floating around, but you need a pocketnes rom maker to build the roms, and that's hard to find, especially on unix. The only one I've found for unix is mkrom, and good luck getting your hands on it: I had to trawl archive.org for hours to find a copy.


Reicast under Retroarch runs a lot of stuff.


Just so everyone knows, that GBA emulator is mGBA (https://mGBA.io)


Thanks for linking. I forgot to do so in my original post, which I kind of feel bad about in retrospect.


The best (most accurate) PS1 emulator is mednafen I believe.


Using whatever Lakka's default core is for a given system for your architecture is usually a safe bet (I think it is mednafen on x86 for PS1 now)


I haven't used it, but I don't trust multi-system emulators as a rule. Especially after my many bad experiences with RetroArch.


In this particular case, the multi-system emulator is more accurate than the single-system competitors.


Huh. Well, mame is similarly better. I guess it's worth a shot.


Wow, thanks for this. Are there any comparison write-ups that show the difference between mednafen and other emulators?


DOSBox seems to have a second life through its JavaScript port EM-DOSBox, which appears to be quite active:

https://github.com/dreamlayers/em-dosbox/commits/em-dosbox-s...

That one became very popular through the use at the "MS-DOS Games" section of archive.org:

https://archive.org/details/softwarelibrary_msdos_games


what is this? qemu?

site nor repo has any description or faq


Nope, appears to be a completely different emulator. Looks to have been initially Windows only, although there's a version for Linux now.


There's a Linux version but it is pretty much unmaintained. It receives the occasional update but it's slower than the Windows version, has less features and the UI is terrible.


alrigth then. let's fire up virtual box with a Windows image to check this out :D


I wonder if it includes the BASIC ROM chip.


It doesn't. You have to provide the ROM files yourself.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: