Code Monkey home page Code Monkey logo

dosemu2's Introduction

dosemu2

dosemu2 is an emulator for running DOS programs under linux. It can also serve as a VM to boot various DOSes.

Binary packages for ubuntu are available here: https://code.launchpad.net/~dosemu2/+archive/ubuntu/ppa

Binary packages for fedora are here: https://copr.fedorainfracloud.org/coprs/stsp/dosemu2

Binary packages for OpenSUSE are here: https://download.opensuse.org/repositories/home:/stsp2/openSUSE_Tumbleweed

Please send bug reports to https://github.com/dosemu2/dosemu2/issues

Running

Just type

dosemu

to run an emulator.

Use

dosemu -E <dos_cmd>

to run <dos_cmd> and exit (add -T to not exit).

Use

dosemu -K <unix_dir> -E <dos_cmd>

or

dosemu <unix_full_path> -- <dos_prog_args>

to run DOS programs from unix directory.

If you want to run the DOS program from a DOS directory, use this syntax:

dosemu -K :C:\\games\\carma -E carma.exe

This will run carma.exe from c:\games\carma. Note the leading colon after -K: it means that the DOS path, rather than unix path, is specified. You can actually specify both paths:

dosemu -K ~/dosgames:carma -E carma.exe

This creates the DOS drive for ~/dosgames, then chdirs to carma and runs carma.exe.

Configuring

Per-user configuration file can be created as ~/.dosemu/.dosemurc. Add your custom settings there. Look into the global configuration file /etc/dosemu/dosemu.conf for existing settings, their descriptions and default values, and modify the local config accordingly. $_hdimage is probably the first setting to look into, as it configures the host fs access.

Create c:\userhook.sys and/or c:\userhook.bat files to customize your boot sequence. userhook.sys can contain the config.sys directives and userhook.bat can contain custom boot commands.

Drive C: is usually located at ~/.dosemu/drive_c. You can add DOS programs there. Or you can run dosemu -d <unix_dir> to mount the <unix_dir> as a new DOS drive.

dosemu2's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dosemu2's Issues

Jemm cpustat shows error in cpuemu = off

Hi,
using the cpustat.exe program in Jemm 578 shows an error when running in cpuemu=off, but not in any of the other modes. Is this expected, a quirk of the cpustat tool, or just an oddity?

http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/emm386/jemm386

$cpuemu = off                                                                   
==============================================                                  
"Welcome to dosemu 2.0pre3-20150702-ga97b9d3!"                                  
C:\>cd jemm\                                                                    
C:\jemm>cpustat.exe                                                             
MSW: 80050033 (V86-mode, Paging on)                                             
'MOV EAX,CR0' emulated incorrectly!                                             
CR0: 0                                                                          
GDTR: f6fc9000,ff                                                               
IDTR: fffbb000,7ff                                                              
CR2: 0                                                                          
CR3: 0                                                                          
CR4: 0                                                                          
CPUID.01.EDX: 178bfbff                                                          
CPUID.01.ECX: 2001                                                              
EFL: 3202                                                                       
FCW: 37f  FSW: 0                                                                
$cpuemu = vm86                                                                  
===============================================                                 
"Welcome to dosemu 2.0pre3-20150702-ga97b9d3!"                                  
C:\>cd jemm\                                                                    
C:\jemm>cpustat.exe                                                             
MSW: 2000013 (V86-mode, Paging off)                                             
CR0: 13                                                                         
GDTR: 0,13                                                                      
IDTR: 0,13                                                                      
CR2: 0                                                                          
CR3: 0                                                                          
CR4: 0                                                                          
CPUID.01.EDX: 1bf                                                               
CPUID.01.ECX: 0                                                                 
EFL: 83202                                                                      
FCW: 37f  FSW: 0                                                                
$cpuemu = full                                                                  
===============================================                                 
"Welcome to dosemu 2.0pre3-20150702-ga97b9d3!"                                  
C:\>cd jemm\                                                                    
C:\jemm>cpustat.exe                                                             
MSW: 2000013 (V86-mode, Paging off)                                             
CR0: 13                                                                         
GDTR: 0,13                                                                      
IDTR: 0,13                                                                      
CR2: 0                                                                          
CR3: 0                                                                          
CR4: 0                                                                          
CPUID.01.EDX: 1bf                                                               
CPUID.01.ECX: 0                                                                 
EFL: 83202                                                                      
FCW: 37f  FSW: 0                                                                
$cpuemu = vm86sim
===============================================
"Welcome to dosemu 2.0pre3-20150702-ga97b9d3!"
C:\>cd jemm
C:\jemm>cpustat.exe
MSW: 2000013 (V86-mode, Paging off)
CR0: 13
GDTR: 0,13
IDTR: 0,13
CR2: 0                                                                          
CR3: 0                                                                          
CR4: 0                                                                          
CPUID.01.EDX: 1bf                                                               
CPUID.01.ECX: 0                                                                 
EFL: 83202                                                                      
FCW: 37f  FSW: 0
$cpuemu = fullsim                                                               
===============================================                                 
"Welcome to dosemu 2.0pre3-20150702-ga97b9d3!"                                  
C:\>cd jemm\                                                                    
C:\jemm>cpustat.exe                                                             
MSW: 2000013 (V86-mode, Paging off)                                             
CR0: 13                                                                         
GDTR: 0,13                                                                      
IDTR: 0,13                                                                      
CR2: 0                                                                          
CR3: 0                                                                          
CR4: 0                                                                          
CPUID.01.EDX: 1bf                                                               
CPUID.01.ECX: 0                                                                 
EFL: 83202                                                                      
FCW: 37f  FSW: 0

Hardware is AMD, 32 bit kernel

ajb@polly:/stuff/dosemu2.git/src/tests$ cat /proc/cpuinfo 
processor   : 0
vendor_id   : AuthenticAMD
cpu family  : 15
model       : 67
model name  : AMD Athlon(tm) 64 X2 Dual Core Processor 5600+
stepping    : 3
cpu MHz     : 1000.000
cache size  : 1024 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fdiv_bug    : no
f00f_bug    : no
coma_bug    : no
fpu     : yes
fpu_exception   : yes
cpuid level : 1
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy vmmcall
bogomips    : 2004.33
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

QEMM 97 optimize crashes Dosemu

With current GIT:
After enabling QEMM 97 (probably a bad idea in general) and doing the 'cold reboot' it requests, Dosemu crashes with this output:
ERROR: unexpected CPU exception 0x06 err=0x00000000 cr2=000955b5 while in vm86 (DOS)
Program=sigsegv.c, Line=185
EIP: 000a:00000a58 ESP: 9fc9:00000106 VFLAGS(b): 00000 00000011 10000011
EAX: 00003fc4 EBX: 0000f000 ECX: 00000000 EDX: 000003c9 VFLAGS(h): 00000383
ESI: 00000119 EDI: 00000070 EBP: 00000200 DS: 0070 ES: 207d FS: 0000 GS: 0000
FLAGS: CF SF TF IF RF VM VIF IOPL: 0
STACK: 00 9c 46 32 0d 0a 0a 00 26 83 -> 01 ff 00 c3 e8 3f f0 33 f6 e8
OPS : 00 00 00 00 00 00 00 00 00 00 -> ff ff ff ff ff 4e 4f 20 4e 41
ff 000a:0a58 db FF

I remember it would fail gracefully before.

Build release Pre2 on Wheezy

apologies if this is too similar to #29 but looking at that hasn't helped me and wasn't sure how common the denominators are.
If I download the release Pre2 and try to make I get
make: *** No rile to make target 'config-status' ....

If I run ./default-configure
I get a repeated number of
./mkpluginhooks: line 53: ./configure: No such file or directory
for the following
libao, alsa, term, X, sdl, fluidsynth

Unless it is a min version required thing, bit surprised about X, have got most if not all X dev packages installed, and I also got libsdl2-dev from backports.

Any suggestions on how to confirm what packages (specific name) required in order to build on Wheezy, or known issues?

Build problem, around serial.h

Did a new pull, and hit a build error about building serial.h

OS: Ubuntu 15.04

