VOGONS


bug report (?) win3.x and latest cvs

Topic actions

Reply 22 of 95, by kruwi

User metadata
Rank Member
Rank
Member

using a clean build from 01.November.06 (11.01.06) the instabilities do not yet occur.

core=dynamic does not cause any problems.

Visit the end of the internet: www.groskreutz.de

Reply 25 of 95, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

pre-compiled binaries: http://builds.tharos-online.de/

I'm pretty sure kruwi is using Linux 😀

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 29 of 95, by kruwi

User metadata
Rank Member
Rank
Member

I actually find it difficult to access the older cvs-sources. Maybe someone could upload a linux-build (a clean one) or the sources (even better) from ~ 1-2 weeks ago?

Visit the end of the internet: www.groskreutz.de

Reply 31 of 95, by kruwi

User metadata
Rank Member
Rank
Member

OK. I have managed to access the cvs-repository and have compiled and installed the dosbox-cvs from 2007-1-17.

Everything works normally with this version of dosbox-cvs. Core=dynamic does not lead to any problems. Windows 3.1 runs pretty stable, as it has done ever before.

So, I think I am finally able to specify the problem: The "bug" only appears in cvs-versions 2007-1-18 and later.

I think I can by now almost definitely rule out that the problem is caused by a corrupted win3x installation. For me, this looks plainly like a post 2007-1-18 bug.

Visit the end of the internet: www.groskreutz.de

Reply 32 of 95, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

yep, sounds like your system does not like the SMC of dynamic core. What linux system are you using and is it 32bit or 64bit and what compiler (gcc 3.x or 4.x). That all means nothing to me of course, but maybe the devs can do something with this information 😀

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 33 of 95, by kruwi

User metadata
Rank Member
Rank
Member

I'm using the 32 bit version of opensuse 10.2 .

My system is a centrino laptop (M 740, 1.6 GHZ) with 1 GB RAM.

The gcc version is 4.1.3-29.i586

Visit the end of the internet: www.groskreutz.de

Reply 35 of 95, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator
kruwi wrote:

P.S.: What is SMC?

Self modifying code ...

2007-01-18 15:57 c2woody […]
Show full quote

2007-01-18 15:57 c2woody

* include/pic.h, src/cpu/core_dyn_x86.cpp,
src/cpu/core_dyn_x86/cache.h, src/cpu/core_dyn_x86/decoder.h,
src/cpu/core_dyn_x86/risc_x86.h, src/hardware/pic.cpp: avoid code
invalidation on certain types of self modification and adjust
cache sizes (dynamic core); add partial memory function inlining
for dynamic core memory access; remove a float div in the pic

Mirek

Reply 36 of 95, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

You could try uncommenting the #define X86_INLINED_MEMACCESS
at the top of src/cpu/core_dyn_x86/decoder.h and see if it works then.

Does it happen to anybody else? I've tried several versions and it is
as stable as before.

Reply 37 of 95, by kruwi

User metadata
Rank Member
Rank
Member

Ok, after I uncommented this line I tried to compile the sources and got the following error messages:

