Bochs 2.1.1














(There's no video for Bochs 2.1.1 yet. Please contribute to MR and add a video now!)
What is Bochs 2.1.1? Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. Bochs can be compiled to emulate many different x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors which may even not reached the market yet. Download Bochs 2.1.1 for Mac
From Mac OS 9.0 this is taken from the Bochs official changelog:
Changes in 2.1.1 (February 8, 2004): 2342 2343 - fix bug in int15h function 0xe820 (Christian Neubert) 2344 - fix vmware3 disk support on big-endian platforms (Christophe Bothamy) 2345 - fix conditions for NM exception on FWAIT instruction (Christophe) 2346 - fix symbol conflict in rfb and x display libraries (Volker Ruppert) 2347 - allow 16 bit writes to ne2k page 0 (Kenneth Stailey) 2348 - notify display libraries on change of bpp (Volker) 2349 - fix bug in int13h function 0x10 (Volker) 2350 - fix floppy dialog error on win2k (Volker) 2351 - fix adress check in TSS IO permission bitmap (Christophe) 2352 - fix buffer overflow vulnerability pointed out by SeSoX (Christophe) 2353 - updates for MacOS compile (Daniel Gimpelevich) 2354 2355 ------------------------------------------------------------------------- 2356 Changes in 2.1 (January 9, 2004): 2357 2358 Brief summary : 2359 - New disassembler 2360 - 3DNow!/SSE/SSE2/PNI instruction support 2361 - Vmware3/Sparse/Undoable/Growing harddisk images support 2362 - many VGA emulation improvements (e.g. high/true color VBE modes added) 2363 - No more X11 vga font required 2364 2365 Detailed change log : 2366 2367 - CPU 2368 - added emulation of AMD 3DNow! instructions set. (Stanislav Shwartsman) 2369 Bochs now could decode all AMD 3DNow! instructions. 2370 Most of instructions still not implemented, but the basis already presents. 2371 Configure --enable-3dnow to enable 3DNow! support. 2372 Notes : 2373 - These instructions are not implemented yet: 2374 PFPNACC_PqQq, PF2IW_PqQq, PFNACC_PqQq, PFCMPGE_PqQq, PFMIN_PqQq, 2375 PFRCP_PqQq, PFRSQRT_PqQq, PFSUB_PqQq, PFADD_PqQq, PFCMPGT_PqQq, 2376 PFMAX_PqQq, PFRCPIT1_PqQq, PFRSQIT1_PqQq, PFSUBR_PqQq, PFACC_PqQq, 2377 PFCMPEQ_PqQq, PFMUL_PqQq, PFRCPIT2_PqQq 2378 - CPUID does not report 3DNow! instruction set. 2379 - added emulation of SSE/SSE2 floating point instructions. (Stanislav) 2380 All SSE/SSE2 floating point instructions are fully implemented using 2381 free softfloat library (including DAZ support and floating point 2382 exceptions). Correctness of the emulation checked with heavily random 2383 testing. 2384 - added emulation of SSE3 (PNI) instructions (Stanislav) 2385 Currently only 3 PNI opcodes still not implemented: 2386 FISTTP m16int, FISTTP m32int, FISTTP m64int 2387 - added P4 CPU support to CPUID instruction. (Stanislav) 2388 - fixed implementation of FXSAVE/FXRSTOR instructions. (Stanislav) 2389 - bugfix: unallowed lock prefix cases must cause #UD exception. (Stanislav) 2390 - fixed fetchdecode bug caused #UD in SYSENTER/SYSEXIT instructions 2391 in 32bit mode. (Stanislav) 2392 - fixed fetchdecode64 bug caused wrong decoding of opcodes containing 2393 BxImmediate_IvIw or BxImmediate_IwIb in x86-64. (Stanislav) 2394 - fixed bug in int01 (opcode 0xF1) emulation. (Vitaly Vorobyov) 2395 - fixed bug in x86 debugger with dr0-dr3 registers (Vitaly) 2396 - fixed bug with mov to/from dr register in v86mode. 2397 (now exception is generated (according to Intel documentation) 2398 instead of panic) (Vitaly) 2399 - fixed stack limit checking, now message is generated as BX_DEBUG, 2400 rather then BX_PANIC, and exception code is executed. (Vitaly) 2401 - instrumentation code updated. (Stanislav) 2402 - fix flaw in IO bitmap permission of TSS (Christophe Bothamy) 2403 - cpu resets on triple fault (Christophe) 2404 - remove calculation on cr3 in dtranslate_linear to increase 2405 emulation speed (Conn Clark) 2406 - numerous x86-64 fixes (Peter Tattam) 2407 2408 - FPU 2409 - hundreds of bugfixes in FPU emulation after checking of the emulation 2410 with testfloat (Scott Duplichan). 2411 - Fixed cases: 2412 - floatx80_to_int32, floatx80_to_float32 2413 - floatx80_to_float64, floatx80_round_to_int 2414 - floatx80_add, floatx80_sub, 2415 - floatx80_mul, floatx80_div 2416 - implemented FCMOVcc instructions (Stanislav) 2417 - 64-bit addressing support for x86-64 mode (Peter) 2418 2419 - Disassembler 2420 - replaced Bochs disassember. New table-based disassembler fully supports 2421 all IA-32 instruction sets including all FPU/MMX/SSE/SSE2/SSE3 opcodes. 2422 (Stanislav) 2423 2424 - I/O devices 2425 - general 2426 - i/o access mask implemented, unallowed cases are now handled in the devices 2427 code and cause a BX_ERROR (Volker Ruppert) 2428 - include slowdown timer as a runtime option (Christophe) 2429 - netBSD : fix serial, ethernet, cdrom (fredb, uebayasi and David Laight) 2430 - VGA 2431 - color depth 15, 16, 24 and 32 bpp supported by VBE (Volker and 2432 Christopher Nelson for 32 bpp on win32). Supported by sdl, x, win32 and wx. 2433 - SVGA mode 0x6A (800x600x4bpp) implemented (Volker) 2434 - new CGA graphics modes 640x200x1bpp and 160x100x4bpp (text mode 80x100) (Volker) 2435 - raster operations AND, OR and XOR in write mode 2 (based on SF patch #707931) (Volker) 2436 - 'split screen' in standard VGA graphics mode implemented (Volker) 2437 - 'double scan' and 'double width' now handled in the VGA code (Volker) 2438 - more accurate emulation of the horizontal and vertical retrace (Volker) 2439 - changeable start address and variable line length supported by all 2440 graphics modes (Volker) 2441 - VBE: preserve video memory feature implemented (Volker) 2442 - additional text mode features prepared (handled in the display library 2443 code) (Volker) 2444 - PCI 2445 - add experimental PCI VGA card (Mike Nordell) 2446 - add experimental PCI USB card (Ben Lunt) 2447 - Harddisks 2448 - per device selectable harddisk modes : 2449 - undoable, volatile, growing disks support (Christophe) 2450 - sparse disks support (justinSB) 2451 - vmware3 disks support (Sharvil Nanavati) 2452 - fix non detection of hard drives by minix2 (Christophe) 2453 - implement atapi command 0xA8 read (12) (Christophe) 2454 - mode sense command updated (Hartmut Birr) 2455 - sb16 2456 - opl2 support enhanced (James E. Flemer) 2457 - ne2k 2458 - tap support for FreeBSD (Ronald Klop and Gen Otsuji) 2459 - fix when booting with grub (Keir Fraser) 2460 - cmos 2461 - date/time change support added (Volker) 2462 - UIP bit and divider chain reset implemented (Volker) 2463 - initial time can now be set to local time or utc (Christophe, Daniel Gimpelevich) 2464 - keyboard 2465 - keyboard reset function (0xff) now resets the keyboard (Volker) 2466 - gameport 2467 - new standard PC gameport device (real joystick connected on Linux and 2468 win32 only). Enable it with --enable-gameport or the SB16 emulation (Volker) 2469 - serial 2470 - FIFO emulation (UART type 16550A) implemented (Volker) 2471 - floppies 2472 - 160k,180k,320k floppies support (Ben Lunt) 2473 2474 - display libraries 2475 - X11 2476 - onboard vgacard charmap usage (no need for external X11 vga font any more) (Christophe) 2477 - vgacard charmap change support (Christophe) 2478 - fix black stripes on partial exposes (Dirk Thierbach) 2479 - headerbar redraw optimizations (Dirk Thierbach) 2480 - external font files and their installation mechanism removed (Volker) 2481 - belgian keymap support (Wouter Verhelst, Eric Brasseur) 2482 - win32 + wx + x: new application/window icon (bochs.ico / icon_bochs.xpm) (Volker) 2483 - sdl + win32 + wx + x: new textmode features: variable line length, 2484 char width switch, horizontal and vertical pel panning (Volker) 2485 - win32 + wxMSW: key event handling rewritten (Volker) 2486 - win32: status bar at the bottom of the simulation window added (Volker) 2487 - wxMSW: resource problems fixed - wx dll plugin works now without errors (Volker) 2488 - term: variable line length and cursor enable/disable feature implemented (Volker) 2489 - rfb 2490 - textmode: charmap change, better cursor emulation, variable line length (Volker) 2491 - headerbar works now (power, reset and user button are okay) (Volker) 2492 - key event handling rewritten (Volker) 2493 - Bochs-RFB waits up to 30 seconds for a client connection. The emulation 2494 starts after connecting the client. (Volker) 2495 - carbon: Alt/Ctrl/Shift key handling rewritten & SysRq/Ctrl-Break key support added 2496 (Daniel) 2497 2498 - configuration interface 2499 - gui dialogs as an extension of the textconfig interface on win32 added (Volker) 2500 * ask dialog 2501 * save text snapshot 2502 * user button shortcut 2503 * floppy image change 2504 - wxwindows configuration dialogs improved (Volker, Christophe) 2505 2506 - support tools 2507 - bximage : added support for 2508 - growing disks (Christophe) 2509 - sparse disks (justinSB) 2510 - created bxcommit tool for undoable disk images (Christophe) 2511 2512 - System BIOS : 2513 - fixed int15 function e801 (get memory size) (Christophe) 2514 - added int75_handler for FPU Dos Exceptions (Christophe) 2515 - added int16 function 0a (Get Keyboard ID) (Volker) 2516 - added support for ElTorito Harddisk-on-CD emulation (Christophe) 2517 - fixed ATA/Serial ioport conflict (Daniel) 2518 2519 - VGA BIOS : updated to version 0.4c (Christophe) 2520 2521 - configure script/compile/porting to other OSes/installation 2522 - fixes for compilation with MSVC (Andrew Zabolotny) 2523 - fixes for cross-compilation (Jeroen Janssen) 2524 - win32 nsis installer script updates (Volker) 2525 - small configure fixes for MacOS (Christophe) 2526 - optimizations & compile fixes for MacOS/X (Daniel) 2527 2528 - configuration files. The following options have been deprecated : 2529 diskc, diskd, cdromd, time0, pit, newharddrivesupport. 2530 2531 - documentation 2532 - already ported and obsolete parts of the old documentation removed (Volker) 2533 - user documentation updated and extended : 2534 - improved section "What does Bochs need" (Volker) 2535 - command line arguments (Volker) 2536 - search order for the configuration file (Volker) 2537 - the configuration interface 'textconfig' (Volker) 2538 - FreeDOS Beta 8 installation instructions (Volker) 2539 - disk modes (Christophe) 2540 - LBA translation (Christophe) 2541 - cdboot error codes (Christophe) 2542 - SCO OpenServer install section (Carl Sopchak) 2543 - MacOS-X DMG install guide (Aard Vark) 2544 - update Win98 install guide (Dirk Thierbach) 2545 2546 - SF patches applied 2547 #658950 Bug in FPU (Anonymous) 2548 #678117 build fail due to bad SGML punctuation (Anonymous) 2549 #671873 minimal USB support (UHCI) (Ben Lunt) 2550 #682539 Fix CapsLock and NumLock behavior (rock at gimp.org) 2551 #720776 REX MOVB immediate broken for x86_64 (Arnd Bergmann) 2552 #729450 new keymap x11-pc-be.map (Wouter Verhelst) 2553 #735990 Limited patches for VC++ (Anonymous) 2554 #742670 fix library dependencies in GUI plugins (Robert Millan) 2555 #742782 LFB bugfix (Jan L. Hauffa) 2556 #748414 load32bitOShack bug (kyriazis at nvidia.com) 2557 #830079 Fix bochs's application error if unsupported key pressed (Anonymous) 2558 #724466 enable building with CC=gcc-3.2 CXX=g++-3.2; dist-clean adds(Leonard Norrgard) 2559 #834962 Fixed drawing graphics is broken (Anonymous) 2560 #838401 Fixed redrawing of ToolBar on Win32GUI (Anonymous) 2561 #850236 Fixed accessing DVD-ROM with direct device access on Win32 (Anonymous) 2562 #847822 Bochs crash when exmining memory that crosses page boundary (ortal at jungo.com) 2563 2564 - SF patches partially applied 2565 #707931 Support EGA/VGA write mode 2 and others (Anonymous) 2566 already applied: disable IME, split screen, write mode 2, 2567 BIOS INT16h/AH=05h 2568 #856506/#856510 Patch to fix compile-time iodev/cd-rom.cc error (alden.dima at nist.gov) 2569 Correct patch provided in SF bug report #843433 (birkhofer at users.sourceforge.net) 2570 2571 - patches applied 2572 - patch.highmem (memory allocation) (Zwane Mwaikambo) 2573 - patch.floppy-160k-180k-320k-benlunt (exotic floppies) (Ben Lunt) 2574 - patch.perf-regparm-cclark (performance) (Conn Clark) 2575 2576 - new patches present in the patches directory : 2577 patch.pipelined-asm-cclark 2578 patch.mingw-resources 2579 patch.v8086-exception.lightcone 2580 patch.pit-vitaly-vorobyov 2581 patch.rombios-vitaly-vorobyov 2582 patch.win32-vitaly-vorobyov 2583 patch.win32-new-files-vitaly-vorobyov.tgz 2584 patch.rombios.markevich 2585 patch.rombios.dirk.thierbach 2586 2587 - these S.F. bugs were closed 2588 #865354 ">>PANIC<< CRA: divider chain control 0x07" in Linux 1.1 2589 #725796 configure script bug 2590 #859768 cpuid 2591 #863964 panic in duron 2000 2592 #843433 cdrom.cc on MacOSX: wrong const names 2593 #818493 EMU][ (DJGPP app running on FreeDOS) broken 2594 #787005 Some MOV instructions are not implemented!!! 2595 #840664 2200136693936p[CPU ] >>PANIC<< prefetch: RIP > CS.limit 2596 #837416 V2 OS not compatible !? 2597 #650917 Serial port broken under win95 2598 #829863 Make bochs 2.0.2 build with gcc3 2599 #816971 main.cc: getcwd() missing argument 2600 #813556 Compile error under gcc 3.3.1 2601 #809758 RIGHT ALT does not function properly 2602 #809695 CVS complains about unknown files after compilation 2603 #628762 Error in Floppy Booting 2604 #474526 Crash under win32 (access violation) 2605 #687619 test case for BX_CPU_C::IRET32 2606 #664544 Panic in IRET32 - Reporting test case 2607 #637822 test case for BX_CPU_C::IRET32 2608 #603410 BX_CP U_C::IRET32 2609 #537047 IRET32 incomplete emulation, panic 2610 #805541 Compile fails on i686, gcc 3.3 2611 #798829 Problem booting from ISO image 2612 #688163 Panic at rombios.c 2613 #688161 rombios.c crashes when boot from a CD. 2614 #796339 int 15h, e801h broken? 2615 #666946 Slowdown Timer should be a module 2616 #783826 the clock is extremely fast 2617 #645609 Real Time Clock is too *FAST* 2618 #663320 flaw in IO bitmap permission handling 2619 #764929 Timing is off. 2620 #659510 Bochs timing off by x10 2621 #787138 No ROM BIOS character map 2622 #787134 Config options not saved 2623 #689201 Disassembler bug 2624 #666202 Windows 2000 - random screen blanking with linux DLX demo 2625 #629242 reset during Doom -> BIOS panic 2626 #695434 minix floppies won't boot. 2627 #764473 Freesco Linux crashes on boot 2628 #656026 error when trying to run some stuff 2629 #614202 HD: non-byte IO read to 01f4 2630 #777357 Strange FPU compiler error 2631 #583758 gag bootloader doesn't run 2632 #658639 ne2k panics with MS lanman Client/DOS62 2633 #536711 problem running smart bootmanager 2634 #741433 Disabling all ata# results in HD error. 2635 #753200 lock instruction doesn't do an illegal instruction trap 2636 #679389 libbx_wx.so.0: undefined symbol 2637 #758936 Problem Installing Bochs 2638 #742580 I configured fants but bochs still give me the same error 2639 #772242 iodev/vga.cc wrong memory access. 2640 #739222 Cannot change resultion 2641 #693344 libwx_gtk2.3.so.2 RedHat linux 8.0 2642 #639320 sparc: needs -lm to compile 2643 #587422 Windows 95j doesn't boot 2644 #547817 sparc: rfb needs -lsocket 2645 #480963 RFB: option to wait for client 2646 #763893 i've got problems with a "libvga.so.1" and another file 2647 #766490 Documentation mistake 2648 #766481 Bochs 2.0.2 Fails to compile on YDL3.0 2649 #626144 %lld is not portable 2650 #752241 lock prefix erronously allowed for some instructions 2651 #743305 fetchdecode.c probs 2652 #658707 Automatic exit? 2653 #696758 BeOS can't mount image disk, won't complete boot. 2654 #737048 Enabling keyboard resets controllers translation mode 2655 #717713 Bochs panics on startup on RH 9 2656 #741108 VGA PANIC 2657 #730922 seg fault on "bochs boot: cdrom" 2658 #658905 VGA read write error 2659 #564218 Panic on vga_mem_write 2660 #614231 X11 doesn't support charmap change 2661 #708311 Missing CGA low-res emulation 2662 #720776 REX MOVB immediate broken for x86_64 2663 #643296 lock prefix, unallowed cases 2664 #716964 [sb16] OPL.timer_running not initialized 2665 #662074 little mistake in the default config example 2666 #470701 CD-ROM on Win2K needs FILE_SHARE_READ 2667 #706454 bug?? 2668 #653861 Win32 build bug 2669 #421155 panic on vga read 0x3c7,0x3cb 2670 #666434 VGA BIOS: Incompatible mode reporting 2671 #681819 Incorrent return value from cdrom reads 2672 #648222 Lotus Agenda futuristic dates off 2673 #657455 doesn't boot plan9 2674 #658938 SGDT in VM8086
|