$ ๎‚ฐmake
make[1]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/commands'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/commands'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/tools/periph'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/tools/periph'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/man'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/man'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/video'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/video'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/dev/vga'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/dev/vga'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/base'
make[2]: Nothing to be done for 'lib'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/base'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/async'
make[2]: Nothing to be done for 'lib'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/async'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/arch/linux/async'
make[2]: Nothing to be done for 'lib'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/arch/linux/async'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/arch/linux/mapping'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/arch/linux/mapping'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/misc'
make[2]: Nothing to be done for 'lib'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/misc'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/misc/libpcl'
make[2]: Nothing to be done for 'lib'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/misc/libpcl'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/dev/misc'
make[2]: Nothing to be done for 'lib'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/dev/misc'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/emu-i386'
make[2]: Nothing to be done for 'lib'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/emu-i386'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/emu-i386/simx86'
make[2]: Nothing to be done for 'lib'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/emu-i386/simx86'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/speaker'
make[2]: Nothing to be done for 'lib'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/speaker'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/dev/pic'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/dev/pic'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/dosext/dpmi'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/dosext/dpmi'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/dosext/mfs'
make[2]: Nothing to be done for 'lib'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/dosext/mfs'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/dosext/misc'
make[2]: Nothing to be done for 'lib'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/dosext/misc'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/init'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/init'
make[2]: Entering directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/serial'
make[2]: *** No rule to make target '../../../src/include/Linux/serial.h', needed by 'tty_io.o'. Stop.
make[2]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src/base/serial'
../src/arch/linux/Makefile.main:103: recipe for target 'base/serial' failed
make[1]: *** [base/serial] Error 2
make[1]: Leaving directory '/mnt/data/home/stu/projects/external/dosemu2/src'
Makefile:21: recipe for target 'default' failed
make: *** [default] Error 2

dosemu crashes immedately after startup with MS-DOS 3.3

dosemu crashes immediately after startup with MS-DOS 3.3 (or IBM DOS, if you prefer). I don't know if this is a supported DOS, but it did work at some time in the very distant past on the old dosemu. The crash is immaterial of what CPU emulation is selected in dosemu.conf, and the error message is always the same.

http://home.ix.netcom.com/~jjingber/dos_33-boot.log.bz2
http://home.ix.netcom.com/~jjingber/dos_33.tar.bz2 (this is the image which crashes).

SIGILL while in vm86(): 0000:0078
ERROR: unexpected CPU exception 0x06 err=0x00000000 cr2=00000000 while in vm86 (DOS)

Program=sigsegv.c, Line=189
EIP: 0000:00000078 ESP: 0000:00007bd8 VFLAGS(b): 00000 00000000 10000110
EAX: 0000fe87 EBX: 00007a00 ECX: 00007be5 EDX: 00000380 VFLAGS(h): 00000086
ESI: 00000041 EDI: 00007a02 EBP: 00000001 DS: 0000 ES: 0000 FS: 0000 GS: 0000
FLAGS: PF SF IF RF VM IOPL: 0
STACK: 00 00 00 00 00 00 00 00 00 00 -> 00 00 00 00 00 00 00 00 00 00
OPS : 00 f0 1f c0 00 f0 20 c0 00 f0 -> c7 6f 00 f8 68 05 00 c0 23 c0
c76f00f868 0000:0078 mov word [bx],68F8

default-configure error configuring libao

