1# xhomer.cfg: Configuration file for the Xhomer DEC PRO 350 emulator 2 3# ******************************************************************** 4# Initial X-windows screen mode: 5# 6# There are two options: 7# 8# 1. window (normal windowed mode) 9# 2. full (full-screen mode, using DGA X-extensions) 10# ******************************************************************** 11 12screen = window 13 14#screen = full 15 16# ******************************************************************** 17# Initial window position, when in "window" mode: 18# 19# Note that these coordinates are passed to the window manager as 20# hints. Whether these settings are effective depends on the window 21# manager configuration. 22# ******************************************************************** 23 24window_position = 128, 420 25 26# ******************************************************************** 27# Screen vertical scale factor: 28# 29# The Pro's visible screen is 1024 x 240 pixels. Vertical stretching 30# of the image is likely required, for it to look reasonable. 31# Stretching is accomplished by inserting blank (black) lines. A 32# scale factor of 1 would cause no stretching to be performed. A 33# factor of 2 would result in a 1024 x 480 window, etc.. The scale 34# factor is set independently for "window" and "full" modes. 35# ******************************************************************** 36 37window_scale = 2 38 39full_scale = 3 40 41# ******************************************************************** 42# Gamma correction factor: 43# 44# Some monitors, such as the the real Pro's color monitor, may require 45# the image to be gamma-corrected. For most PC monitors, this is not 46# necessary. Gamma correction is specified as an integer equal to ten 47# times the desired gamma value. For a gamma of 1.0 (for most 48# monitors), specify a value of 10. A value of 22 seems to work well 49# on the real Pro's color monitor. 50# 51# Before being displayed, pixel components (red, green and blue) are 52# individually scaled to be in the 0.0 to 1.0 range, then gamma- 53# corrected, as follows: 54# 55# comp_gamma_corrected = comp_pre_correction ^ (10.0/screen_gamma) 56# ******************************************************************** 57 58screen_gamma = 10 59 60# ******************************************************************** 61# X-windows private colormap (color-indexed modes only): 62# 63# Turn this on to use a private colormap in color-indexed X-windows 64# display modes. (These are typically 8-bit modes) Valid values are 65# "on" and "off." Turning this option off will cause the emulator to 66# share a colormap with other running X-windows applications, which 67# could potentially lead to an inability to allocate needed colors. 68# ******************************************************************** 69 70pcm = on 71 72# ******************************************************************** 73# Number of DGA framebuffers: 74# 75# This determines the number of framebuffers that the X-windows 76# fullscreen driver (DGA) allocates, and must be in the range of 77# 0 to 3. Having two framebuffers allows accelerated text scrolling 78# in fullscreen mode. Having three framebuffers, additionally, allows 79# for smooth glitch-free transitions when turning the simulator 80# control menu on and off in fullscreen mode. Specifying 0 will cause 81# the emulator to auto-detect the number of available frame buffers. 82# ******************************************************************** 83 84framebuffers = 0 85 86# ******************************************************************** 87# Serial devices: 88# 89# Up to four "serial" devices may be defined. These should correspond 90# to physical devices present in the host operating system. This 91# support was written for the Linux serial port driver (/dev/ttyS*), 92# but other devices may work, as well. It has been tested to work 93# with the Linux parallel port driver, with one exception. This 94# driver (/dev/lp) does not seem to support write buffer occupancy 95# reporting. Consequently, a workaround must be enabled. See 96# the "lp_workaround" variable below. Also, Linux pseudo terminals 97# (/dev/ptys*) have been known to work. 98# ******************************************************************** 99 100serial0 = /dev/ttyS0 101serial1 = /dev/lp0 102serial2 = /dev/ttyS2 103serial3 = /dev/ttys2 104 105# ******************************************************************** 106# Pseudo devices: 107# 108# Three different pseudo devices exist. At most one instance of each 109# may be used. They are as follows: 110# 111# 1. lk201 112# 113# This is an emulation of a DEC lk201 keyboard, using the X-windows 114# keyboard device. 115# 116# 2. digipad 117# 118# This is an emulation of a Digipad digitizing tablet, using the 119# X-windows pointer (mouse) device. 120# 121# 3. la50 122# 123# This is a Sixel graphics-to-PCL converter. It converts the 124# printed graphics output generated by a Pro to HP PCL format. 125# The output of this converter needs to be directed to a physical 126# serial device, using the "la50" variable. Additionally, the 127# PCL print density should be set with the "la50_dpi" variable. 128# ******************************************************************** 129 130la50 = serial1 131la50_dpi = 300 132 133# ******************************************************************** 134# Keyboard device: 135# 136# This sets the physical keyboard device to be used by the emulator. 137# Normally, this should be set to "lk201," such that the normal 138# X-windows keyboard may be used. However, it is also possible to 139# connect a real lk201 keyboard to a PC serial port, and use that, 140# instead. A custom serial cable must be fabricated, and power must 141# be supplied to the lk201. In this case the "kb" variable should 142# be set to the appropriate serial device. 143# ******************************************************************** 144 145kb = lk201 146#kb = serial2 147 148# ******************************************************************** 149# Printer device: 150# 151# This defines which physical device is connected to the Pro's printer 152# port. A direct assignment to one of the serial devices (serial0..3) 153# may be made. Or, as in the following configuration, the printer 154# port may be connected to the "la50" pseudo-device, which, in this 155# example, is connected to "serial1," which, in turn, is defined to 156# be "/dev/lp0." So, in this example, Sixel-graphics printed by the 157# emulated Pro could be printed on an HP PCL printer connected to 158# /dev/lp0. 159# ******************************************************************** 160 161ptr = null 162#ptr = la50 163#ptr = serial1 164 165# ******************************************************************** 166# Communications device: 167# 168# This defines which physical device is connected to the Pro's 169# communications port. 170# ******************************************************************** 171 172com = null 173#com = serial3 174#com = digipad 175 176# ******************************************************************** 177# Hard disk image file directory: 178# 179# This specifies the directory in which hard disk image files are 180# located. It can be an absolute path. Or, if a relative path is 181# specified, it must be relative to the directory xhomer was run 182# from. "./" is the default path, if none is specified. 183# ******************************************************************** 184 185rd_dir = .. 186 187# ******************************************************************** 188# Floppy disk image file directory: 189# 190# Similar to the previous option, this specifies the location of RX50 191# floppy disk images. "./" is the default. 192# ******************************************************************** 193 194rx_dir = ../PRODISKS 195 196# ******************************************************************** 197# Hard disk image file: 198# 199# This is the name of the file containing the hard disk image. This 200# file must exist in the location pointed to by the "rd_dir" variable. 201# At the present, only a single hard disk is supported. 202# 203# The number of heads, cylinders and sectors may be forced by 204# specifying these parameters (in that order), separated by commas, 205# after the image file name. 206# 207# The file size must equal heads*cylinders*sectors*512 (in bytes). 208# A mismatch will cause an error. 209# 210# The emulator auto-detects the following hard disk geometries. based 211# on file size: 212# 213# Filesize Heads Cylinders Sectors Disk type 214# -------- ----- --------- ------- --------- 215# 5,013,504 4 153 16 RD50 5M 216# 5,326,848 4 153 17 RD50 5M 217# 10,027,008 4 306 16 RD51 10M 218# 10,653,696 4 306 17 RD51 10M 219# 20,152,320 4 615 16 RD31 21M 220# 21,411,840 4 615 17 RD31 21M 221# 33,554,432 8 512 16 RD52 36M 222# 35,651,584 8 512 17 RD52 36M 223# 40,304,640 6 820 16 RD32 43M 224# 42,823,680 6 820 17 RD32 43M 225# 67,108,864 8 1024 16 RD53 71M 226# 71,303,168 8 1024 17 RD53 71M 227# 228# Note that all real Pro disks seem to have 17 sectors. However, 229# neither P/OS nor Venix seems ever to access the 17th sector. So, 230# to save disk space, one may optionally use the 16-sector formats 231# listed above. 232# 233# "pos32.rd" is the default image file name, if none is specified. 234# ******************************************************************** 235 236rd0 = pos32.rd 237#rd0 = pos32.rd, 8, 1024, 16 238#rd0 = venix2.rd 239#rd0 = rt11v53.rd 240 241# ******************************************************************** 242# Floppy disk image files: 243# 244# Initial image files may be specified for up to two RX50 floppy 245# drives. These files should be 409,600 bytes in size. Note that 246# floppy image files may be detached and attached in real-time through 247# the emulator's control menu (accessed by pressing ctrl-F1). 248# ******************************************************************** 249 250#rx0 = POS32/PROSCAN.dsk 251 252#rx1 = POS32/PROBRU.dsk 253 254# ******************************************************************** 255# Force the year value in the real-time clock: 256# 257# The Pro's real-time clock returns a year in the range of 0 to 99. 258# Venix is unhappy with year values outside the range of 70 to 99 and 259# RT-11 5.3 is unhappy with values outside the range of 73 to 99. Both 260# refuse to take any of the time parameters from the real-time clock, 261# in this case. The following variable allows a year value to be 262# specified, which will override the year value that the emulator 263# obtains from the host system. If a value between 70 and 99 is 264# specified, then, at least, the time of day will be correct in Venix. 265# And, the same goes for RT-11, if a value between 73 and 99 is 266# specified. 267# ******************************************************************** 268 269#force_year = 99 270 271# ******************************************************************** 272# Maintenance mode: 273# 274# Setting the following to "on" simulates shorting pins 8 and 9 on the 275# printer port. This causes the Pro to activate the maintenance 276# terminal interface. (This is needed when installing 2.9 BSD from 277# the installation floppy) 278# ******************************************************************** 279 280#maint_mode = on 281maint_mode = off 282 283# ******************************************************************** 284# Timer interrupt throttling: 285# 286# Setting the following to "on" will cause the emulator to throttle 287# interrupts from the periodic interrupt source. If the emulator is 288# falling behind real-time operation, the interrupt rate will be 289# increased. If the Pro operating system has not serviced the previous 290# interrupt by the time the next one is due, the emulator will delay 291# generation of periodic interrupts, until the Pro operating system 292# has caught up. While the emulation itself is slightly less accurate 293# in this mode, the real-time clock is more likely to maintain 294# accurate time, especially on host systems which are too slow to 295# achieve real-time Pro performance. NOTE: This is an EXPERIMENTAL 296# feature. Its affect on Pro operating systems is not fully understood. 297# ******************************************************************** 298 299#int_throttle = on 300int_throttle = off 301 302# ******************************************************************** 303# BUG WORKAROUNDS: 304# 305# The following options turn on workarounds for various bugs in 306# X-servers, C-libraries and parallel port drivers 307# ******************************************************************** 308 309# ******************************************************************** 310# #9 DGA bug workarounds: 311# 312# When used in DGA mode (full-screen), the #9 X-server has a number of 313# bugs. Turning the "nine_workaround" variable on installs a number 314# of workarounds for these problems. This option is specific to the 315# #9 X-server. 316# ******************************************************************** 317 318#nine_workaround = on 319nine_workaround = off 320 321# ******************************************************************** 322# libc workaround: 323# 324# Turn the following workaround on only if running on a pre-glibc-2.0 325# system. The workaround prevents crashes during DGA-to-windowed mode 326# switches. 327# ******************************************************************** 328 329#libc_workaround = on 330libc_workaround = off 331 332# ******************************************************************** 333# Linux parallel port driver workaround: 334# 335# Turn this workaround on if one of the emulator's serial ports is 336# connected to a Linux parallel port device (/dev/lp). See the 337# description above for "serial devices." Using this workaround with 338# real serial devices will cause transmit buffer overruns. 339# 340# Note that this workaround is somewhat crude. When enabled, it 341# applies to all serial devices (serial0..3), not just those with 342# parallel ports connected. 343# ******************************************************************** 344 345#lp_workaround = on 346lp_workaround = off 347