Difference between revisions of "Bochs"

From Emulation General Wiki
Jump to navigation Jump to search
(Category replaced)
m (Correcting Version Template)
 
(7 intermediate revisions by 6 users not shown)
Line 2: Line 2:
 
|logo = bochs.png
 
|logo = bochs.png
 
|logowidth = 120
 
|logowidth = 120
|version = {{BochsVer}}
+
|version = {{Version|Bochs}}
 
|active = Yes
 
|active = Yes
|platform = [[Emulators on PC|Windows]]<br/>Linux<br/>BSD<br/>OS/2<br/>BeOS<br/>MorphOS<br/>[[Amiga emulators|AmigaOS]]<br/>[[Android emulators|Android]]<br/>[[Emulators on PS2|PS2]]<br/>[[Emulators on PSP|PSP]]
+
|platform = [[Emulators on Windows|Windows]]<br/>[[Emulators on Linux|Linux]]<br/>BSD<br/>OS/2<br/>BeOS<br/>MorphOS<br/>[[Amiga emulators|AmigaOS]]<br/>[[Emulators on Android|Android]]<br/>[[Emulators on PS2|PS2]]<br/>[[Emulators on PSP|PSP]]
|target = [[Intel CPUs|386, 486 and Pentium]], [[FM Towns emulators|FM Towns]]
+
|target = [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs|x86 CPUs]], [[FM Towns emulators|FM Towns]]
 
|developer = Kevin Lawton
 
|developer = Kevin Lawton
 
|prog-lang = C++
 
|prog-lang = C++
Line 13: Line 13:
 
}}
 
}}
  
'''Bochs''' is an open-source [[Intel CPUs|386, 486 and Pentium emulator]] written in C++ geared around emulating the full [[wikipedia:x86|x86]] architecture. It's designed to emulate every x86 instruction and device, prioritising accuracy at the cost of speed.
+
'''[[wikipedia:Bochs|Bochs]]''' is a free and open-source [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs|x86 CPU]] emulator written in C++ geared around emulating the full [[wikipedia:x86|x86]] architecture. It's designed to emulate every x86 instruction and device, prioritizing accuracy at the cost of speed. Its high accuracy, built-in debugger, support of recent x86-64 systems, and extensibility via plugins make it very useful for developing and testing operating systems and other low-level PC software.
 
 
Bochs has very rudimentary support for emulation of [[FM Towns emulators|FM Towns]], which development was abandoned long time ago, so this can be used as an "FM Towns emulator" purely only for curiosity sake. UNZ/MAME/Tsugaru are much better for FM Towns emulation nowadays.
 
  
 
==Download==
 
==Download==
Line 34: Line 32:
 
|[https://archive.org/details/bochs-freedos.7z 1.0]
 
|[https://archive.org/details/bochs-freedos.7z 1.0]
 
|}
 
|}
 +
 +
==Overview==
 +
Compared to [[QEMU]], Bochs focuses on portability and simplicity. Only x86 systems may be emulated. CPU emulation is performed through a generic interpreter, meaning it has been ported to non-x86 hosts. However, the results are very slow, and no virtualization technology is supported.
 +
 +
Unlike [[PCem]] which relies on BIOS ROMs to emulate actual machines, Bochs chose to create its own open-source BIOS to simulate a generic PC. Bochs also ships with the open-source SeaBIOS that is used in QEMU. Users may use their own BIOS images from actual machines, although the results are mixed and this is not officially supported.
 +
 +
Bochs cannot correctly emulate the speed or timing of older CPUs. The oldest CPU supported in the default builds is a Pentium (although as old as a 386 is supported by compiling with a custom ''enable-cpu-level'' flag), and selecting the oldest CPUs runs the same core as newer CPUs, just with the newer instructions disabled.
 +
 +
If one is interested in operating system development, this emulator is king. However, due to the slow speed, awkward user interface, and lack of gaming-centered features, you are better off using [[DOSBox]] for playing games, or a fork of [[PCem]] if full system emulation is needed.
 +
 +
Bochs has very rudimentary support for emulation of the FM Towns architecture via a fork, but development was abandoned long time ago so this can be used as an "FM Towns emulator" only for curiosity's sake. There are significantly better [[FM Towns emulators]] nowadays.
 +
 +
==External links==
 +
*[https://bochs.sourceforge.io/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=https://bochs.sourceforge.io/doc/docbook/ Official Documentation]
 +
*[https://wiki.osdev.org/Bochs OSDev Wiki Article] (Information on troubleshooting, known inaccuracies, and debugging)
  
 
[[Category:Emulators]]
 
[[Category:Emulators]]

Latest revision as of 23:31, 10 March 2024

Bochs
Bochs.png
Developer(s) Kevin Lawton
Latest version 2.8 [+]
Active Yes
Platform(s) Windows
Linux
BSD
OS/2
BeOS
MorphOS
AmigaOS
Android
PS2
PSP
Emulates x86 CPUs, FM Towns
Website http://bochs.sourceforge.net
Programmed in C++
License GNU LGPLv2
Source code SourceForge

Bochs is a free and open-source x86 CPU emulator written in C++ geared around emulating the full x86 architecture. It's designed to emulate every x86 instruction and device, prioritizing accuracy at the cost of speed. Its high accuracy, built-in debugger, support of recent x86-64 systems, and extensibility via plugins make it very useful for developing and testing operating systems and other low-level PC software.

Download[edit]

Windows Linux Latest releases
Android Play StoreGitHub
(Android port)

PlayStation 2 2.3.5
PSP 1.0

Overview[edit]

Compared to QEMU, Bochs focuses on portability and simplicity. Only x86 systems may be emulated. CPU emulation is performed through a generic interpreter, meaning it has been ported to non-x86 hosts. However, the results are very slow, and no virtualization technology is supported.

Unlike PCem which relies on BIOS ROMs to emulate actual machines, Bochs chose to create its own open-source BIOS to simulate a generic PC. Bochs also ships with the open-source SeaBIOS that is used in QEMU. Users may use their own BIOS images from actual machines, although the results are mixed and this is not officially supported.

Bochs cannot correctly emulate the speed or timing of older CPUs. The oldest CPU supported in the default builds is a Pentium (although as old as a 386 is supported by compiling with a custom enable-cpu-level flag), and selecting the oldest CPUs runs the same core as newer CPUs, just with the newer instructions disabled.

If one is interested in operating system development, this emulator is king. However, due to the slow speed, awkward user interface, and lack of gaming-centered features, you are better off using DOSBox for playing games, or a fork of PCem if full system emulation is needed.

Bochs has very rudimentary support for emulation of the FM Towns architecture via a fork, but development was abandoned long time ago so this can be used as an "FM Towns emulator" only for curiosity's sake. There are significantly better FM Towns emulators nowadays.

External links[edit]