[HN Gopher] 86Box: Emulator of x86-Based Machines
       ___________________________________________________________________
        
       86Box: Emulator of x86-Based Machines
        
       Author : tosh
       Score  : 82 points
       Date   : 2024-12-30 06:52 UTC (16 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | chungy wrote:
       | See also, the main site: https://86box.net/
        
         | pantalaimon wrote:
         | Not to be confused with https://box86.org/
        
       | memsom wrote:
       | This is a nice project. I use it to emulate BeOS on an Apple
       | Silicon Macbook.
        
       | tromp wrote:
       | How does this compare with blink [1] ?
       | 
       | [1] https://github.com/jart/blink
        
         | sandreas wrote:
         | 86box seems to be the successor of PCem, a GUI Emulator that is
         | capable of emulating full Hardware (incl. Settings and
         | BIOS/firmware) via GUI selection. I use it for old games,
         | because emulating of 3dfx and similar is also possible in an
         | easy way.
         | 
         | Maybe this can be done with blink, but probably not by
         | selecting a few dropdowns and clicking some buttons...
        
           | nubinetwork wrote:
           | Pcem is still being actively developed, even though Sarah
           | Walker said she wasn't working on it anymore.
        
           | snvzz wrote:
           | Successor or fork?
           | 
           | I am not sure about the details, but I seem to remember it
           | was not a very amicable fork.
        
             | rnd0 wrote:
             | It's a fork, going back some years (2017 or so).
             | 
             | It's instructive to look at the activity level of pcem
             | (their forum, and their github account:
             | https://github.com/sarah-walker-pcem/pcem/commits/dev/)
             | versus 86box (
             | https://github.com/86Box/86Box/commits/master/ )
             | 
             | 86box has a vibrant community around it (pop in the discord
             | some time!) which PCEM really doesn't as far as I'm able to
             | tell.
             | 
             | Yes, there is a lot of bad blood -but I would suggest
             | taking any stories that you hear (but did not witness
             | yourself) with a huge grain of salt.
        
               | sandreas wrote:
               | There is also a video about PCEm with a reference to
               | 86box from LTT:
               | 
               | https://www.youtube.com/watch?v=mWEE2RJj3YI
               | 
               | Found this pretty interesting how to use in practise.
        
         | powerhugs wrote:
         | Not at all. Blink according to themselves is:
         | 
         | > blink is a virtual machine that runs x86-64-linux programs on
         | different operating systems and hardware architectures.
         | 
         | Where 86Box is, according to themselves:
         | 
         | > 86Box is a low level x86 emulator that runs older operating
         | systems and software designed for IBM PC systems and
         | compatibles from 1981 through fairly recent system designs
         | based on the PCI bus.
        
         | snvzz wrote:
         | Blink seems to be closer to qemu-user or box86/box64[0].
         | 
         | 0. https://box86.org/
        
       | forty wrote:
       | Is this needed because recent x86-64 processors / hardware are
       | not able to run older 32bits binaries anymore?
        
         | xcv123 wrote:
         | It runs on other CPU architectures and it emulates older PCs
         | which include other hardware besides the CPU.
        
           | forty wrote:
           | Ah yes, they have ARM binaries indeed in the download
           | section. I got trapped by the "minimum requirements": Intel
           | Core 2 or AMD Athlon 64 processor or newer, which made me
           | think it only ran on x86
        
         | sedatk wrote:
         | Did you mean 16-bit binaries?
        
         | userbinator wrote:
         | AFAIK that's a software limitation, not a hardware one (yet).
        
           | NikkiA wrote:
           | Intel dropped the "x86s" project to focus on a more
           | collaborative approach with amd and others, so it's probably
           | been shifted a few years out anyway.
        
           | dfox wrote:
           | Technically it is an hardware limitation, amd64 in long mode
           | has only vestigal support for memory segmentation (enough to
           | implement Win32/ELF i386 TLS ABI and that's it), so you
           | cannot reasonably run either 16b protected mode or vm86 tasks
           | in 64b OS on that platform.
        
             | userbinator wrote:
             | _so you cannot reasonably run either 16b protected mode or
             | vm86 tasks in 64b OS on that platform._
             | 
             | I don't know who has been spreading FUD (likely MS, just
             | like they did with "32-bit Windows can't use more than 4GB
             | of RAM") but that's not true.
             | 
             | https://www.dkia.at/en/node/180
             | 
             | There's another article I can't find at the moment which
             | discusses this in a lot of technical detail, making
             | references to using the "unrestricted guest" virtualisation
             | feature on CPUs that have it (quite new at the time) which
             | essentially runs 16-bit code as a VM, or classic
             | modeswitching that jumps between 16, 32, and 64-bit mode as
             | needed. Nonetheless, it is quite irritating that despite
             | the hardware being perfectly capable of 16-bit, 32-bit, and
             | 64-bit operation, the designers made it harder than
             | necessary to do so.
        
         | memsom wrote:
         | Getting any legacy OS to run on modern hardware is very hard.
         | For example, in my case, BeOS has no EFI boot capability, has a
         | serious RAM restriction, doesn't really like anything past a
         | P4, and has no drivers for anything but legacy hardware (like,
         | no modern storage drivers - IDE only, no SATA unless there is
         | legacy BIOS emulation.) A lot of this is able to be worked
         | around with various hacks, but with 86Box, it will run the OS
         | as is it was on the actual hardware, so it just makes it a no
         | brainer. You can then also use it to emulate old PC hardware on
         | other processor architectures - like ARM.
        
         | powerhugs wrote:
         | It allows you to emulate MS-DOS or other legacy 16/32-bit
         | operating systems on any supported hardware, such as ARM.
        
         | rnd0 wrote:
         | Strictly speaking, no. It's primarily developed (as I
         | understand it) for cases (gaming, mostly, but some hobby/dev
         | use) where emulating hardware accurately (think timings) is
         | desireable.
         | 
         | In a sense it's also a history preservation project, though I
         | doubt they would characterize it as such themselves. They don't
         | do the documentation that pcjs does; but I think it's similar
         | in spirit, if not in implementation specifics.
        
           | rnd0 wrote:
           | I should clarify that when I say that, I don't mean
           | documentation about the emulator (which is coming along
           | nicely), but documentation about the computers being
           | emulated. I was specifically thinking of things like this (
           | https://www.pcjs.org/machines/pcx86/compaq/portable/ ) when I
           | was writing that comment.
        
       | trollbridge wrote:
       | This is an excellent piece of software - use it almost every day.
       | It's the best way to run basically any operating system from the
       | pre-USB era. It includes a very good emulation of the IBM PC
       | _jr_, a whole host of other ISA, VESA Local Bus, MCA, and PCI
       | based machines. It also has CPU modes good enough to run
       | troublesome programs that don't function in DOSBox or dosemu2.
        
         | sebazzz wrote:
         | I do occasionally run into stability issues, especially with 3D
         | games. The emulation is not 100% perfect.
        
       | rougka wrote:
       | wow, the screenshots attached to each release on github are
       | deeply nostalgic
       | 
       | https://github.com/86Box/86Box/releases
        
       | accrual wrote:
       | I am a big fan of 86box for my retro PC hobby. Some neat things
       | I've used it for:
       | 
       | * Log virtual POST codes to a text file for a physical
       | motherboard I'm troubleshooting to see where it's hanging up
       | 
       | * Install an old OS to a .img file which I can then extract and
       | pull bit-perfect files from
       | 
       | * Create a virtual hard drive with matching CHS values to a real
       | hard drive, install an OS, then write the image to a real disk
       | and boot it on real hardware
       | 
       | * And of course, play around with old hardware, software, and
       | games in fairly accurate simulated way :)
        
       | ralphc wrote:
       | How does it handle serial to TCP connection? I'm using DOSBox
       | now, you can configure a serial port to turn into a TCP
       | connection.
        
       ___________________________________________________________________
       (page generated 2024-12-30 23:01 UTC)