Package-Name: bochs
Gentoo-Package: app-emulation/bochs
Homepage: http://bochs.sourceforge.net/
Source: sourceforge:///bochs/bochs-(\d+.\d+(.\d+)?).tar.gz $1
Zap-Before-Install: 1
Repack:
	tar xzvfp "$(SOURCE)"
Compile:
	$(MAKE) -f ../Makefile CUSTOM_CFLAGS=-fomit-frame-pointer CONFIGURE_OPTS="--with-x11 --enable-slowdown --enable-all-optimizations --enable-cpu-level=6 --enable-mmx --enable-fpu --enable-ignore-bad-msr --enable-apic --enable-ne2000 --enable-vbe --enable-cdrom --enable-sb16=linux"
	$(MAKE)
	rm -f "$(PREFIX)"/man/*/*.gz
	$(MAKE) install
	-gunzip -f "$(PREFIX)"/man/*/*.gz
	rm -rf "$(PREFIX)"/doc
	mv "$(PREFIX)"/share/doc/bochs "$(PREFIX)"/doc
	rmdir "$(PREFIX)"/share/doc
Install:
	$(MAKE) instbin BIN="bochs bxcommit bximage"
	$(MAKE) instman SECTION=1 MAN="bochs bochs-dlx bxcommit bximage"
	$(MAKE) instman SECTION=5 MAN=bochsrc
Patch: <<EOT
######## begin GCC 4.1 patch
--- iodev/hdimage.h.old	2005-11-06 20:07:01 +0900
+++ iodev/hdimage.h	2006-03-11 15:12:22 +0900
@@ -273,14 +273,8 @@
 
  void panic(const char * message);
  off_t
-#ifndef PARANOID
-       sparse_image_t::
-#endif
                        get_physical_offset();
  void
-#ifndef PARANOID
-       sparse_image_t::
-#endif
                        set_virtual_page(Bit32u new_virtual_page);
  void read_header();
  ssize_t read_page_fragment(Bit32u read_virtual_page, Bit32u read_page_offset, size_t read_size, void * buf);
######## end GCC 4.1 patch
######## begin no-wget-in-configure patch
--- configure.old	2006-01-29 22:56:04 +0900
+++ configure	2006-03-11 15:06:00 +0900
@@ -37401,7 +37401,7 @@
 
 
 
-for ac_prog in wget curl fetch
+for ac_prog in ""
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -37443,8 +37443,8 @@
 test -n "$WGET" || WGET="not_found"
 
 if test "$WGET" = not_found; then
-  { echo "$as_me:$LINENO: WARNING: cannot find wget (or equivalent) command" >&5
-echo "$as_me: WARNING: cannot find wget (or equivalent) command" >&2;}
+  { echo "$as_me:$LINENO: WARNING: cannot find wg""et (or equivalent) command" >&5
+echo "$as_me: WARNING: cannot find wg""et (or equivalent) command" >&2;}
 fi
 # everybody has to re-invent the wheel. differently.
 test "${WGET}" = "curl" && WGET="curl -O"
######## end no-wget-in-configure patch
######## begin slowdown patch
--- ../bochs-2.2.6-orig/bochs.h	2006-01-29 01:16:02 +0900
+++ bochs.h	2006-03-11 02:36:11 +0900
@@ -589,6 +589,7 @@
   bx_param_enum_c   *Okeyboard_type;
   bx_param_num_c    *Ocpu_count;
   bx_param_num_c    *Oips;
+  bx_param_num_c    *Oslowdown;
   bx_param_bool_c   *Otext_snapshot_check;
   bx_param_bool_c   *Omouse_enabled;
   bx_param_enum_c   *Omouse_type;
--- ../bochs-2.2.6-orig/config.cc	2006-01-26 05:07:35 +0900
+++ config.cc	2006-03-11 02:37:50 +0900
@@ -1193,6 +1193,12 @@
       1, BX_MAX_BIT32U,
       2000000);
 