./default-configure ./mkpluginhooks enable libao yes gpm yes alsa yes ladspa yes kbd_unicode yes extra_charsets yes term yes X yes sdl yes midimisc yes fluidsynth yes translate yes commands yes console yes svgalib no vde no demo no
=== configuring in libao
./configure: line 1666: syntax error near unexpected token `,,'
./configure: line 1666: `XIPH_PATH_AO(,,'
Configuration for libao failed, disabling

Keyboard layout not detected ..

I use "English (UK, Extended, Winkeys)" in gnome on Linux any idea how I can get dosemu to be able to detect my UK keyboard ?

On startup I get:

ERROR: Unable to open console or check with X to evaluate the keyboard map.
Please specify your keyboard map explicitly via the $_layout option.
Press ENTER to continue with DOS programs thinking that they use a US layout or
Ctrl-C to exit.

Changing view in Wolfenstein 3D after starting a game crashes Dosemu

This is with current GIT.
Steps to reproduce:

  1. start wolf3d
  2. In the menu: New game, Episode 1, etc.
  3. Press Esc
  4. In the menu: Change view
  5. Make it bigger/smaller
  6. Press enter

"Thinking" will be shown and Dosemu will crash with the following:
Page fault: read instruction to linear address: 0xd2bcbdf0
CPU was in user mode
Exception was caused by non-available page

dosemu-2.0pre1-gc1ea267 not compile on Centos 6/i386 (SDL1.2 problem?)

Trying build dosemu-2.0pre1-gc1ea267 on Centos 6.6 i686, it ends with error:
...
sh: git: command not found
make[2]: Entering directory /home/hanzlik/rpmbuild/BUILD/dosemu-2.0pre1/src/commands' gcc -c -MP -MMD -I../../src/include -I../../src/plugin/include -o isemu.o isemu.S gcc -Wl,-warn-common -Wl,-Ttext,100,-e,_start16,--oformat,binary -nostdlib -s -o ../../g../commands/isemu.com isemu.o chmod -x ../../g../commands/isemu.com gcc -c -MP -MMD -I../../src/include -I../../src/plugin/include -o mgarrot.o mgarrot.S In file included from ../../src/plugin/include/plugin_config.h:4, from ../../src/include/config.h:220, from ../../src/include/macros86.h:7, from mgarrot.S:18: ../../src/include/../plugin/sdl/config/plugin_config.h:1:46: error: ../plugin/sdl/include/sdl_config.h: No such file or directory make[2]: *** [mgarrot.o] Error 1 make[2]: Leaving directory/home/hanzlik/rpmbuild/BUILD/dosemu-2.0pre1/src/commands'
make[1]: *** [commands] Error 2
make[1]: Leaving directory `/home/hanzlik/rpmbuild/BUILD/dosemu-2.0pre1/src'
make: *** [default] Error 2
...

Also, it seems there be several time called 'git', which IMO should not be mandatory for package building (but maybe it's absence isn't problem).
Attached are some outputs from configure and make phase - I renamed this .tar.gz to .png, as
github require ;)
Maybe this error occurs only when there is SDL-1.2 present (Centos 6/RHEL 6 has not SDL 2.0 in repos, only v1.2). Is possible build dosemu with SDL 1.2?

dosemu-2 0pre1-gc1ea267 tgz

can't compile devel

Hi,

when trying to "make" under Ubuntu 14.10 x64 it fails with following error

make[2]: Verlasse Verzeichnis '/home/pa/dosemu/src/base'
./getversion: 11: set: Illegal option -o pipefail
make[2]: Betrete Verzeichnis '/home/pa/dosemu/src/base/async'
gcc -c -MP -MMD -I../../../src/include -I../../../src/plugin/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -pipe -O2 -fomit-frame-pointer -o dyndeb.o dyndeb.c
gcc -c -MP -MMD -I../../../src/include -I../../../src/plugin/include -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -pipe -O2 -fomit-frame-pointer -o int.o int.c
int.c: In function โ€˜dos_helperโ€™:
int.c:205:26: error: invalid type argument of unary โ€˜โ€™ (have โ€˜intโ€™)
LWORD(ebx) = VERSION * 0x100 + SUBLEVEL; /
major version 0.49 -> 0049 /
^
int.c:205:44: error: expected expression before โ€˜;โ€™ token
LWORD(ebx) = VERSION * 0x100 + SUBLEVEL; /
major version 0.49 -> 0049 /
^
make[2]: *
* [int.o] Fehler 1
make[2]: Verlasse Verzeichnis '/home/pa/dosemu/src/base/async'
make[1]: *** [base/async] Fehler 2
make[1]: Verlasse Verzeichnis '/home/pa/dosemu/src'
make: *** [default] Fehler 2

I changed git remote url from old repository to this one and cleaned then.

Need For Speed SE fails to start

Despite the demo of the original Need for Speed is working correctly, the special edition (with a few nice additions like 640x480 support) fails to start in the last version of dosemu2. After executing installd.exe, it corrupts the screen and i can't see the returned error. Fortunately, there is a message error in the boot.log:

ERROR: DPMI: Warning: trying to leave DPMI when in_dpmi_pm_stack=1

An iso of the game is available in archive.org to reproduce this issue.

Use SDL_ttf for font rendering

It seems as '$_X_winsize' is now accepted only with built-in font. It would be useful, when it would work also when $_X_font specifies scallable fonts, because then should be one character dimension determinable. My, maybe little naive, idea:
$_X_winsize = "1400,1024" => (80x25 text mode):
1400 / 80=17.5 =~ 17 (character width in pixels)
1024 / 25=40.96 =~ 40 (character height in pixels)

Now is possible tune window size by setting Pixel_Size/Point_Size/Resolution_X/Resolution_Y in XLFD $_X_font specification (e.g. instead
$_X_font = "-misc-freemono-medium-r-normal--0-0-0-0-c-0-iso10646-1"
set
$_X_font = "-misc-freemono-medium-r-normal--47-0-70-0-c-0-iso10646-1"
), but with $_X_winsize this should be much more clearly.

Custom $_X_font crashes DOSEMU

Hi, I tried newer git devel branch DOSEMU versions (at Fedora 19 i686, $_cpu_emu = "off"), and got crashes when run in xterm (dosemu -X; SDL mode still works OK) and have specified X font in dosemu.conf, e.g.:

$_X_font = "-misc-liberation mono-medium-i-normal--0-0-0-0-m-0-iso10646-1"
$_X_font = "-bitstream-courier 10 pitch-bold-r-normal--0-0-0-0-m-0-iso10646-1"

I tried several DOSEMU versions with these results (from oldest to newest):

*) dosemu commit a5d0f98 works

*) dosemu commit 1dff1aa crashes at start with message:
ERROR: cpu exception in dosemu code outside of VM86()!
trapno: 0x0e errorcode: 0x00000004 cr2: 0x00d911d2
eip: 0x0813f966 esp: 0x09fbf508 eflags: 0x00010202
cs: 0x0073 ds: 0x007b es: 0x007b ss: 0x007b

ERROR: Please update from git, compile with debug information and report the contents of ~/.dosemu/boot.log at
http://sourceforge.net/tracker/?atid=457447&group_id=49784
Page fault: read instruction to linear address: 0x00d911d2
CPU was in user mode
Exception was caused by non-available page

*) dosemu commit a5d0f98 and dosemu commit 66.g38a2418 displays start window with right font and then freezes on system halt:

FreeDOS kernel 2041 (build 2041 OEM:0xfd) [compiled Feb 7 2012]
Kernel compatibility 7.10 - WATCOMC - 80386 CPU required - FAT32 support

(C) Copyright 1995-2012 Pasquale J. Villani and The FreeDOS Project.
All Rights Reserved. This is free software and comes with ABSOLUTELY NO
WARRANTY; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation;
either version 2, or (at your option) any later version.
C: HD1, Pri[ 1], CHS= 0-1-1, start= 0 MB, size= 2000 MB
D: HD2, Pri[ 1], CHS= 0-1-1, start= 0 MB, size= 2000 MB
E: HD3, Pri[ 1], CHS= 0-1-1, start= 0 MB, size= 2000 MB
F: HD4, Pri[ 1], CHS= 0-1-1, start= 0 MB, size= 2000 MB
G: HD5, Pri[ 1], CHS= 0-1-1, start= 0 MB, size= 2000 MB
H: HD6, Pri[ 1], CHS= 0-1-1, start= 0 MB, size= 2000 MB
I: HD7, Pri[ 1], CHS= 0-1-1, start= 0 MB, size= 2000 MB

Invalid Opcode at 0018 0000 3002 0306 FC00 3202 01A6 9074 0001 FC00 3002 A104 FF
FF
dos mem corrupt, first_mcb=0000
prev 0000:0000|bf 11 d9 00 8a 11 d9 00 00 00 ff 00 8a 11 d9 00 โ”.โ”˜.ล.โ”˜...ย .ล.โ”˜.
notMZ0000:0000|bf 11 d9 00 8a 11 d9 00 00 00 ff 00 8a 11 d9 00 โ”.โ”˜.ล.โ”˜...ย .ล.โ”˜.

PANIC: MCB chain corrupted
System halted

*) dosemu-2.0-pre1.92.gd8a6125.1.dbgemu.fc19.i686.rpm
dosemu-2.0-pre1.99.g28dc519.1.dbgemu.fc19.i686 crash at start with message:
ERROR: OUCH! attempt to execute interrupt table - quickly dying

Keyboard detection in X and SDL picking wrong keyboard

I have a system using United Kingdom keyboard (GB keymap) with secondary US keymap installed, the dosemu.conf is default i.e. 'auto' but the detected keymap is US. Here is the salient portion of the boot log with -D+a

KBD: keyb_server_init()
KBD: setup_default_keytable: setting up table 35
setup_default_keytable: failed
10 keysyms per keycode not supported, set to 4
Attempting to match against "us"
matches=46, mismatches=11, seq=45, score=45
Attempting to match against "us"
matches=51, mismatches=6, seq=50, score=75
Attempting to match against "finnish"
matches=32, mismatches=25, seq=31, score=-38
Attempting to match against "finnish"
matches=35, mismatches=22, seq=34, score=-22
Attempting to match against "finnish-latin1"
matches=32, mismatches=25, seq=31, score=-38
Attempting to match against "finnish-latin1"
matches=34, mismatches=23, seq=33, score=-27
Attempting to match against "uk"
matches=39, mismatches=18, seq=39, score=4
Attempting to match against "uk"
matches=48, mismatches=9, seq=47, score=57
Attempting to match against "de"
matches=31, mismatches=26, seq=28, score=-45
Attempting to match against "de"
matches=33, mismatches=24, seq=30, score=-33
Attempting to match against "de-latin1"
matches=30, mismatches=27, seq=27, score=-50
Attempting to match against "de-latin1"
matches=33, mismatches=24, seq=30, score=-33
Attempting to match against "fr"
matches=28, mismatches=29, seq=25, score=-62
Attempting to match against "fr"
matches=33, mismatches=24, seq=28, score=-35
Attempting to match against "fr-latin1"
matches=28, mismatches=29, seq=25, score=-62
Attempting to match against "fr-latin1"
matches=32, mismatches=25, seq=27, score=-41
Attempting to match against "dk"
matches=32, mismatches=25, seq=31, score=-38
Attempting to match against "dk"
matches=35, mismatches=22, seq=34, score=-22
Attempting to match against "dk-latin1"
matches=32, mismatches=25, seq=31, score=-38
Attempting to match against "dk-latin1"
matches=34, mismatches=23, seq=33, score=-27
Attempting to match against "dvorak"
matches=40, mismatches=17, seq=24, score=11
Attempting to match against "dvorak"
matches=51, mismatches=6, seq=33, score=75
Attempting to match against "sg"
matches=33, mismatches=24, seq=30, score=-34
Attempting to match against "sg"
matches=33, mismatches=24, seq=29, score=-35
Attempting to match against "sg-latin1"
matches=31, mismatches=26, seq=28, score=-44
Attempting to match against "sg-latin1"
matches=32, mismatches=25, seq=28, score=-40
Attempting to match against "keyb-no"
matches=32, mismatches=25, seq=31, score=-38
Attempting to match against "keyb-no"
matches=34, mismatches=23, seq=33, score=-27
Attempting to match against "no-latin1"
matches=32, mismatches=25, seq=31, score=-38
Attempting to match against "no-latin1"
matches=34, mismatches=23, seq=33, score=-27
Attempting to match against "sf"
matches=33, mismatches=24, seq=30, score=-34
Attempting to match against "sf"
matches=33, mismatches=24, seq=29, score=-35
Attempting to match against "sf-latin1"
matches=31, mismatches=26, seq=28, score=-44
Attempting to match against "sf-latin1"
matches=31, mismatches=26, seq=28, score=-45
Attempting to match against "es"
matches=31, mismatches=26, seq=30, score=-44
Attempting to match against "es"
matches=36, mismatches=21, seq=35, score=-16
Attempting to match against "es-latin1"
matches=31, mismatches=26, seq=30, score=-44
Attempting to match against "es-latin1"
matches=33, mismatches=24, seq=32, score=-33
Attempting to match against "be"
matches=31, mismatches=26, seq=26, score=-45
Attempting to match against "be"
matches=33, mismatches=24, seq=27, score=-35
Attempting to match against "po"
matches=33, mismatches=24, seq=31, score=-33
Attempting to match against "po"
matches=36, mismatches=21, seq=34, score=-15
Attempting to match against "it"
matches=34, mismatches=23, seq=32, score=-26
Attempting to match against "it"
matches=35, mismatches=22, seq=33, score=-21
Attempting to match against "sw"
matches=32, mismatches=25, seq=31, score=-38
Attempting to match against "sw"
matches=34, mismatches=23, seq=33, score=-27
Attempting to match against "hu"
matches=13, mismatches=44, seq=12, score=-152
Attempting to match against "hu"
matches=31, mismatches=26, seq=28, score=-45
Attempting to match against "hu-cwi"
matches=17, mismatches=40, seq=16, score=-128
Attempting to match against "hu-cwi"
matches=31, mismatches=26, seq=28, score=-45
Attempting to match against "hu-latin2"
matches=13, mismatches=44, seq=12, score=-152
Attempting to match against "hu-latin2"
matches=31, mismatches=26, seq=28, score=-45
Attempting to match against "jp106"
matches=39, mismatches=18, seq=38, score=3
Attempting to match against "jp106"
matches=41, mismatches=16, seq=39, score=15
Attempting to match against "pl"
matches=37, mismatches=20, seq=36, score=-9
Attempting to match against "pl"
matches=51, mismatches=6, seq=50, score=75
Attempting to match against "hr-cp852"
matches=19, mismatches=38, seq=17, score=-116
Attempting to match against "hr-cp852"
matches=34, mismatches=23, seq=31, score=-27
Attempting to match against "hr-latin2"
matches=19, mismatches=38, seq=17, score=-116
Attempting to match against "hr-latin2"
matches=34, mismatches=23, seq=31, score=-27
Attempting to match against "cz-qwerty"
matches=13, mismatches=44, seq=12, score=-153
Attempting to match against "cz-qwerty"
matches=31, mismatches=26, seq=29, score=-46
Attempting to match against "cz-qwertz"
matches=13, mismatches=44, seq=11, score=-153
Attempting to match against "cz-qwertz"
matches=31, mismatches=26, seq=27, score=-46
Attempting to match against "ru"
matches=13, mismatches=44, seq=13, score=-153
Attempting to match against "ru"
matches=15, mismatches=42, seq=15, score=-141
Attempting to match against "tr"
matches=30, mismatches=27, seq=30, score=-51
Attempting to match against "tr"
matches=31, mismatches=26, seq=31, score=-45
Attempting to match against "keyb-user"
matches=46, mismatches=11, seq=45, score=45
Attempting to match against "keyb-user"
matches=51, mismatches=6, seq=50, score=75
Using closest match (us) for scan/virtual codes mapping.
CONF: detected layout is "us"
CONF: detected alternate layout: us
rules->trans_rules.rule_arr[j].rule_map:

I'm not sure how the detection works exactly, but because of the line

10 keysyms per keycode not supported, set to 4

I tried increasing the array lengths to 10 and altering the if accordingly and it almost worked. I got 'BE' primary with 'US' secondary, but obviously it's not correct.

Is there any way of reading the keyboard type from SDL or X instead and does the keymap have to be set at Dosemu startup i.e. could it be switchable from the desktop like most X applications?

MPU-401 intelligent mode

MPU-401 intelligent mode doesn't appear to work in dosemu2. It does, however, work with the old dosemu 1.4 if the 'old' sound code (1) is used with dosemu-midi pointing to the proper sequencer device. The dosemu2 sound code is much, much improved, except for this issue. Basically, this is going to prevent music output on most of the Sierra games and bunch of others.

I have ALSA setup with MUNT and plumbed properly, which works on games that use the UART mode of the MPU-401 exclusively (essentially later games that use General MIDI as opposed to early Roland synths paired to an intelligent MPU). Running the old dosemu binary, these games work fine.

Would love to see this working again!

Paul

tap networking becomes inaccessible if dosemu is rebooted from within dosemu

When using tap networking with an application which uses the packet driver, rebooting dosemu from within dosemu by any means (warm, soft, doesn't matter) leaves the packet driver interface inaccessible following the reset.

Easy to reproduce - load up an application which uses the packet driver, then give a Ctrl-Alt-Del. When dosemu reboots, the packet driver application complains it can't hook the interrupt vector for the packet driver. Example log with -D+P attached - I can do more flags if needed:

http://home.ix.netcom.com/~jjingber/boot.log.bz2

make error

*** No rule to make target 'config.status', needed by 'default'. Stop.

(Debian Linux)

Asm/vm86.h has changed structure field types, but those structs are used in system call

I'm looking into whether dosemu can be built with the standard system headers instead of the local copies. I came across this commit 6bd1a2f which changes some types. Now I notice in Asm/vm86.h that the vm86plus_struct and other have field types changed from unsigned long to unsigned int. Isn't a pointer to that struct used in the vm86() system call on 32 bit machines? How can the kernel deal properly with the size change?
http://man7.org/linux/man-pages/man2/vm86.2.html
http://lxr.free-electrons.com/source/arch/x86/include/uapi/asm/vm86.h

Am I wrong to be concerned?

goblins3 gfx glitch

When moving mouse in goblins3, the screen
gets corrupted. Most interesting that it doesn't
happen under console - only under X.

dependency problems on debian

dpkg: dependency problems prevent configuration of dosemu2:
dosemu2 depends on sdl2; however:
Package sdl2 is not installed.

dosemu2 : Depends: sdl2 which is a virtual package.
The following actions will resolve these dependencies:

 Remove the following packages:                                                                                    
  1. dosemu2                                                                                                             
    

Accept this solution? [Y/n/q/?] n

*** No more solutions available ***

dosemu window not properly refreshed in SDL mode (2.0pre1-288.gb611afe)

devel 288.gb611afe (same seems be in 271.g21f8c1e) in SDL mode, dosemu window is not refreshed when I pull other window over dosemu window (see first attached screenshot), or when switch to another windows and then back to dosemu (second screenshot, after switching to xterm and back with ALT/TAB). This occurs with default dosemu.conf with '$_X_font = "vga"' or some other font selected.

When '$_X_font' isn't specified, this behaves slightly differently: when pull some window over dosemu window, then again traces remain on dosemu window, but then when I activate dosemu window, that dosemu window after some (short, but very perceivable time - almost 0.5 seconds) refresh and is displayed rightly.
When I switch to another window (xterm in this case) and back to dosemu window, then I again some short time (0.5 sec) see text from terminal and graphic from switching menu remained on dosemu window, and then is dosemu window rightly refreshed and is displayed fine.

This problem does not appear in X11 mode (dosemu -X), no matter when I specify $_X_font or not - in both cases is all fine.

Tested on Fedora 19 i686, SDL2-2.0.3
other_window_gragged_over_the_dosemu_window
switching_to_xterm_and_back_to_dosemu_with_alt-tab

checking for stack protector disabled... no

Hi,
Trying to configure the build under Ubuntu 15.04 64 bit I get an error about the stack protector .. any idea what this is about ?

./configure 
/home/stu/projects/external/dosemu2/mkpluginhooks enable libao yes gpm yes alsa yes ladspa yes kbd_unicode yes extra_charsets yes term yes X yes sdl yes midimisc yes fluidsynth yes translate yes commands yes console yes svgalib no vde no demo no
=== configuring in libao
./configure: line 1666: syntax error near unexpected token `,,'
./configure: line 1666: `XIPH_PATH_AO(,,'
Configuration for libao failed, disabling
=== configuring in gpm
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for Gpm_Open in -lgpm... yes
configure: creating ./config.status
config.status: creating Makefile.conf
=== configuring in alsa
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for ALSA CFLAGS... 
checking for ALSA LDFLAGS...  -lasound -lm -ldl -lpthread
checking for libasound headers version >= 0... found.
checking for snd_ctl_open in -lasound... yes
configure: creating ./config.status
config.status: creating Makefile.conf
=== configuring in ladspa
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking ladspa.h usability... no
checking ladspa.h presence... no
checking for ladspa.h... no
configure: error: *** ladspa not found!
Configuration for ladspa failed, disabling
=== configuring in term
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SLANG... yes
configure: creating ./config.status
config.status: creating Makefile.conf
=== configuring in X
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for X11... yes
configure: Compiling with X support...
checking for XEXT... yes
checking for fc-cache... /usr/bin/fc-cache
checking for mkfontdir... /usr/bin/mkfontdir
checking for bdftopcf... /usr/bin/bdftopcf
checking font compression method... gzip
checking for gzip... /bin/gzip
configure: creating ./config.status
config.status: creating Makefile.conf
config.status: creating _x_config.h
config.status: _x_config.h is unchanged
=== configuring in sdl
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for SDL... yes
configure: creating ./config.status
config.status: creating Makefile.conf
=== configuring in fluidsynth
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for FLUS... no
configure: error: fluidsynth development libs not found
Configuration for fluidsynth failed, disabling
exec /home/stu/projects/external/dosemu2/configure --prefix=/usr/local --sysconfdir=/etc/dosemu --with-x11fontdir=${datadir}/dosemu/Xfonts --with-fdtarball=dosemu-freedos-1.0-bin.tgz
checking build system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for gawk... gawk
checking for a BSD-compatible install... /usr/bin/install -c
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
checking for bison... bison -y
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for struct sigcontext.ss... no
checking for shm_open in -lrt... yes
checking for shm_open... yes
checking for pow in -lm... yes
configure: Using dynamically loaded plugins...
checking for dlopen in -ldl... yes
checking for stack protector disabled... no
configure: error: Cannot compile dosemu with stack protector enabled

Cachechk.exe causes SEGV in vm86sim and fullsim modes

Hi,
Running cachechk.exe from http://www.dcee.net/Files/Utils/cachchk5.zip cause dosemu to SEGV when running the simulator code, whereas 'off' and JIT generation run just fine.

From the terminal

ALSA lib rawmidi_hw.c:233:(snd_rawmidi_hw_open) open /dev/snd/midiC0D0 failed: No such file or directory
ERROR: unexpected CPU exception 0x0e err=0x00000006 cr2=0999d3fc while in vm86 (DOS)
Program=sigsegv.c, Line=182
EIP: 1d00:000040f7 ESP: 0d00:0000fa44  VFLAGS(b): 00000 01110000 00000110
EAX: 80000000 EBX: 0000001f ECX: 00000304 EDX: 000026c7 VFLAGS(h): 00007006
ESI: 0000defc EDI: 00000018 EBP: 0000fa6a DS: 0d00 ES: 0040 FS: 029a GS: c453
FLAGS: PF IF NT RF VM  IOPL: 3
STACK: 18 00 a2 17 03 00 c7 26 49 30 -> c7 26 00 00 4a fa 00 00 fc de 
OPS  : bc d8 66 0f bc d8 66 0f bc d8 -> 66 0f bc d8 66 0f bc d8 66 0f 
    660fbcd8            1d00:40f7 bsf  ebx,eax

Here is the -D+g log, strange but the message printed to the launching terminal whinges about line 182, whereas the bootlog shows line 189 (why?)

CONF: config variable parser_version_3 set
CONF: config variable c_system set
CONF: Parsing built-in dosemu.conf file.
CONF: config variable version_3_style_used set
CONF: Parsing built-in global.conf file.
CONF: config variable version_3_style_used unset
CONF: config variable version_3_style_used set
CONF: opened include file /etc/dosemu/dosemu.conf
CONF: closed include file /etc/dosemu/dosemu.conf
CONF: mapping driver = 'auto'
debug flags: -a+cw
CONF: Disabling use of pentium timer
CONF: dosbanner on
CONF: timer freq=18, update=54925
CONF: CPU set to 586
CONF: simulated CPUEMU set to 4 for 586
CONF: 8192k bytes EMS memory
CONF: EMS-frame = 0xe400
CONF: DPMI-Server on (0x5000)
CONF: DPMI base addr = 0xffffffff
CONF: PM DOS API Translator on
CONF: No DJGPP NULL deref checks: on
CONF: 8192k bytes XMS memory
CONF: dosemu not running on console
CONF: time mode = 'bios'
SER: directory /var/lock namestub LCK.. binary No
MOUSE: /dev/input/mice, type 7 using internaldriver: yes, emulate3buttons: no baudrate: 0
CONF: Keyboard-layout keyb-user
CONF: **** Warning: floppy /dev/fd0 not accessible, disabled
CONF: fastfloppy = 1
CONF: IPX support off
CONF(LPT0) f: (null)   c: lpr -l  t: 20  port: 0
CONF(LPT1) f: (null)   c: lpr -l -P lpt2  t: 20  port: 0
CONF: not allowing speaker port access
CONF: Packet Driver enabled.
device: /etc/dosemu/drives/c type 4 h: -1  s: -1   t: -1 drive C:
device: /etc/dosemu/drives/d type 4 h: -1  s: -1   t: -1 drive D:
CONF: cdrom MSCD0001 on /dev/cdrom
CONF: config variable c_system unset
debug flags: +g
Linux kernel 3.16.0; CPU speed is 1800000000 Hz
CPU-EMU speed is 1800 MHz
CONF: mostly running as USER: uid=500 (cached 500) gid=500 (cached 500)
TIMER: using clock_gettime(CLOCK_MONOTONIC)
DBG_FD already set
DOSEMU-2.0pre3-20150706-g61f2f87 is coming up on Linux version 3.16.0-41-generic #57~14.04.1-Ubuntu SMP Thu Jun 18 18:01:50 UTC 2015 i686
Compiled with GCC version 4.8.4 -m32
CFLAGS: -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -fplan9-extensions -ggdb3 -O
CONF: reserving 640Kb at 0x00000 for 'd' (Base DOS memory (first 640K))
CONF: reserving 48Kb at 0xF4000 for 'r' (Dosemu reserved area)
InitTrees
avltr_reinit
CONF: reserving 128Kb at 0xA0000 for 'v' (Video memory)
PKT: Cannot open tap%d: Operation not permitted
DOS+HMA memory area being mapped in
CONF: reserving 8256Kb at 0x100000 for 'x' (Extended memory (HMA+XMS))
CMOS initialized
Registering HWRAM, type=e base=0xb5389000 size=0x400000
CONF: reserving 4096Kb at 0xB5389000 for 'e' (VGAEMU LFB)
CONF: reserving 12Kb at 0xC0000 for 'V' (VGAEMU Video BIOS)
SERIAL $Id$
CONF: detected layout is "us"
CONF: detected alternate layout: us
initial register values: fs: 0x0000  gs: 0x0033 eflags: 0x0217
GEN: fd=10 gets SIGIO for async_awake
CONF: reserving 16Kb at 0xE4000 for 'E' (EMS page frame)
CONF: reserving 16Kb at 0xE8000 for 'E' (EMS page frame)
CONF: reserving 16Kb at 0xEC000 for 'E' (EMS page frame)
CONF: reserving 16Kb at 0xF0000 for 'E' (EMS page frame)
CONF: reserving 132Kb at 0xC3000 for 'U' (Upper Memory Block (UMB, XMS 3.0))
EMULATE
GEN: fd=11 gets SIGIO for mhp_input_async
TIME: using 9154 usec for updating ALRM timer
======================= ENTER CPU-EMU ===============

WARNING: redundant disabling of A20!
CONFIG: 0x9126    binary: 1001 0001 0010 0110 
CONSOLE MSG: '

DOSEMU2 2.0pre3-20150706-g61f2f87, configured: 2015-07-06 09:23:59 +0100
'
CONSOLE MSG: 'Please test against a recent version before reporting bugs and problems.
'
CONSOLE MSG: 'Submit Bugs & Patches to [email protected] or via '
CONSOLE MSG: 'http://dosemu.org.
'
fake_call() CS:IP 11cc:007f
fake_call() CS:IP 11cc:007f
fake_call() CS:IP 11cc:007f
fake_call() CS:IP 11cc:007f
fake_call() CS:IP 11cc:007f
fake_call() CS:IP 11cc:007f
fake_call() CS:IP 11cc:007f
fake_call() CS:IP 11cc:0010
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
GEN: fd 10 has data for async_awake
callback X events added, 18 queued
callback X events added, 19 queued
callback X events added, 20 queued
callback X events added, 21 queued
callback X events added, 22 queued
callback X events added, 22 queued
callback X events added, 20 queued
callback X events added, 21 queued
callback X events added, 22 queued
callback X events added, 23 queued
callback X events added, 24 queued
callback X events added, 25 queued
callback X events added, 26 queued
callback X events added, 27 queued
callback X events added, 28 queued
callback X events added, 29 queued
callback X events added, 30 queued
callback X events added, 31 queued
callback X events added, 32 queued
callback X events added, 32 queued
callback X events added, 33 queued
callback X events added, 34 queued
callback X events added, 34 queued
callback X events added, 35 queued
callback X events added, 36 queued
GEN: fd 10 has data for async_awake
processing 25 callbacks
callback X events added, 1 queued
callback X events added, 2 queued
processing 1 callbacks
GEN: fd 10 has data for async_awake
processing 16 callbacks
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
processing 3 callbacks
GEN: fd 10 has data for async_awake
processing 24 callbacks
fake_call() CS:IP 11cc:0010
INT1A: RTC time 11:51:53
INT1A: RTC date 20150708 (DOS format)
INT1A: read timer=777663, midnight=0
INT1A: set timer to 777662
INT1A: RTC set time 11:51:53
INT1A: RTC set date 2015/07/08
INT1A: read timer=777662, midnight=0
INT1A: set timer to 777653
INT1A: RTC set time 11:51:53
INT1A: RTC set date 2015/07/08
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
callback X events added, 5 queued
callback X events added, 6 queued
callback X events added, 7 queued
callback X events added, 8 queued
GEN: fd 10 has data for async_awake
processing 16 callbacks
INT1A: read timer=777653, midnight=0
INT1A: read timer=777653, midnight=0
INT1A: read timer=777653, midnight=0
INT1A: read timer=777653, midnight=0
INT1A: read timer=777653, midnight=0
INT1A: read timer=777653, midnight=0
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
GEN: fd 10 has data for async_awake
processing 3 callbacks
fake_call() CS:IP 906d:018f
fake_call() CS:IP 906d:1232
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
GEN: fd 10 has data for async_awake
processing 4 callbacks
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
GEN: fd 10 has data for async_awake
processing 3 callbacks
fake_call() CS:IP 906d:1c2b
INT1A: read timer=777656, midnight=0
INT1A: read timer=777656, midnight=0
INT1A: read timer=777656, midnight=0
INT1A: read timer=777656, midnight=0
INT1A: read timer=777656, midnight=0
INT1A: read timer=777656, midnight=0
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = LREDIR
change_config: item = 1, buffer = (nil)
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
GEN: fd 10 has data for async_awake
processing 4 callbacks
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = COMMAND
change_config: item = 1, buffer = (nil)
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
GEN: fd 10 has data for async_awake
processing 3 callbacks
fake_call() CS:IP d49d:0018
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP d49d:0077
INT1A: read timer=777658, midnight=0
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( echo )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( rem )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( path )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( set )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( set )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( blaster )
change_config: item = 1, buffer = (nil)
fake_call() CS:IP ffff:9c8c
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = BLASTER
change_config: item = 1, buffer = (nil)
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = COMMAND
change_config: item = 1, buffer = (nil)
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( prompt )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( unix )
change_config: item = 1, buffer = (nil)
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = UNIX
change_config: item = 1, buffer = (nil)
Environment Variable Check : DOSDRIVE_D is /home/ajb
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = COMMAND
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( if )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( lredir )
change_config: item = 1, buffer = (nil)
fake_call() CS:IP ffff:972c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = LREDIR
change_config: item = 1, buffer = (nil)
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = COMMAND
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( rem )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( rem )
change_config: item = 1, buffer = (nil)
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
callback X events added, 5 queued
callback X events added, 6 queued
callback X events added, 7 queued
callback X events added, 8 queued
callback X events added, 9 queued
callback X events added, 10 queued
callback X events added, 11 queued
callback X events added, 12 queued
callback X events added, 13 queued
callback X events added, 14 queued
callback X events added, 15 queued
callback X events added, 16 queued
callback X events added, 17 queued
callback X events added, 18 queued
callback X events added, 19 queued
callback X events added, 20 queued
callback X events added, 21 queued
callback X events added, 22 queued
callback X events added, 23 queued
callback X events added, 24 queued
callback X events added, 25 queued
callback X events added, 26 queued
callback X events added, 27 queued
callback X events added, 28 queued
callback X events added, 29 queued
callback X events added, 30 queued
callback X events added, 31 queued
callback X events added, 32 queued
callback X events added, 33 queued
callback X events added, 34 queued
callback X events added, 35 queued
callback X events added, 36 queued
callback X events added, 37 queued
callback X events added, 38 queued
callback X events added, 39 queued
callback X events added, 40 queued
callback X events added, 41 queued
callback X events added, 42 queued
callback X events added, 43 queued
callback X events added, 44 queued
callback X events added, 45 queued
callback X events added, 46 queued
callback X events added, 47 queued
callback X events added, 48 queued
callback X events added, 49 queued
callback X events added, 50 queued
GEN: fd 10 has data for async_awake
processing 50 callbacks
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( rem )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( rem )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( rem )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( lredir )
change_config: item = 1, buffer = (nil)
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
GEN: fd 10 has data for async_awake
processing 4 callbacks
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = LREDIR
change_config: item = 1, buffer = (nil)
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
fake_int: CS:IP fc00:0001
MFS: couldn't find root path /media/CDROM
fake_int: CS:IP fc00:0001
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = COMMAND
change_config: item = 1, buffer = (nil)
fake_call() CS:IP c453:098e
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( unix )
change_config: item = 1, buffer = (nil)
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
callback X events added, 5 queued
GEN: fd 10 has data for async_awake
processing 26 callbacks
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = UNIX
change_config: item = 1, buffer = (nil)
Environment Variable Check : DOSEMU_VERSION is 2.0pre3-20150706-g61f2f87
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = COMMAND
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( echo )
change_config: item = 1, buffer = (nil)
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( unix )
change_config: item = 1, buffer = (nil)
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
callback X events added, 5 queued
GEN: fd 10 has data for async_awake
processing 25 callbacks
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = UNIX
change_config: item = 1, buffer = (nil)
Command Line Check : 
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = COMMAND
change_config: item = 1, buffer = (nil)
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP ffff:1362
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
GEN: fd 10 has data for async_awake
processing 4 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
GEN: fd 10 has data for async_awake
processing 4 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
GEN: fd 10 has data for async_awake
processing 3 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
GEN: fd 10 has data for async_awake
processing 3 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
callback X events added, 5 queued
GEN: fd 10 has data for async_awake
processing 5 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP 0070:01e0
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
GEN: fd 10 has data for async_awake
processing 3 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP 0070:01eb
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
callback X events added, 2 queued
GEN: fd 10 has data for async_awake
processing 2 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
fake_call() CS:IP fc00:022c
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP fc00:022c
change_config: item = 7, buffer = 0xb06fff43
change_config: app_name = COMMAND ( cachechk )
change_config: item = 1, buffer = (nil)
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
callback X events added, 5 queued
callback X events added, 6 queued
callback X events added, 7 queued
callback X events added, 8 queued
callback X events added, 9 queued
callback X events added, 10 queued
callback X events added, 11 queued
callback X events added, 12 queued
callback X events added, 13 queued
callback X events added, 14 queued
callback X events added, 15 queued
callback X events added, 16 queued
callback X events added, 17 queued
callback X events added, 18 queued
callback X events added, 19 queued
callback X events added, 20 queued
callback X events added, 21 queued
callback X events added, 22 queued
callback X events added, 23 queued
callback X events added, 24 queued
callback X events added, 25 queued
callback X events added, 26 queued
callback X events added, 27 queued
GEN: fd 10 has data for async_awake
processing 27 callbacks
fake_call() CS:IP c453:0931
change_config: item = 7, buffer = 0x81f4ef4
change_config: app_name = CACHECHK
change_config: item = 1, buffer = (nil)
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP 0fbd:00ce
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP 0fbd:00da
INT1A: read timer=777976, midnight=0
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
processing 4 callbacks
GEN: fd 10 has data for async_awake
processing 10 callbacks
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 3 queued
callback X events added, 1 queued
callback X events added, 2 queued
callback X events added, 3 queued
callback X events added, 4 queued
callback X events added, 5 queued
GEN: fd 10 has data for async_awake
processing 9 callbacks
callback X events added, 6 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP 02aa:5431
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP 02aa:5431
fake_call() CS:IP 02aa:5431
callback X events added, 1 queued
GEN: fd 10 has data for async_awake
processing 1 callbacks
fake_call() CS:IP 02aa:31f9
ERROR: unexpected CPU exception 0x0e err=0x00000006 cr2=0999d3fc while in vm86 (DOS)

Program=sigsegv.c, Line=189
EIP: 1d00:000040f7 ESP: 0d00:0000fa44  VFLAGS(b): 00000 01110000 00000110
EAX: 80000000 EBX: 0000001f ECX: 00000304 EDX: 000026c7 VFLAGS(h): 00007006
ESI: 0000defc EDI: 00000018 EBP: 0000fa6a DS: 0d00 ES: 0040 FS: 029a GS: c453
FLAGS: PF IF NT RF VM  IOPL: 3
STACK: 18 00 a2 17 03 00 c7 26 49 30 -> c7 26 00 00 4a fa 00 00 fc de 
OPS  : bc d8 66 0f bc d8 66 0f bc d8 -> 66 0f bc d8 66 0f bc d8 66 0f 
    660fbcd8            1d00:40f7 bsf  ebx,eax

closing debugger pipes
GEN: fd=11 removed from select SIGIO
SPEAKER: sound off
calling SIG_close
calling keyboard_close
======================= LEAVE CPU-EMU ===============

00| 02aa:015c->002bfc   01| 00d1:1085->001d95   02| f000:c005->0fc005
03| 00d1:1085->001d95   04| 00c0:0500->001100   05| d110:85f0->0d96f0
06| 00d1:10c2->001dd2   07| 1085:f000->01f850   08| c007:00d1->0c0141
09| f000:e987->0fe987   0a| 0700:d110->014110   0b| 08f0:00c0->008fc0
0c| f000:c00f->0fc00f   0d| f000:c007->0fc007   0e| f000:c008->0fc008
0f| f000:c012->0fc012   10| 00c0:08f0->0014f0   11| d110:c2f0->0dd3f0
12| f000:c015->0fc015   13| 10c2:f000->01fc20   14| c00a:00d1->0c0171
15| f000:c018->0fc018   16| 0a00:d110->017110   17| a5f0:00c0->0a5fc0
18| f000:c01b->0fc01b   19| f000:c00a->0fc00a   1a| f800:7ea5->0ffea5
1b| 0070:00e1->0007e1   1c| 007e:a5f0->00add0   1d| 00e9:87f8->009688
1e| 0070:0000->000700   1f| e987:f800->0f9070   20| f100:f000->100000
21| f000:c024->0fc024   22| 00f0:00e9->000fe9   23| 0ef0:00f1->00eff1
24| c453:0247->0c4777   25| f000:f100->0ff100   26| f000:c00e->0fc00e
27| 00d1:10b2->001dc2   28| 00c0:0ef0->001af0   29| 00c0:0ff0->001bf0
2a| 00d1:1085->001d95   2b| c00f:f000->0cf0f0   2c| c010:f000->0cf100
2d| 00d1:1085->001d95   2e| 10f0:00c0->010fc0   2f| 11f0:00c0->011fc0
30| d110:caea->0ddbea   31| f000:c010->0fc010   32| f000:c011->0fc011
33| efff:c046->0fc036   34| 00c0:11f0->001df0   35| 00c0:12f0->001ef0
calling disk_close_all
releasing ports and blocked devices
calling shared memory exit
calling HMA exit
calling mapping_close()
calling close_all_printers

My sound is working only with -s switch

, saying "Running privileged (via sudo) in full feature mode".
How to enable it for normal user?
I've already studied the docs and searched the internet.

dosemu crashes X server when launced from openbox menu

Latest dosemu2 crashes X on Debian Jessie if launched as a menu item from openbox. The old dosemu 1.4 behaves as expected, as do other items launched from the menu. X server is running on Intel G41 integrated graphics on a stock Optiplex 280.

To reproduce:

Add a new menu item with 'execute' and 'xdosemu' as the target and the launch dosemu from the openbox menu. If the menu command is setup such as 'rxvt -e xdosemu', the terminal opens, and launches dosemu properly. When full debugging is enabled, I get a log file which ends in ~4MB of this:

VGAEmu: vga_emu_protect_page: 0xbf = RW (unchanged)
VGAEmu: vga_emu_protect: error = 0, region = 0, page = 0x7 --> map_addr = 0xbf, prot = RH

Nothing else I can see in the X logs seems to give any indication of any errors. Willing to help debug this, but I'm not that familiar with dosemu internals yet.

Paul

Manpage for dosemu.bin suggests format of .dosemurc == global.conf

See -I section

"Parse the string behind -I with the same syntax as global.conf or .dosemurc"

I could correct .dosemurc to ".dosrc", but I'm not sure if that's even used anymore? Or if you think it should just say "same syntax as global.conf", you had had better fix both the English and Russian, as changing the Russian is non obvious to me. :-)

Display open + executing files on exception

#64 and exceptions caused by programs run inside dosemu can be tricky to track down, it could be a lot easier if currently open executables, loading devices drivers and normal files could be displayed on exception.

(Also - display the exception info in the console - e.g. this bit):

C: HD1, Pri[ 1], CHS=    0-1-1, start=     0 MB, size=  2000 MB
D: HD2, Pri[ 1], CHS=    0-1-1, start=     0 MB, size=  2000 MB

Invalid Opcode at 0024 027B 3246 1357 906D 0008 0000 9DE2 0000 2178 A8EA 0000 027B

Some examples:

error caused when loading device driver ems.sys in config.sys:

Last executed:
loading device driver:   ems.sys

open files:
config.sys
ems.sys

error caused loading command.com

Last executed:
command.com

open files:
command.com

more complex example - user has run '4dos.exe', then in there run 'qbasic.exe', loaded gorrilla and somehow caused an exception:

Last executed:
command.com -> 4dos.exe -> qbasic.exe

open files:
gorilla.bas

Order of file- and directorynames

When using /dir to display contents there is no alphabetical order of files and directories. FreeDos usually shows directories first and then files, both in alphabetical order.

dir

One can force the "correct" order by using dir /o. A workaround is to include this in autoexec.bat via
SET DIRCMD=/o

This doesnt work for applications which list contents / directories though.
Tested on Ubuntu x64.

Japeth's DPMI test program from HX extender causes SEGV sometimes

Using the 'dpmi -r' test from the 2.17 version of HXRT causes dosemu2 to SEGV. The same prgram run under dosemu 1.4.0.8 runs okay to completion

http://web.archive.org/web/20140904175113/http://www.japheth.de/HX.html

Note I used dumb mode just so I could copy the screen, the same error occurs in -X and -S but the window disappears.

ajb@polly:/clients/common/dosemu2.git$ /opt/dosemu2/bin/dosemu -dumb
ALSA lib rawmidi_hw.c:233:(snd_rawmidi_hw_open) open /dev/snd/midiC0D0 failed: No such file or directory


DOSEMU2 2.0pre3-20150801-gd1323e4, configured: 2015-08-01 18:25:15 +0100
Please test against a recent version before reporting bugs and problems.
Submit Bugs & Patches to [email protected] or via http://dosemu.org.
FreeDOS kernel build 2036 cvs [version Aug 18 2006 compiled Aug 18 2006]
Kernel compatibility 7.10 - WATCOMC - 80386 CPU required - FAT32 support

(C) Copyright 1995-2006 Pasquale J. Villani and The FreeDOS Project.
All Rights Reserved. This is free software and comes with ABSOLUTELY NO
WARRANTY; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation;
either version 2, or (at your option) any later version.
C: HD1, Pri[ 1], CHS=    0-1-1, start=     0 MB, size=  2000 MB
D: HD2, Pri[ 1], CHS=    0-1-1, start=     0 MB, size=  2000 MB
UMB's unavailable!                                                             
dosemu XMS 3.0 driver installed.
dosemu EMS driver rev 0.5 installed.
[dosemu cdrom driver installed (V0.2)]
Kernel: allocated 41 Diskbuffers = 21812 Bytes in HMA
Z: = LINUX\FS\ attrib = READ ONLY

FreeCom version 0.84-pre2 XMS_Swap [Aug 28 2006 00:29:00]
Sound on: SB at 0x220-0x22f, IRQ=5, DMA8=1, DMA16=5. MPU-401 at 0x330-0x331.
Redirection for drive D: was deleted.
D: = LINUX\FS/HOME/AJB attrib = READ/WRITE
Error 35 (network name not found)
while redirecting drive E: to LINUX\FS/MEDIA/CDROM
"Welcome to dosemu 2.0pre3-20150801-gd1323e4!"
C:\>dpmi -r
Cpu is in V86-mode
XMS v3.0 host found, largest free block: 8092 kB
No VCPI host found
DPMI v0.90 host found, cpu: 05, support of 32-bit clients: 0001
entry initial switch to protected-mode: F800:4800
size task-specific memory (paragraphs): 00E6
segment task-specific memory: 04A7
client CS/SS/DS/FS/GS: 00BF/00C7/00CF/0000/0000, ES (=PSP): 00D7
environment [PSP:2Ch]: 00DF, parent [PSP:16h]: C13C
GDTR: 00FF.F6FC9000 IDTR: 07FF.FFFBB000 LDTR: 0088 TR: 0080
version flags: 0005
master/slave PICs base: 08/70
state save protected-mode: 0097:00000001, real-mode: F800:4909
size state save buffer: 0034
raw jump to real-mode: 0097:00000000, protected-mode: F800:4908
largest free/lockable memory block (kB): 20480/20480
free unlocked (=virtuaSegmentation fault (core dumped)

Test suite won't compile with gcc 4.8.4

Hi,
I'd like to run the test suite but I find that my gcc is failing to compile the intentionally incorrect asm code 'lock nop'. I can comment it out but that avoids the test. Perhaps there is a better way?

ajb@polly:/stuff/dosemu2.git/src/tests$ make
gcc -m32 -Wall -O2 -g -fno-strict-aliasing  -static -o test-i386 \
              ./test-i386.c ./test-i386-code16.S ./test-i386-vm86.S -lm
./test-i386.c: Assembler messages:
./test-i386.c:2075: Error: expecting lockable instruction after `lock'
make: *** [test-i386] Error 1

Code around line 2075 shows

    printf("lock nop exception:\n");                                            
    if (setjmp(jmp_env) == 0) {                                                 
        /* now execute an invalid instruction */                                
        asm volatile("lock nop");                                               
    }                                                                           
ajb@polly:/stuff/dosemu2.git/src/tests$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

Ultima VI crashes when using VGA mode with cpu_emu = "full"/"vm86"

With Ultima 6 configured for VGA mode, and dosemu using "full" or "vm86" CPU emulation, the game will freeze several seconds after the publisher's logo first appears when the game is run.

The game will run successfully if dosemu CPU emulation is set to "off". This game does work under 1.4 with full CPU emulation, even though this appears to be a problem with how the game accesses what it thinks is VGA memory. The game is also well behaved under other emulators such as DOSBox.

VGAEmu: vga_emu_fault: write access to some region, address 0x27a8c, page 0x27, vga page 0x0
VGAEmu: vga_emu_fault: in_dpmi 0, err 0x7, scp->cs:eip 0073:a93589db, vm86s->cs:eip 1793:00b3
VGAEmu: vga_emu_fault: cs:eip = 1793:00b3, instr: 1f 5e 5f 5d cb 55 8b ec 57 56 1e 1e 07 fc 9c fa
VGAEmu: vga_emu_fault: unhandled page fault (not in 0xa0000 - 0xc3000 range)

http://home.ix.netcom.com/~jjingber/boot-ultima6.log.bz2

URL: http://www.myabandonware.com/game/ultima-vi-the-false-prophet-11s

dosemu-2.0-pre1.145.g1931548 crashes on i686 in several modes

Hi Stas, I tested this release. Although x86_64 version on Fedora 20 seems working well, I found some issues with i686 version on Fedora 19 (running without cpu emulation). I will send You some boot.logs and other files, and there is description:

  1. perhaps most weird are random crashes at dosemu start, when run 'dosemu -X'. Approximately two out of five starts fails. When it starts, DOS window sometimes contains tiny strokes of small white dots.
    Some as sort of videomemory corruption.

  2. 'dosemu -S' (SDL mode) crashes at dosemu-i386 start always.

  3. Although characters in DOS window are dumped relatively fast, when I copy some text (from some other X program, as web browser, mailer, text editor,... via clipboard) and paste it into DOS window, it is pasted very slowly - insert 130-character string takes about 16 seconds. On amd64 F20 this take cca 4-4.5 seconds, and machines are both about equally powerful - i686 F19 PC has Core2 Duo [email protected], x86_64 F20 PC has Phenom II X4 940 CPU.
    With dosemu-1.4.0.8-753.g18f6f5c.i686 (last SF commit) this insert takes only cca 4 seconds.

graphic problem

Hello.
I am experiencing some graphical issues or at least they seem to be of graphical nature. I am using an old program and if I want to set up things in configuration it will not draw the screen correctly. It may just print black / white textlines. Usually they are coloured and there is background color.
I tried SDL and X on debian.
Strange thing is that I've got another computer with an older dosemu version where it's running fine. I just updated it too and still works. So maybe it's a problem on my side and you can help me track it down

devel-1dff1aa3.i686 under X crashes at start

I just tried last devel version (git 1dff1aa) at Fedora 19/i686. With '-t' and '-S' (terminal and SDL mode) dosemu starts, but when I start if with under X11 with '-X', then crashes at start with messages:

$ dosemu -X
ERROR: cpu exception in dosemu code outside of VM86()!
trapno: 0x0e errorcode: 0x00000005 cr2: 0xf000c016
eip: 0x0813f966 esp: 0xb4d45d28 eflags: 0x00010202
cs: 0x0073 ds: 0x007b es: 0x007b ss: 0x007b
ERROR: Please update from git, compile with debug information and report the contents of ~/.dosemu/boot.log at
http://sourceforge.net/tracker/?atid=457447&group_id=49784
Page fault: read instruction to linear address: 0xf000c016
CPU was in user mode
Exception was caused by insufficient privilege

or:
$ dosemu -X
ERROR: cpu exception in dosemu code outside of VM86()!
trapno: 0x0e errorcode: 0x00000004 cr2: 0x00d911d2
eip: 0x0813f966 esp: 0xb4dd8d28 eflags: 0x00010202
cs: 0x0073 ds: 0x007b es: 0x007b ss: 0x007b

ERROR: Please update from git, compile with debug information and report the contents of ~/.dosemu/boot.log at
http://sourceforge.net/tracker/?atid=457447&group_id=49784
Page fault: read instruction to linear address: 0x00d911d2
CPU was in user mode
Exception was caused by non-available page

It feels to me appeared as some memory overwriting or so. Attached are boot.log files for these two errors above.
Cautions! I cannot attach it, I have error that I can attach only PNG/GIF/JPG file. What is it?

Dosemu dies with illegal opcode

dosemu (1) from the ubuntu package works, but dosemu2 dies with an illegal opcode

DOSEMU2 2.0pre3-20150820-g097f0e5, configured: 2015-08-21 00:13:55 +0800
Please test against a recent version before reporting bugs and problems.
Submit Bugs & Patches to [email protected] or via http://dosemu.org.
FreeDOS kernel build 2036 cvs [version Aug 18 2006 compiled Aug 18 2006]
Kernel compatibility 7.10 - WATCOMC - 80386 CPU required - FAT32 support

(C) Copyright 1995-2006 Pasquale J. Villani and The FreeDOS Project.
All Rights Reserved. This is free software and comes with ABSOLUTELY NO
WARRANTY; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation;
either version 2, or (at your option) any later version.
C: HD1, Pri[ 1], CHS=    0-1-1, start=     0 MB, size=  2000 MB
D: HD2, Pri[ 1], CHS=    0-1-1, start=     0 MB, size=  2000 MB

Invalid Opcode at 0024 027B 3246 1357 906D 0008 0000 9DE2 0000 2178 A8EA 0000 027B

Some more info when I can build it again ..

Asm/ldt.h has changed structure field type, but those structs are used in system call

This a similar problem to the earlier one, but with an ldt.h structure. It seems that since kernel 2.6.24 commit (torvalds/linux@f6a2e7f) that structure has its base_addr field typed as per the local copy we have.

Prior to that commit the structure was different between i386 and x86_64

$ diff -u include/asm-i386/ldt.h include/asm-x86_64/ldt.h
--- include/asm-i386/ldt.h  2015-08-19 17:12:22.022978491 +0100
+++ include/asm-x86_64/ldt.h    2015-08-19 17:12:22.114975088 +0100
@@ -12,9 +12,12 @@
 #define LDT_ENTRY_SIZE 8

 #ifndef __ASSEMBLY__
+/* Note on 64bit base and limit is ignored and you cannot set
+   DS/ES/CS not to the default values if you still want to do syscalls. This
+   call is more for 32bit mode therefore. */
 struct user_desc {
    unsigned int  entry_number;
-   unsigned long base_addr;
+   unsigned int  base_addr;
    unsigned int  limit;
    unsigned int  seg_32bit:1;
    unsigned int  contents:2;
@@ -22,6 +25,7 @@
    unsigned int  limit_in_pages:1;
    unsigned int  seg_not_present:1;
    unsigned int  useable:1;
+   unsigned int  lm:1;
 };

 #define MODIFY_LDT_CONTENTS_DATA   0

It would be really nice to cull the local copy of ldt.h, but 2.6.24 seems a little too new to drop support for prior versions. Note also that x86_64 also has an extra field, so the overall struct size will be different between our local copy and the kernels view. What do you think?

Direct Parallel Access

Hi,

I have a Datamax printer which I use on LPT1 or under Linux lp0. The printer doesn't need a driver, you just send the raw data, the files include the printer control signs.
However I can't get it to work under CUPS / Ubuntu 14.04.1 x64 unlike other printers. I tried it with raw mode in cups, ECP/EPP/SPP in Bios, never printed. I then tried a LPT to USB cable in ECP mode and it showed up the correct printername in CUPS. I may print one label from dosemu but no more. No error message shown and cups says that all tasks have been completed but it is also saying "Sending data to printer".

I have to reboot in order to print another label.

Now I want to give dosemu direct access to the parallel port and print via original lpt port, maybe that helps. In dosemu.conf I changed $_lpt1 = "" and added
$_ports = $_ports, " device /dev/lp0 range 0x378 0x37a"
and started sudo dosemu -s

When copying the file to LPT1 it states "Error reading from device LPT1: write fault".

In terminal I tried to copy the file to lp0, after setting chmod 666 /dev/lp0 I did cat file.txt > /dev/lp0 but nothing happens.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.