kruwi@linux-xi5p:~/Desktop/dosbox> ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make sets $(MAKE)... (cached) yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
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 ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for sdl-config... /usr/bin/sdl-config
checking for SDL - version >= 1.2.0... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for egrep... 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 for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for unsigned char... yes
checking size of unsigned char... 1
checking for unsigned short... yes
checking size of unsigned short... 2
checking for unsigned int... yes
checking size of unsigned int... 4
checking for unsigned long... yes
checking size of unsigned long... 4
checking for unsigned long long... yes
checking size of unsigned long long... 8
checking for int *... yes
checking size of int *... 4
checking if environ can be included... yes
checking if environ can be linked... yes
checking for powf in -lm... yes
checking if compiler allows __attribute__... yes
checking if compiler allows __builtin_expect... yes
checking for ALSA CFLAGS...
checking for ALSA LDFLAGS... -lasound -lm -ldl -lpthread
checking for libasound headers version >= 0.9.0... found.
checking for snd_ctl_open in -lasound... yes
checking whether byte ordering is bigendian... no
checking for target cpu type... x86 compatible
checking whether x86 dynamic cpu core will be enabled... yes
checking whether fpu emulation will be enabled... yes
checking whether x86 assembly fpu core will be enabled... yes
checking whether to enable unaligned memory access... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_check_sig in -lpng... yes
checking SDL_net.h usability... yes
checking SDL_net.h presence... yes
checking for SDL_net.h... yes
checking for SDLNet_Init in -lSDL_net... yes
checking whether opengl display output will be enabled... checking for main in -lGL... yes
checking for main in -lopengl32... no
checking GL/gl.h usability... yes
checking GL/gl.h presence... yes
checking for GL/gl.h... yes
yes
checking SDL_sound.h usability... yes
checking SDL_sound.h presence... yes
checking for SDL_sound.h... yes
checking for Sound_Init in -lSDL_sound... yes
checking for Sound_Seek in -lSDL_sound... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for mprotect... yes
checking for setpriority support... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/cpu/Makefile
config.status: creating src/cpu/core_full/Makefile
config.status: creating src/cpu/core_normal/Makefile
config.status: creating src/cpu/core_dyn_x86/Makefile
config.status: creating src/debug/Makefile
config.status: creating src/dos/Makefile
config.status: creating src/fpu/Makefile
config.status: creating src/gui/Makefile
config.status: creating src/hardware/Makefile
config.status: creating src/hardware/serialport/Makefile
config.status: creating src/ints/Makefile
config.status: creating src/libs/Makefile
config.status: creating src/libs/zmbv/Makefile
config.status: creating src/misc/Makefile
config.status: creating src/shell/Makefile
config.status: creating src/platform/Makefile
config.status: creating src/platform/visualc/Makefile
config.status: creating visualc/Makefile
config.status: creating visualc_net/Makefile
config.status: creating include/Makefile
config.status: creating docs/Makefile
config.status: creating config.h
config.status: executing depfiles commands
kruwi@linux-xi5p:~/Desktop/dosbox> make
make all-recursive
make[1]: Entering directory `/home/kruwi/Desktop/dosbox'
Making all in src
make[2]: Entering directory `/home/kruwi/Desktop/dosbox/src'
Making all in cpu
make[3]: Entering directory `/home/kruwi/Desktop/dosbox/src/cpu'
Making all in core_full
make[4]: Entering directory `/home/kruwi/Desktop/dosbox/src/cpu/core_full'
make[4]: Für das Ziel »all« ist nichts zu tun.
make[4]: Leaving directory `/home/kruwi/Desktop/dosbox/src/cpu/core_full'
Making all in core_normal
make[4]: Entering directory `/home/kruwi/Desktop/dosbox/src/cpu/core_normal'
make[4]: Für das Ziel »all« ist nichts zu tun.
make[4]: Leaving directory `/home/kruwi/Desktop/dosbox/src/cpu/core_normal'
Making all in core_dyn_x86
make[4]: Entering directory `/home/kruwi/Desktop/dosbox/src/cpu/core_dyn_x86'
make[4]: Für das Ziel »all« ist nichts zu tun.
make[4]: Leaving directory `/home/kruwi/Desktop/dosbox/src/cpu/core_dyn_x86'
make[4]: Entering directory `/home/kruwi/Desktop/dosbox/src/cpu'
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -MT callback.o -MD -MP -MF ".deps/callback.Tpo" -c -o callback.o callback.cpp; \
then mv -f ".deps/callback.Tpo" ".deps/callback.Po"; else rm -f ".deps/callback.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -MT cpu.o -MD -MP -MF ".deps/cpu.Tpo" -c -o cpu.o cpu.cpp; \
then mv -f ".deps/cpu.Tpo" ".deps/cpu.Po"; else rm -f ".deps/cpu.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -MT flags.o -MD -MP -MF ".deps/flags.Tpo" -c -o flags.o flags.cpp; \
then mv -f ".deps/flags.Tpo" ".deps/flags.Po"; else rm -f ".deps/flags.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -MT modrm.o -MD -MP -MF ".deps/modrm.Tpo" -c -o modrm.o modrm.cpp; \
then mv -f ".deps/modrm.Tpo" ".deps/modrm.Po"; else rm -f ".deps/modrm.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -MT core_full.o -MD -MP -MF ".deps/core_full.Tpo" -c -o core_full.o core_full.cpp; \
then mv -f ".deps/core_full.Tpo" ".deps/core_full.Po"; else rm -f ".deps/core_full.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -MT paging.o -MD -MP -MF ".deps/paging.Tpo" -c -o paging.o paging.cpp; \
then mv -f ".deps/paging.Tpo" ".deps/paging.Po"; else rm -f ".deps/paging.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -MT core_normal.o -MD -MP -MF ".deps/core_normal.Tpo" -c -o core_normal.o core_normal.cpp; \
then mv -f ".deps/core_normal.Tpo" ".deps/core_normal.Po"; else rm -f ".deps/core_normal.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -MT core_simple.o -MD -MP -MF ".deps/core_simple.Tpo" -c -o core_simple.o core_simple.cpp; \
then mv -f ".deps/core_simple.Tpo" ".deps/core_simple.Po"; else rm -f ".deps/core_simple.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -MT core_dyn_x86.o -MD -MP -MF ".deps/core_dyn_x86.Tpo" -c -o core_dyn_x86.o core_dyn_x86.cpp; \
then mv -f ".deps/core_dyn_x86.Tpo" ".deps/core_dyn_x86.Po"; else rm -f ".deps/core_dyn_x86.Tpo"; exit 1; fi
core_dyn_x86/decoder.h:20: error: ‘define’ does not name a type
core_dyn_x86/decoder.h:33: error: ‘REP_Type’ does not name a type
core_dyn_x86/string.h: In function ‘void dyn_string(STRING_OP)’:
core_dyn_x86/string.h:34: error: ‘struct DynDecode’ has no member named ‘rep’
core_dyn_x86/string.h:75: error: ‘struct DynDecode’ has no member named ‘rep’
core_dyn_x86/string.h:84: error: ‘struct DynDecode’ has no member named ‘rep’
core_dyn_x86/string.h:146: error: ‘struct DynDecode’ has no member named ‘rep’
core_dyn_x86/decoder.h: In function ‘CacheBlock* CreateCacheBlock(CodePageHandler*, PhysPt, Bitu)’:
core_dyn_x86/decoder.h:1870: error: ‘struct DynDecode’ has no member named ‘rep’
core_dyn_x86/decoder.h:1870: error: ‘REP_NONE’ was not declared in this scope
core_dyn_x86/decoder.h:2376: error: ‘struct DynDecode’ has no member named ‘rep’
core_dyn_x86/decoder.h:2376: error: ‘REP_NZ’ was not declared in this scope
core_dyn_x86/decoder.h:2379: error: ‘struct DynDecode’ has no member named ‘rep’
core_dyn_x86/decoder.h:2379: error: ‘REP_Z’ was not declared in this scope
make[4]: *** [core_dyn_x86.o] Fehler 1
make[4]: Leaving directory `/home/kruwi/Desktop/dosbox/src/cpu'
make[3]: *** [all-recursive] Fehler 1
make[3]: Leaving directory `/home/kruwi/Desktop/dosbox/src/cpu'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/home/kruwi/Desktop/dosbox/src'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/kruwi/Desktop/dosbox'
make: *** [all] Fehler 2

Visit the end of the internet: www.groskreutz.de