+  bx_options.Oslowdown = new bx_param_num_c (BXP_SLOWDOWN,
+      "Slowdown value",
+      "Slowdown value, used to slow down the emulation (0 = full speed)",
+      0, BX_MAX_BIT32U,
+      0);
+
   bx_options.Otext_snapshot_check = new bx_param_bool_c (BXP_TEXT_SNAPSHOT_CHECK,
       "Enable panic for use in bochs testing",
       "Enable panic when text on screen matches snapchk.txt.\nUseful for regression testing.\nIn win32, turns off CR/LF in snapshots and cuts.",
@@ -2752,6 +2758,11 @@
     if (bx_options.Oips->get () < BX_MIN_IPS) {
       PARSE_WARN(("%s: WARNING: ips is AWFULLY low!", context));
     }
+  } else if (!strcmp(params[0], "slowdown")) {
+    if (num_params != 2) {
+      PARSE_ERR(("%s: slowdown directive: wrong # args.", context));
+    }
+    bx_options.Oslowdown->set (atol(params[1]));
   } else if (!strcmp(params[0], "text_snapshot_check")) {
     if (num_params != 2) {
       PARSE_ERR(("%s: text_snapshot_check directive: wrong # args.", context));
diff -urN ../bochs-2.2.6-orig/gui/siminterface.h gui/siminterface.h
--- ../bochs-2.2.6-orig/gui/siminterface.h	2006-01-19 03:35:37 +0900
+++ gui/siminterface.h	2006-03-11 02:35:39 +0900
@@ -123,6 +123,7 @@
   BXP_NULL = 301,
   BXP_CPU_COUNT,
   BXP_IPS,
+  BXP_SLOWDOWN,
   BXP_REALTIME_PIT,
   BXP_TEXT_SNAPSHOT_CHECK,
   BXP_VGA_EXTENSION,
--- ../bochs-2.2.6-orig/main.cc	2006-01-22 21:31:15 +0900
+++ main.cc	2006-03-11 02:39:15 +0900
@@ -802,6 +802,7 @@
   }
 
   bx_pc_system.init_ips(bx_options.Oips->get());
+  bx_pc_system.init_slowdown(bx_options.Oslowdown->get());
 
   if(bx_options.log.Ofilename->getptr()[0]!='-') {
     BX_INFO (("using log file %s", bx_options.log.Ofilename->getptr()));
--- ../bochs-2.2.6-orig/pc_system.h	2006-01-21 04:12:03 +0900
+++ pc_system.h	2006-03-11 02:35:39 +0900
@@ -86,6 +86,9 @@
   // ticks finds that an event has occurred.
   void   countdownEvent(void);
 
+  // Slowdown amount.
+  Bit32u slowdown;
+
 public:
 
   // ==============================
@@ -93,6 +96,9 @@
   // ==============================
 
   void   init_ips(Bit32u ips);
+  void   init_slowdown(Bit32u slowdown_val) {
+    slowdown = slowdown_val;
+  }
   int    register_timer( void *this_ptr, bx_timer_handler_t, Bit32u useconds,
                          bx_bool continuous, bx_bool active, const char *id);
   unsigned unregisterTimer(int timerID);
@@ -104,11 +110,17 @@
     return triggeredTimer;
   }
   static BX_CPP_INLINE void tick1(void) {
+    Bit32u i;
+    for (i = 0; i < bx_pc_system.slowdown; i++);
     if (--bx_pc_system.currCountdown == 0) {
       bx_pc_system.countdownEvent();
     }
   }
   static BX_CPP_INLINE void tickn(Bit64u n) {
+    Bit32u i;
+    Bit64u j;
+    for (j = 0; j < n; j++)
+      for (i = 0; i < bx_pc_system.slowdown; i++);
     while (n >= Bit64u(bx_pc_system.currCountdown)) {
       n -= Bit64u(bx_pc_system.currCountdown);
       bx_pc_system.currCountdown = 0;
######## end slowdown patch
######## begin JP106 keyboard patch
diff -urN ../bochs-2.2.6-orig/gui/gui.h gui/gui.h
--- ../bochs-2.2.6-orig/gui/gui.h	2006-01-26 02:37:22 +0900
+++ gui/gui.h	2006-03-11 02:40:24 +0900
@@ -373,7 +373,10 @@
 #define BX_KEY_POWER_POWER  117
 #define BX_KEY_POWER_WAKE   118
 
-#define BX_KEY_NBKEYS       119
+#define BX_KEY_YEN          119
+#define BX_KEY_JP_BACKSLASH 120
+
+#define BX_KEY_NBKEYS       121
 // If you add BX_KEYs Please update 
 // - BX_KEY_NBKEYS
 // - the scancodes table in the file iodev/scancodes.cc
diff -urN ../bochs-2.2.6-orig/gui/keymap.cc gui/keymap.cc
--- ../bochs-2.2.6-orig/gui/keymap.cc	2005-03-27 23:50:07 +0900
+++ gui/keymap.cc	2006-03-11 02:40:24 +0900
@@ -69,7 +69,8 @@
   "BX_KEY_INT_FORWARD",    "BX_KEY_INT_STOP",       "BX_KEY_INT_MAIL",       
   "BX_KEY_INT_SEARCH",     "BX_KEY_INT_FAV",        "BX_KEY_INT_HOME",       
   "BX_KEY_POWER_MYCOMP",   "BX_KEY_POWER_CALC",     "BX_KEY_POWER_SLEEP",    
-  "BX_KEY_POWER_POWER",    "BX_KEY_POWER_WAKE",
+  "BX_KEY_POWER_POWER",    "BX_KEY_POWER_WAKE",     "BX_KEY_YEN",            
+  "BX_KEY_JP_BACKSLASH",   
   };
 
 bx_keymap_c bx_keymap;
diff -urN ../bochs-2.2.6-orig/gui/keymaps/x11-pc-jp.map gui/keymaps/x11-pc-jp.map
--- ../bochs-2.2.6-orig/gui/keymaps/x11-pc-jp.map	1970-01-01 09:00:00 +0900
+++ gui/keymaps/x11-pc-jp.map	2006-03-11 02:40:24 +0900
@@ -0,0 +1,213 @@
+# Bochs Keymap file
+# $Id: x11-pc-us.map,v 1.3 2002/09/25 08:00:25 bdenney Exp $
+# Target: PC(x86) keyboard, JP keymap
+# Author: Christophe Bothamy, Bryce Denney
+#
+# The keymap file describes the layout of a keyboard, and how it translates
+# into Bochs key codes.
+#
+# Format:
+#  BX_Keysym                ASCII_equivalent      Xwin_Keysym
+#
+# Or, for keys that require modifiers:
+#  BX_Keysym+BX_Modifier    ASCII_equivalent    Xwin_Keysym
+#
+# BX_Keysym and BX_Modifier must be present in the bx_key_symbol[] list in
+# gui/keymap.cc.  The BX_Modifier is usually a shift key press, but it
+# could be any key.  Presently a maximum of one modifier is supported, but this
+# could be changed in keymap.h (structure def has only one slot for modifier),
+# keymap.cc (parsing code), and iodev/keyboard.cc (simulate keypresses for >1
+# modifier).
+#
+# The ASCII_equivalent must be either apostrophe + one character + apostrophe,
+# or one of these keywords: space, return, tab, backslash, apostrophe, none.
+# This format is designed to look like a char constant in C, but it's a very
+# simple parser.  There's no concept of backslash being an escape char.  The
+# backslash and apostrophe entries are provided for aesthetic purposes only: no
+# C++ programmer wants to see '\' or '''. The parser doesn't care, but they are
+# ugly.
+#
+# Xwin_Keysym is the X windows equivalent of the key combination.  These
+# codes should match whatever you find in /usr/X11R6/include/X11/keysymdef.h.
+# If you're running X windows, Bochs will take each of these Xwin_Keysyms,
+# pull off the XK_ in front, and use XStringToKeysym() to change them into
+# numerical codes.  If this lookup fails, you will get a panic and you need
+# to edit the keymap file.
+#
+
+# yen/pipe: 133
+# backslash/underscore: 211
+
+BX_KEY_0                                      '0'        XK_0
+BX_KEY_0+BX_KEY_SHIFT_L                       '~'        XK_asciitilde
+BX_KEY_1                                      '1'        XK_1
+BX_KEY_1+BX_KEY_SHIFT_L                       '!'        XK_exclam
+BX_KEY_2                                      '2'        XK_2
+BX_KEY_2+BX_KEY_SHIFT_L                       '"'        XK_quotedbl
+BX_KEY_3                                      '3'        XK_3
+BX_KEY_3+BX_KEY_SHIFT_L                       '#'        XK_numbersign
+BX_KEY_4                                      '4'        XK_4
+BX_KEY_4+BX_KEY_SHIFT_L                       '$'        XK_dollar
+BX_KEY_5                                      '5'        XK_5
+BX_KEY_5+BX_KEY_SHIFT_L                       '%'        XK_percent
+BX_KEY_6                                      '6'        XK_6
+BX_KEY_6+BX_KEY_SHIFT_L                       '&'        XK_ampersand
+BX_KEY_7                                      '7'        XK_7
+BX_KEY_7+BX_KEY_SHIFT_L                       apostrophe XK_apostrophe
+BX_KEY_8                                      '8'        XK_8
+BX_KEY_8+BX_KEY_SHIFT_L                       '('        XK_parenleft
+BX_KEY_9                                      '9'        XK_9
+BX_KEY_9+BX_KEY_SHIFT_L                       ')'        XK_parenright
+BX_KEY_A+BX_KEY_SHIFT_L                       'A'        XK_A
+BX_KEY_A                                      'a'        XK_a
+BX_KEY_B+BX_KEY_SHIFT_L                       'B'        XK_B
+BX_KEY_B                                      'b'        XK_b
+BX_KEY_C+BX_KEY_SHIFT_L                       'C'        XK_C
+BX_KEY_C                                      'c'        XK_c
+BX_KEY_D+BX_KEY_SHIFT_L                       'D'        XK_D
+BX_KEY_D                                      'd'        XK_d
+BX_KEY_E+BX_KEY_SHIFT_L                       'E'        XK_E
+BX_KEY_E                                      'e'        XK_e
+BX_KEY_F+BX_KEY_SHIFT_L                       'F'        XK_F
+BX_KEY_F                                      'f'        XK_f
+BX_KEY_G+BX_KEY_SHIFT_L                       'G'        XK_G
+BX_KEY_G                                      'g'        XK_g
+BX_KEY_H+BX_KEY_SHIFT_L                       'H'        XK_H
+BX_KEY_H                                      'h'        XK_h
+BX_KEY_I+BX_KEY_SHIFT_L                       'I'        XK_I
+BX_KEY_I                                      'i'        XK_i
+BX_KEY_J+BX_KEY_SHIFT_L                       'J'        XK_J
+BX_KEY_J                                      'j'        XK_j
+BX_KEY_K+BX_KEY_SHIFT_L                       'K'        XK_K
+BX_KEY_K                                      'k'        XK_k
+BX_KEY_L+BX_KEY_SHIFT_L                       'L'        XK_L
+BX_KEY_L                                      'l'        XK_l
+BX_KEY_M+BX_KEY_SHIFT_L                       'M'        XK_M
+BX_KEY_M                                      'm'        XK_m
+BX_KEY_N+BX_KEY_SHIFT_L                       'N'        XK_N
+BX_KEY_N                                      'n'        XK_n
+BX_KEY_O+BX_KEY_SHIFT_L                       'O'        XK_O
+BX_KEY_O                                      'o'        XK_o
+BX_KEY_P+BX_KEY_SHIFT_L                       'P'        XK_P
+BX_KEY_P                                      'p'        XK_p
+BX_KEY_Q+BX_KEY_SHIFT_L                       'Q'        XK_Q
+BX_KEY_Q                                      'q'        XK_q
+BX_KEY_R+BX_KEY_SHIFT_L                       'R'        XK_R
+BX_KEY_R                                      'r'        XK_r
+BX_KEY_S+BX_KEY_SHIFT_L                       'S'        XK_S
+BX_KEY_S                                      's'        XK_s
+BX_KEY_T+BX_KEY_SHIFT_L                       'T'        XK_T
+BX_KEY_T                                      't'        XK_t
+BX_KEY_U+BX_KEY_SHIFT_L                       'U'        XK_U
+BX_KEY_U                                      'u'        XK_u
+BX_KEY_V+BX_KEY_SHIFT_L                       'V'        XK_V
+BX_KEY_V                                      'v'        XK_v
+BX_KEY_W+BX_KEY_SHIFT_L                       'W'        XK_W
+BX_KEY_W                                      'w'        XK_w
+BX_KEY_X+BX_KEY_SHIFT_L                       'X'        XK_X
+BX_KEY_X                                      'x'        XK_x
+BX_KEY_Y+BX_KEY_SHIFT_L                       'Y'        XK_Y
+BX_KEY_Y                                      'y'        XK_y
+BX_KEY_Z+BX_KEY_SHIFT_L                       'Z'        XK_Z
+BX_KEY_Z                                      'z'        XK_z
+BX_KEY_F1                                     none       XK_F1
+BX_KEY_F2                                     none       XK_F2
+BX_KEY_F3                                     none       XK_F3
+BX_KEY_F4                                     none       XK_F4
+BX_KEY_F5                                     none       XK_F5
+BX_KEY_F6                                     none       XK_F6
+BX_KEY_F7                                     none       XK_F7
+BX_KEY_F8                                     none       XK_F8
+BX_KEY_F9                                     none       XK_F9
+BX_KEY_F10                                    none       XK_F10
+BX_KEY_F11                                    none       XK_F11
+BX_KEY_F12                                    none       XK_F12
+BX_KEY_ALT_L                                  none       XK_Alt_L
+#BX_KEY_ALT_L                                  none       XK_Meta_L
+BX_KEY_ALT_R                                  none       XK_Alt_R
+#BX_KEY_ALT_R                                  none       XK_Mode_switch
+#BX_KEY_ALT_R                                  none       XK_Multi_key
+BX_KEY_BACKSLASH                              ']'        XK_bracketright
+BX_KEY_BACKSLASH+BX_KEY_SHIFT_L               '}'        XK_braceright
+#BX_KEY_BACKSLASH                              backslash  XK_backslash
+#BX_KEY_BACKSLASH+BX_KEY_SHIFT_L               '|'        XK_bar
+BX_KEY_BACKSPACE                              none       XK_BackSpace
+BX_KEY_CAPS_LOCK                              none       XK_Caps_Lock
+BX_KEY_COMMA                                  ','        XK_comma
+BX_KEY_COMMA+BX_KEY_SHIFT_L                   '<'        XK_less
+BX_KEY_CTRL_L                                 none       XK_Control_L
+BX_KEY_CTRL_R                                 none       XK_Control_R
+BX_KEY_DELETE                                 none       XK_Delete
+BX_KEY_DOWN                                   none       XK_Down
+BX_KEY_END                                    none       XK_End
+BX_KEY_ENTER                                  return     XK_Return
+BX_KEY_EQUALS                                 '^'        XK_asciicircum
+BX_KEY_EQUALS+BX_KEY_SHIFT_L                  '~'        XK_asciitilde
+BX_KEY_ESC                                    none       XK_Escape
+BX_KEY_GRAVE                                  none       XK_Kanji
+BX_KEY_HOME                                   none       XK_Home
+BX_KEY_INSERT                                 none       XK_Insert
+BX_KEY_JP_BACKSLASH                           backslash  XK_backslash
+BX_KEY_JP_BACKSLASH+BX_KEY_SHIFT_L            '_'        XK_underscore
+BX_KEY_KP_5                                   none       XK_KP_5
+BX_KEY_KP_5                                   none       XK_KP_Begin
+BX_KEY_KP_ADD                                 none       XK_KP_Add
+BX_KEY_KP_DELETE                              none       XK_KP_Decimal
+BX_KEY_KP_DELETE                              none       XK_KP_Delete
+BX_KEY_KP_DIVIDE                              none       XK_KP_Divide
+BX_KEY_KP_DOWN                                none       XK_KP_2
+BX_KEY_KP_DOWN                                none       XK_KP_Down
+BX_KEY_KP_END                                 none       XK_KP_1
+BX_KEY_KP_END                                 none       XK_KP_End
+BX_KEY_KP_ENTER                               none       XK_KP_Enter
+BX_KEY_KP_HOME                                none       XK_KP_7
+BX_KEY_KP_HOME                                none       XK_KP_Home
+BX_KEY_KP_INSERT                              none       XK_KP_0
+BX_KEY_KP_INSERT                              none       XK_KP_Insert
+BX_KEY_KP_LEFT                                none       XK_KP_4
+BX_KEY_KP_LEFT                                none       XK_KP_Left
+BX_KEY_KP_MULTIPLY                            none       XK_KP_Multiply
+BX_KEY_KP_PAGE_DOWN                           none       XK_KP_3
+BX_KEY_KP_PAGE_DOWN                           none       XK_KP_Page_Down
+BX_KEY_KP_PAGE_UP                             none       XK_KP_9
+BX_KEY_KP_PAGE_UP                             none       XK_KP_Page_Up
+BX_KEY_KP_RIGHT                               none       XK_KP_6
+BX_KEY_KP_RIGHT                               none       XK_KP_Right
+BX_KEY_KP_SUBTRACT                            none       XK_KP_Subtract
+BX_KEY_KP_UP                                  none       XK_KP_8
+BX_KEY_KP_UP                                  none       XK_KP_Up
+BX_KEY_LEFT                                   none       XK_Left
+BX_KEY_LEFT_BRACKET                           '`'        XK_grave
+BX_KEY_LEFT_BRACKET+BX_KEY_SHIFT_L            '@'        XK_at
+BX_KEY_MENU                                   none       XK_Menu
+BX_KEY_MINUS                                  '-'        XK_minus
+BX_KEY_MINUS+BX_KEY_SHIFT_L                   '='        XK_equal
+BX_KEY_NUM_LOCK                               none       XK_Num_Lock
+BX_KEY_PAGE_DOWN                              none       XK_Page_Down
+BX_KEY_PAGE_UP                                none       XK_Page_Up
+BX_KEY_PAUSE                                  none       XK_Break
+BX_KEY_PAUSE                                  none       XK_Pause
+BX_KEY_PERIOD                                 '.'        XK_period
+BX_KEY_PERIOD+BX_KEY_SHIFT_L                  '>'        XK_greater
+BX_KEY_PRINT                                  none       XK_Print
+BX_KEY_PRINT                                  none       XK_Sys_Req
+BX_KEY_RIGHT                                  none       XK_Right
+BX_KEY_RIGHT_BRACKET                          '['        XK_bracketleft
+BX_KEY_RIGHT_BRACKET+BX_KEY_SHIFT_L           '{'        XK_braceleft
+BX_KEY_SCRL_LOCK                              none       XK_Scroll_Lock
+BX_KEY_SEMICOLON                              ';'        XK_semicolon
+BX_KEY_SEMICOLON+BX_KEY_SHIFT_L               '+'        XK_plus
+BX_KEY_SHIFT_L                                none       XK_Shift_L
+BX_KEY_SHIFT_R                                none       XK_Shift_R
+BX_KEY_SINGLE_QUOTE                           ':'        XK_colon
+BX_KEY_SINGLE_QUOTE+BX_KEY_SHIFT_L            '*'        XK_asterisk
+BX_KEY_SLASH                                  '/'        XK_slash
+BX_KEY_SLASH+BX_KEY_SHIFT_L                   '?'        XK_question
+BX_KEY_SPACE                                  space      XK_space
+BX_KEY_TAB                                    none       XK_ISO_Left_Tab
+BX_KEY_TAB                                    tab        XK_Tab
+BX_KEY_UP                                     none       XK_Up
+BX_KEY_WIN_L                                  none       XK_Super_L
+BX_KEY_WIN_R                                  none       XK_Super_R
+BX_KEY_YEN                                    backslash  XK_yen
+BX_KEY_YEN+BX_KEY_SHIFT_L                     '|'        XK_bar
diff -urN ../bochs-2.2.6-orig/iodev/scancodes.cc iodev/scancodes.cc
--- ../bochs-2.2.6-orig/iodev/scancodes.cc	2002-10-25 06:07:51 +0900
+++ iodev/scancodes.cc	2006-03-11 02:40:24 +0900
@@ -767,4 +767,16 @@
    { "" ,         "" },
  },
 
+ { // BX_KEY_YEN
+   { "\x7D", "\xFD" },
+   { "\x6A", "\xF0\x6A" },
+   { "",     "" },
+ },
+
+ { // BX_KEY_JP_BACKSLASH
+   { "\x73", "\xF3" },
+   { "\x51", "\xF0\x51" },
+   { "",     "" },
+ },
+
 };
######## end JP106 keyboard patch
EOT

/pkg/bochs/
/usr/bin/bochs
/usr/bin/bxcommit
/usr/bin/bximage
/usr/man/man1/bochs.1.gz
/usr/man/man1/bochs-dlx.1.gz
/usr/man/man1/bxcommit.1.gz
/usr/man/man1/bximage.1.gz
/usr/man/man5/bochsrc.5.gz
