9 ms·
PCem – An emulator of old PC hardware platforms
- peter_d_sherman 7y agoThe amount of old PC hardware that this thing emulates is nothing short of absolutely amazing... old VGA cards, old network cards, old sound cards, the list goes on and on. You'll find old favorites like SoundBlaster and NE2000, but also some very esoteric things, like PC-BIOSes for PC's that you never knew existed... Also, apparently can run Windows NT and XP...
- Narishma 7y agoIt can run any OS that supports the emulated hardware, not just Windows.
- jedieaston 7y agoFinally! I can relive Slackware Linux!
- badsectoracula 7y agoSo, there is an MS-DOS game jam going on these days (started last month, finishes in ~25 days or so), so i was trying to make a simple 3D platformer for it. I used Free Pascal and it turns out the only platform where i can actually profile Free Pascal code without issues is Linux, meaning i somehow had to make Linux run on an old PC. 86box (PCem fork) with Slackware to the rescue and here is my game running under Slackware 14.2 (the latest version) with Window Maker under an emulated 300MHz mobile MMX (my computer isn't fast enough to run this at 100% all the time sadly, but it was good enough to do some profiling): https://i.imgur.com/4X7lvZ7.png https://i.imgur.com/4X7lvZ7.png In fact i wrote the Linux port under the emulated machine :-P
- anthk 7y agoQemu would run faster than PCEM per cycle and the game would run faster and without dropping frames :D
- badsectoracula 7y agoThe goal was to run on an emulated system that matched the hardware of an old PC, not to run a VM with Linux - i'd use VirtualBox for that. PCem/86box is much more accurate than Qemu when it comes to emulating older hardware, including performance differences between graphics cards.
- anthk 7y agoI mean by using it in emulation mode, as I do under OpenBSD. On graphics cards, Bochs supports voodoo, and 2/3 support is on its way.
- badsectoracula 7y agoYes i know, i was using Qemu at the past but Qemu does not support the hardware that PCem/86box does nor at the same accuracy.
- anthk 7y agoYou could do easily with Bochs in a more accurate way than Qemu.
- app4soft 7y agoHope, PCem would happy to know that Soji Yamakawa[0] working on new open-source emulator of legendary Fujitsu FM TOWNS (model II MX) computer.[1] [0] http://ysflight.in.coocan.jp/game/towns/townse.html http://ysflight.in.coocan.jp/game/towns/townse.html [1] https://github.com/captainys/TOWNSEMU https://github.com/captainys/TOWNSEMU
- dintech 7y agoHow does this compare to dosbox for running games?
- hexmiles 7y agoGenerally speaking if you want to run dos games, dosbox tend to be a better choice for most games, is simpler to use and there is a bigger community around it. however, Pcem really shine in the amount of hardware supported and better support for windows. Also it seem to be more accurate, but i, personally, never found a game that needed it, but if you have some games that don't work with dosbox it may be worth a shot.
- Narishma 7y agoIME it tends to run very old games written for the original PC better out of the box. With Dosbox you have to fiddle a bit with the cycles so they don't run too fast or too slow.
- sebazzz 7y agoYes, but its x86 emulator is unfortunately very slow. I wanted to re-experience the little click game "The Green Mouse Disaster" and barely got it running, with only a few frames per second - practically unusable. This game is built on Shockwave and contains some Qt-based movies as animations.
- Narishma 7y agoI was talking specifically about games targeting the original 4.77 Mhz IBM PC, so from the early to mid 1980s.
- anthk 7y agoBochs like performance, even worse. With Bochs I can tweak the IPS count and get a closer performance near to Qemu.
- badsectoracula 7y agoNote that i've mainly tried 86box, which is a PCem fork (but AFAIK it is kept in sync with PCem and the main difference is a nicer GUI for Windows and that it provides nightly builds optimized for various CPUs). For DOS games, DOSBox is generally the better and -especially- faster choice with the main exception being mid80s games that assumed a 4.77MHz CPU (you can still play them on DOSBox but you need to fiddle around with the cycles and even then it assumes 1 cycle = 1 instruction, whereas PCem counts cycles correctly and also it takes into consideration the graphics card performance whereas DOSBox draws things as fast as it can). For Windows games, assuming you cannot run them in modern Windows, it is basically the best choice - assuming you have a really fast PC, otherwise you'll get sound stuttering and slowdowns (with my AMD Ryzen 7 3700X i can emulate a Pentium 75Hz -mostly- fine but anything above that starts to cause sound to stutter). Though in my experience 99% of the Windows games out there will work in modern Windows with something like dgVoodoo2, a framecapping tool like RTSS and perhaps adjusting the compatibility options. It might take some fiddling here and there. Notable exception being mid-2000s games with DRM.
- vardump 7y agoIs this cycle accurate (or at least reasonably close)? For something like a combination of PC-XT and VGA adapter?
- gattilorenz 7y agoFor a PC-XT it should be on any reasonably modern computer.
- throwaway2048 7y agoCycle accurate has a specific definition that pcem definitely doesn't meet. It means every chip is accurately emulated down to individual clock cycle access times.
- dfox 7y agoFor PC with any graphics card (except possibly MDA) there isn't any sane definition as to what cycle-accurate means at least if meant for the whole system.
- vardump 7y agoI'd just like something that's reasonably close to XT with the original IBM 8-bit VGA adapter. Or whatever card would be the most common VGA expansion card for XT.
- rob74 7y agoI'm sure that PCem is a capable emulator, but when it comes to Lemmings or Monkey Island, I'd still rather play them in an Amiga emulator ;) - or, in the case of Monkey Island (I/II), using ScummVM or the "special editions" with updated graphics published some years ago (https://store.steampowered.com/app/32360/The_Secret_of_Monkey_Island_Special_Edition/ https://store.steampowered.com/app/32360/The_Secret_of_Monke...)
- mattbee 7y agoThis emulator enables a masochistic nostalgia meta-game - pick a grimy EGA port of a popular 1980s Amiga title. Pick an hateful, underpowered & obscure hardware combo that is the box claims to support. The game is just to work out the CONFIG.SYS, HIMEM & drivers to make it launch without graphical glitches & sound crackles. Enjoy!
- xenophonf 7y agoI think I enjoyed tinkering with EMM386 and QEMM parameters or fiddling with device driver load order more than I did actually playing the games!
- A4ET8a8uTh0 7y agoI can't honestly say I enjoyed it, but it felt like a win, when something that did not want to work started working after you squeezed everything you could.
- rzzzt 7y agoI was very impressed when I first saw QEMM's quickboot feature working on a friend's computer (it skips POST and boots straight back to DOS when pressing Ctrl+Alt+Del).
- Twirrim 7y agoI remember the pain of trying to get just that last few bits of LMA necessary to get "Frontier Elite II" working. IIRC it needed something like 600k out of the 640k to be available, something that was nigh on impossible with the standard MS-DOS mouse drivers available at the time. They'd take up some 20k or so of the LMA, leaving my system at about 590k of free LMA, no matter how you tried to get them to use UMA. I got given a mouse driver by a cousin who'd bought a new mouse that came with a driver that put most of itself in HMA and only a couple of k of LMA. That finally made it easy to have sufficient RAM left over. I had a few minor issues with that driver, so I'd keep two copies of autoexec.bat around, one for when I wanted to play Frontier, and one for when I wanted to do anything else.
- aswanson 7y ago
- non-entity 7y agoAh nice, I was actually looking for something like this for a retrocomputing project I had a while back, but developing directly on the hardware was just too much of a pain. This particular project was on an IBM 5155, which I imagine could be safely emulated with this using the PC-XT emulator. I'll have to see though, as my project depends on the BIOS and ROM on the machine, which I why DOSBox doesnt work for me.
- snvzz 7y agoOddly, it doesn't emulate the serial port. This is despite emulating 3d accelerators. I wish they focused on making emulation of older models (like the original PC) as good as possible, instead of catering to people who just want to play DOS games.
- jandrese 7y agoWhat would the other side of an emulated serial port look like? A socket you need to write a daemon to manage? A TCP/IP port to some other emulated device with emulated serial port? Maybe write a daemon that emulates a Hayes AT modem and lets you "call" other daemons through a mapping of the phone number to a remote IP address/port?
- snvzz 7y agoAny of these. Or even patched through an actual serial port.
- andrewshadura 7y agoThere’s no EC1840/41/42 or Poisk :(
- jandrese 7y agoDoes anybody know if this can emulate composite output from a CGA card? Or are all CGA graphics going to be trapped with the horrendous eye-searing Cyan/Magenta combo everybody remembers?
- Narishma 7y agoYes, it emulates composite output for machines and cards that support it. It even emulates CGA snow if you want an authentic experience.
- xellisx 7y agoI want something that can run multiuser door games (share.exe support?)
- dusted 7y agoThis is really neat. There's been a huge amount of work done in preserving old software, but much much less in preserving the hardware environment it ran under. Dosbox and qemu are great projects, but something specifically designed to preserve the functionality of the pc hardware, much in the same spirit of MAME, is just wonderful news, I wish them the best. I have a lot of old hardware laying around, I will look into contributing with ROM dumps and other things.