I have a linux system running a compiled version of kernel-2.2.10 on an
AMD-K66-2/266, on which I'm running the dosemu-0.98.5-1.i386.rpm package,
which does not have the submit-bug-report utility. I have a video problem
with an old program, called Chartpro, which uses ega graphics. Chartpro draws,
for each datafile selected, a graph of stock prices over time; followed, below,
by a second graph of the corresponding volumes. Both graphs have the same time
line for their horizontal axis, while the vertical values are different. The
top graph has price numbers while the bottom one has volume numbers. These
vertical numbers should be printed on the right side of the screen, but they
are missing when I run Chartpro under dosemu-0.98.5. Except for this omission,
the graphs are correctly drawn.
I am running dosemu as root. I am running drdos7.03, both directly and under
dosemu. Chartpro works properly when run directly under drdos. It also worked
properly under msdos6.2, both directly and under dosemu-0.60.3, which I had
compiled on my old kernel-1.1.28, 486DX25, linux system.
I am enclosing my dosemu.conf and dosemu.users, as well as the debug output
from a failed attempt to run Chartpro using "dos -D +v9 -o /tmp/debug". Also,
video bios shadowing is disabled. Any help you can give me will be greatly
appreciated.
DOSEMU.CONF:
##############################################################################
# This file is /etc/dosemu.conf, included by /var/lib/dosemu/global.conf
#
# Linux DOSEMU configuration for parser versions >= 3 (dosemu-0.97.0.1)
#
# ./doc/README.txt (chapter 2.) contains a description of the syntax
# and the usage of dosemu.conf.
#
#
# Access rights are defined in
#
# /etc/dosemu.users
#
##############################################################################
# Notes for editing this section:
#
# In $_xxx = (n) n is a numerical or boolean value
# = =
# In $_zzz = "s" s is a string
#
# Please edit only beteen the brakets and quotes and keep the rest intact.
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
$_debug = "-a" # same format as -D commandline option
# (but without the -D in front)
$_features= "" # list of temporary hacks, see release notes in
# the file ChangeLog. e.g "0:1 2:0", which means
# to set feature_0 to 1 and feature_2 to 0.
$_timint = (on) # emulate INT08 type timer interrupts
$_mathco = (off) # or off
$_cpu = (80586) # CPU emulation, valid values: 80[345]86
$_rdtsc = (on) # if possible use Pentium cycle counter
$_cpuspeed = (0) # 0 = calibrated by dosemu, else given (e.g.166.666)
$_pci = (on)
$_xms = (0) # in Kbyte
$_ems = (0) # in Kbyte
# $_ems_frame = (0xe000)
$_dpmi = (off) # in Kbyte
$_dosmem = (640) # in Kbyte, < 640
$_hardware_ram = "" # list of segment values/ranges such as
# "0xc8000 range 0xcc000,0xcffff"
$_secure ="0" # secure for: n (normal users), g (guest), d (dexe)
# empty string: depending on 'restricted'
# "0": always insecure (not recommended)
$_odd_hosts = "" # black list such as "lucifer.hell.com billy.the.cat"
$_diskless_hosts="" # black list such as "hacker1 newbee gateway1"
$_emusys = "" # empty or 3 char., config.sys -> config.XXX
$_emubat = "" # empty or 3 char., autoexec.bat -> autoexec.XXX
$_emuini = "" # empty or 3 char., system.ini -> system.XXX
$_hogthreshold = (1) # 0 == all CPU power to DOSEMU
$_irqpassing = "" # list of IRQ number (2-15) to pass to DOS such as
# "3 8 10"
$_speaker = "" # or "native" or "emulated"
$_term_char_set = "" # Global code page and character set selection.
# "" == automatic, else: ibm, latin, latin1, latin2
$_term_color = (on) # terminal with color support
$_term_updfreq = (4) # time between refreshs (units: 20 == 1 second)
$_escchar = (30) # 30 == Ctrl-^, special-sequence prefix
$_rawkeyboard = (1) # bypass normal keyboard input, maybe dangerous
$_layout = "us" # one of: finnish(-latin1), de(-latin1), be, it, us
# uk, dk(-latin1), keyb-no, no-latin1, dvorak, po
# sg(-latin1), fr(-latin1), sf(-latin1), es(-latin1)
# sw, hu(-latin2), hu-cwi, keyb-user
# hr-cp852, hr-latin2
$_keybint = (on) # emulate PCish keyboard interrupt
$_X_updfreq = (5) # time between refreshs (units: 20 == 1 second)
$_X_title = "DOS in a BOX" # Title in the top bar of the window
$_X_icon_name = "xdos" # Text for icon, when minimized
$_X_keycode = (off) # on == translate keybord via dosemu keytables
$_X_blinkrate = (8) # blink rate for the cursor
$_X_font = "" # basename from /usr/X11R6/lib/X11/fonts/misc/*
# (without extension) e.g. "vga"
$_X_mitshm = (on) # Use shared memory extensions
$_X_sharecmap = (off) # share the colormap with other applications
$_X_fixed_aspect = (on) # Set fixed aspect for resize the graphics window
$_X_aspect_43 = (on) # Always use an aspect ratio of 4:3 for graphics
$_X_lin_filt = (off) # Use linear filtering for >15 bpp interpolation
$_X_bilin_filt = (off) # Use bi-linear filtering for >15 bpp interpolation
$_X_mode13fact = (2) # initial size factor for video mode 0x13 (320x200)
$_X_winsize = "" # "x,y" of initial windows size (defaults to float)
$_X_gamma = (1.0) # gamma correction
$_X_vgaemu_memsize = (1024) # size (in Kbytes) of the frame buffer for emulated vga
$_X_lfb = (on) # use linear frame buffer in VESA modes
$_X_pm_interface = (on) # use protected mode interface for VESA modes
$_X_mgrab_key = "" # KeySym name to activate mouse grab, empty == off
$_X_vesamode = "" # "xres,yres ... xres,yres"
# List of vesamodes to add. The list has to contain
# SPACE separated "xres,yres" pairs
$_video = "vga" # one of: plainvga, vga, ega, mda, mga, cga
$_console = (1) # use 'console' video
$_graphics = (1) # use the cards BIOS to set graphics
$_videoportaccess = (1) # allow videoportaccess when 'graphics' enabled
$_vbios_seg = (0xc000) # set the address of your VBIOS (e.g. 0xe000)
$_vbios_size = (0x6000) # set the size of your BIOS (e.g. 0x8000)
$_vmemsize = (1024) # size of regen buffer
$_chipset = "plainvga" # one of: plainvga, trident, et4000, diamond, avance
# cirrus, matrox, wdvga, paradise, ati, s3
$_dualmon = (0) # if you have one vga _plus_ one hgc (2 monitors)
$_vbootfloppy = "" # if you want to boot from a virtual floppy:
# file name of the floppy image under /var/lib/dosemu
# e.g. "floppyimage" disables $_hdimage
# "floppyimage +hd" does _not_ disable $_hdimage
$_floppy_a ="threeinch" # or "fiveinch" or empty, if not existing
$_floppy_b = "" # dito for B:
$_hdimage = "hdimage.first" # list of hdimages under /var/lib/dosemu
# assigned in this order such as
# "hdimage_c hdimage_d hdimage_e"
# If the name begins with '/dev/', then partion
# access is done instead of virtual hdimage such as
# "/dev/hda1" or "/dev/hda1:ro" for readonly
# Currently mounted devices and swap are refused.
# Hdimages and devices may be mixed such as
# "hdimage_c /dev/hda1 /dev/hda3:ro"
# Note: 'wholedisk' is _not_ supported.
$_hdimage_r = $_hdimage # hdimages for 'restricted access (if different)
$_aspi = "" # list of generic SCSI devices to make available
# for the builtin aspi driver (format of an entry
# is 'device:type:mappedtarget' such as
# "sg2:WORM sg3:Sequential-Access:6 sg4:CD-ROM" or
# "sg2:4 sg3:1:6 sg4:5" (which are equal)
$_com1 = "" # e.g. "/dev/mouse" or "/dev/cua0"
$_com2 = "" # e.g. "/dev/modem" or "/dev/cua1"
$_com3 = "" # dito "/dev/cua2"
$_com4 = "" # dito "/dev/cua3"
$_ttylocks = "" # Lock directory (e.g. "/var/lock")
# default ("") is /usr/spool/uucp
$_mouse = "" # one of: microsoft, mousesystems, logitech, mmseries
# mouseman, hitachi, busmouse, ps2
$_mouse_dev = "" # one of: com1, com2, com3, com4 or /dev/mouse
$_mouse_flags = "" # list of none or one or more of:
# "emulate3buttons cleardtr"
$_mouse_baud = (0) # baudrate, 0 == don't set
$_printer = "lp" # list of (/etc/printcap) printer names to appear as
# LPT1, LPT2, LPT3 (not all are needed, empty for none)
$_printer_timeout = (20)# idle time in seconds before spooling out
$_ports = "" # list of portnumbers such as "0x1ce 0x1cf 0x238"
# or "0x1ce range 0x280,0x29f 310"
# or "range 0x1a0,(0x1a0+15)"
$_ipxsupport = (off) # or on
$_novell_hack = (off)
$_vnet = (off) # 'on' for packet-multi (used by dosnet)
$_sound = (off) # sound support on/off
$_sb_base = (0x220)
$_sb_irq = (5)
$_sb_dma = (1)
$_sb_dsp = "/dev/dsp"
$_sb_mixer = "/dev/mixer"
$_mpu_base = "0x330"
_______________________________________________________________________________
DOSEMU.USERS:
# This is a sample /etc/dosemu.users file
# Here you can restrict access to dosemu
#
# However, THIS ONE DOES ALLOW ALL WEIRD THINGS !!!
# For a more secure one look at ./etc/dosemu.users.secure
#
# Format:
#
# [ <login> | all ] [ confvar [ confvar [ ... ] ] ]
#
# <login> the login name of a user
# confvar under this name a configuration variable is set which
# can be checked via 'ifdef' in /etc/dosemu.conf
# Variables starting with 'c_' define class permission
#
# For more details look at ./doc/README.txt
default_lib_dir= /var/lib/dosemu
log_level= 0
root c_all
all c_all
_______________________________________________________________________________
DEBUG FILE:
[00000202] debug flags:
[00000228] debug flags: +v9
[00000000] VID: Set process control
[00000000] VID: Setting windows size to li=25, co=80
[00000000] VID: Set process control
[00000007] get_video_ram STARTED
[00000007] VID: get_video_ram WAITING
[00000007] Kmem closed successfully
[00000007] VID: we're active, waiting...
[00000007] VID: cleared screen: 0 7 0xb8000
[00000010] VID: Video set to Video_graphics
[00000010] VID: config.dualmon=0
[00000010] Permission allowed
[00000010] Unspecific VIDEO selected = 0x0000
[00000010] VGA: mem size 1024, banks 4
[00000010] Saving data for Linux Regs
[00000010] vga_screenoff
[00000010] Store regs complete!
[00000010] ALPHA mode save being attempted
[00000010] ALPHA mode save being performed
[00000010] Mode == 3
[00000010] Banks == 1
[00000015] READ Bank=1, plane=0x00, *mem=0x20202020, GRAPH_BASE=20202020, mem=0x8298008
[00000019] READ Bank=1, plane=0x01, *mem=0x70007, GRAPH_BASE=00070007, mem=0x829a008
[00000024] READ Bank=1, plane=0x02, *mem=0x0, GRAPH_BASE=00000000, mem=0x829c008
[00000028] READ Bank=1, plane=0x03, *mem=0x0, GRAPH_BASE=00000000, mem=0x829e008
[00000028] GRAPH_BASE to mem complete!
[00000030] Restore_vga_regs completed!
[00000030] Store_vga_state complete
[00000030] vga_screenon
[00000030] /* BIOS mode 0x03 */
[00000030] static char regs[60] = {
0x5F,0x4F,0x50,0x82,0x55,0x81,0xBF,0x1F,0x00,0x4F,0x0D,0x0E,
0x00,0x00,0x3F,0xFF,0x9C,0x8E,0x8F,0x28,0x1F,0x96,0xB9,0xA3,
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,
0x0C,0x0D,0x0E,0x0F,0x0C,0x00,0x0F,0x08,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x0E,0x00,0xFF,
0x00,0x20,0x03,0x00,0x02,
0x67
};
[00000030] Extended Regs/if applicable:
[00000031]
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
[00000031] Extended 16 bit Regs/if applicable:
[00000031] 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x8008
[00000031] VID: cleared screen: 0 7 0xb8000
[00000033] kmem used for loadfile
[00000096] Kmem closed successfully
[00000096] kmem used for loadfile
[00000096] Kmem closed successfully
[00000098] VID: install_int_10_handler: do nothing
[00000111] get_video_ram STARTED
[00000111] VID: get_video_ram WAITING
[00000185] Kmem closed successfully
[00000186] Starting Video initialization
[00000186] Giving temporary access to PIT#2
[00000186] Save hi vector area
[00000608] Finished with Video initialization
[00000608] Removing temporary access to PIT#2
[00000608] Restore hi vector area
[00058284] VID: video_close() called
[00058291] Storing dosemu_regs, Releasing vt mode=03
[00058291] Saving data for Dosemu Regs
[00058291] vga_screenoff
[00058291] Store regs complete!
[00058291] ALPHA mode save being attempted
[00058291] ALPHA mode save being performed
[00058291] Mode == 3
[00058291] Banks == 1
[00058296] READ Bank=1, plane=0x00, *mem=0x690046, GRAPH_BASE=00690046, mem=0x82a0010
[00058300] READ Bank=1, plane=0x01, *mem=0x70007, GRAPH_BASE=00070007, mem=0x82a2010
[00058305] READ Bank=1, plane=0x02, *mem=0x0, GRAPH_BASE=00000000, mem=0x82a4010
[00058309] READ Bank=1, plane=0x03, *mem=0x0, GRAPH_BASE=00000000, mem=0x82a6010
[00058309] GRAPH_BASE to mem complete!
[00058311] Restore_vga_regs completed!
[00058311] Store_vga_state complete
[00058311] Restoring linux_regs, Releasing vt
[00058311] Restoring data for Linux Regs
[00058311] vga_screenoff
[00058311] Restore_vga_regs completed!
[00058314] WRITE Bank=1, plane=0x00, *mem=20202020, mem=0x8298008
[00058316] WRITE Bank=1, plane=0x01, *mem=70007, mem=0x829a008
[00058319] WRITE Bank=1, plane=0x02, *mem=0, mem=0x829c008
[00058321] WRITE Bank=1, plane=0x03, *mem=0, mem=0x829e008
[00058321] mem to GRAPH_BASE complete!
[00058322] Restore_vga_regs completed!
[00058322] Permissions=1
[00058322] vga_screenon
[00058323] Restore_vga_state complete
[00058323] Permission disallowed
[00058323] put_video_ram called
[00058323] Kmem closed successfully
[00058323] put_video_ram completed
[00058325]