Hacker News new | past | comments | ask | show | jobs | submit login
86Box – Low level x86 emulator that runs older operating systems and software (86box.net)
126 points by peter_d_sherman on Dec 27, 2022 | hide | past | favorite | 33 comments



It's weird the front page does not mention but 86box (and pcem from which it forked) is a cycle accurate emulator. This is the most important difference from DOSBox which does not even intend to be one. It's overall a lower level emulator, it needs a BIOS which DOSBox doesn't. All this means a comparison is hard between the two.


>It's weird the front page does not mention but 86box (and pcem from which it forked) is a cycle accurate emulator.

because it isnt. While hacking around to debug cache mod I patched bios to output my custom codes using POST card display https://github.com/raszpl/430FXL2Cache. My code wouldnt work on real hardware for the longest time until I figured out 86box is really bad at timing. Something that runs at 1 per second IRL runs at hundreds of hertz in emulator, and vice versa depending on what you are going (accessing I/O). https://www.vogons.org/viewtopic.php?p=1125370#p1125370

Turns out some real POST cards dont love the idea of writing to port 0x80 twice in a row without any delay and will Error out of hang whole computer. 86Box on the other hand hard links writes to 0x80 with its graphical output update routines and hammering that port not only slows down emulation, but can hang whole emulator so hard you cant even close it until reaching Program Not Responding Timeout.


86box is not at all cycle accurate. It's LLE, yes (as opposed to DosBox which is HLE), and the devs try to make the CPU as cycle-correct as possible, but that hardly means that the whole emulator and all devices it emulates are cycle-accurate


Indeed, DOSBox has been written for DOS games (and it's great at this), compatibility with other software has never been a concern. BIOS and DOS calls are HLEd which is why neither are necessary to get it running.


Some relevant info since 86Box is a fork of PCem; https://news.ycombinator.com/item?id=22859695


The fork was five years ago so I'm not sure how that's relevant? Do we need to mention that NetBSD is a fork of 386BSD everytime a NetBSD story comes up?


If heard of PCem bit not 86Box. Likely there are people out there into the emulation scene bit not deep into it (I assume people with a deep interest are already well aware of this tool) who are in a similar position, for whom the context is useful in assessing whether playing with this is worth it or not to their interests.


Personality conflicts aside, both pieces of software are different enough from each other that it's basically comparing apples to haute cusine.

Myself, I've been using 86box since almost the beginning in large part because of the ui. To me, it's always been more pleasant to work with.

If anyone has questions I'd say rather than listing to 2017-era gossips they should instead download both, spend the time playing with them and seeing which they prefer. It's not like the mid-nineties where trying things required a $50-$150 investment of cash.


Profoundly sad that PCem ended up being abandoned while this hostile fork continues. It deserved a better fate.


PCem is still being developed, though.

86Box has done a lot of improvements on the codebase over the last 5 years and has developed its' own community; meanwhile pcem got bogged down in drama and stagnated.

I followed pcem and saw enough toxicity there that I am unsurprised by how things have played out.

But 86box has earned it's current place by putting in the time, works, research into it's development as well as continually working on being a less toxic (this is the internet -it's all toxic) environment.


The “hostile fork” is the lively one that supports more hardware and has better GUI, so I’m not particularly sad about it, tbh.


The way I’ve seen senior 86box project staff behave towards the developers of the project they forked away from really surprised me - a lot of emulator projects tend to be prone to silly rivalries, but this instance stuck me as unusually inappropriate behaviour - such were the levels of toxicity involved that at one point a senior staff member at 86box was bouncing around ideas mid-tirade speculating that a PCem contributor was in a sexual relationship with the project lead (put less delicately), this being drawn from the fact that they occasionally said good things about the project in public forums.

The software is what it is, and for anyone who considers it to simply be a means to an end, it’s a fine tool to use. I just personally found that incident (among other examples of extraordinarily toxic, childish behaviour from other contributors) to be sufficiently distasteful that I’d rather just not use the software at all.

This is are quite old sentiments on my part, and I expect things will probably have got a great deal better now, given how many years it’s been - it’s certainly not something that warrants calling for some kind of mob-facilitated cancellation of the project, which is, I must stress, a perfectly adequate PCem replacement under these circumstances.

Strictly just a case of me as an individual wishing that interactions had been less toxic prior to the parent project’s discontinuation. I won’t use it because of those memories, having known one of the people concerned at the time. I don’t really think it’s something that should affect anyone else’s decision to use the program at all - it’s very much an individual distaste for it on my part.


>such were the levels of toxicity involved that at one point a senior staff member at 86box was bouncing around ideas mid-tirade speculating that a PCem contributor was in a sexual relationship with the project lead (put less delicately), this being drawn from the fact that they occasionally said good things about the project in public forums.

I've been following this for 9 years now and this is the first I've heard of this. Literally.

In short, I literally don't believe you -and considering that there was at least one hanger-on who used to kick up dust between the two projects in the name of "defending" 86box (but in reality was just acting out their own behavioral issues) I'd advise everyone to blow off personality-based issues like this.

> I don’t really think it’s something that should affect anyone else’s decision to use the program at all - it’s very much an individual distaste for it on my part.

Obviously you do think it is or you would not have posted a huge long allegations-filled screed (filled with dubious allegations of a sexual affair) on the subject.

The 86Box lead has expressed regret for his early behavoirs many, many times but sadly the emulator scene attracts a lot of drama and worse people who thrive off of drama.

The 86Box project itself, however, is one of the better handled non-professional (meaning not run by a corporation) that I'm aware of. And the software itself has gotten better and better over the years.

I'd strongly advise everyone reading about 86box just in general to be particularly aware that just because you read a claim on the internet doesn't make it the lords' gospel truth.


Thanks for the detailed elaboration! I’ve seen the “split” from a distance and never really investigated what has happened. Sounds pretty nasty indeed


If you weren't there, you don't know the details or motivations of what went on it's probably a good idea to not take sides.


Curious to know more about this! Please elaborate on this if you don’t mind! :)


For MacOS, Boxer (http://boxerapp.com/) is great. It creates executables (self contained distributable with zero dependencies) that include dosbox and the app to run - the creation is super easy drag n’drop. Dosbox footprint is very small. It’s just amazing to double click and start the app or game without having to worry about setting up dosbox.


Related:

https://github.com/86Box/WinBox-for-86Box

(86Box Manager written in Delphi 11)


Am I missing something, or does it not emulate the serial port?

I must be missing something, as it does even emulate 3d cards. There's no way it doesn't emulate the serial port.


It unfortunately doesn't expose the serial ports externally, but it is possible to use an emulated serial mouse. It'd definitely be nice if someone would add in code to give access to the serial ports.


Maybe not something for which there's much actual demand? For most purposes, you'd be better served by approximately anything other than a serial port.


Interesting. There is some software I've never managed to get running on DosBox or in a VM. Perhaps this is my solution.


Have you tried mame? It’s harder to set up but can emulate a PC.


I am somewhat curious as to how this is greatly different than QEMU?


There is this excellent FAQ page that answers your question: https://86box.readthedocs.io/en/latest/usage/faq.html


QEMU will let you emulate a particular cpu family, but you can't really tell it that you want a "486dx2 66 with 256kb of l2 cache". While 86box/pcem can't get 100% accurate, it's a lot closer than QEMU emulating the cpu family at your host cpu's full speed (or as close as QEMU can get with a single thread of opcode translation in the case of running other arches like ppc/hppa/sparc on a x64 host).


Or Bochs, more specifically. Qemu is a frontend to various CPU emulators and hypervisors (KVM, NVMM, HAXM etc.).


Qemu is a lot more than just a frontend. It contains both CPU emulation code and machine emulation code in addition to being able to leverage Linux as the hypervisor. It is a massive piece of software.


Of course. I didn't imply the various backends and operating mode of Qemu weren't part of the set.

I meant that Bochs and 86box are just single commands that do a single thing. Qemu is more like LLVM and is indeed massively more complex.


Neither Bochs nor QEMU emulate a vast set of specific hardware (such as motherboards, CPUs, video, SCSI, sound and network cards) from the 90s.

With 86box I managed to install and run, for example, a version of SCO Unix that only supports a very limited number of SCSI adapters and VGA cards: https://virtuallyfun.com/2021/07/13/installing-sco-unix-part...


Interesting. This could interest a project like NetBSD for automated regression testing on old hardware.


I guess it might help a bit, but the emulation is not 100% accurate, and I suspect the greatest challenges for NetBSD are anyway coming from non-x86 obsolete hardware like Vax, Amigas and the likes.


Qemu has a TCG accel. module.




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

Search: