DOSBox 0.63

This commit is contained in:
Carl.Kenner 2009-05-02 22:08:43 +00:00
parent 6a0c0c74c0
commit 9ae8458414
86 changed files with 4288 additions and 3409 deletions

View File

@ -1,3 +1,31 @@
0.63
- Fixed crash with keymapper (ctrl-f1) and output=surface.
- Added unmounting.
- Fixed multiple issues with drive labels.
- Fixed most if not all FILES=XX problems.
- Added redirection in the shell.
- Fixed crashes with subst.
- Fixed multiple crashes with the drive images support.
- Added a missing fpu instruction.
- Fixed some cpu and fpu instructions.
- Fixed a small bug related to font loading.
- Rewrote the devices support.
- Added capslock/numlock checks on startup.
- Fixed wave writing.
- A few internal DOS fixes.
- Timer fixes for the hybrid loader.
- Some small soundblaster fixes.
- The drive cache can now be cleared by a keycombo. (CTRL-F4)
- A few keyboard fixes.
- Compilation fixes on various platforms.
- Quite some debugger improvements.
- Fixed dir only showing files after the first run on cdrom drives.
- Added some cdrom detection checks.
- Enabled insert in the shell. (Easier editing of commands)
- Changed order in which executables appear with tab-completion.
- Fixed some issues with raw opl recording and using a slightly different
format
0.62 0.62
- Added blinking support in the shell and some color fixes. - Added blinking support in the shell and some color fixes.
- Fixed commandline parsing when .bat files involved (fixes -exit) - Fixed commandline parsing when .bat files involved (fixes -exit)

20
INSTALL
View File

@ -18,7 +18,10 @@ Zlib
For win32 get libz (rename to zlib) from http://www.sourceforge.net/projects/gnuwin32 For win32 get libz (rename to zlib) from http://www.sourceforge.net/projects/gnuwin32
SDL_Net SDL_Net
For modem support(optional). Get it from http://www.libsdl.org For modem/ipx support(optional). Get it from http://www.libsdl.org
SDL_Sound
For compressed audio on diskimages. (optional)
ALSA_Headers ALSA_Headers
(optional) (optional)
@ -37,24 +40,19 @@ In step 1 you could add the following switches:
--enable-debug --enable-debug
enables the internal debugger. --enable-debug=heavy enables even more enables the internal debugger. --enable-debug=heavy enables even more
debug options. Dosbox should then be run from a xterm and when the sdl- debug options. Dosbox should then be run from a xterm and when the sdl-
window is active press - on numeric keyboard to enter the debugger. window is active press pause to enter the debugger.
--disable-fpu --disable-fpu
Will disable the emulated fpu. Although the fpu emulation hasn't finished and isn't Will disable the emulated fpu. Although the fpu emulation code isn't
entirely accurate it's advised to leave it on. finished and isn't entirely accurate it's advised to leave it on.
--enable-core-inline --enable-core-inline
enables some memory increasing inlines. This greatly increases compiletime for maybe a increase enables some memory increasing inlines. This greatly increases
in speed. compiletime for maybe a increase in speed.
Check the src subdir for the binary. Check the src subdir for the binary.
Compiling on FreeBSD might be a problem since SDL has no joystick support there.
To get around this edit sdlmain.cpp to enable some #define.
Let's hope someday the sdl people will just report 0 joysticks in freebsd or get it working some other way :)
Build instructions for VC++6 Build instructions for VC++6
Don't use VC++ 6:it creates faulty code in core_normal.cpp Don't use VC++ 6:it creates faulty code in core_normal.cpp

View File

@ -2,7 +2,3 @@
EXTRA_DIST = autogen.sh EXTRA_DIST = autogen.sh
SUBDIRS = src include visualc docs visualc_net SUBDIRS = src include visualc docs visualc_net
docdir = $(prefix)/share/doc/$(PACKAGE)
doc_DATA = README NEWS THANKS AUTHORS

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -15,7 +15,6 @@
@SET_MAKE@ @SET_MAKE@
# Main Makefile for DOSBox # Main Makefile for DOSBox
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -23,7 +22,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = . top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -37,7 +35,46 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
THANKS config.guess config.sub depcomp install-sh missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -100,6 +137,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -120,6 +159,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -131,50 +171,44 @@ target_alias = @target_alias@
target_cpu = @target_cpu@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
EXTRA_DIST = autogen.sh EXTRA_DIST = autogen.sh
SUBDIRS = src include visualc docs visualc_net SUBDIRS = src include visualc docs visualc_net
docdir = $(prefix)/share/doc/$(PACKAGE)
doc_DATA = README NEWS THANKS AUTHORS
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DATA = $(doc_DATA)
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \
COPYING ChangeLog INSTALL Makefile.am NEWS THANKS acinclude.m4 \
aclocal.m4 config.guess config.h.in config.sub configure.in \
depcomp install-sh missing mkinstalldirs
DIST_SUBDIRS = $(SUBDIRS)
all: config.h all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive $(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES: .SUFFIXES:
am--refresh:
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @:
configure.lineno $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) @for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnits '; \
cd $(srcdir) && $(AUTOMAKE) --gnits \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits Makefile $(AUTOMAKE) --gnits Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck $(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.in acinclude.m4 $(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1 config.h: stamp-h1
@ -186,32 +220,14 @@ config.h: stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1 @rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps)
$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOHEADER) cd $(top_srcdir) && $(AUTOHEADER)
touch $(srcdir)/config.h.in rm -f stamp-h1
touch $@
distclean-hdr: distclean-hdr:
-rm -f config.h stamp-h1 -rm -f config.h stamp-h1
uninstall-info-am: uninstall-info-am:
docDATA_INSTALL = $(INSTALL_DATA)
install-docDATA: $(doc_DATA)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(docdir)
@list='$(doc_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f"; \
$(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f; \
done
uninstall-docDATA:
@$(NORMAL_UNINSTALL)
@list='$(doc_DATA)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(docdir)/$$f"; \
rm -f $(DESTDIR)$(docdir)/$$f; \
done
# This directory's subdirectories are mostly independent; you can cd # This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile. # into them and run `make' without going through this Makefile.
@ -272,14 +288,6 @@ ctags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -288,19 +296,22 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
if (etags --etags-include --version) >/dev/null 2>&1; then \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \ include_option=--etags-include; \
empty_fix=.; \
else \ else \
include_option=--include; \ include_option=--include; \
empty_fix=; \
fi; \ fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && \ test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \ fi; \
done; \ done; \
@ -310,10 +321,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -336,19 +348,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES) distdir: $(DISTFILES)
@case `sed 15q $(srcdir)/NEWS` in \ @case `sed 15q $(srcdir)/NEWS` in \
@ -370,7 +369,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -385,15 +384,17 @@ distdir: $(DISTFILES)
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \ test -d "$(distdir)/$$subdir" \
|| mkdir $(distdir)/$$subdir \ || $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \ || exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \ (cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \ $(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \ top_distdir="$$top_distdir" \
distdir=../$(distdir)/$$subdir \ distdir="$$distdir/$$subdir" \
distdir) \ distdir) \
|| exit 1; \ || exit 1; \
fi; \ fi; \
@ -404,19 +405,46 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir) || chmod -R a+r $(distdir)
dist-gzip: distdir dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir) $(am__remove_distdir)
dist dist-all: distdir dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir) $(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then # This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another # it guarantees that the distribution is self-contained by making another
# tarfile. # tarfile.
distcheck: dist distcheck: dist
$(am__remove_distdir) case '$(DIST_ARCHIVES)' in \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - *.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir) chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build mkdir $(distdir)/_build
mkdir $(distdir)/_inst mkdir $(distdir)/_inst
@ -436,19 +464,20 @@ distcheck: dist
distuninstallcheck \ distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \ && chmod -R a-w "$$dc_install_base" \
&& ({ \ && ({ \
(cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \ } || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \ && rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ && $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -f $(distdir).tar.gz \ && rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir) $(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \ @(echo "$(distdir) archives ready for distribution: "; \
sed 'h;s/./=/g;p;x;p;x' list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck: distuninstallcheck:
@cd $(distuninstallcheck_dir) \ @cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
@ -469,11 +498,9 @@ distcleancheck: distclean
exit 1; } >&2 exit 1; } >&2
check-am: all-am check-am: all-am
check: check-recursive check: check-recursive
all-am: Makefile $(DATA) config.h all-am: Makefile config.h
installdirs: installdirs-recursive installdirs: installdirs-recursive
installdirs-am: installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(docdir)
install: install-recursive install: install-recursive
install-exec: install-exec-recursive install-exec: install-exec-recursive
install-data: install-data-recursive install-data: install-data-recursive
@ -493,7 +520,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -511,11 +538,13 @@ dvi: dvi-recursive
dvi-am: dvi-am:
html: html-recursive
info: info-recursive info: info-recursive
info-am: info-am:
install-data-am: install-docDATA install-data-am:
install-exec-am: install-exec-am:
@ -543,27 +572,24 @@ ps: ps-recursive
ps-am: ps-am:
uninstall-am: uninstall-docDATA uninstall-info-am uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
clean-generic clean-recursive ctags ctags-recursive dist \ check-am clean clean-generic clean-recursive ctags \
dist-all dist-gzip distcheck distclean distclean-generic \ ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
distclean-hdr distclean-recursive distclean-tags distcleancheck \ dist-tarZ dist-zip distcheck distclean distclean-generic \
distdir distuninstallcheck dvi dvi-am dvi-recursive info \ distclean-hdr distclean-recursive distclean-tags \
info-am info-recursive install install-am install-data \ distcleancheck distdir distuninstallcheck dvi dvi-am html \
install-data-am install-data-recursive install-docDATA \ html-am info info-am install install-am install-data \
install-exec install-exec-am install-exec-recursive \ install-data-am install-exec install-exec-am install-info \
install-info install-info-am install-info-recursive install-man \ install-info-am install-man install-strip installcheck \
install-recursive install-strip installcheck installcheck-am \ installcheck-am installdirs installdirs-am maintainer-clean \
installdirs installdirs-am installdirs-recursive \ maintainer-clean-generic maintainer-clean-recursive \
maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
maintainer-clean-recursive mostlyclean mostlyclean-generic \ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \ uninstall-info-am
ps-recursive tags tags-recursive uninstall uninstall-am \
uninstall-docDATA uninstall-info-am uninstall-info-recursive \
uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

28
NEWS
View File

@ -1,3 +1,31 @@
0.63
- Fixed crash with keymapper (ctrl-f1) and output=surface.
- Added unmounting.
- Fixed multiple issues with drive labels.
- Fixed most if not all FILES=XX problems.
- Added redirection in the shell.
- Fixed crashes with subst.
- Fixed multiple crashes with the drive images support.
- Added a missing fpu instruction.
- Fixed some cpu and fpu instructions.
- Fixed a small bug related to font loading.
- Rewrote the devices support.
- Added capslock/numlock checks on startup.
- Fixed wave writing.
- A few internal DOS fixes.
- Timer fixes for the hybrid loader.
- Some small soundblaster fixes.
- The drive cache can now be cleared by a keycombo. (CTRL-F4)
- A few keyboard fixes.
- Compilation fixes on various platforms.
- Quite some debugger improvements.
- Fixed dir only showing files after the first run on cdrom drives.
- Added some cdrom detection checks.
- Enabled insert in the shell. (Easier editing of commands)
- Changed order in which executables appear with tab-completion.
- Fixed some issues with raw opl recording and using a slightly different
format
0.62 0.62
- Added blinking support in the shell and some color fixes. - Added blinking support in the shell and some color fixes.
- Fixed commandline parsing when .bat files involved (fixes -exit) - Fixed commandline parsing when .bat files involved (fixes -exit)

140
README
View File

@ -1,4 +1,4 @@
DOSBox v0.62 DOSBox v0.63
===== =====
@ -42,8 +42,6 @@ INDEX:
Type INTRO in DOSBox. That's it. Type INTRO in DOSBox. That's it.
======= =======
2. FAQ: 2. FAQ:
======= =======
@ -59,7 +57,8 @@ Q: The game/application can't find its CD-ROM.
Q: The game/application runs much too slow! Q: The game/application runs much too slow!
Q: I would like to change the memory size/cpu speed/ems/soundblaster IRQ. Q: I would like to change the memory size/cpu speed/ems/soundblaster IRQ.
Q: What sound hardware does DOSBox presently emulate? Q: What sound hardware does DOSBox presently emulate?
Q: DOSBox crashes on startup and I'm running arts
Q: Great README, but I still don't get it.
@ -93,9 +92,9 @@ A: To mount your cdrom in DOSBox you have to specify some additional options
Q: The mouse doesn't work. Q: The mouse doesn't work.
A: Normally DOSBox detects the mouse being used by a game. If you click on A: Normally DOSBox detects the mouse being used by a game. If you click on
the screen then it should get locked and work. the screen then it should get locked (confined to the DOSBox window)
Sometimes the DOSBox mouse detection doesn't work with certain games. You and work. Sometimes the DOSBox mouse detection doesn't work with certain
might have to force to lock the mouse then with ctrl-F10. games. You might have to force to lock the mouse then with ctrl-F10.
Q: The sound stutters. Q: The sound stutters.
@ -109,11 +108,11 @@ A: This is a known problem. It only occurs if your keyboard layout isn't US.
Some possible fixes: Some possible fixes:
1. Switch your keyboard layout. 1. Switch your keyboard layout.
2. Use / instead. 2. Use / instead.
3. Add the commands you want to execute to dosbox.conf 3. Add the commands you want to execute to the "configfile".
4. Start the keymapper (CTRL-F1 or add -startmapper switch to dosbox) 4. Start the keymapper (CTRL-F1 or add -startmapper switch to dosbox)
5. for \ try the keys around "enter". For ":" try shift and the keys between 5. for \ try the keys around "enter". For ":" try shift and the keys between
"enter" and "l" (US keyboard layout). "enter" and "l" (US keyboard layout).
6. Use keyb.com for FreeDOS (http://projects.freedos.net/keyb/). 6. Use keyb.com from FreeDOS (http://projects.freedos.net/keyb/).
Q: The game/application can't find its CD-ROM. Q: The game/application can't find its CD-ROM.
@ -130,9 +129,9 @@ A: Look at the section "To run resource-demanding games" for more information.
Q: I would like to change the memory size/cpu speed/ems/soundblaster IRQ. Q: I would like to change the memory size/cpu speed/ems/soundblaster IRQ.
A: This is possible! Just create a config file: config -writeconf dosbox.conf . A: This is possible! Just create a config file: config -writeconf configfile .
Start your favourite editor and look at all the settings present. To Start your favourite editor and look at all the settings present. To
start DOSBox with your new settings: dosbox -conf dosbox.conf start DOSBox with your new settings: dosbox -conf configfile
Q: What sound hardware does DOSBox presently emulate? Q: What sound hardware does DOSBox presently emulate?
@ -151,9 +150,10 @@ A: DOSBox emulates several legacy sound devices:
- Adlib - Adlib
Borrowed from MAME, this emulation is almost perfect and includes the Borrowed from MAME, this emulation is almost perfect and includes the
Adlib's ability to almost play digitized sound. Adlib's ability to almost play digitized sound.
- SoundBlaster Pro - SoundBlaster 16/ SoundBlaster Pro I & II /Sound Blaster I & II
Coupled with the Adlib, DOSBox provides Soundblaster Pro level 8-bit Coupled with the Adlib, by default DOSBox provides Soundblaster 16
stereo sound. level 16-bit stereo sound. You can select a different SoundBlaster
version in the configfile of DOSBox (See Internal Commands: CONFIG).
- Disney Soundsource - Disney Soundsource
Using the printer port, this sound device outputs digital sound only. Using the printer port, this sound device outputs digital sound only.
- Gravis Ultrasound - Gravis Ultrasound
@ -164,11 +164,16 @@ A: DOSBox emulates several legacy sound devices:
A MIDI passthrough interface is also emulated. This method of sound A MIDI passthrough interface is also emulated. This method of sound
output will only work when used with a General Midi or MT-32 device. output will only work when used with a General Midi or MT-32 device.
Q: DOSBox crashes on startup and I'm running arts
A: This isn't really a DOSBox problem, but the solution is to set the
environment variable SDL_AUDIODRIVER to alsa or oss.
Q: Great README, but I still don't get it. Q: Great README, but I still don't get it.
A: While unlikely, this seems to happen. A look at "The Newbie's A: While unlikely, this seems to happen. A look at "The Newbie's
pictorial guide to DOSBox" located at pictorial guide to DOSBox" located at
http://vogons.zetafleet.com/viewforum.php?f=39 might help you. http://vogons.zetafleet.com/viewforum.php?f=39 might help you.
You could also try the wiki of dosbox:
http://dosbox.sourceforge.net/wiki/
For more questions read the remainder of this README and/or check For more questions read the remainder of this README and/or check
@ -182,7 +187,11 @@ http://dosbox.sourceforge.net
3. Usage: 3. Usage:
========= =========
An overview of the commandline options you can give to DOSBox: An overview of the commandline options you can give to DOSBox.
Windows Users must open cmd.exe or command.com or edit the shortcut to
dosbox.exe for this.
The options are valid for all operating systems unless noted in the option
description:
dosbox [name] [-exit] [-c command] [-fullscreen] [-conf congfigfile] dosbox [name] [-exit] [-c command] [-fullscreen] [-conf congfigfile]
[-lang languagefile] [-machine machinetype] [-noconsole] [-lang languagefile] [-machine machinetype] [-noconsole]
@ -196,20 +205,23 @@ dosbox -version
as the C: drive and execute "name". as the C: drive and execute "name".
-exit -exit
dosbox will exit after the "name" has been executed. dosbox will close itself when the DOS application "name" ends.
-c command -c command
Runs the specified command before running "name". Multiple commands Runs the specified command before running "name". Multiple commands
can be specified. Each command should start with -c though. can be specified. Each command should start with -c though.
A command can be: an Internal Program, a DOS command or an executable
on a mounted drive.
-fullscreen -fullscreen
Starts dosbox in fullscreen mode. Starts dosbox in fullscreen mode.
-conf configfile -conf configfile
Start dosbox with the options specified in "configfile". Start dosbox with the options specified in "configfile".
See Chapter 9 for more details.
-lang languagefile -lang languagefile
Start dosbox using the language string specified in "languagefile". Start dosbox using the language specified in "languagefile".
-noconsole (Windows Only) -noconsole (Windows Only)
Start dosbox without showing the console window. Output will Start dosbox without showing the console window. Output will
@ -217,7 +229,8 @@ dosbox -version
-machine machinetype -machine machinetype
Setup dosbox to emulate a specific type of machine. Valid choices are: Setup dosbox to emulate a specific type of machine. Valid choices are:
hercules, cga, tandy, vga (default). hercules, cga, tandy, vga (default). The machinetype has influence on
both the videocard and the available soundcards.
-startmapper -startmapper
Enter the keymapper directly on startup. Useful for people with Enter the keymapper directly on startup. Useful for people with
@ -227,7 +240,8 @@ dosbox -version
output version information and exit. Useful for frontends. output version information and exit. Useful for frontends.
Note: If a name/command/configfile/languagefile contains a space in it, put Note: If a name/command/configfile/languagefile contains a space in it, put
the whole name/command/configfile/languagefile between quotes("example"). the whole name/command/configfile/languagefile between quotes
("command or file name").
For example: For example:
@ -248,9 +262,10 @@ In addition, the following commands are available:
MOUNT "Emulated Drive letter" "Real Drive or Directory" MOUNT "Emulated Drive letter" "Real Drive or Directory"
[-t type] [-aspi] [-ioctl] [-usecd number] [-size drivesize] [-t type] [-aspi] [-ioctl] [-usecd number] [-size drivesize]
[-label drivelabel] [-freesize sizemb] [-label drivelabel] [-freesize size_in_mb]
MOUNT -cd MOUNT -cd
MOUNT -u "Emulated Drive letter"
Program to mount local directories as drives inside DOSBox. Program to mount local directories as drives inside DOSBox.
"Emulated Drive letter" "Emulated Drive letter"
@ -268,14 +283,20 @@ MOUNT -cd
-size drivesize -size drivesize
Sets the size of the drive. Sets the size of the drive.
-freesize sizemb -freesize size_in_mb
Sets the amount of free space available on a drive in MB's. This Sets the amount of free space available on a drive in MB's. This
is a more simple version of -size. is a more simple version of -size.
-label drivelabel -label drivelabel
Sets the name of the drive to "drivelabel". Needed on some Sets the name of the drive to "drivelabel". Needed on some
systems if the cd label isn't read correctly. Useful when a systems if the cd label isn't read correctly. Useful when a
program can't find its cdrom. program can't find its cdrom. If you don't specify a label and no
lowlevel support is selected (-usecd # and/or -ioctl/aspi):
For win32: label is extracted from "Real Drive".
For Linux: label is set to NO_LABEL.
If you do specify a label this label will be kept as long as the drive
is mounted. It will not be updated !!
-aspi -aspi
Forces to use the aspi layer. Only valid if mounting a cdrom under Forces to use the aspi layer. Only valid if mounting a cdrom under
@ -292,6 +313,9 @@ MOUNT -cd
-cd -cd
Displays all detected cdrom drives and their numbers. Use with -usecd. Displays all detected cdrom drives and their numbers. Use with -usecd.
-u
Removes the mount. Doesn't work for Z:\.
Note: It's possible to mount a local directory as cdrom drive. Note: It's possible to mount a local directory as cdrom drive.
Hardware support is then missing. Hardware support is then missing.
@ -308,8 +332,8 @@ MOUNT -cd
General MOUNT Examples: General MOUNT Examples:
1. To mount c:\floppy as a floppy : 1. To mount c:\DirX as a floppy :
mount a c:\floppy -t floppy mount a c:\DirX -t floppy
2. To mount system cdrom drive E as cdrom drive D in DOSBox: 2. To mount system cdrom drive E as cdrom drive D in DOSBox:
mount d e:\ -t cdrom mount d e:\ -t cdrom
3. To mount system cdrom drive at mountpoint /media/cdrom as cdrom drive D 3. To mount system cdrom drive at mountpoint /media/cdrom as cdrom drive D
@ -319,15 +343,23 @@ MOUNT -cd
mount c d:\ -freesize 870 mount c d:\ -freesize 870
5. To mount a drive with 870 mb free diskspace (experts only, full control): 5. To mount a drive with 870 mb free diskspace (experts only, full control):
mount c d:\ -size 4025,127,16513,1700 mount c d:\ -size 4025,127,16513,1700
6. To mount /home/dos/dosgames as drive C in DOSBox: 6. To mount /home/user/dirY as drive C in DOSBox:
mount c /home/dos/dosgames mount c /home/user/dirY
MEM MEM
Program to display the amount of free memory. Program to display the amount of free memory.
CONFIG [-writeconf] [-writelang] localfile CONFIG [-writeconf] [-writelang] localfile
Write the current configuration or language settings to file. Write the current configuration or language settings to file.
"localfile" is located on the local drive !!! "localfile" is located on the local drive. Not a mounted drive in DOSBox.
The configuration file controls various settings of DOSBox: The amount
of emulated memory, the emulated soundcards and many more things. It
allows acces to AUTOEXEC.BAT as well.
See section 9 (The Config File) for more information.
The language file controls all visible ouput of the internal commands
and the internal dos.
Example: Example:
To create a configfile in your current directory: To create a configfile in your current directory:
@ -336,8 +368,8 @@ CONFIG [-writeconf] [-writelang] localfile
LOADFIX [-size] [program] [program-parameters] LOADFIX [-size] [program] [program-parameters]
LOADFIX -f LOADFIX -f
Program to "eat up" memory. Useful for old programs which don't expect much Program to reduce the amount of memory available. Useful for old programs
memory to be free. which don't expect much memory to be free.
-size -size
number of kb to "eat up", default = 64kb number of kb to "eat up", default = 64kb
@ -347,7 +379,8 @@ LOADFIX -f
Examples: Examples:
1. To start mm2.exe and allocate 64kb memory : 1. To start mm2.exe and allocate 64kb memory
(mm2 will have 64 kb less available) :
loadfix mm2 loadfix mm2
2. To start mm2.exe and allocate 32kb memory : 2. To start mm2.exe and allocate 32kb memory :
loadfix -32 mm2 loadfix -32 mm2
@ -357,7 +390,7 @@ Examples:
RESCAN RESCAN
Make DOSBox reread the directory structure. Useful if you changed something Make DOSBox reread the directory structure. Useful if you changed something
on a mounted drive outside of DOSBox. on a mounted drive outside of DOSBox. (CTRL - F4 does this as well!)
MIXER MIXER
@ -385,9 +418,9 @@ IMGMOUNT
-size [sectorsbytesize, sectorsperhead, heads, cylinders] -size [sectorsbytesize, sectorsperhead, heads, cylinders]
imagefile imagefile
location of the image files to mount in DOSBox. Path is relative to location of the image files to mount in DOSBox. The location is on a
a mount point already inside DOSBox. CD-ROM images can be mounted mounted drive inside DOSBox. CD-ROM images can be mounted
directly as well (path on the host). directly as well. They don't need to be a mounted drive.
-t -t
The following are valid image types: The following are valid image types:
@ -533,22 +566,28 @@ For more information use the /? command line switch with the programs.
5. Special Keys: 5. Special Keys:
================ ================
ALT-ENTER Go full screen and back. ALT-ENTER Go full screen and back.
CTRL-F1 Start the keymapper. CTRL-F1 Start the keymapper.
CTRL-F4 Swap mounted disk-image (Only used with imgmount). CTRL-F4 Swap mounted disk-image. Update directory cache for all drives!
CTRL-F5 Save a screenshot. CTRL-F5 Save a screenshot.(png)
CTRL-F6 Start/Stop recording sound output to a wave file. CTRL-F6 Start/Stop recording sound output to a wave file.
CTRL-ALT-F7 Start/Stop recording of OPL commands. CTRL-ALT-F7 Start/Stop recording of OPL commands.
CTRL-ALT-F8 Start/Stop the recording of raw MIDI commands. CTRL-ALT-F8 Start/Stop the recording of raw MIDI commands.
CTRL-F7 Decrease frameskip. CTRL-F7 Decrease frameskip.
CTRL-F8 Increase frameskip. CTRL-F8 Increase frameskip.
CTRL-F9 Kill dosbox. CTRL-F9 Kill dosbox.
CTRL-F10 Capture/Release the mouse. CTRL-F10 Capture/Release the mouse.
CTRL-F11 Slow down emulation (Decrease DOSBox Cycles). CTRL-F11 Slow down emulation (Decrease DOSBox Cycles).
CTRL-F12 Speed up emulation (Increase DOSox Cycles). CTRL-F12 Speed up emulation (Increase DOSBox Cycles).
These are the default keybindings. They can be changed in the keymapper. These are the default keybindings. They can be changed in the keymapper.
Saved/recorded files can be found in current_directory/capture
(can be changed in the configfile).
The directory has to exist prior to starting DOSBox else nothing
gets saved/recorded !
NOTE: Once you increase your DOSBox cycles beyond your computer's maximum NOTE: Once you increase your DOSBox cycles beyond your computer's maximum
capacity, it will produce the same effect as slowing down the emulation. capacity, it will produce the same effect as slowing down the emulation.
This maximum will vary from computer to computer, there is no standard. This maximum will vary from computer to computer, there is no standard.
@ -560,7 +599,8 @@ This maximum will vary from computer to computer, there is no standard.
============= =============
When you start the keymapper (either with CTRL-F1 or -startmapper as a When you start the keymapper (either with CTRL-F1 or -startmapper as a
commandline argument) you are presented with a virtual keyboard. commandline argument to the DOSBox executable) you are presented with
a virtual keyboard.
This virtual keyboard corresponds with the keys DOSBox will report to its This virtual keyboard corresponds with the keys DOSBox will report to its
applications. If you click on a key with your mouse, you can see in the applications. If you click on a key with your mouse, you can see in the
@ -624,7 +664,7 @@ present in the configfile.
Fast machine. My guess would be pentium-2 400+ to get decent emulation Fast machine. My guess would be pentium-2 400+ to get decent emulation
of games written for an 286 machine. of games written for an 286 machine.
For protected mode games a 1 Ghz machine is recommended and don't expect For protected mode games a 1 Ghz machine is recommended and don't expect
them to run fast though!! Be sure to read the next section on how to speed them to run fast though! Be sure to read the next section on how to speed
it up somewhat. it up somewhat.

4
THANKS
View File

@ -11,5 +11,9 @@ Freedos for ideas in making my shell.
Pierre-Yves Gérardy for hosting the old Beta Board. Pierre-Yves Gérardy for hosting the old Beta Board.
Colin Snover for hosting our forum. Colin Snover for hosting our forum.
Sourceforge for hosting our homepage and other development tools.
Mirek Luza for his moderation of the forums.
c2woody for his debug work.
All the people who submitted a bug. All the people who submitted a bug.
The Beta Testers. The Beta Testers.

1408
aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

221
configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for dosbox 0.62. # Generated by GNU Autoconf 2.59 for dosbox 0.63.
# #
# Copyright (C) 2003 Free Software Foundation, Inc. # Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation # This configure script is free software; the Free Software Foundation
@ -267,8 +267,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package. # Identity of this package.
PACKAGE_NAME='dosbox' PACKAGE_NAME='dosbox'
PACKAGE_TARNAME='dosbox' PACKAGE_TARNAME='dosbox'
PACKAGE_VERSION='0.62' PACKAGE_VERSION='0.63'
PACKAGE_STRING='dosbox 0.62' PACKAGE_STRING='dosbox 0.63'
PACKAGE_BUGREPORT='' PACKAGE_BUGREPORT=''
ac_unique_file="README" ac_unique_file="README"
@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h> # include <unistd.h>
#endif" #endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE RANLIB ac_ct_RANLIB SDL_CONFIG SDL_CFLAGS SDL_LIBS EGREP ALSA_CFLAGS ALSA_LIBS LIBOBJS LTLIBOBJS' ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE RANLIB ac_ct_RANLIB SDL_CONFIG SDL_CFLAGS SDL_LIBS EGREP ALSA_CFLAGS ALSA_LIBS LIBOBJS LTLIBOBJS'
ac_subst_files='' ac_subst_files=''
# Initialize some variables set by options. # Initialize some variables set by options.
@ -786,7 +786,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures dosbox 0.62 to adapt to many kinds of systems. \`configure' configures dosbox 0.63 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -853,15 +853,15 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of dosbox 0.62:";; short | recursive ) echo "Configuration of dosbox 0.63:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
Optional Features: Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-dependency-tracking Speeds up one-time builds --disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking Do not reject slow dependency extractors --enable-dependency-tracking do not reject slow dependency extractors
--disable-sdltest Do not try to compile and run a test SDL program --disable-sdltest Do not try to compile and run a test SDL program
--disable-alsatest Do not try to compile and run a test Alsa program --disable-alsatest Do not try to compile and run a test Alsa program
--enable-debug Enable debug mode --enable-debug Enable debug mode
@ -987,7 +987,7 @@ fi
test -n "$ac_init_help" && exit 0 test -n "$ac_init_help" && exit 0
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
dosbox configure 0.62 dosbox configure 0.63
generated by GNU Autoconf 2.59 generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc. Copyright (C) 2003 Free Software Foundation, Inc.
@ -1001,7 +1001,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by dosbox $as_me 0.62, which was It was created by dosbox $as_me 0.63, which was
generated by GNU Autoconf 2.59. Invocation command line was generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@ $ $0 $@
@ -1448,7 +1448,7 @@ test -n "$target_alias" &&
NONENONEs,x,x, && NONENONEs,x,x, &&
program_prefix=${target_alias}- program_prefix=${target_alias}-
am__api_version="1.7" am__api_version="1.9"
# Find a good install program. We prefer a C program (faster), # Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or # so one script is as good as another. But avoid the broken or
# incompatible versions: # incompatible versions:
@ -1586,7 +1586,6 @@ _ACEOF
program_transform_name=`echo $program_transform_name | sed -f conftest.sed` program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
rm conftest.sed rm conftest.sed
# expand $ac_aux_dir to an absolute path # expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd` am_aux_dir=`cd $ac_aux_dir && pwd`
@ -1600,6 +1599,39 @@ else
echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi fi
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
# We used to keeping the `.' as first argument, in order to
# allow $(mkdir_p) to be used without argument. As in
# $(mkdir_p) $(somedir)
# where $(somedir) is conditionally defined. However this is wrong
# for two reasons:
# 1. if the package is installed by a user who cannot write `.'
# make install will fail,
# 2. the above comment should most certainly read
# $(mkdir_p) $(DESTDIR)$(somedir)
# so it does not work when $(somedir) is undefined and
# $(DESTDIR) is not.
# To support the latter case, we have to write
# test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
# so the `.' trick is pointless.
mkdir_p='mkdir -p --'
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
for d in ./-p ./--version;
do
test -d $d && rmdir $d
done
# $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
if test -f "$ac_aux_dir/mkinstalldirs"; then
mkdir_p='$(mkinstalldirs)'
else
mkdir_p='$(install_sh) -d'
fi
fi
for ac_prog in gawk mawk nawk awk for ac_prog in gawk mawk nawk awk
do do
# Extract the first word of "$ac_prog", so it can be a program name with args. # Extract the first word of "$ac_prog", so it can be a program name with args.
@ -1678,7 +1710,7 @@ else
fi fi
rmdir .tst 2>/dev/null rmdir .tst 2>/dev/null
# test to see if srcdir already configured # test to see if srcdir already configured
if test "`cd $srcdir && pwd`" != "`pwd`" && if test "`cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then test -f $srcdir/config.status; then
{ { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
@ -1698,7 +1730,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='dosbox' PACKAGE='dosbox'
VERSION='0.62' VERSION='0.63'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -1726,9 +1758,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
AMTAR=${AMTAR-"${am_missing_run}tar"}
install_sh=${install_sh-"$am_aux_dir/install-sh"} install_sh=${install_sh-"$am_aux_dir/install-sh"}
# Installed binaries are usually stripped using `strip' when the user # Installed binaries are usually stripped using `strip' when the user
@ -1821,6 +1850,13 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
# We need awk for the "check" target. The system "awk" is bad on # We need awk for the "check" target. The system "awk" is bad on
# some platforms. # some platforms.
# Always define AMTAR for backward compatibility.
AMTAR=${AMTAR-"${am_missing_run}tar"}
am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
@ -2886,7 +2922,9 @@ else
: > sub/conftest.c : > sub/conftest.c
for i in 1 2 3 4 5 6; do for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c echo '#include "conftst'$i'.h"' >> sub/conftest.c
: > sub/conftst$i.h # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
# Solaris 8's {/usr,}/bin/sh.
touch sub/conftst$i.h
done done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
@ -2914,9 +2952,14 @@ else
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings # icc doesn't choke on unknown options, it will just issue warnings
# (even with -Werror). So we grep stderr for any message # or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored. # that says an option was ignored or not supported.
if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else # When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_CC_dependencies_compiler_type=$depmode am_cv_CC_dependencies_compiler_type=$depmode
break break
fi fi
@ -3573,7 +3616,9 @@ else
: > sub/conftest.c : > sub/conftest.c
for i in 1 2 3 4 5 6; do for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c echo '#include "conftst'$i'.h"' >> sub/conftest.c
: > sub/conftst$i.h # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
# Solaris 8's {/usr,}/bin/sh.
touch sub/conftst$i.h
done done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
@ -3601,9 +3646,14 @@ else
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings # icc doesn't choke on unknown options, it will just issue warnings
# (even with -Werror). So we grep stderr for any message # or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored. # that says an option was ignored or not supported.
if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else # When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_CXX_dependencies_compiler_type=$depmode am_cv_CXX_dependencies_compiler_type=$depmode
break break
fi fi
@ -9103,15 +9153,87 @@ fi
echo "$as_me:$LINENO: result: $ac_cv_lib_SDL_sound_Sound_Init" >&5 echo "$as_me:$LINENO: result: $ac_cv_lib_SDL_sound_Sound_Init" >&5
echo "${ECHO_T}$ac_cv_lib_SDL_sound_Sound_Init" >&6 echo "${ECHO_T}$ac_cv_lib_SDL_sound_Sound_Init" >&6
if test $ac_cv_lib_SDL_sound_Sound_Init = yes; then if test $ac_cv_lib_SDL_sound_Sound_Init = yes; then
have_SDL_sound_lib=yes have_SDL_sound_init=yes
fi fi
if test x$have_SDL_sound_h = xyes -a x$have_SDL_sound_lib = xyes ; then echo "$as_me:$LINENO: checking for Sound_Seek in -lSDL_sound" >&5
LIBS="$LIBS -lSDL_sound" echo $ECHO_N "checking for Sound_Seek in -lSDL_sound... $ECHO_C" >&6
cat >>confdefs.h <<\_ACEOF if test "${ac_cv_lib_SDL_sound_Sound_Seek+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lSDL_sound $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char Sound_Seek ();
int
main ()
{
Sound_Seek ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_lib_SDL_sound_Sound_Seek=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_SDL_sound_Sound_Seek=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
echo "$as_me:$LINENO: result: $ac_cv_lib_SDL_sound_Sound_Seek" >&5
echo "${ECHO_T}$ac_cv_lib_SDL_sound_Sound_Seek" >&6
if test $ac_cv_lib_SDL_sound_Sound_Seek = yes; then
have_SDL_sound_seek=yes
fi
if test x$have_SDL_sound_h = xyes -a x$have_SDL_sound_init = xyes ; then
if test x$have_SDL_sound_seek = xyes ; then
LIBS="-lSDL_sound $LIBS"
cat >>confdefs.h <<\_ACEOF
#define C_SDL_SOUND 1 #define C_SDL_SOUND 1
_ACEOF _ACEOF
else
{ echo "$as_me:$LINENO: WARNING: Can't find SoundSeek in libSDL_Sound, libSDL_sound support disabled" >&5
echo "$as_me: WARNING: Can't find SoundSeek in libSDL_Sound, libSDL_sound support disabled" >&2;}
fi
else else
{ echo "$as_me:$LINENO: WARNING: Can't find libSDL_sound, libSDL_sound support disabled" >&5 { echo "$as_me:$LINENO: WARNING: Can't find libSDL_sound, libSDL_sound support disabled" >&5
echo "$as_me: WARNING: Can't find libSDL_sound, libSDL_sound support disabled" >&2;} echo "$as_me: WARNING: Can't find libSDL_sound, libSDL_sound support disabled" >&2;}
@ -9726,7 +9848,7 @@ _ASBOX
} >&5 } >&5
cat >&5 <<_CSEOF cat >&5 <<_CSEOF
This file was extended by dosbox $as_me 0.62, which was This file was extended by dosbox $as_me 0.63, which was
generated by GNU Autoconf 2.59. Invocation command line was generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -9789,7 +9911,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\ ac_cs_version="\\
dosbox config.status 0.62 dosbox config.status 0.63
configured by $0, generated by GNU Autoconf 2.59, configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
@ -10029,14 +10151,17 @@ s,@AUTOCONF@,$AUTOCONF,;t t
s,@AUTOMAKE@,$AUTOMAKE,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t
s,@AUTOHEADER@,$AUTOHEADER,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t
s,@MAKEINFO@,$MAKEINFO,;t t s,@MAKEINFO@,$MAKEINFO,;t t
s,@AMTAR@,$AMTAR,;t t
s,@install_sh@,$install_sh,;t t s,@install_sh@,$install_sh,;t t
s,@STRIP@,$STRIP,;t t s,@STRIP@,$STRIP,;t t
s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
s,@mkdir_p@,$mkdir_p,;t t
s,@AWK@,$AWK,;t t s,@AWK@,$AWK,;t t
s,@SET_MAKE@,$SET_MAKE,;t t s,@SET_MAKE@,$SET_MAKE,;t t
s,@am__leading_dot@,$am__leading_dot,;t t s,@am__leading_dot@,$am__leading_dot,;t t
s,@AMTAR@,$AMTAR,;t t
s,@am__tar@,$am__tar,;t t
s,@am__untar@,$am__untar,;t t
s,@CC@,$CC,;t t s,@CC@,$CC,;t t
s,@CFLAGS@,$CFLAGS,;t t s,@CFLAGS@,$CFLAGS,;t t
s,@LDFLAGS@,$LDFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t
@ -10693,27 +10818,21 @@ echo X"$mf" |
else else
continue continue
fi fi
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue # Extract the definition of DEPDIR, am__include, and am__quote
# Extract the definition of DEP_FILES from the Makefile without # from the Makefile without running `make'.
# running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
test -z "$DEPDIR" && continue test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
test -z "am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# When using ansi2knr, U may be empty or an underscore; expand it # When using ansi2knr, U may be empty or an underscore; expand it
U=`sed -n -e '/^U = / s///p' < "$mf"` U=`sed -n 's/^U = //p' < "$mf"`
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # Find all dependency output files, they are included files with
# We invoke sed twice because it is the simplest approach to # $(DEPDIR) in their names. We invoke sed twice because it is the
# changing $(DEPDIR) to its actual value in the expansion. # simplest approach to changing $(DEPDIR) to its actual value in the
for file in `sed -n -e ' # expansion.
/^DEP_FILES = .*\\\\$/ { for file in `sed -n "
s/^DEP_FILES = // s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
:loop
s/\\\\$//
p
n
/\\\\$/ b loop
p
}
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists. # Make sure the directory exists.
test -f "$dirpart/$file" && continue test -f "$dirpart/$file" && continue

View File

@ -1,5 +1,5 @@
dnl Init. dnl Init.
AC_INIT(dosbox,0.62) AC_INIT(dosbox,0.63)
AC_PREREQ(2.50) AC_PREREQ(2.50)
AC_CONFIG_SRCDIR(README) AC_CONFIG_SRCDIR(README)
@ -179,10 +179,15 @@ fi
AH_TEMPLATE(C_SDL_SOUND,[Define to 1 to enable SDL_sound support]) AH_TEMPLATE(C_SDL_SOUND,[Define to 1 to enable SDL_sound support])
AC_CHECK_HEADER(SDL/SDL_sound.h,have_SDL_sound_h=yes,) AC_CHECK_HEADER(SDL/SDL_sound.h,have_SDL_sound_h=yes,)
AC_CHECK_LIB(SDL_sound, Sound_Init, have_SDL_sound_lib=yes,,) AC_CHECK_LIB(SDL_sound, Sound_Init, have_SDL_sound_init=yes,,)
if test x$have_SDL_sound_h = xyes -a x$have_SDL_sound_lib = xyes ; then AC_CHECK_LIB(SDL_sound, Sound_Seek, have_SDL_sound_seek=yes,,)
LIBS="$LIBS -lSDL_sound" if test x$have_SDL_sound_h = xyes -a x$have_SDL_sound_init = xyes ; then
AC_DEFINE(C_SDL_SOUND,1) if test x$have_SDL_sound_seek = xyes ; then
LIBS="-lSDL_sound $LIBS"
AC_DEFINE(C_SDL_SOUND,1)
else
AC_MSG_WARN([Can't find SoundSeek in libSDL_Sound, libSDL_sound support disabled])
fi
else else
AC_MSG_WARN([Can't find libSDL_sound, libSDL_sound support disabled]) AC_MSG_WARN([Can't find libSDL_sound, libSDL_sound support disabled])
fi fi

75
depcomp
View File

@ -1,7 +1,9 @@
#! /bin/sh #! /bin/sh
# depcomp - compile a program generating dependencies as side-effects # depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
scriptversion=2004-05-31.23
# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -25,22 +27,45 @@
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit 0
;;
-v | --v*)
echo "depcomp $scriptversion"
exit 0
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2 echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1 exit 1
fi fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile" rm -f "$tmpdepfile"
@ -262,26 +287,35 @@ tru64)
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then if test "$libtool" = yes; then
# Dependencies are output in .lo.d with libtool 1.4.
# With libtool 1.5 they are output both in $dir.libs/$base.o.d
# and in $dir.libs/$base.o.d and $dir$base.o.d. We process the
# latter, because the former will be cleaned when $dir.libs is
# erased.
tmpdepfile1="$dir.libs/$base.lo.d" tmpdepfile1="$dir.libs/$base.lo.d"
tmpdepfile2="$dir.libs/$base.d" tmpdepfile2="$dir$base.o.d"
tmpdepfile3="$dir.libs/$base.d"
"$@" -Wc,-MD "$@" -Wc,-MD
else else
tmpdepfile1="$dir$base.o.d" tmpdepfile1="$dir$base.o.d"
tmpdepfile2="$dir$base.d" tmpdepfile2="$dir$base.d"
tmpdepfile3="$dir$base.d"
"$@" -MD "$@" -MD
fi fi
stat=$? stat=$?
if test $stat -eq 0; then : if test $stat -eq 0; then :
else else
rm -f "$tmpdepfile1" "$tmpdepfile2" rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat exit $stat
fi fi
if test -f "$tmpdepfile1"; then if test -f "$tmpdepfile1"; then
tmpdepfile="$tmpdepfile1" tmpdepfile="$tmpdepfile1"
else elif test -f "$tmpdepfile2"; then
tmpdepfile="$tmpdepfile2" tmpdepfile="$tmpdepfile2"
else
tmpdepfile="$tmpdepfile3"
fi fi
if test -f "$tmpdepfile"; then if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
@ -477,3 +511,12 @@ none)
esac esac
exit 0 exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -15,7 +15,6 @@
@SET_MAKE@ @SET_MAKE@
# Main Makefile for DOSBox # Main Makefile for DOSBox
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -23,7 +22,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -37,7 +35,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = docs
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)"
NROFF = nroff
MANS = $(man_MANS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -100,6 +117,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -120,6 +139,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -131,33 +151,44 @@ target_alias = @target_alias@
target_cpu = @target_cpu@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
man_MANS = dosbox.1 man_MANS = dosbox.1
EXTRA_DIST = $(man_MANS) EXTRA_DIST = $(man_MANS)
subdir = docs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
NROFF = nroff
MANS = $(man_MANS)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits docs/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits docs/Makefile $(AUTOMAKE) --gnits docs/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
uninstall-info-am: @case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
man1dir = $(mandir)/man1 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
uninstall-info-am:
install-man1: $(man1_MANS) $(man_MANS) install-man1: $(man1_MANS) $(man_MANS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man1dir) test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \ for i in $$l2; do \
@ -176,8 +207,8 @@ install-man1: $(man1_MANS) $(man_MANS)
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
done done
uninstall-man1: uninstall-man1:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@ -197,8 +228,8 @@ uninstall-man1:
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
rm -f $(DESTDIR)$(man1dir)/$$inst; \ rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
done done
tags: TAGS tags: TAGS
TAGS: TAGS:
@ -206,10 +237,6 @@ TAGS:
ctags: CTAGS ctags: CTAGS
CTAGS: CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -223,7 +250,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -241,9 +268,10 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(MANS) all-am: Makefile $(MANS)
installdirs: installdirs:
$(mkinstalldirs) $(DESTDIR)$(man1dir) for dir in "$(DESTDIR)$(man1dir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
install-data: install-data-am install-data: install-data-am
@ -263,7 +291,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -280,6 +308,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -315,8 +345,8 @@ uninstall-am: uninstall-info-am uninstall-man
uninstall-man: uninstall-man1 uninstall-man: uninstall-man1
.PHONY: all all-am check check-am clean clean-generic distclean \ .PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am info info-am install \ distclean-generic distdir dvi dvi-am html html-am info info-am \
install-am install-data install-data-am install-exec \ install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \ install-exec-am install-info install-info-am install-man \
install-man1 install-strip installcheck installcheck-am \ install-man1 install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \ installdirs maintainer-clean maintainer-clean-generic \

View File

@ -1,5 +1,5 @@
.\" Hey, EMACS: -*- nroff -*- .\" Hey, EMACS: -*- nroff -*-
.TH DOSBOX 1 "Sept 23, 2004" .TH DOSBOX 1 "Nov 18, 2004"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.SH NAME .SH NAME
dosbox \- an x86/DOS emulator with sound/graphics dosbox \- an x86/DOS emulator with sound/graphics
@ -18,8 +18,14 @@ dosbox \- an x86/DOS emulator with sound/graphics
.SH DESCRIPTION .SH DESCRIPTION
This manual page briefly documents This manual page briefly documents
.BR "dosbox" ", an x86/DOS emulator." .BR "dosbox" ", an x86/DOS emulator."
.TP .LP
.RB "The optional " file " argument should be a DOS executable or a directory. If it is a dos executable (.com .exe .bat) the program will run automatically. If it is a directory, a DOS session will run with the directory mounted as C:." .RB "The optional " file " argument should be a DOS executable or a"
directory. If it is a dos executable (.com .exe .bat) the program will
run automatically. If it is a directory, a DOS session will run with
the directory mounted as C:\\.
.LP
.RI "For an introduction type " INTRO
.RB "inside " dosbox .
.SH OPTIONS .SH OPTIONS
A summary of options is included below. A summary of options is included below.
.TP .TP
@ -33,22 +39,26 @@ A summary of options is included below.
.RI "Runs the specified " command " before running " .RI "Runs the specified " command " before running "
.BR file . .BR file .
.RI "Multiple commands can be specified. Each " command " should start with " .RI "Multiple commands can be specified. Each " command " should start with "
.BR \-c " though." .BR \-c " though. A command can be:"
an Internal Program, a DOS command or an executable on a mounted drive.
.TP .TP
.BI \-conf " configfile .BI \-conf " configfile
.RB "Start " dosbox " with the options specified in " .RB "Start " dosbox " with the options specified in "
.IR configfile . .IR configfile ". This file has a section in which you can put commands you "
wish to execute on startup.
.TP .TP
.BI \-lang " langfile .BI \-lang " langfile
.RB "Start " dosbox " with the language specified in " .RB "Start " dosbox " with the language specified in "
.IR langfile . .IR langfile .
.TP .TP
.B \-exit .B \-exit
.BR dosbox " will exit after running the program specified by " file . .BR dosbox " will close itself when the DOS program specified by " file "ends."
.TP .TP
.BI \-machine " machinetype .BI \-machine " machinetype
.RB "Setup " dosbox " to emulate a specific type of machine." .RB "Setup " dosbox " to emulate a specific type of machine."
.RI "Valid choices are: " "hercules, cga, tandy, vga(default)". .RI "Valid choices are: " "hercules, cga, tandy, vga(default)".
The machinetype has influence on both the videocard and the available
soundcards.
.TP .TP
.B \-version .B \-version
Output version information and exit. Useful for frontends. Output version information and exit. Useful for frontends.
@ -64,6 +74,8 @@ following extra commands are available:
.LP .LP
.B MOUNT \-cd .B MOUNT \-cd
.LP .LP
.B MOUNT \-u driveletter
.LP
.RB "Program to mount local directories as drives inside " dosbox . .RB "Program to mount local directories as drives inside " dosbox .
.RS .RS
.TP .TP
@ -79,14 +91,24 @@ Type of the mounted directory. Supported are: dir (standard), floppy, cdrom.
.BI \-size " drivesize" .BI \-size " drivesize"
Sets the size of the drive. See the examples in the README for details. Sets the size of the drive. See the examples in the README for details.
.TP .TP
.BI \-freesize " freesize" .BI \-freesize " size_in_mb"
Sets the amount of free space available on a drive in MB's. This is a more Sets the amount of free space available on a drive in MB's. This is a more
.RB "simple version of " \-size . .RB "simple version of " \-size .
.TP .TP
.BI \-label " drivelabel" .BI \-label " drivelabel"
.RI "Sets the name of the drive to " drivelabel ". Needed on some" .RI "Sets the name of the drive to " drivelabel ". Needed on some"
systems if the cd label isn't read correctly. Useful when a systems if the cd label isn't read correctly. Useful when a
program can't find its cdrom. program can't find its cdrom. If you don't specify a label and no
.RB "lowlevel support is selected (" "\-usecd #" " and/or " "\-ioctl/aspi" "):"
.RS
.LP
For win32: label is extracted from "Real Drive".
.TP
For Linux: label is set to NO_LABEL.
.TP
If you do specify a label this label will be kept as long as the drive
is mounted. It will not be updated !!
.RE
.TP .TP
.B \-aspi .B \-aspi
Forces to use the aspi layer. Only valid if mounting a cdrom under Forces to use the aspi layer. Only valid if mounting a cdrom under
@ -103,6 +125,9 @@ Forces to use SDL cdrom support for drive number.
.TP .TP
.B \-cd .B \-cd
.RB "Displays all detected cdrom drives and their numbers. Use with " \-usecd "." .RB "Displays all detected cdrom drives and their numbers. Use with " \-usecd "."
.TP
.B \-u
Unmounts a mounted drive. Doesn't work on virtual Drives (like Z:\\)
.RE .RE
.PP .PP
.B "Example:" .B "Example:"
@ -121,12 +146,21 @@ Display the amount of free memory
.RB "Write the current configuration or language settings to " file , .RB "Write the current configuration or language settings to " file ,
which is located on the local filesystem. Not a mounted drive in which is located on the local filesystem. Not a mounted drive in
.BR dosbox . .BR dosbox .
.LP
The configuration file controls various settings of
.BR dosbox ": The amount of emulated memory,"
the emulated soundcards and many
.RI "more things. It futher allows acces to " AUTOEXEC.BAT .
.LP
The language file controls all visible ouput of the internal commands and
the internal dos.
.RB "See the secion " FILES " for more information."
.TP .TP
.B LOADFIX [\-size] [programname] [parameters] .B LOADFIX [\-size] [programname] [parameters]
.LP .LP
.B LOADFIX \-f .B LOADFIX \-f
.LP .LP
Program to eat up memory, Useful for old programs which don't expect much memory to be free. Program to reduce the amount of memory available. Useful for old programs which don't expect much memory to be free.
.RS .RS
.TP .TP
.B [programname] .B [programname]
@ -142,32 +176,40 @@ The amount of memory to eat up (in kb). Example -32, -64 or -128
Frees all memory eaten up by loadfix. Frees all memory eaten up by loadfix.
.RE .RE
.TP .TP
.B RESCAN
.LP
.RB "Make " dosbox " reread the directory structure. Useful if you changed
.RB "something on a mounted drive outside " dosbox ".(CTRL\-F4 does"
this as well!)
.TP
.B IMGMOUNT .B IMGMOUNT
.LP .LP
.RB "A utility to mount disk images and CD-ROM images in " DOSBox . .RB "A utility to mount disk images and CD-ROM images in " dosbox .
.TP .TP
.RB "Read the " README " of " DOSBox " for the full and correct syntax." .RB "Read the " README " of " dosbox " for the full and correct syntax."
.RE .RE
.TP .TP
.B BOOT .B BOOT
.LP .LP
.RB "Boot will start floppy images or hard disk images independent of the operating system emulation offered by " DOSBox ". This will allow you to play booter floppies or boot to other operating systems inside "DOSBox . Boot will start floppy images or hard disk images independent of the
.RB "operating system emulation offered by " dosbox ". This will allow you to play booter floppies or boot to other operating systems inside " dosbox .
.TP .TP
.RB "Read the " README " of " DOSBox " for the full and correct syntax." .RB "Read the " README " of " dosbox " for the full and correct syntax."
.RE .RE
.TP .TP
.B IPX .B IPX
.LP .LP
.RB "You need to enable IPX networking in the configuration file of "DOSBox . .RB "You need to enable IPX networking in the configuration file of " dosbox .
.RB "All of the IPX networking is managed through the internal " DOSBox " program .RB "All of the IPX networking is managed through the internal " dosbox " program
.BR IPXNET ". For help on the IPX networking from inside " DOSBox ", type" .BR IPXNET ". For help on the IPX networking from inside " dosbox ", type"
.BR "IPXNET HELP" " and the program will list out the commands and relevant documentation." .BR "IPXNET HELP" " and the program will list out the commands and relevant documentation."
.TP .TP
.RB "Read the " README " of " DOSBox " for the full and correct syntax." .RB "Read the " README " of " dosbox " for the full and correct syntax."
.RE .RE
.SH FILES .SH FILES
Configuration and language files use a format similar to Windows .ini files. If a file named Configuration and language files use a format similar to Windows .ini files. If a file named
.BR dosbox.conf " is found in the current directory, it will be automatically loaded." .BR dosbox.conf " is found in the current directory, it will be"
automatically loaded, else ~/.dosboxrc (if present) will be loaded.
.SH "SPECIAL KEYS" .SH "SPECIAL KEYS"
.TP 12m .TP 12m
.IP ALT\-ENTER .IP ALT\-ENTER
@ -175,9 +217,10 @@ Go full screen and back.
.IP CTRL\-F1 .IP CTRL\-F1
Start the keymapper. Start the keymapper.
.IP CTRL\-F4 .IP CTRL\-F4
Swap mounted disk-image (Only used with imgmount). Swap mounted disk-image (Only used with imgmount). Update directory cache
for all drives!
.IP CTRL\-F5 .IP CTRL\-F5
Save a screenshot. Save a screenshot.(png)
.IP CTRL\-F6 .IP CTRL\-F6
Start/Stop recording sound output to a wave file. Start/Stop recording sound output to a wave file.
.IP CTRL\-ALT\-F7 .IP CTRL\-ALT\-F7
@ -193,13 +236,18 @@ Kill dosbox.
.IP CTRL\-F10 .IP CTRL\-F10
Capture/Release the mouse. Capture/Release the mouse.
.IP CTRL\-F11 .IP CTRL\-F11
Slow down emulation (Increase DOSBox Cycles). Slow down emulation (Increase dosbox Cycles).
.IP CTRL\-F12 .IP CTRL\-F12
Speed up emulation (Decrease DOSBox Cycles). Speed up emulation (Decrease dosbox Cycles).
.PP .PP
These are the default keybindings. They can be changed in the keymapper. These are the default keybindings. They can be changed in the keymapper.
.PP .PP
.BR "Note: " "Once you increase your " DOSBox " cycles beyond your computer's maximum Saved/recorded files can be found in current_directory/capture
(can be changed in the configfile).
.RB "The directory has to exist prior to starting " dosbox " else nothing"
gets saved/recorded !
.PP
.BR "Note: " "Once you increase your " dosbox " cycles beyond your computer's maximum
capacity, it will produce the same effect as slowing down the emulation. capacity, it will produce the same effect as slowing down the emulation.
This maximum will vary from computer to computer, there is no standard. This maximum will vary from computer to computer, there is no standard.
.SH "SYSTEM REQUIREMENTS" .SH "SYSTEM REQUIREMENTS"

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -21,7 +21,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +34,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = include
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +116,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +138,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -166,33 +187,40 @@ timer.h \
vga.h \ vga.h \
video.h video.h
subdir = include
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
HEADERS = $(noinst_HEADERS)
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.in Makefile.am
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits include/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits include/Makefile $(AUTOMAKE) --gnits include/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -201,6 +229,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -212,10 +241,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -238,10 +268,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -255,7 +281,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -273,7 +299,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(HEADERS) all-am: Makefile $(HEADERS)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -294,7 +319,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -311,6 +336,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -343,14 +370,14 @@ ps-am:
uninstall-am: uninstall-info-am uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic ctags \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
distclean distclean-generic distclean-tags distdir dvi dvi-am \ ctags distclean distclean-generic distclean-tags distdir dvi \
info info-am install install-am install-data install-data-am \ dvi-am html html-am info info-am install install-am \
install-exec install-exec-am install-info install-info-am \ install-data install-data-am install-exec install-exec-am \
install-man install-strip installcheck installcheck-am \ install-info install-info-am install-man install-strip \
installdirs maintainer-clean maintainer-clean-generic \ installcheck installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
uninstall uninstall-am uninstall-info-am pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -23,6 +23,7 @@ bool DEBUG_IntBreakpoint(Bit8u intNum);
void DEBUG_Enable(void); void DEBUG_Enable(void);
void DEBUG_CheckExecuteBreakpoint(Bit16u seg, Bit32u off); void DEBUG_CheckExecuteBreakpoint(Bit16u seg, Bit32u off);
bool DEBUG_ExitLoop(void); bool DEBUG_ExitLoop(void);
void DEBUG_RefreshPage(char scroll);
extern Bitu cycle_count; extern Bitu cycle_count;
extern Bitu debugCallback; extern Bitu debugCallback;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: dos_inc.h,v 1.48 2004/08/04 09:12:50 qbix79 Exp $ */ /* $Id: dos_inc.h,v 1.51 2004/11/16 14:28:15 qbix79 Exp $ */
#ifndef DOS_H_ #ifndef DOS_H_
#define DOS_H_ #define DOS_H_
@ -68,13 +68,16 @@ union bootSector {
enum { MCB_FREE=0x0000,MCB_DOS=0x0008 }; enum { MCB_FREE=0x0000,MCB_DOS=0x0008 };
enum { RETURN_EXIT=0,RETURN_CTRLC=1,RETURN_ABORT=2,RETURN_TSR=3}; enum { RETURN_EXIT=0,RETURN_CTRLC=1,RETURN_ABORT=2,RETURN_TSR=3};
#define DOS_FILES 50 #define DOS_FILES 127
#define DOS_DRIVES 26 #define DOS_DRIVES 26
#define DOS_DEVICES 10
/* internal Dos Tables */ /* internal Dos Tables */
extern DOS_File * Files[DOS_FILES]; extern DOS_File * Files[DOS_FILES];
extern DOS_Drive * Drives[DOS_DRIVES]; extern DOS_Drive * Drives[DOS_DRIVES];
extern DOS_Device * Devices[DOS_DEVICES];
extern Bit8u dos_copybuf[0x10000]; extern Bit8u dos_copybuf[0x10000];
@ -82,7 +85,7 @@ void DOS_SetError(Bit16u code);
/* File Handling Routines */ /* File Handling Routines */
enum { STDIN=0,STDOUT=1,STDERR=2,STDAUX=3,STDNUL=4,STDPRN=5}; enum { STDIN=0,STDOUT=1,STDERR=2,STDAUX=3,STDPRN=4};
enum { HAND_NONE=0,HAND_FILE,HAND_DEVICE}; enum { HAND_NONE=0,HAND_FILE,HAND_DEVICE};
/* Routines for File Class */ /* Routines for File Class */
@ -285,10 +288,10 @@ private:
Bit16u max_files; /* Maximum open files */ Bit16u max_files; /* Maximum open files */
RealPt file_table; /* Pointer to File Table PSP:0x18 */ RealPt file_table; /* Pointer to File Table PSP:0x18 */
RealPt prev_psp; /* Pointer to previous PSP */ RealPt prev_psp; /* Pointer to previous PSP */
Bit8u interim_flag; Bit8u interim_flag;
Bit8u truename_flag; Bit8u truename_flag;
Bit16u nn_flags; Bit16u nn_flags;
Bit16u dos_version; Bit16u dos_version;
Bit8u fill_2[14]; /* Lot's of unused stuff i can't care aboue */ Bit8u fill_2[14]; /* Lot's of unused stuff i can't care aboue */
Bit8u service[3]; /* INT 0x21 Service call int 0x21;retf; */ Bit8u service[3]; /* INT 0x21 Service call int 0x21;retf; */
Bit8u fill_3[9]; /* This has some blocks with FCB info */ Bit8u fill_3[9]; /* This has some blocks with FCB info */
@ -567,7 +570,9 @@ struct DOS_Block {
struct { struct {
RealPt mediaid; RealPt mediaid;
RealPt tempdta; RealPt tempdta;
RealPt tempdta_fcbdelete;
RealPt dcbs; RealPt dcbs;
Bit8u* country;//Will be copied to dos memory. resides in real mem
} tables; } tables;
}; };

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: dos_system.h,v 1.24 2004/08/04 09:12:50 qbix79 Exp $ */ /* $Id: dos_system.h,v 1.28 2004/11/13 12:08:42 qbix79 Exp $ */
#ifndef DOSSYSTEM_H_ #ifndef DOSSYSTEM_H_
#define DOSSYSTEM_H_ #define DOSSYSTEM_H_
@ -54,6 +54,8 @@ class DOS_DTA;
class DOS_File { class DOS_File {
public: public:
DOS_File():flags(0) { name=0; refCtr = 0; }; DOS_File():flags(0) { name=0; refCtr = 0; };
DOS_File(const DOS_File& orig);
DOS_File & operator= (const DOS_File & orig);
virtual ~DOS_File(){if(name) delete [] name;}; virtual ~DOS_File(){if(name) delete [] name;};
virtual bool Read(Bit8u * data,Bit16u * size)=0; virtual bool Read(Bit8u * data,Bit16u * size)=0;
virtual bool Write(Bit8u * data,Bit16u * size)=0; virtual bool Write(Bit8u * data,Bit16u * size)=0;
@ -81,9 +83,21 @@ public:
class DOS_Device : public DOS_File { class DOS_Device : public DOS_File {
public: public:
/* Some Device Specific Stuff */ DOS_Device(const DOS_Device& orig):DOS_File(orig) {devnum=orig.devnum; }
char * name; DOS_Device & operator= (const DOS_Device & orig) {
Bit8u fhandle; DOS_File::operator=(orig);
devnum=orig.devnum;
return *this;
}
DOS_Device():DOS_File(),devnum(0){};
virtual bool Read(Bit8u * data,Bit16u * size);
virtual bool Write(Bit8u * data,Bit16u * size);
virtual bool Seek(Bit32u * pos,Bit32u type);
virtual bool Close();
virtual Bit16u GetInformation(void);
void SetDeviceNumber(Bitu num) { devnum=num;}
private:
Bitu devnum;
}; };
#define MAX_OPENDIRS 2048 #define MAX_OPENDIRS 2048
@ -113,7 +127,7 @@ public:
void DeleteEntry (const char* path, bool ignoreLastDir = false); void DeleteEntry (const char* path, bool ignoreLastDir = false);
void EmptyCache (void); void EmptyCache (void);
void SetLabel (const char* name); void SetLabel (const char* name,bool allowupdate=true);
char* GetLabel (void) { return label; }; char* GetLabel (void) { return label; };
class CFileInfo { class CFileInfo {
@ -171,6 +185,7 @@ private:
Bitu nextFreeFindFirst; Bitu nextFreeFindFirst;
char label [CROSS_LEN]; char label [CROSS_LEN];
bool updatelabel;
}; };
class DOS_No_Drive_Cache { class DOS_No_Drive_Cache {
@ -228,6 +243,7 @@ public:
virtual void SetDir(const char* path) { strcpy(curdir,path); }; virtual void SetDir(const char* path) { strcpy(curdir,path); };
virtual void EmptyCache(void) { dirCache.EmptyCache(); }; virtual void EmptyCache(void) { dirCache.EmptyCache(); };
virtual bool isRemote(void)=0; virtual bool isRemote(void)=0;
virtual bool isRemovable(void)=0;
char * GetInfo(void); char * GetInfo(void);
char curdir[DOS_PATHLENGTH]; char curdir[DOS_PATHLENGTH];
char info[256]; char info[256];

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: paging.h,v 1.11 2004/09/07 18:21:51 qbix79 Exp $ */ /* $Id: paging.h,v 1.12 2004/10/12 10:45:10 harekiet Exp $ */
#ifndef _PAGING_H_ #ifndef _PAGING_H_
#define _PAGING_H_ #define _PAGING_H_
@ -42,7 +42,6 @@ class PageDirectory;
//Allow 128 mb of memory to be linked //Allow 128 mb of memory to be linked
#define PAGING_LINKS (128*1024/4) #define PAGING_LINKS (128*1024/4)
class PageHandler { class PageHandler {
public: public:
virtual Bitu readb(PhysPt addr); virtual Bitu readb(PhysPt addr);
@ -72,6 +71,8 @@ bool PAGING_MakePhysPage(Bitu & page);
void MEM_SetLFB(Bitu _page,Bitu _pages,HostPt _pt); void MEM_SetLFB(Bitu _page,Bitu _pages,HostPt _pt);
void MEM_SetPageHandler(Bitu phys_page,Bitu pages,PageHandler * handler); void MEM_SetPageHandler(Bitu phys_page,Bitu pages,PageHandler * handler);
void MEM_ResetPageHandler(Bitu phys_page, Bitu pages);
#ifdef _MSC_VER #ifdef _MSC_VER
#pragma pack (1) #pragma pack (1)

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: shell.h,v 1.7 2004/09/09 18:36:50 qbix79 Exp $ */ /* $Id: shell.h,v 1.9 2004/11/13 12:06:39 qbix79 Exp $ */
#ifndef SHELL_H_ #ifndef SHELL_H_
#define SHELL_H_ #define SHELL_H_
@ -102,6 +102,7 @@ public:
void CMD_LOADHIGH(char* args); void CMD_LOADHIGH(char* args);
void CMD_CHOICE(char * args); void CMD_CHOICE(char * args);
void CMD_ATTRIB(char * args); void CMD_ATTRIB(char * args);
void CMD_PATH(char * args);
/* The shell's variables */ /* The shell's variables */
Bit16u input_handle; Bit16u input_handle;
BatchFile * bf; BatchFile * bf;
@ -118,7 +119,7 @@ struct SHELL_Cmd {
}; };
static inline void StripSpaces(char*&args) { static inline void StripSpaces(char*&args) {
while(*args && ((*args == ' ') || (*args == '\t'))) while(args && *args && isspace(*reinterpret_cast<unsigned char*>(args)))
args++; args++;
} }

View File

@ -51,12 +51,12 @@ Bits ConvDecWord(char * word);
Bits ConvHexWord(char * word); Bits ConvHexWord(char * word);
INLINE char * upcase(char * str) { INLINE char * upcase(char * str) {
for (char* idx = str; *idx ; idx++) *idx = toupper(*idx); for (char* idx = str; *idx ; idx++) *idx = toupper(*reinterpret_cast<unsigned char*>(idx));
return str; return str;
} }
INLINE char * lowcase(char * str) { INLINE char * lowcase(char * str) {
for(char* idx = str; *idx ; idx++) *idx = tolower(*idx); for(char* idx = str; *idx ; idx++) *idx = tolower(*reinterpret_cast<unsigned char*>(idx));
return str; return str;
} }

View File

@ -1,7 +1,8 @@
#!/bin/sh #!/bin/sh
#
# install - install a program, script, or datafile # install - install a program, script, or datafile
#
scriptversion=2004-10-22.00
# This originates from X11R5 (mit/util/scripts/install.sh), which was # This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the # later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license. # following copyright and license.
@ -41,13 +42,11 @@
# from scratch. It can only install one file at a time, a restriction # from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs. # shared with many OS's install programs.
# set DOITPROG to echo to test this script # set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it. # Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}" doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars. # put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}" mvprog="${MVPROG-mv}"
@ -59,236 +58,266 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}" rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}" mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755" chmodcmd="$chmodprog 0755"
chowncmd="" chowncmd=
chgrpcmd="" chgrpcmd=
stripcmd="" stripcmd=
rmcmd="$rmprog -f" rmcmd="$rmprog -f"
mvcmd="$mvprog" mvcmd="$mvprog"
src="" src=
dst="" dst=
dir_arg="" dir_arg=
dstarg=
no_target_directory=
while [ x"$1" != x ]; do usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
case $1 in or: $0 [OPTION]... SRCFILES... DIRECTORY
-c) instcmd=$cpprog or: $0 [OPTION]... -t DIRECTORY SRCFILES...
shift or: $0 [OPTION]... -d DIRECTORIES...
continue;;
-d) dir_arg=true In the 1st form, copy SRCFILE to DSTFILE.
shift In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
continue;; In the 4th, create DIRECTORIES.
-m) chmodcmd="$chmodprog $2" Options:
shift -c (ignored)
shift -d create directories instead of installing files.
continue;; -g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit.
--version display version info and exit.
-o) chowncmd="$chownprog $2" Environment variables override the default commands:
shift CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
shift "
continue;;
-g) chgrpcmd="$chgrpprog $2" while test -n "$1"; do
shift case $1 in
shift -c) shift
continue;; continue;;
-s) stripcmd=$stripprog -d) dir_arg=true
shift shift
continue;; continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'` -g) chgrpcmd="$chgrpprog $2"
shift shift
continue;; shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'` --help) echo "$usage"; exit 0;;
shift
continue;;
*) if [ x"$src" = x ] -m) chmodcmd="$chmodprog $2"
then shift
src=$1 shift
else continue;;
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ] -o) chowncmd="$chownprog $2"
then shift
echo "$0: no input file specified" >&2 shift
exit 1 continue;;
else
:
fi
if [ x"$dir_arg" != x ]; then -s) stripcmd=$stripprog
dst=$src shift
src="" continue;;
if [ -d "$dst" ]; then -t) dstarg=$2
instcmd=:
chmodcmd=""
else
instcmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f "$src" ] || [ -d "$src" ]
then
:
else
echo "$0: $src does not exist" >&2
exit 1
fi
if [ x"$dst" = x ]
then
echo "$0: no destination specified" >&2
exit 1
else
:
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d "$dst" ]
then
dst=$dst/`basename "$src"`
else
:
fi
fi
## this sed command emulates the dirname command
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp=$pathcomp$1
shift shift
shift
continue;;
if [ ! -d "$pathcomp" ] ; -T) no_target_directory=true
then shift
$mkdirprog "$pathcomp" continue;;
else
:
fi
pathcomp=$pathcomp/ --version) echo "$0 $scriptversion"; exit 0;;
*) # When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
test -n "$dir_arg$dstarg" && break
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
break;;
esac
done done
if test -z "$1"; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi fi
if [ x"$dir_arg" != x ] for src
then do
$doit $instcmd "$dst" && # Protect names starting with `-'.
case $src in
-*) src=./$src ;;
esac
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && if test -n "$dir_arg"; then
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && dst=$src
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && src=
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
else
# If we're going to rename the final executable, determine the name now. if test -d "$dst"; then
mkdircmd=:
chmodcmd=
else
mkdircmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if [ x"$transformarg" = x ] if test -z "$dstarg"; then
then echo "$0: no destination specified." >&2
dstfile=`basename "$dst"` exit 1
else fi
dstfile=`basename "$dst" $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename dst=$dstarg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst ;;
esac
if [ x"$dstfile" = x ] # If destination is a directory, append the input filename; won't work
then # if double slashes aren't ignored.
dstfile=`basename "$dst"` if test -d "$dst"; then
else if test -n "$no_target_directory"; then
: echo "$0: $dstarg: Is a directory" >&2
fi exit 1
fi
dst=$dst/`basename "$src"`
fi
fi
# Make a couple of temp file names in the proper directory. # This sed command emulates the dirname command.
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
dsttmp=$dstdir/_inst.$$_ # Make sure that the destination directory exists.
rmtmp=$dstdir/_rm.$$_
# Trap to clean up temp files at exit. # Skip lots of stat calls in the usual case.
if test ! -d "$dstdir"; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 oIFS=$IFS
trap '(exit $?); exit' 1 2 13 15 # Some sh's can't handle IFS=/ for some reason.
IFS='%'
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
shift
IFS=$oIFS
# Move or copy the file name to the temp name pathcomp=
$doit $instcmd "$src" "$dsttmp" && while test $# -ne 0 ; do
pathcomp=$pathcomp$1
shift
if test ! -d "$pathcomp"; then
$mkdirprog "$pathcomp"
# mkdir can fail with a `File exist' error in case several
# install-sh are creating the directory concurrently. This
# is OK.
test -d "$pathcomp" || exit
fi
pathcomp=$pathcomp/
done
fi
# and set any options; do chmod last to preserve setuid bits if test -n "$dir_arg"; then
$doit $mkdircmd "$dst" \
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
# If any of these fail, we abort the whole thing. If we want to else
# ignore errors from any of these, just make sure not to ignore dstfile=`basename "$dst"`
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && # Make a couple of temp file names in the proper directory.
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && dsttmp=$dstdir/_inst.$$_
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && rmtmp=$dstdir/_rm.$$_
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
# Now remove or move aside any old file at destination location. We try this # Trap to clean up those temp files at exit.
# two ways since rm can't unlink itself on some systems and the destination trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# file might be busy for other reasons. In this case, the final cleanup trap '(exit $?); exit' 1 2 13 15
# might fail but the new file should still install successfully.
{ # Copy the file name to the temp name.
if [ -f "$dstdir/$dstfile" ] $doit $cpprog "$src" "$dsttmp" &&
then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
{
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit
}
else
:
fi
} &&
# Now rename the file to the real destination. # and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile" # Now rename the file to the real destination.
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|| {
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
fi && # Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
if test -f "$dstdir/$dstfile"; then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
}
}
fi || { (exit 1); exit; }
done
# The final little trick to "correctly" pass the exit status to the exit trap. # The final little trick to "correctly" pass the exit status to the exit trap.
{ {
(exit 0); exit (exit 0); exit
} }
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

127
missing
View File

@ -1,6 +1,10 @@
#! /bin/sh #! /bin/sh
# Common stub for a few missing GNU programs while installing. # Common stub for a few missing GNU programs while installing.
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
scriptversion=2004-09-07.08
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -38,18 +42,24 @@ else
configure_ac=configure.in configure_ac=configure.in
fi fi
msg="missing on your system"
case "$1" in case "$1" in
--run) --run)
# Try to run requested program, and just exit if it succeeds. # Try to run requested program, and just exit if it succeeds.
run= run=
shift shift
"$@" && exit 0 "$@" && exit 0
# Exit code 63 means version mismatch. This often happens
# when the user try to use an ancient version of a tool on
# a file that requires a minimum version. In this case we
# we should proceed has if the program had been absent, or
# if --run hadn't been passed.
if test $? = 63; then
run=:
msg="probably too old"
fi
;; ;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
-h|--h|--he|--hel|--help) -h|--h|--he|--hel|--help)
echo "\ echo "\
@ -74,11 +84,15 @@ Supported PROGRAM values:
lex create \`lex.yy.c', if possible, from existing .c lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]" yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>."
exit 0
;; ;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version) -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing 0.4 - GNU automake" echo "missing $scriptversion (GNU Automake)"
exit 0
;; ;;
-*) -*)
@ -87,14 +101,44 @@ Supported PROGRAM values:
exit 1 exit 1
;; ;;
aclocal*) esac
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
case "$1" in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
tar)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
exit 1
fi
;;
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed. # We have it, but it failed.
exit 1 exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
# Could not run --version or --help. This is probably someone
# running `$TOOL --version' or `$TOOL --help' to check whether
# $TOOL exists and not knowing $TOOL uses missing.
exit 1
fi fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
aclocal*)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site." any GNU archive site."
@ -102,13 +146,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
autoconf) autoconf)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site." archive site."
@ -116,13 +155,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
autoheader) autoheader)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site." from any GNU archive site."
@ -140,13 +174,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
automake*) automake*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages. You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site." Grab them from any GNU archive site."
@ -156,14 +185,9 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
autom4te) autom4te)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your WARNING: \`$1' is needed, but is $msg.
system. You might have modified some files without having the You might have modified some files without having the
proper tools for further handling them. proper tools for further handling them.
You can get \`$1' as part of \`Autoconf' from any GNU You can get \`$1' as part of \`Autoconf' from any GNU
archive site." archive site."
@ -185,7 +209,7 @@ WARNING: \`$1' is needed, and you do not seem to have it handy on your
bison|yacc) bison|yacc)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site." \`Bison' from any GNU archive site."
@ -215,7 +239,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
lex|flex) lex|flex)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site." \`Flex' from any GNU archive site."
@ -237,13 +261,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
help2man) help2man)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take \`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site." effect. You can get \`Help2man' from any GNU archive site."
@ -262,13 +281,8 @@ WARNING: \`$1' is missing on your system. You should only need it if
;; ;;
makeinfo) makeinfo)
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
# We have makeinfo, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX, call might also be the consequence of using a buggy \`make' (AIX,
@ -284,10 +298,6 @@ WARNING: \`$1' is missing on your system. You should only need it if
tar) tar)
shift shift
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
fi
# We have already tried tar in the generic part. # We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error # Look for gnutar/gtar before invocation to avoid ugly error
@ -323,8 +333,8 @@ WARNING: I can't seem to be able to run \`tar' with the given arguments.
*) *)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your WARNING: \`$1' is needed, and is $msg.
system. You might have modified some files without having the You might have modified some files without having the
proper tools for further handling them. Check the \`README' file, proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequisites for installing it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case this package. You may also peek at any GNU archive site, in case
@ -334,3 +344,10 @@ WARNING: \`$1' is needed, and you do not seem to have it handy on your
esac esac
exit 0 exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@ -1,111 +0,0 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain
errstatus=0
dirmode=""
usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
# process command line arguments
while test $# -gt 0 ; do
case $1 in
-h | --help | --h*) # -h for help
echo "$usage" 1>&2
exit 0
;;
-m) # -m PERM arg
shift
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
dirmode=$1
shift
;;
--) # stop option processing
shift
break
;;
-*) # unknown option
echo "$usage" 1>&2
exit 1
;;
*) # first non-opt arg
break
;;
esac
done
for file
do
if test -d "$file"; then
shift
else
break
fi
done
case $# in
0) exit 0 ;;
esac
case $dirmode in
'')
if mkdir -p -- . 2>/dev/null; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
fi
;;
*)
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
fi
;;
esac
for file
do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d
do
pathcomp="$pathcomp$d"
case $pathcomp in
-*) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp"
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
errstatus=$lasterr
else
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=""
chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
fi
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# End:
# mkinstalldirs ends here

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(dosbox_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +36,48 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
bin_PROGRAMS = dosbox$(EXEEXT)
subdir = src
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_dosbox_OBJECTS = dosbox.$(OBJEXT)
dosbox_OBJECTS = $(am_dosbox_OBJECTS)
dosbox_DEPENDENCIES = cpu/libcpu.a debug/libdebug.a dos/libdos.a \
fpu/libfpu.a hardware/libhardware.a gui/libgui.a \
ints/libints.a misc/libmisc.a shell/libshell.a
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
SOURCES = $(dosbox_SOURCES)
DIST_SOURCES = $(dosbox_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +140,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +162,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,70 +175,54 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
AM_CPPFLAGS = -I$(top_srcdir)/include AM_CPPFLAGS = -I$(top_srcdir)/include
SUBDIRS = cpu debug dos fpu gui hardware ints misc shell platform SUBDIRS = cpu debug dos fpu gui hardware ints misc shell platform
bin_PROGRAMS = dosbox
dosbox_SOURCES = dosbox.cpp dosbox_SOURCES = dosbox.cpp
dosbox_LDADD = cpu/libcpu.a debug/libdebug.a dos/libdos.a fpu/libfpu.a hardware/libhardware.a gui/libgui.a \ dosbox_LDADD = cpu/libcpu.a debug/libdebug.a dos/libdos.a fpu/libfpu.a hardware/libhardware.a gui/libgui.a \
ints/libints.a misc/libmisc.a shell/libshell.a ints/libints.a misc/libmisc.a shell/libshell.a
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
bin_PROGRAMS = dosbox$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS)
am_dosbox_OBJECTS = dosbox.$(OBJEXT)
dosbox_OBJECTS = $(am_dosbox_OBJECTS)
dosbox_DEPENDENCIES = cpu/libcpu.a debug/libdebug.a dos/libdos.a \
fpu/libfpu.a hardware/libhardware.a gui/libgui.a ints/libints.a \
misc/libmisc.a shell/libshell.a
dosbox_LDFLAGS =
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/dosbox.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
DIST_SOURCES = $(dosbox_SOURCES)
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
DIST_SUBDIRS = $(SUBDIRS)
SOURCES = $(dosbox_SOURCES)
all: all-recursive all: all-recursive
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cpp .o .obj .SUFFIXES: .cpp .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/Makefile $(AUTOMAKE) --gnits src/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) @case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-binPROGRAMS: $(bin_PROGRAMS) install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir) test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \ if test -f $$p \
; then \ ; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
$(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
else :; fi; \ else :; fi; \
done done
@ -201,8 +230,8 @@ uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
rm -f $(DESTDIR)$(bindir)/$$f; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \
done done
clean-binPROGRAMS: clean-binPROGRAMS:
@ -216,9 +245,9 @@ installcheck-binPROGRAMS: $(bin_PROGRAMS)
f=`echo "$$p" | \ f=`echo "$$p" | \
sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
for opt in --help --version; do \ for opt in --help --version; do \
if $(DESTDIR)$(bindir)/$$f $$opt > c$${pid}_.out 2> c$${pid}_.err \ if "$(DESTDIR)$(bindir)/$$f" $$opt > c$${pid}_.out 2> c$${pid}_.err \
&& test -n "`cat c$${pid}_.out`" \ && test -n "`cat c$${pid}_.out`" \
&& test -z "`cat c$${pid}_.err`"; then :; \ && test -z "`cat c$${pid}_.err`"; then :; \
else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \ else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
done; \ done; \
done; rm -f c$${pid}_.???; exit $$bad done; rm -f c$${pid}_.???; exit $$bad
@ -227,7 +256,7 @@ dosbox$(EXEEXT): $(dosbox_OBJECTS) $(dosbox_DEPENDENCIES)
$(CXXLINK) $(dosbox_LDFLAGS) $(dosbox_OBJECTS) $(dosbox_LDADD) $(LIBS) $(CXXLINK) $(dosbox_LDFLAGS) $(dosbox_OBJECTS) $(dosbox_LDADD) $(LIBS)
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -235,26 +264,18 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dosbox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dosbox.Po@am__quote@
.cpp.o: .cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.obj: .cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
uninstall-info-am: uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd # This directory's subdirectories are mostly independent; you can cd
@ -316,14 +337,6 @@ ctags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -332,19 +345,22 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
if (etags --etags-include --version) >/dev/null 2>&1; then \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \ include_option=--etags-include; \
empty_fix=.; \
else \ else \
include_option=--include; \ include_option=--include; \
empty_fix=; \
fi; \ fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && \ test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \ fi; \
done; \ done; \
@ -354,10 +370,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -380,10 +397,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -397,7 +410,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -412,15 +425,17 @@ distdir: $(DISTFILES)
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \ test -d "$(distdir)/$$subdir" \
|| mkdir $(distdir)/$$subdir \ || $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \ || exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \ (cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \ $(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \ top_distdir="$$top_distdir" \
distdir=../$(distdir)/$$subdir \ distdir="$$distdir/$$subdir" \
distdir) \ distdir) \
|| exit 1; \ || exit 1; \
fi; \ fi; \
@ -430,8 +445,9 @@ check: check-recursive
all-am: Makefile $(PROGRAMS) all-am: Makefile $(PROGRAMS)
installdirs: installdirs-recursive installdirs: installdirs-recursive
installdirs-am: installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(bindir) for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-recursive install: install-recursive
install-exec: install-exec-recursive install-exec: install-exec-recursive
install-data: install-data-recursive install-data: install-data-recursive
@ -451,7 +467,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -470,6 +486,8 @@ dvi: dvi-recursive
dvi-am: dvi-am:
html: html-recursive
info: info-recursive info: info-recursive
info-am: info-am:
@ -505,23 +523,19 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am
uninstall-info: uninstall-info-recursive uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean-binPROGRAMS clean-generic clean-recursive ctags \ clean clean-binPROGRAMS clean-generic clean-recursive ctags \
ctags-recursive distclean distclean-compile distclean-generic \ ctags-recursive distclean distclean-compile distclean-generic \
distclean-recursive distclean-tags distdir dvi dvi-am \ distclean-recursive distclean-tags distdir dvi dvi-am html \
dvi-recursive info info-am info-recursive install install-am \ html-am info info-am install install-am install-binPROGRAMS \
install-binPROGRAMS install-data install-data-am \ install-data install-data-am install-exec install-exec-am \
install-data-recursive install-exec install-exec-am \ install-info install-info-am install-man install-strip \
install-exec-recursive install-info install-info-am \ installcheck installcheck-am installcheck-binPROGRAMS \
install-info-recursive install-man install-recursive \ installdirs installdirs-am maintainer-clean \
install-strip installcheck installcheck-am \ maintainer-clean-generic maintainer-clean-recursive \
installcheck-binPROGRAMS installdirs installdirs-am \ mostlyclean mostlyclean-compile mostlyclean-generic \
installdirs-recursive maintainer-clean maintainer-clean-generic \ mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
maintainer-clean-recursive mostlyclean mostlyclean-compile \ uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am
mostlyclean-generic mostlyclean-recursive pdf pdf-am \
pdf-recursive ps ps-am ps-recursive tags tags-recursive \
uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am \
uninstall-info-recursive uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(libcpu_a_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../.. top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +36,53 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/cpu
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libcpu_a_AR = $(AR) $(ARFLAGS)
libcpu_a_LIBADD =
am_libcpu_a_OBJECTS = callback.$(OBJEXT) cpu.$(OBJEXT) flags.$(OBJEXT) \
modrm.$(OBJEXT) core_full.$(OBJEXT) paging.$(OBJEXT) \
core_normal.$(OBJEXT) core_simple.$(OBJEXT) \
core_dyn_x86.$(OBJEXT)
libcpu_a_OBJECTS = $(am_libcpu_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libcpu_a_SOURCES)
DIST_SOURCES = $(libcpu_a_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +145,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +167,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -131,67 +181,44 @@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
SUBDIRS = core_full core_normal core_dyn_x86 SUBDIRS = core_full core_normal core_dyn_x86
AM_CPPFLAGS = -I$(top_srcdir)/include AM_CPPFLAGS = -I$(top_srcdir)/include
noinst_LIBRARIES = libcpu.a noinst_LIBRARIES = libcpu.a
libcpu_a_SOURCES = callback.cpp cpu.cpp flags.cpp modrm.cpp modrm.h core_full.cpp instructions.h \ libcpu_a_SOURCES = callback.cpp cpu.cpp flags.cpp modrm.cpp modrm.h core_full.cpp instructions.h \
paging.cpp lazyflags.h core_normal.cpp core_simple.cpp \ paging.cpp lazyflags.h core_normal.cpp core_simple.cpp \
core_dyn_x86.cpp core_dyn_x86.cpp
subdir = src/cpu
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
libcpu_a_AR = $(AR) cru
libcpu_a_LIBADD =
am_libcpu_a_OBJECTS = callback.$(OBJEXT) cpu.$(OBJEXT) flags.$(OBJEXT) \
modrm.$(OBJEXT) core_full.$(OBJEXT) paging.$(OBJEXT) \
core_normal.$(OBJEXT) core_simple.$(OBJEXT) \
core_dyn_x86.$(OBJEXT)
libcpu_a_OBJECTS = $(am_libcpu_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/callback.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/core_dyn_x86.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/core_full.Po ./$(DEPDIR)/core_normal.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/core_simple.Po ./$(DEPDIR)/cpu.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/flags.Po ./$(DEPDIR)/modrm.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/paging.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libcpu_a_SOURCES)
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
DIST_SUBDIRS = $(SUBDIRS)
SOURCES = $(libcpu_a_SOURCES)
all: all-recursive all: all-recursive
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cpp .o .obj .SUFFIXES: .cpp .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/cpu/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/cpu/Makefile $(AUTOMAKE) --gnits src/cpu/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
AR = ar $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstLIBRARIES: clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@ -201,7 +228,7 @@ libcpu.a: $(libcpu_a_OBJECTS) $(libcpu_a_DEPENDENCIES)
$(RANLIB) libcpu.a $(RANLIB) libcpu.a
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -217,26 +244,18 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paging.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paging.Po@am__quote@
.cpp.o: .cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.obj: .cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
uninstall-info-am: uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd # This directory's subdirectories are mostly independent; you can cd
@ -298,14 +317,6 @@ ctags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -314,19 +325,22 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
if (etags --etags-include --version) >/dev/null 2>&1; then \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \ include_option=--etags-include; \
empty_fix=.; \
else \ else \
include_option=--include; \ include_option=--include; \
empty_fix=; \
fi; \ fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && \ test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \ fi; \
done; \ done; \
@ -336,10 +350,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -362,10 +377,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -379,7 +390,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -394,15 +405,17 @@ distdir: $(DISTFILES)
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \ test -d "$(distdir)/$$subdir" \
|| mkdir $(distdir)/$$subdir \ || $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \ || exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \ (cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \ $(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \ top_distdir="$$top_distdir" \
distdir=../$(distdir)/$$subdir \ distdir="$$distdir/$$subdir" \
distdir) \ distdir) \
|| exit 1; \ || exit 1; \
fi; \ fi; \
@ -412,7 +425,6 @@ check: check-recursive
all-am: Makefile $(LIBRARIES) all-am: Makefile $(LIBRARIES)
installdirs: installdirs-recursive installdirs: installdirs-recursive
installdirs-am: installdirs-am:
install: install-recursive install: install-recursive
install-exec: install-exec-recursive install-exec: install-exec-recursive
install-data: install-data-recursive install-data: install-data-recursive
@ -432,7 +444,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -451,6 +463,8 @@ dvi: dvi-recursive
dvi-am: dvi-am:
html: html-recursive
info: info-recursive info: info-recursive
info-am: info-am:
@ -486,22 +500,18 @@ uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean-generic clean-noinstLIBRARIES clean-recursive ctags \ clean clean-generic clean-noinstLIBRARIES clean-recursive \
ctags-recursive distclean distclean-compile distclean-generic \ ctags ctags-recursive distclean distclean-compile \
distclean-recursive distclean-tags distdir dvi dvi-am \ distclean-generic distclean-recursive distclean-tags distdir \
dvi-recursive info info-am info-recursive install install-am \ dvi dvi-am html html-am info info-am install install-am \
install-data install-data-am install-data-recursive \ install-data install-data-am install-exec install-exec-am \
install-exec install-exec-am install-exec-recursive \ install-info install-info-am install-man install-strip \
install-info install-info-am install-info-recursive install-man \ installcheck installcheck-am installdirs installdirs-am \
install-recursive install-strip installcheck installcheck-am \
installdirs installdirs-am installdirs-recursive \
maintainer-clean maintainer-clean-generic \ maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-compile \ maintainer-clean-recursive mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-recursive pdf pdf-am \ mostlyclean-generic mostlyclean-recursive pdf pdf-am ps ps-am \
pdf-recursive ps ps-am ps-recursive tags tags-recursive \ tags tags-recursive uninstall uninstall-am uninstall-info-am
uninstall uninstall-am uninstall-info-am \
uninstall-info-recursive uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -21,7 +21,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../.. top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +34,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/cpu/core_dyn_x86
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +116,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +138,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,33 +151,40 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
noinst_HEADERS = cache.h helpers.h decoder.h risc_x86.h string.h noinst_HEADERS = cache.h helpers.h decoder.h risc_x86.h string.h
subdir = src/cpu/core_dyn_x86
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
HEADERS = $(noinst_HEADERS)
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.in Makefile.am
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/cpu/core_dyn_x86/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/cpu/core_dyn_x86/Makefile $(AUTOMAKE) --gnits src/cpu/core_dyn_x86/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -165,6 +193,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -176,10 +205,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -202,10 +232,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -219,7 +245,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -237,7 +263,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(HEADERS) all-am: Makefile $(HEADERS)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -258,7 +283,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -275,6 +300,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -307,14 +334,14 @@ ps-am:
uninstall-am: uninstall-info-am uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic ctags \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
distclean distclean-generic distclean-tags distdir dvi dvi-am \ ctags distclean distclean-generic distclean-tags distdir dvi \
info info-am install install-am install-data install-data-am \ dvi-am html html-am info info-am install install-am \
install-exec install-exec-am install-info install-info-am \ install-data install-data-am install-exec install-exec-am \
install-man install-strip installcheck installcheck-am \ install-info install-info-am install-man install-strip \
installdirs maintainer-clean maintainer-clean-generic \ installcheck installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
uninstall uninstall-am uninstall-info-am pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -21,7 +21,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../.. top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +34,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/cpu/core_full
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +116,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +138,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -129,37 +150,43 @@ target_alias = @target_alias@
target_cpu = @target_cpu@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
noinst_HEADERS = ea_lookup.h load.h loadwrite.h op.h optable.h save.h \ noinst_HEADERS = ea_lookup.h load.h loadwrite.h op.h optable.h save.h \
string.h support.h string.h support.h
subdir = src/cpu/core_full
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
HEADERS = $(noinst_HEADERS)
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.in Makefile.am
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/cpu/core_full/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/cpu/core_full/Makefile $(AUTOMAKE) --gnits src/cpu/core_full/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -168,6 +195,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -179,10 +207,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -205,10 +234,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -222,7 +247,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -240,7 +265,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(HEADERS) all-am: Makefile $(HEADERS)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -261,7 +285,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -278,6 +302,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -310,14 +336,14 @@ ps-am:
uninstall-am: uninstall-info-am uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic ctags \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
distclean distclean-generic distclean-tags distdir dvi dvi-am \ ctags distclean distclean-generic distclean-tags distdir dvi \
info info-am install install-am install-data install-data-am \ dvi-am html html-am info info-am install install-am \
install-exec install-exec-am install-info install-info-am \ install-data install-data-am install-exec install-exec-am \
install-man install-strip installcheck installcheck-am \ install-info install-info-am install-man install-strip \
installdirs maintainer-clean maintainer-clean-generic \ installcheck installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
uninstall uninstall-am uninstall-info-am pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -21,7 +21,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../.. top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +34,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/cpu/core_normal
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +116,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +138,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -129,37 +150,43 @@ target_alias = @target_alias@
target_cpu = @target_cpu@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
noinst_HEADERS = helpers.h prefix_none.h prefix_66.h prefix_0f.h support.h table_ea.h \ noinst_HEADERS = helpers.h prefix_none.h prefix_66.h prefix_0f.h support.h table_ea.h \
prefix_66_0f.h string.h prefix_66_0f.h string.h
subdir = src/cpu/core_normal
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
HEADERS = $(noinst_HEADERS)
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.in Makefile.am
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/cpu/core_normal/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/cpu/core_normal/Makefile $(AUTOMAKE) --gnits src/cpu/core_normal/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -168,6 +195,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -179,10 +207,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -205,10 +234,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -222,7 +247,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -240,7 +265,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(HEADERS) all-am: Makefile $(HEADERS)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -261,7 +285,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -278,6 +302,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -310,14 +336,14 @@ ps-am:
uninstall-am: uninstall-info-am uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic ctags \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
distclean distclean-generic distclean-tags distdir dvi dvi-am \ ctags distclean distclean-generic distclean-tags distdir dvi \
info info-am install install-am install-data install-data-am \ dvi-am html html-am info info-am install install-am \
install-exec install-exec-am install-info install-info-am \ install-data install-data-am install-exec install-exec-am \
install-man install-strip installcheck installcheck-am \ install-info install-info-am install-man install-strip \
installdirs maintainer-clean maintainer-clean-generic \ installcheck installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
uninstall uninstall-am uninstall-info-am pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -42,9 +42,6 @@ Bitu get_CF(void) {
case t_DECw: case t_DECw:
case t_DECd: case t_DECd:
case t_MUL: case t_MUL:
case t_RCLb:
case t_RCLw:
case t_RCLd:
return GETFLAG(CF); return GETFLAG(CF);
break; break;
case t_ADDb: case t_ADDb:
@ -107,18 +104,6 @@ Bitu get_CF(void) {
return lf_var1w; return lf_var1w;
case t_NEGd: case t_NEGd:
return lf_var1d; return lf_var1d;
case t_ROLb:
return lf_resb & 1;
case t_ROLw:
return lf_resw & 1;
case t_ROLd:
return lf_resd & 1;
case t_RORb:
return (lf_resb & 0x80);
case t_RORw:
return (lf_resw & 0x8000);
case t_RORd:
return (lf_resd & 0x80000000);
case t_ORb: case t_ORb:
case t_ORw: case t_ORw:
case t_ORd: case t_ORd:
@ -148,18 +133,6 @@ Bitu get_AF(void) {
Bitu type=lflags.type; Bitu type=lflags.type;
switch (type) { switch (type) {
case t_UNKNOWN: case t_UNKNOWN:
case t_ROLb:
case t_RORb:
case t_RCLb:
case t_RCRb:
case t_ROLw:
case t_RORw:
case t_RCLw:
case t_RCRw:
case t_ROLd:
case t_RORd:
case t_RCLd:
case t_RCRd:
return GETFLAG(AF); return GETFLAG(AF);
case t_ADDb: case t_ADDb:
case t_ADCb: case t_ADCb:
@ -238,18 +211,6 @@ Bitu get_ZF(void) {
Bitu type=lflags.type; Bitu type=lflags.type;
switch (type) { switch (type) {
case t_UNKNOWN: case t_UNKNOWN:
case t_ROLb:
case t_RORb:
case t_RCLb:
case t_RCRb:
case t_ROLw:
case t_RORw:
case t_RCLw:
case t_RCRw:
case t_ROLd:
case t_RORd:
case t_RCLd:
case t_RCRd:
return GETFLAG(ZF); return GETFLAG(ZF);
case t_ADDb: case t_ADDb:
case t_ORb: case t_ORb:
@ -318,18 +279,6 @@ Bitu get_SF(void) {
Bitu type=lflags.type; Bitu type=lflags.type;
switch (type) { switch (type) {
case t_UNKNOWN: case t_UNKNOWN:
case t_ROLb:
case t_RORb:
case t_RCLb:
case t_RCRb:
case t_ROLw:
case t_RORw:
case t_RCLw:
case t_RCRw:
case t_ROLd:
case t_RORd:
case t_RCLd:
case t_RCRd:
return GETFLAG(SF); return GETFLAG(SF);
case t_ADDb: case t_ADDb:
case t_ORb: case t_ORb:
@ -437,26 +386,14 @@ Bitu get_OF(void) {
return (lf_var1w == 0x8000); return (lf_var1w == 0x8000);
case t_NEGd: case t_NEGd:
return (lf_var1d == 0x80000000); return (lf_var1d == 0x80000000);
case t_ROLb:
case t_RORb:
case t_RCLb:
case t_RCRb:
case t_SHLb: case t_SHLb:
case t_SHRb: case t_SHRb:
return (lf_resb ^ lf_var1b) & 0x80; return (lf_resb ^ lf_var1b) & 0x80;
case t_ROLw:
case t_RORw:
case t_RCLw:
case t_RCRw:
case t_SHLw: case t_SHLw:
case t_SHRw: case t_SHRw:
case t_DSHRw: case t_DSHRw:
case t_DSHLw: case t_DSHLw:
return (lf_resw ^ lf_var1w) & 0x8000; return (lf_resw ^ lf_var1w) & 0x8000;
case t_ROLd:
case t_RORd:
case t_RCLd:
case t_RCRd:
case t_SHLd: case t_SHLd:
case t_SHRd: case t_SHRd:
case t_DSHRd: case t_DSHRd:
@ -507,7 +444,7 @@ Bit16u parity_lookup[256] = {
Bitu get_PF(void) { Bitu get_PF(void) {
switch (lflags.type) { switch (lflags.type) {
case t_UNKNOWN: case t_UNKNOWN:
return GETFLAG(PF); return GETFLAG(PF);
default: default:
return (parity_lookup[lf_resb]);; return (parity_lookup[lf_resb]);;
@ -832,57 +769,6 @@ Bitu FillFlags(void) {
DOFLAG_PF; DOFLAG_PF;
break; break;
case t_ROLb:
SET_FLAG(CF,lf_resb & 1);
SET_FLAG(OF,(lf_resb ^ lf_var1b) & 0x80);
break;
case t_ROLw:
SET_FLAG(CF,lf_resw & 1);
SET_FLAG(OF,(lf_resw ^ lf_var1w) & 0x8000);
break;
case t_ROLd:
SET_FLAG(CF,lf_resd & 1);
SET_FLAG(OF,(lf_resd ^ lf_var1d) & 0x80000000);
break;
case t_RORb:
SET_FLAG(CF,(lf_resb & 0x80));
SET_FLAG(OF,(lf_resb ^ lf_var1b) & 0x80);
break;
case t_RORw:
SET_FLAG(CF,(lf_resw & 0x8000));
SET_FLAG(OF,(lf_resw ^ lf_var1w) & 0x8000);
break;
case t_RORd:
SET_FLAG(CF,(lf_resd & 0x80000000));
SET_FLAG(OF,(lf_resd ^ lf_var1d) & 0x80000000);
break;
case t_RCLb:
SET_FLAG(OF,(lf_resb ^ lf_var1b) & 0x80);
break;
case t_RCLw:
SET_FLAG(OF,(lf_resw ^ lf_var1w) & 0x8000);
break;
case t_RCLd:
SET_FLAG(OF,(lf_resd ^ lf_var1d) & 0x80000000);
break;
case t_RCRb:
SET_FLAG(CF,(lf_var1b >> (lf_var2b - 1)) & 1);
SET_FLAG(OF,(lf_resb ^ lf_var1b) & 0x80);
break;
case t_RCRw:
SET_FLAG(CF,(lf_var1w >> (lf_var2b - 1)) & 1);
SET_FLAG(OF,(lf_resw ^ lf_var1w) & 0x8000);
break;
case t_RCRd:
SET_FLAG(CF,(lf_var1d >> (lf_var2b - 1)) & 1);
SET_FLAG(OF,(lf_resd ^ lf_var1d) & 0x80000000);
break;
case t_INCb: case t_INCb:
SET_FLAG(AF,(lf_resb & 0x0f) == 0); SET_FLAG(AF,(lf_resb & 0x0f) == 0);
DOFLAG_ZFb; DOFLAG_ZFb;

View File

@ -225,150 +225,162 @@
save(op1,lf_resd); \ save(op1,lf_resd); \
lflags.type=t_DECd; lflags.type=t_DECd;
#define ROLB(op1,op2,load,save) \
LoadZF;LoadSF;LoadAF; \
lf_var1b=load(op1); \
lf_var2b=op2&0x07; \
lf_resb=(lf_var1b << lf_var2b) | \
(lf_var1b >> (8-lf_var2b)); \
save(op1,lf_resb); \
lflags.type=t_ROLb; \
#define ROLW(op1,op2,load,save) \ #define ROLB(op1,op2,load,save) \
LoadZF;LoadSF;LoadAF; \ if (!(op2&0x7)) break; \
lf_var1w=load(op1); \ FillFlags(); \
lf_var2b=op2&0x0F; \ lf_var1b=load(op1); \
lf_resw=(lf_var1w << lf_var2b) | \ lf_var2b=op2&0x07; \
(lf_var1w >> (16-lf_var2b)); \ lf_resb=(lf_var1b << lf_var2b) | \
save(op1,lf_resw); \ (lf_var1b >> (8-lf_var2b)); \
lflags.type=t_ROLw; \ save(op1,lf_resb); \
SETFLAGBIT(CF,lf_resb & 1); \
SETFLAGBIT(OF,(lf_resb & 1) ^ (lf_resb >> 7));
#define ROLW(op1,op2,load,save) \
if (!(op2&0xf)) break; \
FillFlags(); \
lf_var1w=load(op1); \
lf_var2b=op2&0xf; \
lf_resw=(lf_var1w << lf_var2b) | \
(lf_var1w >> (16-lf_var2b)); \
save(op1,lf_resw); \
SETFLAGBIT(CF,lf_resw & 1); \
SETFLAGBIT(OF,(lf_resw & 1) ^ (lf_resw >> 15));
#define ROLD(op1,op2,load,save) \
if (!op2) break; \
FillFlags(); \
lf_var1d=load(op1); \
lf_var2b=op2; \
lf_resd=(lf_var1d << lf_var2b) | \
(lf_var1d >> (32-lf_var2b)); \
save(op1,lf_resd); \
SETFLAGBIT(CF,lf_resd & 1); \
SETFLAGBIT(OF,(lf_resd & 1) ^ (lf_resd >> 31));
#define ROLD(op1,op2,load,save) \ #define RORB(op1,op2,load,save) \
LoadZF;LoadSF;LoadAF; \ if (!(op2&0x7)) break; \
lf_var1d=load(op1); \ FillFlags(); \
lf_var2b=op2; \ lf_var1b=load(op1); \
lf_resd=(lf_var1d << lf_var2b) | \ lf_var2b=op2&0x07; \
(lf_var1d >> (32-lf_var2b)); \ lf_resb=(lf_var1b >> lf_var2b) | \
save(op1,lf_resd); \ (lf_var1b << (8-lf_var2b)); \
lflags.type=t_ROLd; \ save(op1,lf_resb); \
SETFLAGBIT(CF,lf_resb & 0x80); \
if (lf_var2b == 1) SETFLAGBIT(OF,(lf_resb ^ lf_var1b) & 0x80);
#define RORW(op1,op2,load,save) \
if (!(op2&0xf)) break; \
FillFlags(); \
lf_var1w=load(op1); \
lf_var2b=op2&0xf; \
lf_resw=(lf_var1w >> lf_var2b) | \
(lf_var1w << (16-lf_var2b)); \
save(op1,lf_resw); \
SETFLAGBIT(CF,lf_resw & 0x8000); \
if (lf_var2b == 1) SETFLAGBIT(OF,(lf_resw ^ lf_var1w) & 0x8000);
#define RORD(op1,op2,load,save) \
if (!op2) break; \
FillFlags(); \
lf_var1d=load(op1); \
lf_var2b=op2; \
lf_resd=(lf_var1d >> lf_var2b) | \
(lf_var1d << (32-lf_var2b)); \
save(op1,lf_resd); \
SETFLAGBIT(CF,lf_resd & 0x80000000); \
if (lf_var2b == 1) SETFLAGBIT(OF,(lf_resd ^ lf_var1d) & 0x80000000);
#define RORB(op1,op2,load,save) \ #define RCLB(op1,op2,load,save) \
LoadZF;LoadSF;LoadAF; \ if (!(op2%9)) break; \
lf_var1b=load(op1); \ { Bit8u cf=(Bit8u)FillFlags()&0x1; \
lf_var2b=op2&0x07; \ lf_var1b=load(op1); \
lf_resb=(lf_var1b >> lf_var2b) | \ lf_var2b=op2%9; \
(lf_var1b << (8-lf_var2b)); \ lf_resb=(lf_var1b << lf_var2b) | \
save(op1,lf_resb); \
lflags.type=t_RORb; \
#define RORW(op1,op2,load,save) \
if (op2&0x0F) { \
LoadZF;LoadSF;LoadAF; \
lf_var1w=load(op1); \
lf_var2b=op2&0x0F; \
lf_resw=(lf_var1w >> lf_var2b) | \
(lf_var1w << (16-lf_var2b)); \
save(op1,lf_resw); \
lflags.type=t_RORw; \
}
#define RORD(op1,op2,load,save) \
if (op2) { \
LoadZF;LoadSF;LoadAF; \
lf_var1d=load(op1); \
lf_var2b=op2; \
lf_resd=(lf_var1d >> lf_var2b) | \
(lf_var1d << (32-lf_var2b)); \
save(op1,lf_resd); \
lflags.type=t_RORd; \
}
#define RCLB(op1,op2,load,save) \
if (op2%9) { \
Bit8u cf=(Bit8u)FillFlags()&0x1; \
lf_var1b=load(op1); \
lf_var2b=op2%9; \
lflags.type=t_RCLb; \
lf_resb=(lf_var1b << lf_var2b) | \
(cf << (lf_var2b-1)) | \
(lf_var1b >> (9-lf_var2b)); \
SETFLAGBIT(CF,((lf_var1b >> (8-lf_var2b)) & 1)); \
save(op1,lf_resb); \
}
#define RCLW(op1,op2,load,save) \
if (op2%17) { \
Bit16u cf=(Bit16u)FillFlags()&0x1; \
lf_var1w=load(op1); \
lf_var2b=op2%17; \
lflags.type=t_RCLw; \
lf_resw=(lf_var1w << lf_var2b) | \
(cf << (lf_var2b-1)) | \
(lf_var1w >> (17-lf_var2b)); \
SETFLAGBIT(CF,((lf_var1w >> (16-lf_var2b)) & 1)); \
save(op1,lf_resw); \
}
#define RCLD(op1,op2,load,save) \
if (op2) { \
Bit32u cf=(Bit32u)FillFlags()&0x1; \
lf_var1d=load(op1); \
lf_var2b=op2; \
lflags.type=t_RCLd; \
if (lf_var2b==1) { \
lf_resd=(lf_var1d << 1) | cf; \
} else { \
lf_resd=(lf_var1d << lf_var2b) | \
(cf << (lf_var2b-1)) | \ (cf << (lf_var2b-1)) | \
(lf_var1d >> (33-lf_var2b)); \ (lf_var1b >> (9-lf_var2b)); \
} \ save(op1,lf_resb); \
SETFLAGBIT(CF,((lf_var1d >> (32-lf_var2b)) & 1)); \ SETFLAGBIT(CF,((lf_var1b >> (8-lf_var2b)) & 1)); \
save(op1,lf_resd); \ SETFLAGBIT(OF,(reg_flags & 1) ^ (lf_resb >> 7)); \
} }
#define RCLW(op1,op2,load,save) \
if (!(op2%17)) break; \
{ Bit16u cf=(Bit16u)FillFlags()&0x1; \
lf_var1w=load(op1); \
lf_var2b=op2%17; \
lf_resw=(lf_var1w << lf_var2b) | \
(cf << (lf_var2b-1)) | \
(lf_var1w >> (17-lf_var2b)); \
save(op1,lf_resw); \
SETFLAGBIT(CF,((lf_var1w >> (16-lf_var2b)) & 1)); \
SETFLAGBIT(OF,(reg_flags & 1) ^ (lf_resw >> 15)); \
}
#define RCLD(op1,op2,load,save) \
if (!op2) break; \
{ Bit32u cf=(Bit32u)FillFlags()&0x1; \
lf_var1d=load(op1); \
lf_var2b=op2; \
if (lf_var2b==1) { \
lf_resd=(lf_var1d << 1) | cf; \
} else { \
lf_resd=(lf_var1d << lf_var2b) | \
(cf << (lf_var2b-1)) | \
(lf_var1d >> (33-lf_var2b)); \
} \
save(op1,lf_resd); \
SETFLAGBIT(CF,((lf_var1d >> (32-lf_var2b)) & 1)); \
SETFLAGBIT(OF,(reg_flags & 1) ^ (lf_resd >> 31)); \
}
#define RCRB(op1,op2,load,save) \ #define RCRB(op1,op2,load,save) \
if (op2%9) { \ if (op2%9) { \
Bit8u cf=(Bit8u)FillFlags()&0x1; \ Bit8u cf=(Bit8u)FillFlags()&0x1; \
lf_var1b=load(op1); \ lf_var1b=load(op1); \
lf_var2b=op2%9; \ lf_var2b=op2%9; \
lflags.type=t_RCRb; \ lf_resb=(lf_var1b >> lf_var2b) | \
lf_resb=(lf_var1b >> lf_var2b) | \ (cf << (8-lf_var2b)) | \
(cf << (8-lf_var2b)) | \ (lf_var1b << (9-lf_var2b)); \
(lf_var1b << (9-lf_var2b)); \ save(op1,lf_resb); \
save(op1,lf_resb); \ SETFLAGBIT(CF,(lf_var1b >> (lf_var2b - 1)) & 1); \
SETFLAGBIT(OF,(lf_resb ^ lf_var1b) & 0x80); \
} }
#define RCRW(op1,op2,load,save) \ #define RCRW(op1,op2,load,save) \
if (op2%17) { \ if (op2%17) { \
Bit16u cf=(Bit16u)FillFlags()&0x1; \ Bit16u cf=(Bit16u)FillFlags()&0x1; \
lf_var1w=load(op1); \ lf_var1w=load(op1); \
lf_var2b=op2%17; \ lf_var2b=op2%17; \
lflags.type=t_RCRw; \ lf_resw=(lf_var1w >> lf_var2b) | \
lf_resw=(lf_var1w >> lf_var2b) | \ (cf << (16-lf_var2b)) | \
(cf << (16-lf_var2b)) | \ (lf_var1w << (17-lf_var2b)); \
(lf_var1w << (17-lf_var2b)); \ save(op1,lf_resw); \
save(op1,lf_resw); \ SETFLAGBIT(CF,(lf_var1w >> (lf_var2b - 1)) & 1); \
SETFLAGBIT(OF,(lf_resw ^ lf_var1w) & 0x8000); \
} }
#define RCRD(op1,op2,load,save) \ #define RCRD(op1,op2,load,save) \
if (op2) { \ if (op2) { \
Bit32u cf=(Bit32u)FillFlags()&0x1; \ Bit32u cf=(Bit32u)FillFlags()&0x1; \
lf_var1d=load(op1); \ lf_var1d=load(op1); \
lf_var2b=op2; \ lf_var2b=op2; \
lflags.type=t_RCRd; \ if (lf_var2b==1) { \
if (lf_var2b==1) { \ lf_resd=lf_var1d >> 1 | cf << 31; \
lf_resd=lf_var1d >> 1 | cf << 31; \
} else { \ } else { \
lf_resd=(lf_var1d >> lf_var2b) | \ lf_resd=(lf_var1d >> lf_var2b) | \
(cf << (32-lf_var2b)) | \ (cf << (32-lf_var2b)) | \
(lf_var1d << (33-lf_var2b)); \ (lf_var1d << (33-lf_var2b)); \
} \ } \
save(op1,lf_resd); \ save(op1,lf_resd); \
SETFLAGBIT(CF,(lf_var1d >> (lf_var2b - 1)) & 1); \
SETFLAGBIT(OF,(lf_resd ^ lf_var1d) & 0x80000000); \
} }

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(libdebug_a_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../.. top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +36,44 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/debug
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libdebug_a_AR = $(AR) $(ARFLAGS)
libdebug_a_LIBADD =
am_libdebug_a_OBJECTS = debug.$(OBJEXT) debug_gui.$(OBJEXT) \
debug_disasm.$(OBJEXT) debug_win32.$(OBJEXT)
libdebug_a_OBJECTS = $(am_libdebug_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libdebug_a_SOURCES)
DIST_SOURCES = $(libdebug_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +136,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +158,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,51 +171,41 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
AM_CPPFLAGS = -I$(top_srcdir)/include AM_CPPFLAGS = -I$(top_srcdir)/include
noinst_LIBRARIES = libdebug.a noinst_LIBRARIES = libdebug.a
libdebug_a_SOURCES = debug.cpp debug_gui.cpp debug_disasm.cpp debug_inc.h disasm_tables.h debug_win32.cpp libdebug_a_SOURCES = debug.cpp debug_gui.cpp debug_disasm.cpp debug_inc.h disasm_tables.h debug_win32.cpp
subdir = src/debug
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
libdebug_a_AR = $(AR) cru
libdebug_a_LIBADD =
am_libdebug_a_OBJECTS = debug.$(OBJEXT) debug_gui.$(OBJEXT) \
debug_disasm.$(OBJEXT) debug_win32.$(OBJEXT)
libdebug_a_OBJECTS = $(am_libdebug_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/debug.Po ./$(DEPDIR)/debug_disasm.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/debug_gui.Po ./$(DEPDIR)/debug_win32.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libdebug_a_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
SOURCES = $(libdebug_a_SOURCES)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cpp .o .obj .SUFFIXES: .cpp .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/debug/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/debug/Makefile $(AUTOMAKE) --gnits src/debug/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
AR = ar $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstLIBRARIES: clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@ -184,7 +215,7 @@ libdebug.a: $(libdebug_a_OBJECTS) $(libdebug_a_DEPENDENCIES)
$(RANLIB) libdebug.a $(RANLIB) libdebug.a
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -195,36 +226,20 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug_win32.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug_win32.Po@am__quote@
.cpp.o: .cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.obj: .cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -233,6 +248,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -244,10 +260,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -270,10 +287,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -287,7 +300,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -305,7 +318,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(LIBRARIES) all-am: Makefile $(LIBRARIES)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -326,7 +338,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -345,6 +357,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -380,13 +394,14 @@ uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES ctags distclean distclean-compile \ clean-noinstLIBRARIES ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am info \ distclean-generic distclean-tags distdir dvi dvi-am html \
info-am install install-am install-data install-data-am \ html-am info info-am install install-am install-data \
install-exec install-exec-am install-info install-info-am \ install-data-am install-exec install-exec-am install-info \
install-man install-strip installcheck installcheck-am \ install-info-am install-man install-strip installcheck \
installdirs maintainer-clean maintainer-clean-generic \ installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ maintainer-clean-generic mostlyclean mostlyclean-compile \
ps ps-am tags uninstall uninstall-am uninstall-info-am mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: debug.cpp,v 1.59 2004/08/31 23:11:35 harekiet Exp $ */ /* $Id: debug.cpp,v 1.60 2004/10/23 15:15:06 qbix79 Exp $ */
#include <string.h> #include <string.h>
#include <list> #include <list>
@ -387,7 +387,7 @@ bool CBreakpoint::CheckBreakpoint(Bitu seg, Bitu off)
Bit8u value = mem_readb(address); Bit8u value = mem_readb(address);
if (bp->GetValue() != value) { if (bp->GetValue() != value) {
// Yup, memory value changed // Yup, memory value changed
DEBUG_ShowMsg("DEBUG: Memory breakpoint %s: %04X:%04X - %02X -> %02X",(bp->GetType()==BKPNT_MEMORY_PROT)?"(Prot)":"",bp->GetSegment(),bp->GetOffset(),bp->GetValue(),value); DEBUG_ShowMsg("DEBUG: Memory breakpoint %s: %04X:%04X - %02X -> %02X\n",(bp->GetType()==BKPNT_MEMORY_PROT)?"(Prot)":"",bp->GetSegment(),bp->GetOffset(),bp->GetValue(),value);
bp->SetValue(value); bp->SetValue(value);
return true; return true;
}; };
@ -527,18 +527,17 @@ void CBreakpoint::ShowList(void)
for(i=BPoints.begin(); i != BPoints.end(); i++) { for(i=BPoints.begin(); i != BPoints.end(); i++) {
CBreakpoint* bp = static_cast<CBreakpoint*>(*i); CBreakpoint* bp = static_cast<CBreakpoint*>(*i);
if (bp->GetType()==BKPNT_PHYSICAL) { if (bp->GetType()==BKPNT_PHYSICAL) {
wprintw(dbg.win_out,"%02X. BP %04X:%04X\n",nr,bp->GetSegment(),bp->GetOffset()); DEBUG_ShowMsg("%02X. BP %04X:%04X\n",nr,bp->GetSegment(),bp->GetOffset());
nr++; nr++;
} else if (bp->GetType()==BKPNT_INTERRUPT) { } else if (bp->GetType()==BKPNT_INTERRUPT) {
if (bp->GetValue()==BPINT_ALL) wprintw(dbg.win_out,"%02X. BPINT %02X\n",nr,bp->GetIntNr()); if (bp->GetValue()==BPINT_ALL) DEBUG_ShowMsg("%02X. BPINT %02X\n",nr,bp->GetIntNr());
else wprintw(dbg.win_out,"%02X. BPINT %02X AH=%02X\n",nr,bp->GetIntNr(),bp->GetValue()); else DEBUG_ShowMsg("%02X. BPINT %02X AH=%02X\n",nr,bp->GetIntNr(),bp->GetValue());
nr++; nr++;
} else if (bp->GetType()==BKPNT_MEMORY) { } else if (bp->GetType()==BKPNT_MEMORY) {
wprintw(dbg.win_out,"%02X. BPMEM %04X:%04X (%02X)\n",nr,bp->GetSegment(),bp->GetOffset(),bp->GetValue()); DEBUG_ShowMsg("%02X. BPMEM %04X:%04X (%02X)\n",nr,bp->GetSegment(),bp->GetOffset(),bp->GetValue());
nr++; nr++;
}; };
} }
wrefresh(dbg.win_out);
}; };
bool DEBUG_Breakpoint(void) bool DEBUG_Breakpoint(void)
@ -883,7 +882,7 @@ bool ParseCommand(char* str)
}; };
name[15] = 0; name[15] = 0;
DEBUG_ShowMsg("DEBUG: Created debug var %s at %04X:%04X",name,seg,ofs); DEBUG_ShowMsg("DEBUG: Created debug var %s at %04X:%04X\n",name,seg,ofs);
CDebugVar::InsertVariable(name,GetAddress(seg,ofs)); CDebugVar::InsertVariable(name,GetAddress(seg,ofs));
return true; return true;
} }
@ -897,8 +896,8 @@ bool ParseCommand(char* str)
else { name[i] = 0; break; }; else { name[i] = 0; break; };
}; };
name[12] = 0; name[12] = 0;
if (CDebugVar::SaveVars(name)) DEBUG_ShowMsg("DEBUG: Variable list save (%s) : ok.",name); if (CDebugVar::SaveVars(name)) DEBUG_ShowMsg("DEBUG: Variable list save (%s) : ok.\n",name);
else DEBUG_ShowMsg("DEBUG: Variable list save (%s) : failure",name); else DEBUG_ShowMsg("DEBUG: Variable list save (%s) : failure\n",name);
return true; return true;
} }
@ -911,15 +910,15 @@ bool ParseCommand(char* str)
else { name[i] = 0; break; }; else { name[i] = 0; break; };
}; };
name[12] = 0; name[12] = 0;
if (CDebugVar::LoadVars(name)) DEBUG_ShowMsg("DEBUG: Variable list load (%s) : ok.",name); if (CDebugVar::LoadVars(name)) DEBUG_ShowMsg("DEBUG: Variable list load (%s) : ok.\n",name);
else DEBUG_ShowMsg("DEBUG: Variable list load (%s) : failure",name); else DEBUG_ShowMsg("DEBUG: Variable list load (%s) : failure\n",name);
return true; return true;
} }
found = strstr(str,"SR "); found = strstr(str,"SR ");
if (found) { // Set register value if (found) { // Set register value
found+=2; found+=2;
if (ChangeRegister(found)) DEBUG_ShowMsg("DEBUG: Set Register success."); if (ChangeRegister(found)) DEBUG_ShowMsg("DEBUG: Set Register success.\n");
else DEBUG_ShowMsg("DEBUG: Set Register failure."); else DEBUG_ShowMsg("DEBUG: Set Register failure.\n");
return true; return true;
} }
found = strstr(str,"SM "); found = strstr(str,"SM ");
@ -936,7 +935,7 @@ bool ParseCommand(char* str)
count++; count++;
} }
}; };
DEBUG_ShowMsg("DEBUG: Memory changed."); DEBUG_ShowMsg("DEBUG: Memory changed.\n");
return true; return true;
} }
@ -946,7 +945,7 @@ bool ParseCommand(char* str)
Bit16u seg = (Bit16u)GetHexValue(found,found);found++; // skip ":" Bit16u seg = (Bit16u)GetHexValue(found,found);found++; // skip ":"
Bit32u ofs = GetHexValue(found,found); Bit32u ofs = GetHexValue(found,found);
CBreakpoint::AddBreakpoint(seg,ofs,false); CBreakpoint::AddBreakpoint(seg,ofs,false);
DEBUG_ShowMsg("DEBUG: Set breakpoint at %04X:%04X",seg,ofs); DEBUG_ShowMsg("DEBUG: Set breakpoint at %04X:%04X\n",seg,ofs);
return true; return true;
} }
#if C_HEAVY_DEBUG #if C_HEAVY_DEBUG
@ -956,7 +955,7 @@ bool ParseCommand(char* str)
Bit16u seg = (Bit16u)GetHexValue(found,found);found++; // skip ":" Bit16u seg = (Bit16u)GetHexValue(found,found);found++; // skip ":"
Bit32u ofs = GetHexValue(found,found); Bit32u ofs = GetHexValue(found,found);
CBreakpoint::AddMemBreakpoint(seg,ofs); CBreakpoint::AddMemBreakpoint(seg,ofs);
DEBUG_ShowMsg("DEBUG: Set memory breakpoint at %04X:%04X",seg,ofs); DEBUG_ShowMsg("DEBUG: Set memory breakpoint at %04X:%04X\n",seg,ofs);
return true; return true;
} }
found = strstr(str,"BPPM "); found = strstr(str,"BPPM ");
@ -966,7 +965,7 @@ bool ParseCommand(char* str)
Bit32u ofs = GetHexValue(found,found); Bit32u ofs = GetHexValue(found,found);
CBreakpoint* bp = CBreakpoint::AddMemBreakpoint(seg,ofs); CBreakpoint* bp = CBreakpoint::AddMemBreakpoint(seg,ofs);
if (bp) bp->SetType(BKPNT_MEMORY_PROT); if (bp) bp->SetType(BKPNT_MEMORY_PROT);
DEBUG_ShowMsg("DEBUG: Set prot-mode memory breakpoint at %04X:%08X",seg,ofs); DEBUG_ShowMsg("DEBUG: Set prot-mode memory breakpoint at %04X:%08X\n",seg,ofs);
return true; return true;
} }
found = strstr(str,"BPLM "); found = strstr(str,"BPLM ");
@ -975,7 +974,7 @@ bool ParseCommand(char* str)
Bitu ofs = GetHexValue(found,found); Bitu ofs = GetHexValue(found,found);
CBreakpoint* bp = CBreakpoint::AddMemBreakpoint(0,ofs); CBreakpoint* bp = CBreakpoint::AddMemBreakpoint(0,ofs);
if (bp) bp->SetType(BKPNT_MEMORY_LINEAR); if (bp) bp->SetType(BKPNT_MEMORY_LINEAR);
DEBUG_ShowMsg("DEBUG: Set linear memory breakpoint at %08X",ofs); DEBUG_ShowMsg("DEBUG: Set linear memory breakpoint at %08X\n",ofs);
return true; return true;
} }
#endif #endif
@ -986,17 +985,17 @@ bool ParseCommand(char* str)
Bit8u valAH = (Bit8u)GetHexValue(found,found); Bit8u valAH = (Bit8u)GetHexValue(found,found);
if ((valAH==0x00) && (*found=='*')) { if ((valAH==0x00) && (*found=='*')) {
CBreakpoint::AddIntBreakpoint(intNr,BPINT_ALL,false); CBreakpoint::AddIntBreakpoint(intNr,BPINT_ALL,false);
DEBUG_ShowMsg("DEBUG: Set interrupt breakpoint at INT %02X",intNr); DEBUG_ShowMsg("DEBUG: Set interrupt breakpoint at INT %02X\n",intNr);
} else { } else {
CBreakpoint::AddIntBreakpoint(intNr,valAH,false); CBreakpoint::AddIntBreakpoint(intNr,valAH,false);
DEBUG_ShowMsg("DEBUG: Set interrupt breakpoint at INT %02X AH=%02X",intNr,valAH); DEBUG_ShowMsg("DEBUG: Set interrupt breakpoint at INT %02X AH=%02X\n",intNr,valAH);
} }
return true; return true;
} }
found = strstr(str,"BPLIST"); found = strstr(str,"BPLIST");
if (found) { if (found) {
wprintw(dbg.win_out,"Breakpoint list:\n"); DEBUG_ShowMsg("Breakpoint list:\n");
wprintw(dbg.win_out,"-------------------------------------------------------------------------\n"); DEBUG_ShowMsg("-------------------------------------------------------------------------\n");
CBreakpoint::ShowList(); CBreakpoint::ShowList();
return true; return true;
}; };
@ -1007,7 +1006,7 @@ bool ParseCommand(char* str)
Bit8u bpNr = (Bit8u)GetHexValue(found,found); Bit8u bpNr = (Bit8u)GetHexValue(found,found);
if ((bpNr==0x00) && (*found=='*')) { // Delete all if ((bpNr==0x00) && (*found=='*')) { // Delete all
CBreakpoint::DeleteAll(); CBreakpoint::DeleteAll();
DEBUG_ShowMsg("DEBUG: Breakpoints deleted."); DEBUG_ShowMsg("DEBUG: Breakpoints deleted.\n");
} else { } else {
// delete single breakpoint // delete single breakpoint
CBreakpoint::DeleteByIndex(bpNr); CBreakpoint::DeleteByIndex(bpNr);
@ -1019,7 +1018,7 @@ bool ParseCommand(char* str)
found++; found++;
Bit16u codeSeg = (Bit16u)GetHexValue(found,found); found++; Bit16u codeSeg = (Bit16u)GetHexValue(found,found); found++;
Bit32u codeOfs = GetHexValue(found,found); Bit32u codeOfs = GetHexValue(found,found);
DEBUG_ShowMsg("DEBUG: Set code overview to %04X:%04X",codeSeg,codeOfs); DEBUG_ShowMsg("DEBUG: Set code overview to %04X:%04X\n",codeSeg,codeOfs);
codeViewData.useCS = codeSeg; codeViewData.useCS = codeSeg;
codeViewData.useEIP = codeOfs; codeViewData.useEIP = codeOfs;
return true; return true;
@ -1029,18 +1028,18 @@ bool ParseCommand(char* str)
found++; found++;
dataSeg = (Bit16u)GetHexValue(found,found); found++; dataSeg = (Bit16u)GetHexValue(found,found); found++;
dataOfs = GetHexValue(found,found); dataOfs = GetHexValue(found,found);
DEBUG_ShowMsg("DEBUG: Set data overview to %04X:%04X",dataSeg,dataOfs); DEBUG_ShowMsg("DEBUG: Set data overview to %04X:%04X\n",dataSeg,dataOfs);
return true; return true;
} }
#if C_HEAVY_DEBUG #if C_HEAVY_DEBUG
found = strstr(str,"LOG "); found = strstr(str,"LOG ");
if (found) { // Create Cpu log file if (found) { // Create Cpu log file
found+=4; found+=4;
DEBUG_ShowMsg("DEBUG: Starting log"); DEBUG_ShowMsg("DEBUG: Starting log\n");
// DEBUG_Log_Loop(GetHexValue(found,found)); // DEBUG_Log_Loop(GetHexValue(found,found));
cpuLogFile = fopen("LOGCPU.TXT","wt"); cpuLogFile = fopen("LOGCPU.TXT","wt");
if (!cpuLogFile) { if (!cpuLogFile) {
DEBUG_ShowMsg("DEBUG: Logfile couldnt be created."); DEBUG_ShowMsg("DEBUG: Logfile couldnt be created.\n");
return false; return false;
} }
cpuLog = true; cpuLog = true;
@ -1057,7 +1056,7 @@ bool ParseCommand(char* str)
if (found) { // Create Cpu log file if (found) { // Create Cpu log file
found+=4; found+=4;
Bit8u intNr = (Bit8u)GetHexValue(found,found); Bit8u intNr = (Bit8u)GetHexValue(found,found);
DEBUG_ShowMsg("DEBUG: Tracing INT %02X",intNr); DEBUG_ShowMsg("DEBUG: Tracing INT %02X\n",intNr);
CPU_HW_Interrupt(intNr); CPU_HW_Interrupt(intNr);
SetCodeWinStart(); SetCodeWinStart();
return true; return true;
@ -1066,7 +1065,7 @@ bool ParseCommand(char* str)
if (found) { // Create Cpu log file if (found) { // Create Cpu log file
found+=4; found+=4;
Bit8u intNr = (Bit8u)GetHexValue(found,found); Bit8u intNr = (Bit8u)GetHexValue(found,found);
DEBUG_ShowMsg("DEBUG: Starting INT %02X",intNr); DEBUG_ShowMsg("DEBUG: Starting INT %02X\n",intNr);
CBreakpoint::AddBreakpoint (SegValue(cs),reg_eip, true); CBreakpoint::AddBreakpoint (SegValue(cs),reg_eip, true);
CBreakpoint::ActivateBreakpoints(SegPhys(cs)+reg_eip-1,true); CBreakpoint::ActivateBreakpoints(SegPhys(cs)+reg_eip-1,true);
debugging=false; debugging=false;
@ -1081,9 +1080,9 @@ bool ParseCommand(char* str)
while (found[0]==' ') found++; while (found[0]==' ') found++;
char out1[200],out2[200]; char out1[200],out2[200];
GetDescriptorInfo(found,out1,out2); GetDescriptorInfo(found,out1,out2);
DEBUG_ShowMsg("SelectorInfo %s:",found); DEBUG_ShowMsg("SelectorInfo %s:\n",found);
DEBUG_ShowMsg("%s",out1); DEBUG_ShowMsg("%s\n",out1);
DEBUG_ShowMsg("%s",out2); DEBUG_ShowMsg("%s\n",out2);
}; };
found = strstr(str,"GDT"); found = strstr(str,"GDT");
@ -1118,7 +1117,7 @@ bool ParseCommand(char* str)
if (found[0] != 0) if (found[0] != 0)
{ {
Bit8u intNr = (Bit8u)GetHexValue(found,found); Bit8u intNr = (Bit8u)GetHexValue(found,found);
DEBUG_ShowMsg("DEBUG: Set code overview to interrupt handler %X",intNr); DEBUG_ShowMsg("DEBUG: Set code overview to interrupt handler %X\n",intNr);
codeViewData.useCS = mem_readw(intNr*4+2); codeViewData.useCS = mem_readw(intNr*4+2);
codeViewData.useEIP = mem_readw(intNr*4); codeViewData.useEIP = mem_readw(intNr*4);
return true; return true;
@ -1130,7 +1129,7 @@ bool ParseCommand(char* str)
found += 9; found += 9;
Bit8u num = GetHexValue(found,found); Bit8u num = GetHexValue(found,found);
DPMI_CreateException(num,0xDD); DPMI_CreateException(num,0xDD);
DEBUG_ShowMsg("Exception %04X",num); DEBUG_ShowMsg("Exception %04X\n",num);
}; };
*/ */
@ -1138,56 +1137,55 @@ bool ParseCommand(char* str)
found = strstr(str,"HEAVYLOG"); found = strstr(str,"HEAVYLOG");
if (found) { // Create Cpu log file if (found) { // Create Cpu log file
logHeavy = !logHeavy; logHeavy = !logHeavy;
if (logHeavy) DEBUG_ShowMsg("DEBUG: Heavy cpu logging on."); if (logHeavy) DEBUG_ShowMsg("DEBUG: Heavy cpu logging on.\n");
else DEBUG_ShowMsg("DEBUG: Heavy cpu logging off."); else DEBUG_ShowMsg("DEBUG: Heavy cpu logging off.\n");
return true; return true;
} }
#endif #endif
if ((*str=='H') || (*str=='?')) { if ((*str=='H') || (*str=='?')) {
wprintw(dbg.win_out,"Debugger keys:\n"); DEBUG_ShowMsg("Debugger keys:\n");
wprintw(dbg.win_out,"--------------------------------------------------------------------------\n"); DEBUG_ShowMsg("--------------------------------------------------------------------------\n");
wprintw(dbg.win_out,"F5 - Run\n"); DEBUG_ShowMsg("F5 - Run.\n");
wprintw(dbg.win_out,"F9 - Set/Remove breakpoint\n"); DEBUG_ShowMsg("F9 - Set/Remove breakpoint.\n");
wprintw(dbg.win_out,"F10/F11 - Step over / trace into instruction\n"); DEBUG_ShowMsg("F10/F11 - Step over / trace into instruction.\n");
wprintw(dbg.win_out,"Up/Down - Move code view cursor\n"); DEBUG_ShowMsg("Up/Down - Move code view cursor.\n");
wprintw(dbg.win_out,"Return - Enable command line input\n"); DEBUG_ShowMsg("Return - Enable command line input.\n");
wprintw(dbg.win_out,"D/E/S/X/B - Set data view to DS:SI/ES:DI/SS:SP/DS:DX/ES:BX\n"); DEBUG_ShowMsg("D/E/S/X/B - Set data view to DS:SI/ES:DI/SS:SP/DS:DX/ES:BX.\n");
wprintw(dbg.win_out,"R/F - Scroll data view\n"); DEBUG_ShowMsg("R/F - Scroll data view.\n");
wprintw(dbg.win_out,"V - Toggle additional info\n"); DEBUG_ShowMsg("V - Toggle additional info.\n");
wprintw(dbg.win_out,"Debugger commands (enter all values in hex or as register):\n"); DEBUG_ShowMsg("Debugger commands (enter all values in hex or as register):\n");
wprintw(dbg.win_out,"--------------------------------------------------------------------------\n"); DEBUG_ShowMsg("--------------------------------------------------------------------------\n");
wprintw(dbg.win_out,"BP [segment]:[offset] - Set breakpoint\n"); DEBUG_ShowMsg("BP [segment]:[offset] - Set breakpoint.\n");
wprintw(dbg.win_out,"BPINT [intNr] * - Set interrupt breakpoint\n"); DEBUG_ShowMsg("BPINT [intNr] * - Set interrupt breakpoint.\n");
wprintw(dbg.win_out,"BPINT [intNr] [ah] - Set interrupt breakpoint with ah\n"); DEBUG_ShowMsg("BPINT [intNr] [ah] - Set interrupt breakpoint with ah.\n");
#if C_HEAVY_DEBUG #if C_HEAVY_DEBUG
wprintw(dbg.win_out,"BPM [segment]:[offset] - Set memory breakpoint (memory change)\n"); DEBUG_ShowMsg("BPM [segment]:[offset] - Set memory breakpoint (memory change).\n");
wprintw(dbg.win_out,"BPPM [selector]:[offset]- Set pmode-memory breakpoint (memory change)\n"); DEBUG_ShowMsg("BPPM [selector]:[offset]- Set pmode-memory breakpoint (memory change).\n");
wprintw(dbg.win_out,"BPLM [linear address] - Set linear memory breakpoint (memory change)\n"); DEBUG_ShowMsg("BPLM [linear address] - Set linear memory breakpoint (memory change).\n");
#endif #endif
wprintw(dbg.win_out,"BPLIST - List breakpoints\n"); DEBUG_ShowMsg("BPLIST - List breakpoints.\n");
wprintw(dbg.win_out,"BPDEL [bpNr] / * - Delete breakpoint nr / all\n"); DEBUG_ShowMsg("BPDEL [bpNr] / * - Delete breakpoint nr / all.\n");
wprintw(dbg.win_out,"C / D [segment]:[offset] - Set code / data view address\n"); DEBUG_ShowMsg("C / D [segment]:[offset] - Set code / data view address.\n");
wprintw(dbg.win_out,"INT [nr] / INTT [nr] - Execute / Trace into Iinterrupt\n"); DEBUG_ShowMsg("INT [nr] / INTT [nr] - Execute / Trace into interrupt.\n");
wprintw(dbg.win_out,"LOG [num] - Write cpu log file\n");
#if C_HEAVY_DEBUG #if C_HEAVY_DEBUG
wprintw(dbg.win_out,"HEAVYLOG - Enable/Disable automatic cpu log for INT CD\n"); DEBUG_ShowMsg("LOG [num] - Write cpu log file.\n");
DEBUG_ShowMsg("HEAVYLOG - Enable/Disable automatic cpu when dosbox exits.\n");
#endif #endif
wprintw(dbg.win_out,"SR [reg] [value] - Set register value\n"); DEBUG_ShowMsg("SR [reg] [value] - Set register value.\n");
wprintw(dbg.win_out,"SM [seg]:[off] [val] [.]..- Set memory with following values\n"); DEBUG_ShowMsg("SM [seg]:[off] [val] [.]..- Set memory with following values.\n");
wprintw(dbg.win_out,"IV [seg]:[off] [name] - Create var name for memory address\n"); DEBUG_ShowMsg("IV [seg]:[off] [name] - Create var name for memory address.\n");
wprintw(dbg.win_out,"SV [filename] - Save var list in file\n"); DEBUG_ShowMsg("SV [filename] - Save var list in file.\n");
wprintw(dbg.win_out,"LV [seg]:[off] [name] - Load var list from file\n"); DEBUG_ShowMsg("LV [seg]:[off] [name] - Load var list from file.\n");
wprintw(dbg.win_out,"MEMDUMP [seg]:[off] [len] - Write memory to file memdump.txt\n"); DEBUG_ShowMsg("MEMDUMP [seg]:[off] [len] - Write memory to file memdump.txt.\n");
wprintw(dbg.win_out,"SELINFO [segName] - Show selector info\n"); DEBUG_ShowMsg("SELINFO [segName] - Show selector info.\n");
wprintw(dbg.win_out,"INTVEC [filename] - Writes interrupt vector table to file\n"); DEBUG_ShowMsg("INTVEC [filename] - Writes interrupt vector table to file.\n");
wprintw(dbg.win_out,"INTHAND [intNum] - Set code view to interrupt handler\n"); DEBUG_ShowMsg("INTHAND [intNum] - Set code view to interrupt handler.\n");
wprintw(dbg.win_out,"H - Help\n"); DEBUG_ShowMsg("H - Help\n");
wrefresh(dbg.win_out);
return TRUE; return TRUE;
} }
return false; return false;
@ -1287,6 +1285,81 @@ char* AnalyzeInstruction(char* inst, bool saveSelector)
strcat(inst," ("); strcat(inst,descr); strcat(inst,")"); strcat(inst," ("); strcat(inst,descr); strcat(inst,")");
} }
}; };
// Must be a jump
if (instu[0] == 'J')
{
bool jmp = 0;
switch (instu[1]) {
case 'A' : { jmp = !GETFLAGBOOL(CF) && !GETFLAGBOOL(ZF); // JA
} break;
case 'B' : { if (instu[2] == 'E') {
jmp = GETFLAGBOOL(CF) && GETFLAGBOOL(ZF); // JBE
} else {
jmp = GETFLAGBOOL(CF); // JB
}
} break;
case 'C' : { if (instu[2] == 'X') {
jmp = reg_cx == 0; // JCXZ
} else {
jmp = GETFLAGBOOL(CF); // JC
}
} break;
case 'E' : { jmp = GETFLAGBOOL(ZF); // JE
} break;
case 'G' : { if (instu[2] == 'E') {
jmp = !GETFLAGBOOL(SF); // JGE
} else {
jmp = !GETFLAGBOOL(SF) && !GETFLAGBOOL(ZF); // JG
}
} break;
case 'L' : { if (instu[2] == 'E') {
jmp = GETFLAGBOOL(SF) || GETFLAGBOOL(ZF); // JLE
} else {
jmp = GETFLAGBOOL(SF); // JL
}
} break;
case 'M' : { jmp = true; // JMP
} break;
case 'N' : { switch (instu[2]) {
case 'B' :
case 'C' : { jmp = !GETFLAGBOOL(CF); // JNB / JNC
} break;
case 'E' : { jmp = !GETFLAGBOOL(ZF); // JNE
} break;
case 'O' : { jmp = !GETFLAGBOOL(OF); // JNO
} break;
case 'P' : { jmp = !GETFLAGBOOL(PF); // JNP
} break;
case 'S' : { jmp = !GETFLAGBOOL(SF); // JNS
} break;
case 'Z' : { jmp = !GETFLAGBOOL(ZF); // JNZ
} break;
}
} break;
case 'O' : { jmp = GETFLAGBOOL(OF); // JMP
} break;
case 'P' : { if (instu[2] == 'O') {
jmp = !GETFLAGBOOL(PF); // JPO
} else {
jmp = GETFLAGBOOL(SF); // JP / JPE
}
} break;
case 'S' : { jmp = GETFLAGBOOL(SF); // JS
} break;
case 'Z' : { jmp = GETFLAGBOOL(ZF); // JZ
} break;
}
if (jmp) {
pos = strchr(instu,'+');
if (pos) {
strcpy(result,"(down)");
} else {
strcpy(result,"(up)");
}
} else {
sprintf(result,"(no jmp)");
}
}
return result; return result;
}; };
@ -1366,7 +1439,7 @@ Bit32u DEBUG_CheckKeys(void) {
ParseCommand(codeViewData.inputStr); ParseCommand(codeViewData.inputStr);
break; break;
case 'T' : DEBUG_RaiseTimerIrq(); case 'T' : DEBUG_RaiseTimerIrq();
DEBUG_ShowMsg("Debug: Timer Int started."); DEBUG_ShowMsg("Debug: Timer Int started.\n");
break; break;
case 'V' : showExtend = !showExtend; case 'V' : showExtend = !showExtend;
break; break;
@ -1383,6 +1456,12 @@ Bit32u DEBUG_CheckKeys(void) {
if (codeViewData.cursorPos>0) codeViewData.cursorPos--; if (codeViewData.cursorPos>0) codeViewData.cursorPos--;
else codeViewData.useEIP -= 1; else codeViewData.useEIP -= 1;
break; break;
case KEY_HOME: // Home: scroll log page up
DEBUG_RefreshPage(-1);
break;
case KEY_END: // End: scroll log page down
DEBUG_RefreshPage(1);
break;
case KEY_F(5): // Run Programm case KEY_F(5): // Run Programm
debugging=false; debugging=false;
CBreakpoint::ActivateBreakpoints(SegPhys(cs)+reg_eip,true); CBreakpoint::ActivateBreakpoints(SegPhys(cs)+reg_eip,true);
@ -1449,11 +1528,15 @@ Bitu DEBUG_Loop(void) {
} }
void DEBUG_Enable(void) { void DEBUG_Enable(void) {
static bool showhelp=false;
debugging=true; debugging=true;
SetCodeWinStart(); SetCodeWinStart();
DEBUG_DrawScreen(); DEBUG_DrawScreen();
DOSBOX_SetLoop(&DEBUG_Loop); DOSBOX_SetLoop(&DEBUG_Loop);
if(!showhelp) {
showhelp=true;
DEBUG_ShowMsg("***| PRESS \"H\" TO SHOW ALL COMMANDS. PRESS \"RETURN\" TO ENTER COMMANDMODE. |***\n");
}
} }
void DEBUG_DrawScreen(void) { void DEBUG_DrawScreen(void) {
@ -1684,7 +1767,7 @@ Bitu debugCallback;
void DEBUG_Init(Section* sec) { void DEBUG_Init(Section* sec) {
MSG_Add("DEBUG_CONFIGFILE_HELP","Nothing to setup yet!\n"); MSG_Add("DEBUG_CONFIGFILE_HELP","Debugger related options.\n");
DEBUG_DrawScreen(); DEBUG_DrawScreen();
/* Add some keyhandlers */ /* Add some keyhandlers */
MAPPER_AddHandler(DEBUG_Enable,MK_pause,0,"debugger","Debugger"); MAPPER_AddHandler(DEBUG_Enable,MK_pause,0,"debugger","Debugger");
@ -1694,7 +1777,7 @@ void DEBUG_Init(Section* sec) {
PROGRAMS_MakeFile("DEBUG.COM",DEBUG_ProgramStart); PROGRAMS_MakeFile("DEBUG.COM",DEBUG_ProgramStart);
/* Setup callback */ /* Setup callback */
debugCallback=CALLBACK_Allocate(); debugCallback=CALLBACK_Allocate();
CALLBACK_Setup(debugCallback,DEBUG_EnableDebugger,CB_RETF); CALLBACK_Setup(debugCallback,DEBUG_EnableDebugger,CB_RETF,"debugger");
/* shutdown function */ /* shutdown function */
sec->AddDestroyFunction(&DEBUG_ShutDown); sec->AddDestroyFunction(&DEBUG_ShutDown);
} }
@ -1778,7 +1861,7 @@ static void SaveMemory(Bitu seg, Bitu ofs1, Bit32s num)
{ {
FILE* f = fopen("MEMDUMP.TXT","wt"); FILE* f = fopen("MEMDUMP.TXT","wt");
if (!f) { if (!f) {
DEBUG_ShowMsg("DEBUG: Memory dump failed."); DEBUG_ShowMsg("DEBUG: Memory dump failed.\n");
return; return;
} }
@ -1798,7 +1881,7 @@ static void SaveMemory(Bitu seg, Bitu ofs1, Bit32s num)
fprintf(f,"%s\n",buffer); fprintf(f,"%s\n",buffer);
}; };
fclose(f); fclose(f);
DEBUG_ShowMsg("DEBUG: Memory dump success."); DEBUG_ShowMsg("DEBUG: Memory dump success.\n");
}; };
static void OutputVecTable(char* filename) static void OutputVecTable(char* filename)
@ -1806,7 +1889,7 @@ static void OutputVecTable(char* filename)
FILE* f = fopen(filename, "wt"); FILE* f = fopen(filename, "wt");
if (!f) if (!f)
{ {
DEBUG_ShowMsg("DEBUG: Output of interrupt vector table failed."); DEBUG_ShowMsg("DEBUG: Output of interrupt vector table failed.\n");
return; return;
} }
@ -1814,7 +1897,7 @@ static void OutputVecTable(char* filename)
fprintf(f,"INT %02X: %04X:%04X\n", i, mem_readw(i*4+2), mem_readw(i*4)); fprintf(f,"INT %02X: %04X:%04X\n", i, mem_readw(i*4+2), mem_readw(i*4));
fclose(f); fclose(f);
DEBUG_ShowMsg("DEBUG: Interrupt vector table written to %s.", filename); DEBUG_ShowMsg("DEBUG: Interrupt vector table written to %s.\n", filename);
} }
#define DEBUG_VAR_BUF_LEN 16 #define DEBUG_VAR_BUF_LEN 16
@ -1876,11 +1959,11 @@ void DEBUG_HeavyWriteLogInstruction(void)
logHeavy = false; logHeavy = false;
DEBUG_ShowMsg("DEBUG: Creating cpu log LOGCPU_INT_CD.TXT"); DEBUG_ShowMsg("DEBUG: Creating cpu log LOGCPU_INT_CD.TXT\n");
FILE* f = fopen("LOGCPU_INT_CD.TXT","wt"); FILE* f = fopen("LOGCPU_INT_CD.TXT","wt");
if (!f) { if (!f) {
DEBUG_ShowMsg("DEBUG: Failed."); DEBUG_ShowMsg("DEBUG: Failed.\n");
return; return;
} }
@ -1893,7 +1976,7 @@ void DEBUG_HeavyWriteLogInstruction(void)
fclose(f); fclose(f);
DEBUG_ShowMsg("DEBUG: Done."); DEBUG_ShowMsg("DEBUG: Done.\n");
}; };
bool DEBUG_HeavyIsBreakpoint(void) bool DEBUG_HeavyIsBreakpoint(void)
@ -1907,7 +1990,7 @@ bool DEBUG_HeavyIsBreakpoint(void)
} }
if (cpuLogCounter<=0) { if (cpuLogCounter<=0) {
fclose(cpuLogFile); fclose(cpuLogFile);
DEBUG_ShowMsg("DEBUG: cpu log LOGCPU.TXT created"); DEBUG_ShowMsg("DEBUG: cpu log LOGCPU.TXT created\n");
cpuLog = false; cpuLog = false;
DEBUG_EnableDebugger(); DEBUG_EnableDebugger();
return true; return true;

View File

@ -39,6 +39,8 @@ struct _LogGroup {
static _LogGroup loggrp[LOG_MAX]={{"",true},{0,false}}; static _LogGroup loggrp[LOG_MAX]={{"",true},{0,false}};
static FILE* debuglog; static FILE* debuglog;
static std::list<char*> logBuff;
static std::list<char*>::iterator logBuffPos = logBuff.end();
extern int old_cursor_state; extern int old_cursor_state;
@ -51,9 +53,45 @@ void DEBUG_ShowMsg(char * format,...) {
va_start(msg,format); va_start(msg,format);
vsprintf(buf,format,msg); vsprintf(buf,format,msg);
va_end(msg); va_end(msg);
wprintw(dbg.win_out,"%10d: %s\n",cycle_count,buf);
/* Add newline if not present */
Bitu len=strlen(buf);
if(buf[len-1]!='\n') strcat(buf,"\n");
if(debuglog) fprintf(debuglog,"%s",buf);
char* newLine = new char[strlen(buf) + 1];
strcpy(newLine, buf);
if (logBuffPos!=logBuff.end()) {
logBuffPos=logBuff.end();
DEBUG_RefreshPage(0);
mvwprintw(dbg.win_out,dbg.win_out->_maxy-1, 0, "");
}
logBuff.push_back(newLine);
if (logBuff.size()>500) {
char * firstline = logBuff.front();
delete firstline;
logBuff.pop_front();
}
logBuffPos = logBuff.end();
wprintw(dbg.win_out,"%s",buf);
wrefresh(dbg.win_out);
}
void DEBUG_RefreshPage(char scroll) {
if (scroll==-1 && logBuffPos!=logBuff.begin()) logBuffPos--;
else if (scroll==1 && logBuffPos!=logBuff.end()) logBuffPos++;
std::list<char*>::iterator i = logBuffPos;
int rem_lines = dbg.win_out->_maxy;
wclear(dbg.win_out);
while (rem_lines > 0 && i!=logBuff.begin()) {
rem_lines -= (int) (strlen(*--i) / dbg.win_out->_maxx) + 1;
mvwprintw(dbg.win_out,rem_lines-1, 0, *i);
}
wrefresh(dbg.win_out); wrefresh(dbg.win_out);
if(debuglog) fprintf(debuglog,"%10d: %s\n",cycle_count,buf);
} }
void LOG::operator() (char* format, ...){ void LOG::operator() (char* format, ...){
@ -65,7 +103,7 @@ void LOG::operator() (char* format, ...){
if (d_type>=LOG_MAX) return; if (d_type>=LOG_MAX) return;
if ((d_severity!=LOG_ERROR) && (!loggrp[d_type].enabled)) return; if ((d_severity!=LOG_ERROR) && (!loggrp[d_type].enabled)) return;
DEBUG_ShowMsg("%s:%s",loggrp[d_type].front,buf); DEBUG_ShowMsg("%10d: %s:%s\n",cycle_count,loggrp[d_type].front,buf);
} }
@ -99,15 +137,15 @@ static void DrawBars(void) {
attrset(COLOR_PAIR(PAIR_BLACK_BLUE)); attrset(COLOR_PAIR(PAIR_BLACK_BLUE));
} }
/* Show the Register bar */ /* Show the Register bar */
mvaddstr(dbg.win_reg->_begy-1,0,"---(Register Overview)---"); mvaddstr(dbg.win_reg->_begy-1,0, "---(Register Overview )---");
/* Show the Data Overview bar perhaps with more special stuff in the end */ /* Show the Data Overview bar perhaps with more special stuff in the end */
mvaddstr(dbg.win_data->_begy-1,0,"---(Data Overview)---"); mvaddstr(dbg.win_data->_begy-1,0,"---(Data Overview Scroll: r/f )---");
/* Show the Code Overview perhaps with special stuff in bar too */ /* Show the Code Overview perhaps with special stuff in bar too */
mvaddstr(dbg.win_code->_begy-1,0,"---(Code Overview)---"); mvaddstr(dbg.win_code->_begy-1,0,"---(Code Overview Scroll: up/down )---");
/* Show the Variable Overview bar */ /* Show the Variable Overview bar */
mvaddstr(dbg.win_var->_begy-1,0,"---(Variable Overview)---"); mvaddstr(dbg.win_var->_begy-1,0, "---(Variable Overview )---");
/* Show the Output OverView */ /* Show the Output OverView */
mvaddstr(dbg.win_out->_begy-1,0,"---(OutPut/Input)---"); mvaddstr(dbg.win_out->_begy-1,0, "---(OutPut/Input Scroll: home/end )---");
attrset(0); attrset(0);
} }

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(libdos_a_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../.. top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +36,51 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/dos
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libdos_a_AR = $(AR) $(ARFLAGS)
libdos_a_LIBADD =
am_libdos_a_OBJECTS = dos.$(OBJEXT) dos_devices.$(OBJEXT) \
dos_execute.$(OBJEXT) dos_files.$(OBJEXT) dos_ioctl.$(OBJEXT) \
dos_memory.$(OBJEXT) dos_misc.$(OBJEXT) dos_classes.$(OBJEXT) \
dos_programs.$(OBJEXT) dos_tables.$(OBJEXT) drives.$(OBJEXT) \
drive_virtual.$(OBJEXT) drive_local.$(OBJEXT) \
drive_cache.$(OBJEXT) drive_fat.$(OBJEXT) drive_iso.$(OBJEXT) \
dos_mscdex.$(OBJEXT) cdrom.$(OBJEXT) \
cdrom_ioctl_win32.$(OBJEXT) cdrom_aspi_win32.$(OBJEXT) \
cdrom_ioctl_linux.$(OBJEXT) cdrom_image.$(OBJEXT)
libdos_a_OBJECTS = $(am_libdos_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libdos_a_SOURCES)
DIST_SOURCES = $(libdos_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +143,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +165,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,7 +178,6 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
AM_CPPFLAGS = -I$(top_srcdir)/include AM_CPPFLAGS = -I$(top_srcdir)/include
noinst_LIBRARIES = libdos.a noinst_LIBRARIES = libdos.a
EXTRA_DIST = scsidefs.h wnaspi32.h EXTRA_DIST = scsidefs.h wnaspi32.h
libdos_a_SOURCES = dos.cpp dos_devices.cpp dos_execute.cpp dos_files.cpp dos_ioctl.cpp dos_memory.cpp \ libdos_a_SOURCES = dos.cpp dos_devices.cpp dos_execute.cpp dos_files.cpp dos_ioctl.cpp dos_memory.cpp \
@ -139,68 +186,39 @@ libdos_a_SOURCES = dos.cpp dos_devices.cpp dos_execute.cpp dos_files.cpp dos_ioc
drive_iso.cpp dev_con.h dos_mscdex.cpp \ drive_iso.cpp dev_con.h dos_mscdex.cpp \
cdrom.h cdrom.cpp cdrom_ioctl_win32.cpp cdrom_aspi_win32.cpp cdrom_ioctl_linux.cpp cdrom_image.cpp cdrom.h cdrom.cpp cdrom_ioctl_win32.cpp cdrom_aspi_win32.cpp cdrom_ioctl_linux.cpp cdrom_image.cpp
subdir = src/dos
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
libdos_a_AR = $(AR) cru
libdos_a_LIBADD =
am_libdos_a_OBJECTS = dos.$(OBJEXT) dos_devices.$(OBJEXT) \
dos_execute.$(OBJEXT) dos_files.$(OBJEXT) dos_ioctl.$(OBJEXT) \
dos_memory.$(OBJEXT) dos_misc.$(OBJEXT) dos_classes.$(OBJEXT) \
dos_programs.$(OBJEXT) dos_tables.$(OBJEXT) drives.$(OBJEXT) \
drive_virtual.$(OBJEXT) drive_local.$(OBJEXT) \
drive_cache.$(OBJEXT) drive_fat.$(OBJEXT) drive_iso.$(OBJEXT) \
dos_mscdex.$(OBJEXT) cdrom.$(OBJEXT) \
cdrom_ioctl_win32.$(OBJEXT) cdrom_aspi_win32.$(OBJEXT) \
cdrom_ioctl_linux.$(OBJEXT) cdrom_image.$(OBJEXT)
libdos_a_OBJECTS = $(am_libdos_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/cdrom.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/cdrom_aspi_win32.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/cdrom_image.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/cdrom_ioctl_linux.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/cdrom_ioctl_win32.Po ./$(DEPDIR)/dos.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/dos_classes.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/dos_devices.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/dos_execute.Po ./$(DEPDIR)/dos_files.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/dos_ioctl.Po ./$(DEPDIR)/dos_memory.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/dos_misc.Po ./$(DEPDIR)/dos_mscdex.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/dos_programs.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/dos_tables.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/drive_cache.Po ./$(DEPDIR)/drive_fat.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/drive_iso.Po ./$(DEPDIR)/drive_local.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/drive_virtual.Po ./$(DEPDIR)/drives.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libdos_a_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
SOURCES = $(libdos_a_SOURCES)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cpp .o .obj .SUFFIXES: .cpp .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/dos/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/dos/Makefile $(AUTOMAKE) --gnits src/dos/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
AR = ar $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstLIBRARIES: clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@ -210,7 +228,7 @@ libdos.a: $(libdos_a_OBJECTS) $(libdos_a_DEPENDENCIES)
$(RANLIB) libdos.a $(RANLIB) libdos.a
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -239,36 +257,20 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drives.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drives.Po@am__quote@
.cpp.o: .cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.obj: .cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -277,6 +279,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -288,10 +291,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -314,10 +318,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -331,7 +331,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -349,7 +349,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(LIBRARIES) all-am: Makefile $(LIBRARIES)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -370,7 +369,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -389,6 +388,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -424,13 +425,14 @@ uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES ctags distclean distclean-compile \ clean-noinstLIBRARIES ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am info \ distclean-generic distclean-tags distdir dvi dvi-am html \
info-am install install-am install-data install-data-am \ html-am info info-am install install-am install-data \
install-exec install-exec-am install-info install-info-am \ install-data-am install-exec install-exec-am install-info \
install-man install-strip installcheck installcheck-am \ install-info-am install-man install-strip installcheck \
installdirs maintainer-clean maintainer-clean-generic \ installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ maintainer-clean-generic mostlyclean mostlyclean-compile \
ps ps-am tags uninstall uninstall-am uninstall-info-am mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -5,8 +5,11 @@
#define MAX_ASPI_CDROM 5 #define MAX_ASPI_CDROM 5
#include <string.h> #include <string.h>
#include <string>
#include <iostream> #include <iostream>
#include <vector> #include <vector>
#include <fstream>
#include <sstream>
#include "dosbox.h" #include "dosbox.h"
#include "mem.h" #include "mem.h"
#include "mixer.h" #include "mixer.h"

View File

@ -16,14 +16,14 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: cdrom_image.cpp,v 1.3 2004/08/23 09:35:15 harekiet Exp $ */ /* $Id: cdrom_image.cpp,v 1.4 2004/10/05 19:55:03 qbix79 Exp $ */
#include <cctype> #include <cctype>
#include <cmath> #include <cmath>
#include <cstdio> #include <cstdio>
#include <fstream> #include <fstream>
#include <iostream> #include <iostream>
#include <limits> #include <limits.h>
#include <sstream> #include <sstream>
#include <vector> #include <vector>
#include <sys/stat.h> #include <sys/stat.h>
@ -572,7 +572,7 @@ bool CDROM_Interface_Image::GetRealFileName(string &filename, string &pathname)
if (stat(filename.c_str(), &test) == 0) return true; if (stat(filename.c_str(), &test) == 0) return true;
// check if file with path relative to cue file exists // check if file with path relative to cue file exists
#if not defined(WIN32) #ifndef WIN32
string tmpstr(pathname + "/" + filename); string tmpstr(pathname + "/" + filename);
if (stat(tmpstr.c_str(), &test) == 0) { if (stat(tmpstr.c_str(), &test) == 0) {
filename = tmpstr; filename = tmpstr;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: dev_con.h,v 1.18 2004/08/26 19:41:20 qbix79 Exp $ */ /* $Id: dev_con.h,v 1.19 2004/10/17 14:45:00 qbix79 Exp $ */
#include "dos_inc.h" #include "dos_inc.h"
#include "../ints/int10.h" #include "../ints/int10.h"
@ -345,7 +345,7 @@ bool device_CON::Seek(Bit32u * pos,Bit32u type) {
} }
bool device_CON::Close() { bool device_CON::Close() {
return false; return true;
} }
Bit16u device_CON::GetInformation(void) { Bit16u device_CON::GetInformation(void) {
@ -357,7 +357,7 @@ Bit16u device_CON::GetInformation(void) {
}; };
device_CON::device_CON() { device_CON::device_CON() {
name="CON"; SetName("CON");
cache=0; cache=0;
ansi.enabled=false; ansi.enabled=false;
ansi.attr=0x7; ansi.attr=0x7;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: dos.cpp,v 1.75 2004/09/21 20:04:55 qbix79 Exp $ */ /* $Id: dos.cpp,v 1.77 2004/11/16 14:24:52 qbix79 Exp $ */
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@ -36,7 +36,6 @@ DOS_InfoBlock dos_infoblock;
Bit8u dos_copybuf[0x10000]; Bit8u dos_copybuf[0x10000];
static Bitu call_20,call_21,call_25,call_26,call_27,call_28,call_29; static Bitu call_20,call_21,call_25,call_26,call_27,call_28,call_29;
static Bitu call_casemap;
void DOS_SetError(Bit16u code) { void DOS_SetError(Bit16u code) {
dos.errorcode=code; dos.errorcode=code;
@ -188,24 +187,19 @@ static Bitu DOS_21Handler(void) {
LOG(LOG_FCB,LOG_NORMAL)("DOS:0x10 FCB-fileclose used, result:al=%d",reg_al); LOG(LOG_FCB,LOG_NORMAL)("DOS:0x10 FCB-fileclose used, result:al=%d",reg_al);
break; break;
case 0x11: /* Find First Matching File using FCB */ case 0x11: /* Find First Matching File using FCB */
if(DOS_FCBFindFirst(SegValue(ds),reg_dx)){ if(DOS_FCBFindFirst(SegValue(ds),reg_dx)) reg_al = 0x00;
reg_al=0; else reg_al = 0xFF;
}else{
reg_al=0xff;
}
LOG(LOG_FCB,LOG_NORMAL)("DOS:0x11 FCB-FindFirst used, result:al=%d",reg_al); LOG(LOG_FCB,LOG_NORMAL)("DOS:0x11 FCB-FindFirst used, result:al=%d",reg_al);
break; break;
case 0x12: /* Find Next Matching File using FCB */ case 0x12: /* Find Next Matching File using FCB */
if(DOS_FCBFindNext(SegValue(ds),reg_dx)){ if(DOS_FCBFindNext(SegValue(ds),reg_dx)) reg_al = 0x00;
reg_al=0; else reg_al = 0xFF;
}else{
reg_al=0xff;
}
LOG(LOG_FCB,LOG_NORMAL)("DOS:0x12 FCB-FindNext used, result:al=%d",reg_al); LOG(LOG_FCB,LOG_NORMAL)("DOS:0x12 FCB-FindNext used, result:al=%d",reg_al);
break; break;
case 0x13: /* Delete File using FCB */ case 0x13: /* Delete File using FCB */
if (DOS_FCBDeleteFile(SegValue(ds),reg_dx)) reg_al = 0x00; if (DOS_FCBDeleteFile(SegValue(ds),reg_dx)) reg_al = 0x00;
else reg_al = 0xFF; else reg_al = 0xFF;
LOG(LOG_FCB,LOG_NORMAL)("DOS:0x16 FCB-Delete used, result:al=%d",reg_al);
break; break;
case 0x14: /* Sequential read from FCB */ case 0x14: /* Sequential read from FCB */
reg_al = DOS_FCBRead(SegValue(ds),reg_dx,0); reg_al = DOS_FCBRead(SegValue(ds),reg_dx,0);
@ -401,18 +395,8 @@ static Bitu DOS_21Handler(void) {
break; break;
case 0x38: /* Set Country Code */ case 0x38: /* Set Country Code */
if (reg_al==0) { /* Get country specidic information */ if (reg_al==0) { /* Get country specidic information */
PhysPt pt = SegPhys(ds)+reg_dx; PhysPt dest = SegPhys(ds)+reg_dx;
mem_writew(pt ,0x00); // USA MEM_BlockWrite(dest,dos.tables.country,0x22);
mem_writeb(pt+ 2, '$'); mem_writeb(pt+ 3,0x00);
mem_writeb(pt+ 7, '.'); mem_writeb(pt+ 8,0x00);
mem_writeb(pt+ 9, '.'); mem_writeb(pt+10,0x00);
mem_writeb(pt+11, '.'); mem_writeb(pt+12,0x00);
mem_writeb(pt+13, '.'); mem_writeb(pt+14,0x00);
mem_writeb(pt+15,0x01); // currency format
mem_writeb(pt+16,0x02); // num digits
mem_writeb(pt+17,0x00); // time format
mem_writed(pt+18,CALLBACK_RealPointer(call_casemap));
mem_writew(pt+22,0x00); // data list seperator
reg_bx = 0x01; reg_bx = 0x01;
CALLBACK_SCF(false); CALLBACK_SCF(false);
break; break;
@ -437,6 +421,7 @@ static Bitu DOS_21Handler(void) {
} else { } else {
reg_ax=dos.errorcode; reg_ax=dos.errorcode;
CALLBACK_SCF(true); CALLBACK_SCF(true);
LOG(LOG_MISC,LOG_NORMAL)("Remove dir failed on %s with error %X",name1,dos.errorcode);
} }
break; break;
case 0x3b: /* CHDIR Set current directory */ case 0x3b: /* CHDIR Set current directory */
@ -634,8 +619,7 @@ static Bitu DOS_21Handler(void) {
case 0x00: case 0x00:
reg_ax=0x4c00; /* Terminate Program */ reg_ax=0x4c00; /* Terminate Program */
case 0x4c: /* EXIT Terminate with return code */ case 0x4c: /* EXIT Terminate with return code */
{
{
if (DOS_Terminate(false)) { if (DOS_Terminate(false)) {
/* This can't ever return false normally */ /* This can't ever return false normally */
} else { } else {
@ -814,30 +798,25 @@ static Bitu DOS_21Handler(void) {
E_Exit("Unhandled Dos 21 call %02X",reg_ah); E_Exit("Unhandled Dos 21 call %02X",reg_ah);
break; break;
case 0x65: /* Get extented country information and a lot of other useless shit*/ case 0x65: /* Get extented country information and a lot of other useless shit*/
/* Todo maybe fully support this for now we set it standard for USA */ { /* Todo maybe fully support this for now we set it standard for USA */
{ LOG(LOG_DOSMISC,LOG_ERROR)("DOS:65:Extended country information call %X",reg_ax);
LOG(LOG_DOSMISC,LOG_ERROR)("DOS:65:Extended country information call"); if(reg_cx < 0x05 ) {
DOS_SetError(DOSERR_FUNCTION_NUMBER_INVALID);
CALLBACK_SCF(true);
break;
}
PhysPt data=SegPhys(es)+reg_di; PhysPt data=SegPhys(es)+reg_di;
switch (reg_al) { switch (reg_al) {
case 1: case 1:
mem_writeb(data,reg_al); mem_writeb(data + 0x00,reg_al);
mem_writew(data+0x01,0x1c); mem_writew(data + 0x01,0x26);
mem_writew(data+0x03,1); mem_writew(data + 0x03,1);
mem_writew(data+0x05,0x01b5); if(reg_cx > 0x06 ) mem_writew(data+0x05,0x01b5);
mem_writew(data+0x07,0x0000); // date format if(reg_cx > 0x08 ) {
mem_writeb(data+0x08,0x24); // currency symbol Bitu amount = (reg_cx>=0x29)?0x22:(reg_cx-7);
mem_writew(data+0x0a,0x0000); MEM_BlockWrite(data + 0x07,dos.tables.country,amount);
mem_writew(data+0x0c,0x0000); reg_cx=(reg_cx>=0x29)?0x29:reg_cx;
mem_writew(data+0x0e,0x002c); // thousands separator }
mem_writew(data+0x10,0x002e); // decimal separator
mem_writew(data+0x12,0x002d); // date separator
mem_writew(data+0x14,0x003a); // time separator
mem_writeb(data+0x16,0x00); // currency format
mem_writeb(data+0x17,0x02); // digits after decimal in currency
mem_writeb(data+0x18,0x00); // time format
mem_writed(data+0x19,CALLBACK_RealPointer(call_casemap));
mem_writew(data+0x1d,0x002c); // list separator
reg_cx=0x1f;
CALLBACK_SCF(false); CALLBACK_SCF(false);
break; break;
case 2: // Get pointer to uppercase table case 2: // Get pointer to uppercase table
@ -980,10 +959,6 @@ static Bitu DOS_29Handler(void) {
return CBRET_NONE; return CBRET_NONE;
} }
static Bitu DOS_CaseMapFunc(void) {
//LOG(LOG_DOSMISC,LOG_ERROR)("Case map routine called : %c",reg_al);
return CBRET_NONE;
};
void DOS_ShutDown(Section* sec) void DOS_ShutDown(Section* sec)
{ {
@ -1044,8 +1019,5 @@ void DOS_Init(Section* sec) {
/* shutdown function */ /* shutdown function */
sec->AddDestroyFunction(&DOS_ShutDown); sec->AddDestroyFunction(&DOS_ShutDown);
/* case map routine INT 0x21 0x38 */
call_casemap = CALLBACK_Allocate();
CALLBACK_Setup(call_casemap,DOS_CaseMapFunc,CB_RETF,"DOS CaseMap");
} }

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: dos_classes.cpp,v 1.41 2004/08/04 09:12:53 qbix79 Exp $ */ /* $Id: dos_classes.cpp,v 1.42 2004/10/17 14:45:00 qbix79 Exp $ */
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
@ -225,7 +225,7 @@ void DOS_PSP::CopyFileTable(DOS_PSP* srcpsp,bool createchildpsp)
Bit8u handle = srcpsp->GetFileHandle(i); Bit8u handle = srcpsp->GetFileHandle(i);
if(createchildpsp) if(createchildpsp)
{ //copy obeying not inherit flag.(but dont duplicate them) { //copy obeying not inherit flag.(but dont duplicate them)
bool allowCopy = (handle==0) || ((handle>0) && (FindEntryByHandle(handle)==0xff)); bool allowCopy = true;//(handle==0) || ((handle>0) && (FindEntryByHandle(handle)==0xff));
if((handle<DOS_FILES) && Files[handle] && !(Files[handle]->flags & DOS_NOT_INHERIT) && allowCopy) if((handle<DOS_FILES) && Files[handle] && !(Files[handle]->flags & DOS_NOT_INHERIT) && allowCopy)
{ {
Files[handle]->AddRef(); Files[handle]->AddRef();

View File

@ -16,6 +16,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: dos_devices.cpp,v 1.8 2004/10/25 21:08:47 qbix79 Exp $ */
#include <string.h> #include <string.h>
#include "dosbox.h" #include "dosbox.h"
#include "callback.h" #include "callback.h"
@ -24,19 +26,18 @@
#include "bios.h" #include "bios.h"
#include "dos_inc.h" #include "dos_inc.h"
#include "support.h" #include "support.h"
#include "drives.h" //Wildcmp
#define MAX_DEVICES 10
/* Include all the devices */ /* Include all the devices */
#include "dev_con.h" #include "dev_con.h"
static DOS_Device * devices[MAX_DEVICES]; DOS_Device * Devices[DOS_DEVICES];
static Bit32u device_count; static Bitu device_count;
class device_NUL : public DOS_Device { class device_NUL : public DOS_Device {
public: public:
device_NUL() { name="NUL"; }; device_NUL() { SetName("NUL"); };
bool Read(Bit8u * data,Bit16u * size) { bool Read(Bit8u * data,Bit16u * size) {
for(Bitu i = 0; i < *size;i++) for(Bitu i = 0; i < *size;i++)
data[i]=0; data[i]=0;
@ -52,38 +53,88 @@ public:
return true; return true;
} }
bool Close() { return true; } bool Close() { return true; }
Bit16u GetInformation(void) { return 0x8004; } Bit16u GetInformation(void) { return 0x8084; }
}; };
bool DOS_Device::Read(Bit8u * data,Bit16u * size) {
return Devices[devnum]->Read(data,size);
}
bool DOS_Device::Write(Bit8u * data,Bit16u * size) {
return Devices[devnum]->Write(data,size);
}
bool DOS_Device::Seek(Bit32u * pos,Bit32u type) {
return Devices[devnum]->Seek(pos,type);
}
bool DOS_Device::Close() {
return Devices[devnum]->Close();
}
Bit16u DOS_Device::GetInformation(void) {
return Devices[devnum]->GetInformation();
}
DOS_File::DOS_File(const DOS_File& orig) {
type=orig.type;
flags=orig.flags;
time=orig.time;
date=orig.date;
attr=orig.attr;
size=orig.size;
refCtr=orig.refCtr;
open=orig.open;
name=0;
if(orig.name) {
name=new char [strlen(orig.name) + 1];strcpy(name,orig.name);
}
}
DOS_File & DOS_File::operator= (const DOS_File & orig) {
type=orig.type;
flags=orig.flags;
time=orig.time;
date=orig.date;
attr=orig.attr;
size=orig.size;
refCtr=orig.refCtr;
open=orig.open;
if(name) {
delete [] name; name=0;
}
if(orig.name) {
name=new char [strlen(orig.name) + 1];strcpy(name,orig.name);
}
return *this;
}
Bit8u DOS_FindDevice(char * name) { Bit8u DOS_FindDevice(char * name) {
/* should only check for the names before the dot and spacepadded */
char temp[CROSS_LEN];//TODOD
if(!name || !(*name)) return DOS_DEVICES;
strcpy(temp,name);
char* dot= strrchr(temp,'.');
if(dot && *dot) dot=0; //no ext checking
/* loop through devices */ /* loop through devices */
Bit8u index=0; Bit8u index=0;
while (index<device_count) { while (index<device_count) {
if (devices[index]) { if (Devices[index]) {
if (strcasecmp(name,devices[index]->name)==0) return index; if (WildFileCmp(temp,Devices[index]->name)) return index;
} }
index++; index++;
} }
return 255; return DOS_DEVICES;
} }
void DOS_AddDevice(DOS_Device * adddev) { void DOS_AddDevice(DOS_Device * adddev) {
//TODO Give the Device a real handler in low memory that responds to calls //TODO Give the Device a real handler in low memory that responds to calls
if (device_count<MAX_DEVICES) { if (device_count<DOS_DEVICES) {
devices[device_count]=adddev; Devices[device_count]=adddev;
Devices[device_count]->SetDeviceNumber(device_count);
device_count++; device_count++;
/* Add the device in the main file Table */
Bit8u handle=DOS_FILES;Bit8u i;
for (i=0;i<DOS_FILES;i++) {
if (!Files[i]) {
handle=i;
Files[i]=adddev;
break;
}
}
if (handle==DOS_FILES) E_Exit("DOS:Not enough file handles for device");
adddev->fhandle=handle;
} else { } else {
E_Exit("DOS:Too many devices added"); E_Exit("DOS:Too many devices added");
} }
@ -94,7 +145,7 @@ void DOS_SetupDevices(void) {
DOS_Device * newdev; DOS_Device * newdev;
newdev=new device_CON(); newdev=new device_CON();
DOS_AddDevice(newdev); DOS_AddDevice(newdev);
DOS_Device * newdev2; DOS_Device * newdev2;
newdev2=new device_NUL(); newdev2=new device_NUL();
DOS_AddDevice(newdev2); DOS_AddDevice(newdev2);
} }

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: dos_files.cpp,v 1.57 2004/08/04 09:12:53 qbix79 Exp $ */ /* $Id: dos_files.cpp,v 1.59 2004/11/16 14:28:15 qbix79 Exp $ */
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
@ -57,7 +57,7 @@ bool DOS_MakeName(char * name,char * fullname,Bit8u * drive) {
DOS_SetError(DOSERR_FILE_NOT_FOUND); DOS_SetError(DOSERR_FILE_NOT_FOUND);
return false; return false;
} }
char tempdir[DOS_PATHLENGTH]; char tempdir[DOS_PATHLENGTH];
char upname[DOS_PATHLENGTH]; char upname[DOS_PATHLENGTH];
Bitu r,w; Bitu r,w;
@ -181,7 +181,6 @@ bool DOS_GetCurrentDir(Bit8u drive,char * buffer) {
} }
bool DOS_ChangeDir(char * dir) { bool DOS_ChangeDir(char * dir) {
Bit8u drive;char fulldir[DOS_PATHLENGTH]; Bit8u drive;char fulldir[DOS_PATHLENGTH];
if (!DOS_MakeName(dir,fulldir,&drive)) return false; if (!DOS_MakeName(dir,fulldir,&drive)) return false;
@ -201,9 +200,31 @@ bool DOS_MakeDir(char * dir) {
} }
bool DOS_RemoveDir(char * dir) { bool DOS_RemoveDir(char * dir) {
/* We need to do the test before the removal as can not rely on
* the host to forbid removal of the current directory.
* We never change directory. Everything happens in the drives.
*/
Bit8u drive;char fulldir[DOS_PATHLENGTH]; Bit8u drive;char fulldir[DOS_PATHLENGTH];
if (!DOS_MakeName(dir,fulldir,&drive)) return false; if (!DOS_MakeName(dir,fulldir,&drive)) return false;
return Drives[drive]->RemoveDir(fulldir); /* Check if exists */
if(!Drives[drive]->TestDir(fulldir)) {
DOS_SetError(DOSERR_PATH_NOT_FOUND);
return false;
}
/* See if it's current directory */
char currdir[DOS_PATHLENGTH]= { 0 };
DOS_GetCurrentDir(drive + 1 ,currdir);
if(strcmp(currdir,fulldir) == 0) {
DOS_SetError(DOSERR_REMOVE_CURRENT_DIRECTORY);
return false;
}
if(Drives[drive]->RemoveDir(fulldir)) return true;
/* Failed. We know it exists and it's not the current dir */
/* Assume non empty */
DOS_SetError(DOSERR_ACCESS_DENIED);
return false;
} }
bool DOS_Rename(char * oldname,char * newname) { bool DOS_Rename(char * oldname,char * newname) {
@ -232,7 +253,12 @@ bool DOS_FindFirst(char * search,Bit16u attr,bool fcb_findfirst) {
*find_last=0; *find_last=0;
strcpy(pattern,find_last+1); strcpy(pattern,find_last+1);
strcpy(dir,fullsearch); strcpy(dir,fullsearch);
} }
//check for devices. first part of filename before the dot
//can be the name of a device. like con.1
//if(findDevice(pattern) blah blah
// but leading subdirs must exist....
//
dta.SetupSearch(drive,(Bit8u)attr,pattern); dta.SetupSearch(drive,(Bit8u)attr,pattern);
if (Drives[drive]->FindFirst(dir,dta,fcb_findfirst)) return true; if (Drives[drive]->FindFirst(dir,dta,fcb_findfirst)) return true;
@ -315,15 +341,12 @@ bool DOS_CloseFile(Bit16u entry) {
DOS_SetError(DOSERR_INVALID_HANDLE); DOS_SetError(DOSERR_INVALID_HANDLE);
return false; return false;
}; };
/* Devices won't allow themselves to be closed or killed */ Files[handle]->Close();
if (Files[handle]->Close()) DOS_PSP psp(dos.psp());
{ //if close succesfull => delete file/update psp psp.SetFileHandle(entry,0xff);
DOS_PSP psp(dos.psp()); if (Files[handle]->RemoveRef()<=0) {
psp.SetFileHandle(entry,0xff); delete Files[handle];
if (Files[handle]->RemoveRef()<=0) { Files[handle]=0;
delete Files[handle];
Files[handle]=0;
}
} }
return true; return true;
} }
@ -331,9 +354,10 @@ bool DOS_CloseFile(Bit16u entry) {
bool DOS_CreateFile(char * name,Bit16u attributes,Bit16u * entry) { bool DOS_CreateFile(char * name,Bit16u attributes,Bit16u * entry) {
// Creation of a device is the same as opening it // Creation of a device is the same as opening it
// Tc201 installer // Tc201 installer
if (DOS_FindDevice(name) != 255) if (DOS_FindDevice(name) != DOS_DEVICES)
return DOS_OpenFile(name, 0, entry); return DOS_OpenFile(name, 0, entry);
LOG(LOG_FILES,LOG_NORMAL)("file create attributes %X file %s",attributes,name);
char fullname[DOS_PATHLENGTH];Bit8u drive; char fullname[DOS_PATHLENGTH];Bit8u drive;
DOS_PSP psp(dos.psp()); DOS_PSP psp(dos.psp());
if (!DOS_MakeName(name,fullname,&drive)) return false; if (!DOS_MakeName(name,fullname,&drive)) return false;
@ -370,7 +394,7 @@ bool DOS_OpenFile(char * name,Bit8u flags,Bit16u * entry) {
if (flags>2) LOG(LOG_FILES,LOG_ERROR)("Special file open command %X file %s",flags,name); if (flags>2) LOG(LOG_FILES,LOG_ERROR)("Special file open command %X file %s",flags,name);
else LOG(LOG_FILES,LOG_NORMAL)("file open command %X file %s",flags,name); else LOG(LOG_FILES,LOG_NORMAL)("file open command %X file %s",flags,name);
Bit16u attr; Bit16u attr = 0;
if(DOS_GetFileAttr(name,&attr)){ //DON'T ALLOW directories to be openened if(DOS_GetFileAttr(name,&attr)){ //DON'T ALLOW directories to be openened
if((attr & DOS_ATTR_DIRECTORY) || (attr & DOS_ATTR_VOLUME)){ if((attr & DOS_ATTR_DIRECTORY) || (attr & DOS_ATTR_VOLUME)){
DOS_SetError(DOSERR_ACCESS_DENIED); DOS_SetError(DOSERR_ACCESS_DENIED);
@ -379,40 +403,39 @@ bool DOS_OpenFile(char * name,Bit8u flags,Bit16u * entry) {
} }
DOS_PSP psp(dos.psp()); DOS_PSP psp(dos.psp());
Bit8u handle=DOS_FindDevice((char *)name); Bit8u devnum=DOS_DEVICES;
bool device=false;char fullname[DOS_PATHLENGTH];Bit8u drive;Bit8u i; devnum=DOS_FindDevice((char *)name);
if (handle!=255) { bool device=(devnum!=DOS_DEVICES);
device=true; char fullname[DOS_PATHLENGTH];Bit8u drive;Bit8u i;
} else {
/* First check if the name is correct */ /* First check if the name is correct */
if (!DOS_MakeName(name,fullname,&drive)) return false; if (!DOS_MakeName(name,fullname,&drive)) return false;
Bit8u handle=255;
/* Check for a free file handle */ /* Check for a free file handle */
for (i=0;i<DOS_FILES;i++) { for (i=0;i<DOS_FILES;i++) {
if (!Files[i]) { if (!Files[i]) {
handle=i; handle=i;
break; break;
}
}
if (handle==255) {
DOS_SetError(DOSERR_TOO_MANY_OPEN_FILES);
return false;
} }
} }
if (handle==255) {
DOS_SetError(DOSERR_TOO_MANY_OPEN_FILES);
return false;
}
/* We have a position in the main table now find one in the psp table */ /* We have a position in the main table now find one in the psp table */
*entry = psp.FindFreeFileEntry(); *entry = psp.FindFreeFileEntry();
if (*entry==0xff) { if (*entry==0xff) {
DOS_SetError(DOSERR_TOO_MANY_OPEN_FILES); DOS_SetError(DOSERR_TOO_MANY_OPEN_FILES);
return false; return false;
} }
bool exists=false; bool exists=false;
if (!device) exists=Drives[drive]->FileOpen(&Files[handle],fullname,flags); if (device) {
Files[handle]=new DOS_Device(*Devices[devnum]);
} else {
exists=Drives[drive]->FileOpen(&Files[handle],fullname,flags);
}
if (exists || device ) { if (exists || device ) {
// devices can only be opened once
if (device && (psp.FindEntryByHandle(handle)!=0xff)) {
*entry=psp.FindEntryByHandle(handle);
return true;
}
Files[handle]->AddRef(); Files[handle]->AddRef();
psp.SetFileHandle(*entry,handle); psp.SetFileHandle(*entry,handle);
return true; return true;
@ -451,7 +474,12 @@ bool DOS_OpenFileExtended(char *name, Bit16u flags, Bit16u createAttr, Bit16u ac
bool DOS_UnlinkFile(char * name) { bool DOS_UnlinkFile(char * name) {
char fullname[DOS_PATHLENGTH];Bit8u drive; char fullname[DOS_PATHLENGTH];Bit8u drive;
if (!DOS_MakeName(name,fullname,&drive)) return false; if (!DOS_MakeName(name,fullname,&drive)) return false;
return Drives[drive]->FileUnlink(fullname); if(Drives[drive]->FileUnlink(fullname)){
return true;
} else {
DOS_SetError(DOSERR_FILE_NOT_FOUND);
return false;
}
} }
bool DOS_GetFileAttr(char * name,Bit16u * attr) { bool DOS_GetFileAttr(char * name,Bit16u * attr) {
@ -503,13 +531,12 @@ bool DOS_GetFreeDiskSpace(Bit8u drive,Bit16u * bytes,Bit8u * sectors,Bit16u * cl
} }
bool DOS_DuplicateEntry(Bit16u entry,Bit16u * newentry) { bool DOS_DuplicateEntry(Bit16u entry,Bit16u * newentry) {
// Dont duplicate console handles // Dont duplicate console handles
if (entry<=STDPRN) { /* if (entry<=STDPRN) {
*newentry = entry; *newentry = entry;
return true; return true;
}; };
*/
Bit8u handle=RealHandle(entry); Bit8u handle=RealHandle(entry);
if (handle>=DOS_FILES) { if (handle>=DOS_FILES) {
DOS_SetError(DOSERR_INVALID_HANDLE); DOS_SetError(DOSERR_INVALID_HANDLE);
@ -531,13 +558,12 @@ bool DOS_DuplicateEntry(Bit16u entry,Bit16u * newentry) {
}; };
bool DOS_ForceDuplicateEntry(Bit16u entry,Bit16u newentry) { bool DOS_ForceDuplicateEntry(Bit16u entry,Bit16u newentry) {
// Dont duplicate console handles // Dont duplicate console handles
if (entry<=STDPRN) { /* if (entry<=STDPRN) {
newentry = entry; newentry = entry;
return true; return true;
}; };
*/
Bit8u orig=RealHandle(entry); Bit8u orig=RealHandle(entry);
if (orig>=DOS_FILES) { if (orig>=DOS_FILES) {
DOS_SetError(DOSERR_INVALID_HANDLE); DOS_SetError(DOSERR_INVALID_HANDLE);
@ -912,10 +938,25 @@ bool DOS_FCBGetFileSize(Bit16u seg,Bit16u offset,Bit16u numRec) {
} }
bool DOS_FCBDeleteFile(Bit16u seg,Bit16u offset){ bool DOS_FCBDeleteFile(Bit16u seg,Bit16u offset){
DOS_FCB fcb(seg,offset); /* FCB DELETE honours wildcards. it will return true if one or more
char shortname[DOS_FCBNAME]; * files get deleted.
fcb.GetName(shortname); * To get this: the dta is set to temporary dta in which found files are
return DOS_UnlinkFile(shortname); * stored. This can not be the tempdta as that one is used by fcbfindfirst
*/
RealPt old_dta=dos.dta();dos.dta(dos.tables.tempdta_fcbdelete);
DOS_FCB fcb(RealSeg(dos.dta()),RealOff(dos.dta()));
bool nextfile = false;
bool return_value = false;
nextfile = DOS_FCBFindFirst(seg,offset);
while(nextfile) {
char shortname[DOS_FCBNAME] = { 0 };
fcb.GetName(shortname);
bool res=DOS_UnlinkFile(shortname);
if(!return_value && res) return_value = true; //at least one file deleted
nextfile = DOS_FCBFindNext(seg,offset);
}
dos.dta(old_dta); /*Restore dta */
return return_value;
} }
bool DOS_FCBRenameFile(Bit16u seg, Bit16u offset){ bool DOS_FCBRenameFile(Bit16u seg, Bit16u offset){

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: dos_ioctl.cpp,v 1.20 2004/08/04 09:12:53 qbix79 Exp $ */ /* $Id: dos_ioctl.cpp,v 1.21 2004/11/03 23:13:54 qbix79 Exp $ */
#include <string.h> #include <string.h>
#include "dosbox.h" #include "dosbox.h"
@ -41,8 +41,9 @@ bool DOS_IOCTL(void) {
switch(reg_al) { switch(reg_al) {
case 0x00: /* Get Device Information */ case 0x00: /* Get Device Information */
reg_dx=Files[handle]->GetInformation(); reg_dx=Files[handle]->GetInformation();
reg_ax=reg_dx; //Destroyed officially
return true; return true;
case 0x06: /* Get Input Status */ case 0x06: /* Get Input Status */
if (Files[handle]->GetInformation() & 0x8000) { //Check for device if (Files[handle]->GetInformation() & 0x8000) { //Check for device
reg_al=(Files[handle]->GetInformation() & 0x40) ? 0x0 : 0xff; reg_al=(Files[handle]->GetInformation() & 0x40) ? 0x0 : 0xff;
} else { // FILE } else { // FILE
@ -67,8 +68,11 @@ bool DOS_IOCTL(void) {
case 0x08: /* Check if block device removable */ case 0x08: /* Check if block device removable */
drive=reg_bl;if (!drive) drive=dos.current_drive;else drive--; drive=reg_bl;if (!drive) drive=dos.current_drive;else drive--;
if (Drives[drive]) { if (Drives[drive]) {
if (drive<2) reg_ax=0; /* Drive a,b are removable if mounted */ /* Drive a,b are removable if mounted *
else reg_ax=1; * So are cdrom drives */
if (drive < 2 || Drives[drive]->isRemovable())
reg_ax=0;
else reg_ax=1;
return true; return true;
} else { } else {
DOS_SetError(DOSERR_INVALID_DRIVE); DOS_SetError(DOSERR_INVALID_DRIVE);

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: dos_mscdex.cpp,v 1.24 2004/08/13 19:43:02 qbix79 Exp $ */ /* $Id: dos_mscdex.cpp,v 1.26 2004/10/17 14:45:00 qbix79 Exp $ */
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
@ -486,7 +486,7 @@ bool CMscdex::GetVolumeName(Bit8u subUnit, char* data)
rtrim(data); rtrim(data);
}; };
DOS_FreeMemory(seg); DOS_FreeMemory(seg);
} } else { LOG(LOG_MISC,LOG_ERROR)("MSCDEX buffer allocation failed."); };
return success; return success;
}; };
@ -502,7 +502,7 @@ bool CMscdex::GetCopyrightName(Bit16u drive, PhysPt data)
mem_writeb(data+37,0); mem_writeb(data+37,0);
}; };
DOS_FreeMemory(seg); DOS_FreeMemory(seg);
} } else { LOG(LOG_MISC,LOG_ERROR)("MSCDEX buffer allocation failed."); };
return success; return success;
}; };
@ -518,7 +518,7 @@ bool CMscdex::GetAbstractName(Bit16u drive, PhysPt data)
mem_writeb(data+37,0); mem_writeb(data+37,0);
}; };
DOS_FreeMemory(seg); DOS_FreeMemory(seg);
} } else { LOG(LOG_MISC,LOG_ERROR)("MSCDEX buffer allocation failed."); };
return success; return success;
}; };
@ -534,7 +534,7 @@ bool CMscdex::GetDocumentationName(Bit16u drive, PhysPt data)
mem_writeb(data+37,0); mem_writeb(data+37,0);
}; };
DOS_FreeMemory(seg); DOS_FreeMemory(seg);
} } else { LOG(LOG_MISC,LOG_ERROR)("MSCDEX buffer allocation failed."); };
return success; return success;
}; };
@ -1005,7 +1005,7 @@ static bool MSCDEX_Handler(void)
class device_MSCDEX : public DOS_Device { class device_MSCDEX : public DOS_Device {
public: public:
device_MSCDEX() { name="MSCD001"; } device_MSCDEX() { SetName("MSCD001"); }
bool Read (Bit8u * data,Bit16u * size) { return false;} bool Read (Bit8u * data,Bit16u * size) { return false;}
bool Write(Bit8u * data,Bit16u * size) { bool Write(Bit8u * data,Bit16u * size) {
LOG(LOG_ALL,LOG_NORMAL)("Write to mscdex device"); LOG(LOG_ALL,LOG_NORMAL)("Write to mscdex device");

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: dos_programs.cpp,v 1.30 2004/09/16 22:05:24 qbix79 Exp $ */ /* $Id: dos_programs.cpp,v 1.33 2004/11/13 12:08:43 qbix79 Exp $ */
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -41,7 +41,32 @@ public:
{ {
DOS_Drive * newdrive;char drive; DOS_Drive * newdrive;char drive;
std::string label; std::string label;
std::string umount;
/* Check for unmounting */
if (cmd->FindString("-u",umount,false)) {
umount[0] = toupper(umount[0]);
int drive = umount[0]-'A';
if(drive < DOS_DRIVES && Drives[drive]) {
if(drive == DOS_GetDefaultDrive()) {
WriteOut(MSG_Get("PROGRAM_MOUNT_UMOUNT_CURRENT"));
return;
}
try { /* Check if virtualdrive */
if( dynamic_cast<localDrive*>(Drives[drive]) == 0 ) throw 0;
}
catch(...) {
WriteOut(MSG_Get("PROGRAM_MOUNT_UMOUNT_NO_VIRTUAL"));
return;
}
WriteOut(MSG_Get("PROGRAM_MOUNT_UMOUNT_SUCCES"),umount[0]);
delete Drives[drive];
Drives[drive] = 0;
} else {
WriteOut(MSG_Get("PROGRAM_MOUNT_UMOUNT_NOT_MOUNTED"),umount[0]);
}
return;
}
// Show list of cdroms // Show list of cdroms
if (cmd->FindExist("-cd",false)) { if (cmd->FindExist("-cd",false)) {
int num = SDL_CDNumDrives(); int num = SDL_CDNumDrives();
@ -105,7 +130,7 @@ public:
} }
number[index]=0;sizes[count++]=atoi(number); number[index]=0;sizes[count++]=atoi(number);
// get the drive letter // get the drive letter
cmd->FindCommand(1,temp_line); cmd->FindCommand(1,temp_line);
if ((temp_line.size() > 2) || ((temp_line.size()>1) && (temp_line[1]!=':'))) goto showusage; if ((temp_line.size() > 2) || ((temp_line.size()>1) && (temp_line[1]!=':'))) goto showusage;
drive=toupper(temp_line[0]); drive=toupper(temp_line[0]);
@ -113,6 +138,10 @@ public:
if (!cmd->FindCommand(2,temp_line)) goto showusage; if (!cmd->FindCommand(2,temp_line)) goto showusage;
if (!temp_line.size()) goto showusage; if (!temp_line.size()) goto showusage;
#if defined (WIN32)
/* Removing trailing backslash if not root dir so stat will succeed */
if(temp_line.size() > 3 && temp_line[temp_line.size()-1]=='\\') temp_line.erase(temp_line.size()-1,1);
#endif
struct stat test; struct stat test;
if (stat(temp_line.c_str(),&test)) { if (stat(temp_line.c_str(),&test)) {
WriteOut(MSG_Get("PROGRAM_MOUNT_ERROR_1"),temp_line.c_str()); WriteOut(MSG_Get("PROGRAM_MOUNT_ERROR_1"),temp_line.c_str());
@ -160,8 +189,8 @@ public:
/* Set the correct media byte in the table */ /* Set the correct media byte in the table */
mem_writeb(Real2Phys(dos.tables.mediaid)+drive-'A',newdrive->GetMediaByte()); mem_writeb(Real2Phys(dos.tables.mediaid)+drive-'A',newdrive->GetMediaByte());
WriteOut(MSG_Get("PROGRAM_MOUNT_STATUS_2"),drive,newdrive->GetInfo()); WriteOut(MSG_Get("PROGRAM_MOUNT_STATUS_2"),drive,newdrive->GetInfo());
/* check if volume label is given */ /* check if volume label is given and don't allow it to updated in the future */
if (cmd->FindString("-label",label,true)) newdrive->dirCache.SetLabel(label.c_str()); if (cmd->FindString("-label",label,true)) newdrive->dirCache.SetLabel(label.c_str(),false);
return; return;
showusage: showusage:
WriteOut(MSG_Get("PROGRAM_MOUNT_USAGE")); WriteOut(MSG_Get("PROGRAM_MOUNT_USAGE"));
@ -657,7 +686,11 @@ void DOS_SetupPrograms(void) {
MSG_Add("PROGRAM_MOUNT_ILL_TYPE","Illegal type %s\n"); MSG_Add("PROGRAM_MOUNT_ILL_TYPE","Illegal type %s\n");
MSG_Add("PROGRAM_MOUNT_ALLREADY_MOUNTED","Drive %c already mounted with %s\n"); MSG_Add("PROGRAM_MOUNT_ALLREADY_MOUNTED","Drive %c already mounted with %s\n");
MSG_Add("PROGRAM_MOUNT_USAGE","Usage \033[34;1mMOUNT Drive-Letter Local-Directory\033[0m\nSo a MOUNT c c:\\windows mounts windows directory as the c: drive in DOSBox\n"); MSG_Add("PROGRAM_MOUNT_USAGE","Usage \033[34;1mMOUNT Drive-Letter Local-Directory\033[0m\nSo a MOUNT c c:\\windows mounts windows directory as the c: drive in DOSBox\n");
MSG_Add("PROGRAM_MOUNT_UMOUNT_CURRENT","You can not unMOUNT the active drive.\n");
MSG_Add("PROGRAM_MOUNT_UMOUNT_NOT_MOUNTED","Drive %c isn't mounted.\n");
MSG_Add("PROGRAM_MOUNT_UMOUNT_SUCCES","Drive %c has succesfully been removed.\n");
MSG_Add("PROGRAM_MOUNT_UMOUNT_NO_VIRTUAL","Virtual Drives can not be unMOUNTed.\n");
MSG_Add("PROGRAM_MEM_CONVEN","%10d Kb free conventional memory\n"); MSG_Add("PROGRAM_MEM_CONVEN","%10d Kb free conventional memory\n");
MSG_Add("PROGRAM_MEM_EXTEND","%10d Kb free extended memory\n"); MSG_Add("PROGRAM_MEM_EXTEND","%10d Kb free extended memory\n");
MSG_Add("PROGRAM_MEM_EXPAND","%10d Kb free expanded memory\n"); MSG_Add("PROGRAM_MEM_EXPAND","%10d Kb free expanded memory\n");
@ -707,24 +740,24 @@ void DOS_SetupPrograms(void) {
"The \033[33mbasic\033[0m level works on all CD-ROM drives and normal directories.\n" "The \033[33mbasic\033[0m level works on all CD-ROM drives and normal directories.\n"
"It installs MSCDEX and marks the files read-only.\n" "It installs MSCDEX and marks the files read-only.\n"
"Usually this is enough for most games:\n" "Usually this is enough for most games:\n"
"\033[34;1mmount d D:\\ -t cdrom\033[0m or \033[34;1mmount d C:\\example -t cdrom\033[0m\n" "\033[34;1mmount d \033[0;31mD:\\\033[34;1m -t cdrom\033[0m or \033[34;1mmount d C:\\example -t cdrom\033[0m\n"
"If it doesn't work you might have to tell DOSBox the label of the CD-ROM:\n" "If it doesn't work you might have to tell DOSBox the label of the CD-ROM:\n"
"\033[34;1mmount d C:\\example -t cdrom -label CDLABEL\033[0m\n" "\033[34;1mmount d C:\\example -t cdrom -label CDLABEL\033[0m\n"
"\n" "\n"
"The \033[33mnext\033[0m level adds some low-level support.\n" "The \033[33mnext\033[0m level adds some low-level support.\n"
"Therefore only works on CD-ROM drives:\n" "Therefore only works on CD-ROM drives:\n"
"\033[34;1mmount d D:\\ -t cdrom -usecd \033[33m0\033[0m\n" "\033[34;1mmount d \033[0;31mD:\\\033[34;1m -t cdrom -usecd \033[33m0\033[0m\n"
"\n" "\n"
"The \033[33mlast\033[0m level of support depends on your Operating System:\n" "The \033[33mlast\033[0m level of support depends on your Operating System:\n"
"For \033[1mWindows 2000\033[0m, \033[1mWindows XP\033[0m and \033[1mLinux\033[0m:\n" "For \033[1mWindows 2000\033[0m, \033[1mWindows XP\033[0m and \033[1mLinux\033[0m:\n"
"\033[34;1mmount d D:\\ -t cdrom -usecd \033[33m0 \033[34m-ioctl\033[0m\n" "\033[34;1mmount d \033[0;31mD:\\\033[34;1m -t cdrom -usecd \033[33m0 \033[34m-ioctl\033[0m\n"
"For \033[1mWindows 9x\033[0m with a ASPI layer installed:\n" "For \033[1mWindows 9x\033[0m with a ASPI layer installed:\n"
"\033[34;1mmount d D:\\ -t cdrom -usecd \033[33m0 \033[34m-aspi\033[0m\n" "\033[34;1mmount d \033[0;31mD:\\\033[34;1m -t cdrom -usecd \033[33m0 \033[34m-aspi\033[0m\n"
"\n" "\n"
"Replace \033[0;31mD:\\\033[0m with the location of your CD-ROM.\n"
"Replace the \033[33;1m0\033[0m in \033[34;1m-usecd \033[33m0\033[0m with the number reported for your CD-ROM if you type:\n" "Replace the \033[33;1m0\033[0m in \033[34;1m-usecd \033[33m0\033[0m with the number reported for your CD-ROM if you type:\n"
"\033[34;1mmount -cd\033[0m" "\033[34;1mmount -cd\033[0m"
); );
MSG_Add("PROGRAM_BOOT_NOT_EXIST","Bootdisk file does not exist. Failing.\n"); MSG_Add("PROGRAM_BOOT_NOT_EXIST","Bootdisk file does not exist. Failing.\n");
MSG_Add("PROGRAM_BOOT_NOT_OPEN","Cannot open bootdisk file. Failing.\n"); MSG_Add("PROGRAM_BOOT_NOT_OPEN","Cannot open bootdisk file. Failing.\n");
MSG_Add("PROGRAM_BOOT_PRINT_ERROR","This command boots DosBox from either a floppy or hard disk image.\n\n" MSG_Add("PROGRAM_BOOT_PRINT_ERROR","This command boots DosBox from either a floppy or hard disk image.\n\n"

View File

@ -16,11 +16,12 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: dos_tables.cpp,v 1.15 2004/09/21 20:04:55 qbix79 Exp $ */ /* $Id: dos_tables.cpp,v 1.17 2004/11/16 14:28:16 qbix79 Exp $ */
#include "dosbox.h" #include "dosbox.h"
#include "mem.h" #include "mem.h"
#include "dos_inc.h" #include "dos_inc.h"
#include "callback.h"
#ifdef _MSC_VER #ifdef _MSC_VER
#pragma pack(1) #pragma pack(1)
@ -37,6 +38,8 @@ GCC_ATTRIBUTE (packed);
RealPt DOS_TableUpCase; RealPt DOS_TableUpCase;
RealPt DOS_TableLowCase; RealPt DOS_TableLowCase;
static Bitu call_casemap;
static Bit16u dos_memseg; static Bit16u dos_memseg;
Bit16u sdaseg; Bit16u sdaseg;
@ -49,12 +52,33 @@ Bit16u DOS_GetMemory(Bit16u pages) {
return page; return page;
} }
static Bitu DOS_CaseMapFunc(void) {
//LOG(LOG_DOSMISC,LOG_ERROR)("Case map routine called : %c",reg_al);
return CBRET_NONE;
}
static Bit8u country_info[0x22] = {
/* Date format */ 0x00, 0x00,
/* Currencystring */ 0x24, 0x00, 0x00, 0x00, 0x00,
/* Thousands sep */ 0x2c, 0x00,
/* Decimal sep */ 0x2e, 0x00,
/* Date sep */ 0x2d, 0x00,
/* time sep */ 0x3a, 0x00,
/* currency form */ 0x00,
/* digits after dec */ 0x02,
/* Time format */ 0x00,
/* Casemap */ 0x00, 0x00, 0x00, 0x00,
/* Data sep */ 0x2c, 0x00,
/* Reservered 5 */ 0x00, 0x00, 0x00, 0x00, 0x00,
/* Reservered 5 */ 0x00, 0x00, 0x00, 0x00, 0x00
};
void DOS_SetupTables(void) { void DOS_SetupTables(void) {
dos_memseg=0xd000; dos_memseg=0xd000;
Bit16u seg,seg2;Bitu i; Bit16u seg,seg2;Bitu i;
dos.tables.mediaid=RealMake(DOS_GetMemory(2),0); dos.tables.mediaid=RealMake(DOS_GetMemory(2),0);
dos.tables.tempdta=RealMake(DOS_GetMemory(4),0); dos.tables.tempdta=RealMake(DOS_GetMemory(4),0);
dos.tables.tempdta_fcbdelete=RealMake(DOS_GetMemory(4),0);
for (i=0;i<DOS_DRIVES;i++) mem_writeb(Real2Phys(dos.tables.mediaid)+i,0); for (i=0;i<DOS_DRIVES;i++) mem_writeb(Real2Phys(dos.tables.mediaid)+i,0);
/* Create the DOS Info Block */ /* Create the DOS Info Block */
dos_infoblock.SetLocation(0x50); //c2woody dos_infoblock.SetLocation(0x50); //c2woody
@ -114,5 +138,11 @@ void DOS_SetupTables(void) {
/* Set buffers to a nice value */ /* Set buffers to a nice value */
dos_infoblock.SetBuffers(50,50); dos_infoblock.SetBuffers(50,50);
/* case map routine INT 0x21 0x38 */
call_casemap = CALLBACK_Allocate();
CALLBACK_Setup(call_casemap,DOS_CaseMapFunc,CB_RETF,"DOS CaseMap");
/* Add it to country structure */
host_writed(country_info + 0x12, CALLBACK_RealPointer(call_casemap));
dos.tables.country=country_info;
} }

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: drive_cache.cpp,v 1.38 2004/09/15 14:00:13 qbix79 Exp $ */ /* $Id: drive_cache.cpp,v 1.40 2004/11/13 12:08:43 qbix79 Exp $ */
#include "drives.h" #include "drives.h"
#include "dos_inc.h" #include "dos_inc.h"
@ -69,6 +69,7 @@ DOS_Drive_Cache::DOS_Drive_Cache(void)
nextFreeFindFirst = 0; nextFreeFindFirst = 0;
for (Bit32u i=0; i<MAX_OPENDIRS; i++) { dirSearch[i] = 0; free[i] = true; dirFindFirst[i] = 0; }; for (Bit32u i=0; i<MAX_OPENDIRS; i++) { dirSearch[i] = 0; free[i] = true; dirFindFirst[i] = 0; };
SetDirSort(DIRALPHABETICAL); SetDirSort(DIRALPHABETICAL);
updatelabel = true;
}; };
DOS_Drive_Cache::DOS_Drive_Cache(const char* path) DOS_Drive_Cache::DOS_Drive_Cache(const char* path)
@ -81,6 +82,7 @@ DOS_Drive_Cache::DOS_Drive_Cache(const char* path)
for (Bit32u i=0; i<MAX_OPENDIRS; i++) { dirSearch[i] = 0; free[i] = true; dirFindFirst[i] = 0; }; for (Bit32u i=0; i<MAX_OPENDIRS; i++) { dirSearch[i] = 0; free[i] = true; dirFindFirst[i] = 0; };
SetDirSort(DIRALPHABETICAL); SetDirSort(DIRALPHABETICAL);
SetBaseDir(path); SetBaseDir(path);
updatelabel = true;
}; };
DOS_Drive_Cache::~DOS_Drive_Cache(void) DOS_Drive_Cache::~DOS_Drive_Cache(void)
@ -107,8 +109,14 @@ void DOS_Drive_Cache::EmptyCache(void)
SetBaseDir(basePath); SetBaseDir(basePath);
}; };
void DOS_Drive_Cache::SetLabel(const char* vname) void DOS_Drive_Cache::SetLabel(const char* vname,bool allowupdate)
{ {
/* allowupdate defaults to true. if mount sets a label then allowupdate is
* false and will this function return at once after the first call.
* The label will be set at the first call. */
if(!this->updatelabel) return;
this->updatelabel = allowupdate;
Bitu togo = 8; Bitu togo = 8;
Bitu vnamePos = 0; Bitu vnamePos = 0;
Bitu labelPos = 0; Bitu labelPos = 0;
@ -125,7 +133,10 @@ void DOS_Drive_Cache::SetLabel(const char* vname)
} }
}; };
label[labelPos]=0; label[labelPos]=0;
// LOG(LOG_ALL,LOG_ERROR)("CACHE: Set volume label to %s",label); //Remove trailing dot.
if((labelPos > 0) && (label[labelPos-1] == '.'))
label[labelPos-1]=0;
LOG(LOG_DOSMISC,LOG_NORMAL)("DIRCACHE: Set volume label to %s",label);
}; };
Bit16u DOS_Drive_Cache::GetFreeID(CFileInfo* dir) Bit16u DOS_Drive_Cache::GetFreeID(CFileInfo* dir)
@ -145,10 +156,13 @@ void DOS_Drive_Cache::SetBaseDir(const char* baseDir)
}; };
// Get Volume Label // Get Volume Label
#if defined (WIN32) #if defined (WIN32)
char label[256]; char labellocal[256]={ 0 };
char drive[4] = "C:\\"; char drive[4] = "C:\\";
drive[0] = basePath[0]; drive[0] = basePath[0];
if (GetVolumeInformation(drive,label,256,NULL,NULL,NULL,NULL,0)) SetLabel(label); if (GetVolumeInformation(drive,labellocal,256,NULL,NULL,NULL,NULL,0)) {
/* Set label and allow being updated */
SetLabel(labellocal,true);
}
#endif #endif
}; };

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: drive_fat.cpp,v 1.5 2004/09/05 14:23:04 qbix79 Exp $ */ /* $Id: drive_fat.cpp,v 1.6 2004/11/03 23:13:54 qbix79 Exp $ */
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@ -698,7 +698,8 @@ Bit32u fatDrive::getFirstFreeClust(void) {
} }
bool fatDrive::isRemote(void) { return false; } bool fatDrive::isRemote(void) { return false; }
bool fatDrive::isRemovable(void) { return false; }
Bit8u fatDrive::GetMediaByte(void) { return loadedDisk->GetBiosType(); } Bit8u fatDrive::GetMediaByte(void) { return loadedDisk->GetBiosType(); }

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: drive_iso.cpp,v 1.1 2004/08/13 19:43:02 qbix79 Exp $ */ /* $Id: drive_iso.cpp,v 1.4 2004/11/03 23:13:55 qbix79 Exp $ */
#include <cctype> #include <cctype>
#include <cstring> #include <cstring>
@ -152,7 +152,29 @@ isoDrive::isoDrive(char driveLetter, const char *fileName, Bit8u mediaid, int &e
searchCache.clear(); searchCache.clear();
dirIter = searchCache.end(); dirIter = searchCache.end();
this->mediaid = mediaid; this->mediaid = mediaid;
if (!MSCDEX_GetVolumeName(subUnit, discLabel)) strcpy(discLabel, ""); char buffer[32] = { 0 };
if (!MSCDEX_GetVolumeName(subUnit, buffer)) strcpy(buffer, "");
//Code Copied from drive_cache. (convert mscdex label to a dos 8.3 file)
Bitu togo = 8;
Bitu bufPos = 0;
Bitu labelPos = 0;
bool point = false;
while (togo>0) {
if (buffer[bufPos]==0) break;
if (!point && (buffer[bufPos]=='.')) { togo=4; point=true; }
discLabel[labelPos] = toupper(buffer[bufPos]);
labelPos++; bufPos++;
togo--;
if ((togo==0) && !point) {
if (buffer[bufPos]=='.') bufPos++;
discLabel[labelPos]='.'; labelPos++; point=true; togo=3;
}
};
discLabel[labelPos]=0;
//Remove trailing dot.
if((labelPos > 0) && (discLabel[labelPos - 1] == '.'))
discLabel[labelPos - 1] = 0;
} else error = 6; } else error = 6;
} }
} }
@ -228,8 +250,8 @@ bool isoDrive::FindFirst(char *dir, DOS_DTA &dta, bool fcb_findfirst)
Bit8u block[ISO_FRAMESIZE]; Bit8u block[ISO_FRAMESIZE];
readSector(block, sector); readSector(block, sector);
Bit32u pos = 0; Bit32u pos = 0;
while (pos < ISO_FRAMESIZE && block[pos] != 0) { while (pos < ISO_FRAMESIZE && block[pos] != 0 && (pos + block[pos]) <= ISO_FRAMESIZE) {
isoDirEntry tmp; isoDirEntry tmp;
int length = readDirEntry(&tmp, &block[pos]); int length = readDirEntry(&tmp, &block[pos]);
if (length < 0) return false; if (length < 0) return false;
@ -345,6 +367,11 @@ bool isoDrive::isRemote(void)
return true; return true;
} }
bool isoDrive::isRemovable(void)
{
return true;
}
inline bool isoDrive :: readSector(Bit8u *buffer, Bit32u sector) inline bool isoDrive :: readSector(Bit8u *buffer, Bit32u sector)
{ {
return CDROM_Interface_Image::images[subUnit]->ReadSector(buffer, false, sector); return CDROM_Interface_Image::images[subUnit]->ReadSector(buffer, false, sector);
@ -353,6 +380,7 @@ inline bool isoDrive :: readSector(Bit8u *buffer, Bit32u sector)
int isoDrive :: readDirEntry(isoDirEntry *de, Bit8u *data) int isoDrive :: readDirEntry(isoDirEntry *de, Bit8u *data)
{ {
// copy data into isoDirEntry struct, data[0] = length of DirEntry // copy data into isoDirEntry struct, data[0] = length of DirEntry
if (data[0] > sizeof(isoDirEntry)) return -1;
memcpy(de, data, data[0]); memcpy(de, data, data[0]);
// xa not supported // xa not supported
@ -361,6 +389,7 @@ int isoDrive :: readDirEntry(isoDirEntry *de, Bit8u *data)
if (de->fileUnitSize != 0 || de->interleaveGapSize != 0) return -1; if (de->fileUnitSize != 0 || de->interleaveGapSize != 0) return -1;
// modify file identifier for use with dosbox // modify file identifier for use with dosbox
if ((de->length < 33 + de->fileIdentLength)) return -1;
if (IS_DIR(de->fileFlags)) { if (IS_DIR(de->fileFlags)) {
if (de->fileIdentLength == 1 && de->ident[0] == 0) strcpy((char*)de->ident, "."); if (de->fileIdentLength == 1 && de->ident[0] == 0) strcpy((char*)de->ident, ".");
else if (de->fileIdentLength == 1 && de->ident[0] == 1) strcpy((char*)de->ident, ".."); else if (de->fileIdentLength == 1 && de->ident[0] == 1) strcpy((char*)de->ident, "..");
@ -398,7 +427,7 @@ bool isoDrive :: lookupSingle(isoDirEntry *de, const char *name, Bit32u start, B
if (!readSector(sector, i)) return false; if (!readSector(sector, i)) return false;
int pos = 0; int pos = 0;
while (sector[pos] != 0 && pos < ISO_FRAMESIZE) { while (pos < ISO_FRAMESIZE && sector[pos] != 0 && (pos + sector[pos]) <= ISO_FRAMESIZE) {
int deLength = readDirEntry(de, &sector[pos]); int deLength = readDirEntry(de, &sector[pos]);
if (deLength < 1) return false; if (deLength < 1) return false;
pos += deLength; pos += deLength;
@ -423,6 +452,8 @@ bool isoDrive :: lookup(isoDirEntry *de, const char *path)
while (isoPath[pos] != 0) { while (isoPath[pos] != 0) {
if (isoPath[pos] == '/') { if (isoPath[pos] == '/') {
char name[38]; char name[38];
if (pos - beginPos >= 38) return false;
if (beginPos >= ISO_MAXPATHNAME) return false;
strncpy(name, &isoPath[beginPos], pos - beginPos); strncpy(name, &isoPath[beginPos], pos - beginPos);
name[pos - beginPos] = 0; name[pos - beginPos] = 0;
beginPos = pos + 1; beginPos = pos + 1;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: drive_local.cpp,v 1.51 2004/08/13 19:43:02 qbix79 Exp $ */ /* $Id: drive_local.cpp,v 1.54 2004/11/16 14:13:46 qbix79 Exp $ */
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@ -181,6 +181,7 @@ bool localDrive::FindNext(DOS_DTA & dta) {
char * dir_ent; char * dir_ent;
struct stat stat_block; struct stat stat_block;
char full_name[CROSS_LEN]; char full_name[CROSS_LEN];
char dir_entcopy[CROSS_LEN];
Bit8u srch_attr;char srch_pattern[DOS_NAMELENGTH_ASCII]; Bit8u srch_attr;char srch_pattern[DOS_NAMELENGTH_ASCII];
Bit8u find_attr; Bit8u find_attr;
@ -199,14 +200,15 @@ again:
strcpy(full_name,srchInfo[id].srch_dir); strcpy(full_name,srchInfo[id].srch_dir);
strcat(full_name,dir_ent); strcat(full_name,dir_ent);
if (stat(dirCache.GetExpandName(full_name),&stat_block)!=0) {
goto again; //GetExpandName might indirectly destroy dir_ent (by caching in a new directory
//and due to its design dir_ent might be lost.)
//Copying dir_ent first
strcpy(dir_entcopy,dir_ent);
if (stat(dirCache.GetExpandName(full_name),&stat_block)!=0) {
goto again;//No symlinks and such
} }
if(S_ISDIR(stat_block.st_mode)) find_attr=DOS_ATTR_DIRECTORY;
else find_attr=DOS_ATTR_ARCHIVE;
if (~srch_attr & find_attr & (DOS_ATTR_DIRECTORY | DOS_ATTR_HIDDEN | DOS_ATTR_SYSTEM)) goto again;
if(S_ISDIR(stat_block.st_mode)) find_attr=DOS_ATTR_DIRECTORY; if(S_ISDIR(stat_block.st_mode)) find_attr=DOS_ATTR_DIRECTORY;
else find_attr=DOS_ATTR_ARCHIVE; else find_attr=DOS_ATTR_ARCHIVE;
if (~srch_attr & find_attr & (DOS_ATTR_DIRECTORY | DOS_ATTR_HIDDEN | DOS_ATTR_SYSTEM)) goto again; if (~srch_attr & find_attr & (DOS_ATTR_DIRECTORY | DOS_ATTR_HIDDEN | DOS_ATTR_SYSTEM)) goto again;
@ -214,20 +216,20 @@ again:
/*file is okay, setup everything to be copied in DTA Block */ /*file is okay, setup everything to be copied in DTA Block */
char find_name[DOS_NAMELENGTH_ASCII];Bit16u find_date,find_time;Bit32u find_size; char find_name[DOS_NAMELENGTH_ASCII];Bit16u find_date,find_time;Bit32u find_size;
if(strlen(dir_ent)<DOS_NAMELENGTH_ASCII){ if(strlen(dir_entcopy)<DOS_NAMELENGTH_ASCII){
strcpy(find_name,dir_ent); strcpy(find_name,dir_entcopy);
upcase(find_name); upcase(find_name);
} }
find_size=(Bit32u) stat_block.st_size; find_size=(Bit32u) stat_block.st_size;
struct tm *time; struct tm *time;
if((time=localtime(&stat_block.st_mtime))!=0){ if((time=localtime(&stat_block.st_mtime))!=0){
find_date=DOS_PackDate(time->tm_year+1900,time->tm_mon+1,time->tm_mday); find_date=DOS_PackDate(time->tm_year+1900,time->tm_mon+1,time->tm_mday);
find_time=DOS_PackTime(time->tm_hour,time->tm_min,time->tm_sec); find_time=DOS_PackTime(time->tm_hour,time->tm_min,time->tm_sec);
}else { } else {
find_time=6; find_time=6;
find_date=4; find_date=4;
} }
dta.SetResult(find_name,find_size,find_date,find_time,find_attr); dta.SetResult(find_name,find_size,find_date,find_time,find_attr);
return true; return true;
} }
@ -360,6 +362,10 @@ bool localDrive::isRemote(void) {
return false; return false;
} }
bool localDrive::isRemovable(void) {
return false;
}
localDrive::localDrive(const char * startdir,Bit16u _bytes_sector,Bit8u _sectors_cluster,Bit16u _total_clusters,Bit16u _free_clusters,Bit8u _mediaid) { localDrive::localDrive(const char * startdir,Bit16u _bytes_sector,Bit8u _sectors_cluster,Bit16u _total_clusters,Bit16u _free_clusters,Bit8u _mediaid) {
strcpy(basedir,startdir); strcpy(basedir,startdir);
sprintf(info,"local directory %s",startdir); sprintf(info,"local directory %s",startdir);
@ -566,3 +572,7 @@ void cdromDrive::SetDir(const char* path)
bool cdromDrive::isRemote(void) { bool cdromDrive::isRemote(void) {
return true; return true;
} }
bool cdromDrive::isRemovable(void) {
return true;
}

View File

@ -190,7 +190,7 @@ bool Virtual_Drive::FindFirst(char * _dir,DOS_DTA & dta,bool fcb_findfirst) {
Bit8u attr;char pattern[DOS_NAMELENGTH_ASCII]; Bit8u attr;char pattern[DOS_NAMELENGTH_ASCII];
dta.GetSearchParams(attr,pattern); dta.GetSearchParams(attr,pattern);
if(attr & DOS_ATTR_VOLUME) { if(attr & DOS_ATTR_VOLUME) {
dta.SetResult("DOSBOX",0,0,0,DOS_ATTR_ARCHIVE); dta.SetResult("DOSBOX",0,0,0,DOS_ATTR_VOLUME);
return true; return true;
} }
return FindNext(dta); return FindNext(dta);
@ -236,3 +236,7 @@ Bit8u Virtual_Drive::GetMediaByte(void) {
bool Virtual_Drive::isRemote(void) { bool Virtual_Drive::isRemote(void) {
return false; return false;
} }
bool Virtual_Drive::isRemovable(void) {
return false;
}

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: drives.h,v 1.23 2004/08/13 19:43:02 qbix79 Exp $ */ /* $Id: drives.h,v 1.25 2004/11/03 23:13:55 qbix79 Exp $ */
#ifndef _DRIVES_H__ #ifndef _DRIVES_H__
#define _DRIVES_H__ #define _DRIVES_H__
@ -49,6 +49,7 @@ public:
virtual bool FileStat(const char* name, FileStat_Block * const stat_block); virtual bool FileStat(const char* name, FileStat_Block * const stat_block);
virtual Bit8u GetMediaByte(void); virtual Bit8u GetMediaByte(void);
virtual bool isRemote(void); virtual bool isRemote(void);
virtual bool isRemovable(void);
private: private:
char basedir[CROSS_LEN]; char basedir[CROSS_LEN];
friend void DOS_Shell::CMD_SUBST(char* args); friend void DOS_Shell::CMD_SUBST(char* args);
@ -140,6 +141,7 @@ public:
virtual bool FileStat(const char* name, FileStat_Block * const stat_block); virtual bool FileStat(const char* name, FileStat_Block * const stat_block);
virtual Bit8u GetMediaByte(void); virtual Bit8u GetMediaByte(void);
virtual bool isRemote(void); virtual bool isRemote(void);
virtual bool isRemovable(void);
public: public:
Bit32u getAbsoluteSectFromBytePos(Bit32u startClustNum, Bit32u bytePos); Bit32u getAbsoluteSectFromBytePos(Bit32u startClustNum, Bit32u bytePos);
Bit32u getSectorSize(void); Bit32u getSectorSize(void);
@ -200,6 +202,7 @@ public:
virtual bool FindFirst(char * _dir,DOS_DTA & dta,bool fcb_findfirst=false); virtual bool FindFirst(char * _dir,DOS_DTA & dta,bool fcb_findfirst=false);
virtual void SetDir(const char* path); virtual void SetDir(const char* path);
virtual bool isRemote(void); virtual bool isRemote(void);
virtual bool isRemovable(void);
private: private:
Bit8u subUnit; Bit8u subUnit;
}; };
@ -254,7 +257,7 @@ struct isoDirEntry {
Bit16u VolumeSeqNumberL; Bit16u VolumeSeqNumberL;
Bit16u VolumeSeqNumberM; Bit16u VolumeSeqNumberM;
Bit8u fileIdentLength; Bit8u fileIdentLength;
Bit8u ident[38]; // can be smaller Bit8u ident[100];
} GCC_ATTRIBUTE(packed); } GCC_ATTRIBUTE(packed);
#ifdef _MSC_VER #ifdef _MSC_VER
@ -295,6 +298,7 @@ public:
virtual Bit8u GetMediaByte(void); virtual Bit8u GetMediaByte(void);
virtual void EmptyCache(void){} virtual void EmptyCache(void){}
virtual bool isRemote(void); virtual bool isRemote(void);
virtual bool isRemovable(void);
bool readSector(Bit8u *buffer, Bit32u sector); bool readSector(Bit8u *buffer, Bit32u sector);
private: private:
int readDirEntry(isoDirEntry *de, Bit8u *data); int readDirEntry(isoDirEntry *de, Bit8u *data);
@ -326,11 +330,12 @@ public:
bool GetFileAttr(char * name,Bit16u * attr); bool GetFileAttr(char * name,Bit16u * attr);
bool Rename(char * oldname,char * newname); bool Rename(char * oldname,char * newname);
bool AllocationInfo(Bit16u * _bytes_sector,Bit8u * _sectors_cluster,Bit16u * _total_clusters,Bit16u * _free_clusters); bool AllocationInfo(Bit16u * _bytes_sector,Bit8u * _sectors_cluster,Bit16u * _total_clusters,Bit16u * _free_clusters);
bool FileExists(const char* name); bool FileExists(const char* name);
bool FileStat(const char* name, FileStat_Block* const stat_block); bool FileStat(const char* name, FileStat_Block* const stat_block);
Bit8u GetMediaByte(void); Bit8u GetMediaByte(void);
void EmptyCache(void){} void EmptyCache(void){}
bool isRemote(void); bool isRemote(void);
virtual bool isRemovable(void);
private: private:
VFILE_Block * search_file; VFILE_Block * search_file;
}; };

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(libfpu_a_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../.. top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +36,43 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/fpu
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libfpu_a_AR = $(AR) $(ARFLAGS)
libfpu_a_LIBADD =
am_libfpu_a_OBJECTS = fpu.$(OBJEXT)
libfpu_a_OBJECTS = $(am_libfpu_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libfpu_a_SOURCES)
DIST_SOURCES = $(libfpu_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +135,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +157,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,49 +170,41 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
AM_CPPFLAGS = -I$(top_srcdir)/include AM_CPPFLAGS = -I$(top_srcdir)/include
noinst_LIBRARIES = libfpu.a noinst_LIBRARIES = libfpu.a
libfpu_a_SOURCES = fpu.cpp fpu_types.h fpu_instructions.h libfpu_a_SOURCES = fpu.cpp fpu_types.h fpu_instructions.h
subdir = src/fpu
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
libfpu_a_AR = $(AR) cru
libfpu_a_LIBADD =
am_libfpu_a_OBJECTS = fpu.$(OBJEXT)
libfpu_a_OBJECTS = $(am_libfpu_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/fpu.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libfpu_a_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
SOURCES = $(libfpu_a_SOURCES)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cpp .o .obj .SUFFIXES: .cpp .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/fpu/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/fpu/Makefile $(AUTOMAKE) --gnits src/fpu/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
AR = ar $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstLIBRARIES: clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@ -182,7 +214,7 @@ libfpu.a: $(libfpu_a_OBJECTS) $(libfpu_a_DEPENDENCIES)
$(RANLIB) libfpu.a $(RANLIB) libfpu.a
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -190,36 +222,20 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpu.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpu.Po@am__quote@
.cpp.o: .cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.obj: .cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -228,6 +244,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -239,10 +256,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -265,10 +283,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -282,7 +296,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -300,7 +314,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(LIBRARIES) all-am: Makefile $(LIBRARIES)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -321,7 +334,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -340,6 +353,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -375,13 +390,14 @@ uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES ctags distclean distclean-compile \ clean-noinstLIBRARIES ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am info \ distclean-generic distclean-tags distdir dvi dvi-am html \
info-am install install-am install-data install-data-am \ html-am info info-am install install-am install-data \
install-exec install-exec-am install-info install-info-am \ install-data-am install-exec install-exec-am install-info \
install-man install-strip installcheck installcheck-am \ install-info-am install-man install-strip installcheck \
installdirs maintainer-clean maintainer-clean-generic \ installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ maintainer-clean-generic mostlyclean mostlyclean-compile \
ps ps-am tags uninstall uninstall-am uninstall-info-am mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: fpu.cpp,v 1.22 2004/09/08 08:46:37 qbix79 Exp $ */ /* $Id: fpu.cpp,v 1.23 2004/10/12 16:19:45 qbix79 Exp $ */
#include "dosbox.h" #include "dosbox.h"
#if C_FPU #if C_FPU
@ -354,6 +354,9 @@ void FPU_ESC1_Normal(Bitu rm) {
case 0x03: /* FPATAN */ case 0x03: /* FPATAN */
FPU_FPATAN(); FPU_FPATAN();
break; break;
case 0x04: /* FXTRACT */
FPU_FXTRACT();
break;
default: default:
LOG(LOG_FPU,LOG_WARN)("ESC 1:Unhandled group %X subfunction %X",group,sub); LOG(LOG_FPU,LOG_WARN)("ESC 1:Unhandled group %X subfunction %X",group,sub);
break; break;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: fpu_instructions.h,v 1.21 2004/09/09 18:36:50 qbix79 Exp $ */ /* $Id: fpu_instructions.h,v 1.25 2004/11/03 23:13:55 qbix79 Exp $ */
static void FPU_FINIT(void) { static void FPU_FINIT(void) {
@ -321,7 +321,9 @@ static void FPU_ST80(PhysPt addr,Bitu reg)
Bit64s exp80 = fpu.regs[reg].ll&LONGTYPE(0x7ff0000000000000); Bit64s exp80 = fpu.regs[reg].ll&LONGTYPE(0x7ff0000000000000);
Bit64s exp80final= (exp80>>52) - BIAS64 + BIAS80; Bit64s exp80final= (exp80>>52) - BIAS64 + BIAS80;
Bit64s mant80 = fpu.regs[reg].ll&LONGTYPE(0x000fffffffffffff); Bit64s mant80 = fpu.regs[reg].ll&LONGTYPE(0x000fffffffffffff);
Bit64s mant80final= (mant80 << 11) | LONGTYPE(0x8000000000000000); Bit64s mant80final= (mant80 << 11);
// Elvira wants the 8 and tcalc doesn't
if(fpu.regs[reg].d != 0) mant80final |= LONGTYPE(0x8000000000000000);
test.begin= (static_cast<Bit16s>(sign80)<<15)| static_cast<Bit16s>(exp80final); test.begin= (static_cast<Bit16s>(sign80)<<15)| static_cast<Bit16s>(exp80final);
test.eind.ll=mant80final; test.eind.ll=mant80final;
mem_writed(addr,test.eind.l.lower); mem_writed(addr,test.eind.l.lower);
@ -392,3 +394,15 @@ static void FPU_FSTOR(PhysPt addr){
} }
} }
static void FPU_FXTRACT(void) {
// function stores real bias in st and
// pushes the significant number onto the stack
// if double ever uses a different base please correct this function
FPU_Reg test = fpu.regs[TOP];
Bit64s exp80 = test.ll&LONGTYPE(0x7ff0000000000000);
Bit64s exp80final = (exp80>>52) - BIAS64;
Real64 mant = test.d / (pow(2.0,static_cast<Real64>(exp80final)));
fpu.regs[TOP].d=exp80final;
FPU_PUSH(mant);
}

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(libgui_a_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../.. top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +36,44 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/gui
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libgui_a_AR = $(AR) $(ARFLAGS)
libgui_a_LIBADD =
am_libgui_a_OBJECTS = sdlmain.$(OBJEXT) sdl_mapper.$(OBJEXT) \
render.$(OBJEXT) render_scalers.$(OBJEXT) midi.$(OBJEXT)
libgui_a_OBJECTS = $(am_libgui_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libgui_a_SOURCES)
DIST_SOURCES = $(libgui_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +136,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +158,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,55 +171,44 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
AM_CPPFLAGS = -I$(top_srcdir)/include AM_CPPFLAGS = -I$(top_srcdir)/include
noinst_LIBRARIES = libgui.a noinst_LIBRARIES = libgui.a
libgui_a_SOURCES = sdlmain.cpp sdl_mapper.cpp \ libgui_a_SOURCES = sdlmain.cpp sdl_mapper.cpp \
render.cpp render_scalers.cpp render_scalers.h render_templates.h \ render.cpp render_scalers.cpp render_scalers.h render_templates.h \
midi.cpp midi_win32.h midi_oss.h midi_coreaudio.h midi_alsa.h midi.cpp midi_win32.h midi_oss.h midi_coreaudio.h midi_alsa.h
subdir = src/gui
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
libgui_a_AR = $(AR) cru
libgui_a_LIBADD =
am_libgui_a_OBJECTS = sdlmain.$(OBJEXT) sdl_mapper.$(OBJEXT) \
render.$(OBJEXT) render_scalers.$(OBJEXT) midi.$(OBJEXT)
libgui_a_OBJECTS = $(am_libgui_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/midi.Po ./$(DEPDIR)/render.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/render_scalers.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/sdl_mapper.Po ./$(DEPDIR)/sdlmain.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libgui_a_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
SOURCES = $(libgui_a_SOURCES)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cpp .o .obj .SUFFIXES: .cpp .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/gui/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/gui/Makefile $(AUTOMAKE) --gnits src/gui/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
AR = ar $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstLIBRARIES: clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@ -188,7 +218,7 @@ libgui.a: $(libgui_a_OBJECTS) $(libgui_a_DEPENDENCIES)
$(RANLIB) libgui.a $(RANLIB) libgui.a
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -200,36 +230,20 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sdlmain.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sdlmain.Po@am__quote@
.cpp.o: .cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.obj: .cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -238,6 +252,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -249,10 +264,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -275,10 +291,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -292,7 +304,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -310,7 +322,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(LIBRARIES) all-am: Makefile $(LIBRARIES)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -331,7 +342,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -350,6 +361,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -385,13 +398,14 @@ uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES ctags distclean distclean-compile \ clean-noinstLIBRARIES ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am info \ distclean-generic distclean-tags distdir dvi dvi-am html \
info-am install install-am install-data install-data-am \ html-am info info-am install install-am install-data \
install-exec install-exec-am install-info install-info-am \ install-data-am install-exec install-exec-am install-info \
install-man install-strip installcheck installcheck-am \ install-info-am install-man install-strip installcheck \
installdirs maintainer-clean maintainer-clean-generic \ installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ maintainer-clean-generic mostlyclean mostlyclean-compile \
ps ps-am tags uninstall uninstall-am uninstall-info-am mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: sdl_mapper.cpp,v 1.7 2004/09/07 08:58:02 qbix79 Exp $ */ /* $Id: sdl_mapper.cpp,v 1.10 2004/10/28 14:46:15 qbix79 Exp $ */
#define OLD_JOYSTICK 1 #define OLD_JOYSTICK 1
@ -335,7 +335,8 @@ public:
CStickBindGroup(Bitu _stick) : CBindGroup (){ CStickBindGroup(Bitu _stick) : CBindGroup (){
stick=_stick; stick=_stick;
sprintf(configname,"stick_%d",stick); sprintf(configname,"stick_%d",stick);
assert(sdl_joystick=SDL_JoystickOpen(stick)); sdl_joystick=SDL_JoystickOpen(stick);
assert(sdl_joystick);
axes=SDL_JoystickNumAxes(sdl_joystick); axes=SDL_JoystickNumAxes(sdl_joystick);
buttons=SDL_JoystickNumButtons(sdl_joystick); buttons=SDL_JoystickNumButtons(sdl_joystick);
hats=SDL_JoystickNumHats(sdl_joystick); hats=SDL_JoystickNumHats(sdl_joystick);
@ -1224,8 +1225,11 @@ void MAPPER_Run(void) {
mousetoggle=true; mousetoggle=true;
GFX_CaptureMouse(); GFX_CaptureMouse();
} }
/* Be sure that there is no update in progress */
GFX_EndUpdate();
mapper.surface=SDL_SetVideoMode(640,480,8,0); mapper.surface=SDL_SetVideoMode(640,480,8,0);
/* Set some palette entries */ /* Set some palette entries */
SDL_SetPalette(mapper.surface, SDL_LOGPAL|SDL_PHYSPAL, map_pal, 0, 4); SDL_SetPalette(mapper.surface, SDL_LOGPAL|SDL_PHYSPAL, map_pal, 0, 4);
/* Go in the event loop */ /* Go in the event loop */

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: sdlmain.cpp,v 1.79 2004/09/29 19:14:10 harekiet Exp $ */ /* $Id: sdlmain.cpp,v 1.81 2004/11/09 21:35:50 qbix79 Exp $ */
#ifndef _GNU_SOURCE #ifndef _GNU_SOURCE
#define _GNU_SOURCE #define _GNU_SOURCE
@ -27,6 +27,7 @@
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
#include <stdarg.h> #include <stdarg.h>
#include <sys/types.h>
#include "SDL.h" #include "SDL.h"
@ -193,6 +194,9 @@ static SDL_Block sdl;
static void CaptureMouse(void); static void CaptureMouse(void);
extern char * RunningProgram; extern char * RunningProgram;
//Globals for keyboard initialisation
bool startup_state_numlock=false;
bool startup_state_capslock=false;
void GFX_SetTitle(Bits cycles,Bits frameskip,bool paused){ void GFX_SetTitle(Bits cycles,Bits frameskip,bool paused){
char title[200]={0}; char title[200]={0};
static Bits internal_cycles=0; static Bits internal_cycles=0;
@ -690,7 +694,6 @@ static void GUI_ShutDown(Section * sec) {
GFX_Stop(); GFX_Stop();
if (sdl.mouse.locked) CaptureMouse(); if (sdl.mouse.locked) CaptureMouse();
if (sdl.desktop.fullscreen) SwitchFullScreen(); if (sdl.desktop.fullscreen) SwitchFullScreen();
SDL_Quit(); //Becareful this should be removed if on the fly renderchanges are allowed
} }
static void KillSwitch(void){ static void KillSwitch(void){
@ -698,6 +701,15 @@ static void KillSwitch(void){
} }
static void SetPriority(PRIORITY_LEVELS level) { static void SetPriority(PRIORITY_LEVELS level) {
#if C_SET_PRIORITY
// Do nothing if priorties are not the same and not root, else the highest
// priority can not be set as users can only lower priority (not restore it)
if((sdl.priority.focus != sdl.priority.nofocus ) &&
(getuid()!=0) ) return;
#endif
switch (level) { switch (level) {
#ifdef WIN32 #ifdef WIN32
case PRIORITY_LEVEL_LOWER: case PRIORITY_LEVEL_LOWER:
@ -713,17 +725,18 @@ static void SetPriority(PRIORITY_LEVELS level) {
SetPriorityClass(GetCurrentProcess(),HIGH_PRIORITY_CLASS); SetPriorityClass(GetCurrentProcess(),HIGH_PRIORITY_CLASS);
break; break;
#elif C_SET_PRIORITY #elif C_SET_PRIORITY
/* Linux use group as dosbox has mulitple threads under linux */
case PRIORITY_LEVEL_LOWER: case PRIORITY_LEVEL_LOWER:
setpriority (PRIO_PROCESS, 0,PRIO_MIN+(PRIO_TOTAL/3)); setpriority (PRIO_PGRP, 0,PRIO_MAX-(PRIO_TOTAL/3));
break; break;
case PRIORITY_LEVEL_NORMAL: case PRIORITY_LEVEL_NORMAL:
setpriority (PRIO_PROCESS, 0,PRIO_MIN+(PRIO_TOTAL/2)); setpriority (PRIO_PGRP, 0,PRIO_MAX-(PRIO_TOTAL/2));
break; break;
case PRIORITY_LEVEL_HIGHER: case PRIORITY_LEVEL_HIGHER:
setpriority (PRIO_PROCESS, 0,PRIO_MIN+((3*PRIO_TOTAL)/5) ); setpriority (PRIO_PGRP, 0,PRIO_MAX-((3*PRIO_TOTAL)/5) );
break; break;
case PRIORITY_LEVEL_HIGHEST: case PRIORITY_LEVEL_HIGHEST:
setpriority (PRIO_PROCESS, 0,PRIO_MIN+((3*PRIO_TOTAL)/4) ); setpriority (PRIO_PGRP, 0,PRIO_MAX-((3*PRIO_TOTAL)/4) );
break; break;
#endif #endif
default: default:
@ -771,6 +784,7 @@ static void GUI_StartUp(Section * sec) {
sdl.priority.focus=PRIORITY_LEVEL_HIGHER; sdl.priority.focus=PRIORITY_LEVEL_HIGHER;
sdl.priority.nofocus=PRIORITY_LEVEL_NORMAL; sdl.priority.nofocus=PRIORITY_LEVEL_NORMAL;
} }
SetPriority(sdl.priority.focus); //Assume focus on startup
sdl.mouse.locked=false; sdl.mouse.locked=false;
mouselocked=false; //Global for mapper mouselocked=false; //Global for mapper
sdl.mouse.requestlock=false; sdl.mouse.requestlock=false;
@ -814,7 +828,7 @@ static void GUI_StartUp(Section * sec) {
sdl.desktop.height=768; sdl.desktop.height=768;
#endif #endif
} }
sdl.mouse.autoenable=section->Get_bool("autolock"); sdl.mouse.autoenable=section->Get_bool("autolock");
sdl.mouse.autolock=false; sdl.mouse.autolock=false;
sdl.mouse.sensitivity=section->Get_int("sensitivity"); sdl.mouse.sensitivity=section->Get_int("sensitivity");
const char * output=section->Get_string("output"); const char * output=section->Get_string("output");
@ -882,6 +896,10 @@ static void GUI_StartUp(Section * sec) {
#else #else
MAPPER_AddHandler(PauseDOSBox,MK_pause,0,"pause","Pause"); MAPPER_AddHandler(PauseDOSBox,MK_pause,0,"pause","Pause");
#endif #endif
/* Get Keyboard state of numlock and capslock */
SDLMod keystate = SDL_GetModState();
if(keystate&KMOD_NUM) startup_state_numlock = true;
if(keystate&KMOD_CAPS) startup_state_capslock = true;
} }
void Mouse_AutoLock(bool enable) { void Mouse_AutoLock(bool enable) {
@ -1124,8 +1142,9 @@ int main(int argc, char* argv[]) {
catch (int){ catch (int){
;//nothing pressed killswitch ;//nothing pressed killswitch
} }
catch(...){ catch(...){
throw;//dunno what happened. rethrow for sdl to catch throw;//dunno what happened. rethrow for sdl to catch
} }
SDL_Quit();//Let's hope sdl will quit as well when it catches an exception
return 0; return 0;
}; };

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(libhardware_a_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../.. top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +36,50 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/hardware
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libhardware_a_AR = $(AR) $(ARFLAGS)
libhardware_a_LIBADD =
am_libhardware_a_OBJECTS = adlib.$(OBJEXT) dma.$(OBJEXT) \
gameblaster.$(OBJEXT) hardware.$(OBJEXT) iohandler.$(OBJEXT) \
joystick.$(OBJEXT) keyboard.$(OBJEXT) memory.$(OBJEXT) \
mixer.$(OBJEXT) pcspeaker.$(OBJEXT) pic.$(OBJEXT) \
sblaster.$(OBJEXT) tandy_sound.$(OBJEXT) timer.$(OBJEXT) \
vga.$(OBJEXT) vga_attr.$(OBJEXT) vga_crtc.$(OBJEXT) \
vga_dac.$(OBJEXT) vga_draw.$(OBJEXT) vga_gfx.$(OBJEXT) \
vga_other.$(OBJEXT) vga_memory.$(OBJEXT) vga_misc.$(OBJEXT) \
vga_seq.$(OBJEXT) vga_xga.$(OBJEXT) cmos.$(OBJEXT) \
disney.$(OBJEXT) gus.$(OBJEXT) mpu401.$(OBJEXT) \
serialport.$(OBJEXT) softmodem.$(OBJEXT) ipx.$(OBJEXT) \
ipxserver.$(OBJEXT) directserial_win32.$(OBJEXT)
libhardware_a_OBJECTS = $(am_libhardware_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
SOURCES = $(libhardware_a_SOURCES)
DIST_SOURCES = $(libhardware_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +142,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +164,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,11 +177,8 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
AM_CPPFLAGS = -I$(top_srcdir)/include AM_CPPFLAGS = -I$(top_srcdir)/include
EXTRA_DIST = fmopl.c fmopl.h ymf262.h ymf262.c EXTRA_DIST = fmopl.c fmopl.h ymf262.h ymf262.c
noinst_LIBRARIES = libhardware.a noinst_LIBRARIES = libhardware.a
libhardware_a_SOURCES = adlib.cpp dma.cpp gameblaster.cpp hardware.cpp iohandler.cpp joystick.cpp keyboard.cpp \ libhardware_a_SOURCES = adlib.cpp dma.cpp gameblaster.cpp hardware.cpp iohandler.cpp joystick.cpp keyboard.cpp \
memory.cpp mixer.cpp pcspeaker.cpp pic.cpp sblaster.cpp tandy_sound.cpp timer.cpp \ memory.cpp mixer.cpp pcspeaker.cpp pic.cpp sblaster.cpp tandy_sound.cpp timer.cpp \
vga.cpp vga_attr.cpp vga_crtc.cpp vga_dac.cpp vga_draw.cpp vga_gfx.cpp vga_other.cpp \ vga.cpp vga_attr.cpp vga_crtc.cpp vga_dac.cpp vga_draw.cpp vga_gfx.cpp vga_other.cpp \
@ -142,70 +186,39 @@ libhardware_a_SOURCES = adlib.cpp dma.cpp gameblaster.cpp hardware.cpp iohandler
gus.cpp mpu401.cpp serialport.cpp softmodem.cpp ipx.cpp ipxserver.cpp \ gus.cpp mpu401.cpp serialport.cpp softmodem.cpp ipx.cpp ipxserver.cpp \
directserial_win32.cpp directserial_win32.cpp
subdir = src/hardware
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
libhardware_a_AR = $(AR) cru
libhardware_a_LIBADD =
am_libhardware_a_OBJECTS = adlib.$(OBJEXT) dma.$(OBJEXT) \
gameblaster.$(OBJEXT) hardware.$(OBJEXT) iohandler.$(OBJEXT) \
joystick.$(OBJEXT) keyboard.$(OBJEXT) memory.$(OBJEXT) \
mixer.$(OBJEXT) pcspeaker.$(OBJEXT) pic.$(OBJEXT) \
sblaster.$(OBJEXT) tandy_sound.$(OBJEXT) timer.$(OBJEXT) \
vga.$(OBJEXT) vga_attr.$(OBJEXT) vga_crtc.$(OBJEXT) \
vga_dac.$(OBJEXT) vga_draw.$(OBJEXT) vga_gfx.$(OBJEXT) \
vga_other.$(OBJEXT) vga_memory.$(OBJEXT) vga_misc.$(OBJEXT) \
vga_seq.$(OBJEXT) vga_xga.$(OBJEXT) cmos.$(OBJEXT) \
disney.$(OBJEXT) gus.$(OBJEXT) mpu401.$(OBJEXT) \
serialport.$(OBJEXT) softmodem.$(OBJEXT) ipx.$(OBJEXT) \
ipxserver.$(OBJEXT) directserial_win32.$(OBJEXT)
libhardware_a_OBJECTS = $(am_libhardware_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/adlib.Po ./$(DEPDIR)/cmos.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/directserial_win32.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/disney.Po ./$(DEPDIR)/dma.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/gameblaster.Po ./$(DEPDIR)/gus.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/hardware.Po ./$(DEPDIR)/iohandler.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/ipx.Po ./$(DEPDIR)/ipxserver.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/joystick.Po ./$(DEPDIR)/keyboard.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/memory.Po ./$(DEPDIR)/mixer.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/mpu401.Po ./$(DEPDIR)/pcspeaker.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/pic.Po ./$(DEPDIR)/sblaster.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/serialport.Po ./$(DEPDIR)/softmodem.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/tandy_sound.Po ./$(DEPDIR)/timer.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/vga.Po ./$(DEPDIR)/vga_attr.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/vga_crtc.Po ./$(DEPDIR)/vga_dac.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/vga_draw.Po ./$(DEPDIR)/vga_gfx.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/vga_memory.Po ./$(DEPDIR)/vga_misc.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/vga_other.Po ./$(DEPDIR)/vga_seq.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/vga_xga.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
DIST_SOURCES = $(libhardware_a_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
SOURCES = $(libhardware_a_SOURCES)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cpp .o .obj .SUFFIXES: .cpp .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/hardware/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/hardware/Makefile $(AUTOMAKE) --gnits src/hardware/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
AR = ar $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstLIBRARIES: clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@ -215,7 +228,7 @@ libhardware.a: $(libhardware_a_OBJECTS) $(libhardware_a_DEPENDENCIES)
$(RANLIB) libhardware.a $(RANLIB) libhardware.a
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -256,36 +269,20 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vga_xga.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vga_xga.Po@am__quote@
.cpp.o: .cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.obj: .cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -294,6 +291,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -305,10 +303,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -331,10 +330,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -348,7 +343,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -366,7 +361,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(LIBRARIES) all-am: Makefile $(LIBRARIES)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -387,7 +381,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -406,6 +400,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -441,13 +437,14 @@ uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES ctags distclean distclean-compile \ clean-noinstLIBRARIES ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am info \ distclean-generic distclean-tags distdir dvi dvi-am html \
info-am install install-am install-data install-data-am \ html-am info info-am install install-am install-data \
install-exec install-exec-am install-info install-info-am \ install-data-am install-exec install-exec-am install-info \
install-man install-strip installcheck installcheck-am \ install-info-am install-man install-strip installcheck \
installdirs maintainer-clean maintainer-clean-generic \ installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ maintainer-clean-generic mostlyclean mostlyclean-compile \
ps ps-am tags uninstall uninstall-am uninstall-info-am mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -100,6 +100,8 @@ static struct {
Bit32u used; Bit32u used;
Bit32u done; Bit32u done;
Bit8u cmd[2]; Bit8u cmd[2];
bool opl3;
bool dualopl2;
} raw; } raw;
} opl; } opl;
@ -172,17 +174,19 @@ void OPL_Write(Bitu port,Bitu val,Bitu iolen) {
} }
static Bit8u dro_header[]={ static Bit8u dro_header[]={
'D','B','R','A', /* Bit32u ID */ 'D','B','R','A', /* 0x00, Bit32u ID */
'W','O','P','L', /* Bit32u ID */ 'W','O','P','L', /* 0x04, Bit32u ID */
0x0,0x0,0x0,0x0, /* Bit32u total milliseconds */ 0x0,0x00, /* 0x08, Bit16u version low */
0x0,0x0,0x0,0x0, /* Bit32u total data */ 0x1,0x00, /* 0x09, Bit16u version high */
0x0, /* Type 0=opl2,1=opl3,2=dual-opl2 */ 0x0,0x0,0x0,0x0, /* 0x0c, Bit32u total milliseconds */
0x0,0x0,0x0,0x0, /* 0x10, Bit32u total data */
0x0,0x0,0x0,0x0 /* 0x14, Bit32u Type 0=opl2,1=opl3,2=dual-opl2 */
}; };
/* Commands /* Commands
0x00 Bit8u, millisecond delay+1 0x00 Bit8u, millisecond delay+1
0x01 Bit16u, millisecond delay+1
0x02 none, Use the low index/data pair 0x02 none, Use the low index/data pair
0x03 none, Use the high index/data pair 0x03 none, Use the high index/data pair
0x10 Bit16u, millisecond delay+1
0xxx Bit8u, send command and data to current index/data pair 0xxx Bit8u, send command and data to current index/data pair
*/ */
@ -194,9 +198,13 @@ static void OPL_RawEmptyBuffer(void) {
#define ADDBUF(_VAL_) opl.raw.buffer[opl.raw.used++]=_VAL_; #define ADDBUF(_VAL_) opl.raw.buffer[opl.raw.used++]=_VAL_;
static void OPL_RawAdd(Bitu index,Bitu val) { static void OPL_RawAdd(Bitu index,Bitu val) {
/* Check if we have yet to start */
Bit8u cmd=opl.raw.cmd[index]; Bit8u cmd=opl.raw.cmd[index];
if (cmd<=3) return; /* check for cmd's we use for special meaning
These only control timers or are unused
*/
if (cmd == 2 || cmd == 3 || cmd == 0x10) return;
if (cmd == 4 && !index) return;
/* Check if we have yet to start */
if (!opl.raw.handle) { if (!opl.raw.handle) {
if (cmd<0xb0 || cmd>0xb8) return; if (cmd<0xb0 || cmd>0xb8) return;
if (!(val&0x20)) return; if (!(val&0x20)) return;
@ -211,25 +219,37 @@ static void OPL_RawAdd(Bitu index,Bitu val) {
memset(opl.raw.buffer,0,sizeof(opl.raw.buffer)); memset(opl.raw.buffer,0,sizeof(opl.raw.buffer));
fwrite(dro_header,1,sizeof(dro_header),opl.raw.handle); fwrite(dro_header,1,sizeof(dro_header),opl.raw.handle);
/* Check the registers to add */ /* Check the registers to add */
for (i=4;i<256;i++) { for (i=0;i<256;i++) {
if (!opl.raw.regs[0][i]) continue; if (!opl.raw.regs[0][i]) continue;
if (i>=0xb0 && i<=0xb8) continue; if (i>=0xb0 && i<=0xb8) continue;
ADDBUF((Bit8u)i); ADDBUF((Bit8u)i);
ADDBUF(opl.raw.regs[0][i]); ADDBUF(opl.raw.regs[0][i]);
} }
bool donesecond=false; bool donesecond=false;
for (i=4;i<256;i++) { /* Check if we already have an opl3 enable bit logged */
if (!opl.raw.regs[0][i]) continue; if (opl.raw.regs[1][5] & 1)
opl.raw.opl3 = true;
for (i=0;i<256;i++) {
if (!opl.raw.regs[1][i]) continue;
if (i>=0xb0 && i<=0xb8) continue; if (i>=0xb0 && i<=0xb8) continue;
if (!donesecond) { if (!donesecond) {
/* Or already have dual opl2 */
opl.raw.dualopl2 = true;
donesecond=true; donesecond=true;
ADDBUF(0x3); ADDBUF(0x3);
} }
ADDBUF((Bit8u)i); ADDBUF((Bit8u)i);
ADDBUF(opl.raw.regs[0][i]); ADDBUF(opl.raw.regs[1][i]);
} }
if (donesecond) ADDBUF(0x2); if (donesecond) ADDBUF(0x2);
} }
/* Check if we enable opl3 or access dual opl2 mode */
if (cmd == 5 && index && (val & 1)) {
opl.raw.opl3 = true;
}
if (index && val && cmd>=0xb0 && cmd<=0xb8) {
opl.raw.dualopl2 = true;
}
/* Check how much time has passed, Allow an extra 5 milliseconds? */ /* Check how much time has passed, Allow an extra 5 milliseconds? */
if (PIC_Ticks>(opl.raw.last+5)) { if (PIC_Ticks>(opl.raw.last+5)) {
Bitu passed=PIC_Ticks-opl.raw.last; Bitu passed=PIC_Ticks-opl.raw.last;
@ -268,13 +288,11 @@ static void OPL_SaveRawEvent(void) {
if (opl.raw.handle) { if (opl.raw.handle) {
OPL_RawEmptyBuffer(); OPL_RawEmptyBuffer();
/* Fill in the header with useful information */ /* Fill in the header with useful information */
host_writed(&dro_header[0x08],opl.raw.last-opl.raw.start); host_writed(&dro_header[0x0c],opl.raw.last-opl.raw.start);
host_writed(&dro_header[0x0c],opl.raw.done); host_writed(&dro_header[0x10],opl.raw.done);
switch (opl.mode) { if (opl.raw.opl3 && opl.raw.dualopl2) host_writed(&dro_header[0x14],0x1);
case OPL_opl2:host_writeb(&dro_header[0x10],0x0);break; else if (opl.raw.dualopl2) host_writed(&dro_header[0x14],0x2);
case OPL_opl3:host_writeb(&dro_header[0x10],0x1);break; else host_writed(&dro_header[0x14],0x0);
case OPL_dualopl2:host_writeb(&dro_header[0x10],0x2);break;
}
fseek(opl.raw.handle,0,0); fseek(opl.raw.handle,0,0);
fwrite(dro_header,1,sizeof(dro_header),opl.raw.handle); fwrite(dro_header,1,sizeof(dro_header),opl.raw.handle);
fclose(opl.raw.handle); fclose(opl.raw.handle);

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: keyboard.cpp,v 1.28 2004/09/10 22:15:20 harekiet Exp $ */ /* $Id: keyboard.cpp,v 1.29 2004/10/12 16:21:22 qbix79 Exp $ */
#include <string.h> #include <string.h>
#include <assert.h> #include <assert.h>
@ -136,7 +136,7 @@ static void write_p60(Bitu port,Bitu val,Bitu iolen) {
break; break;
case 0xf5: /* Reset keyboard and disable scanning */ case 0xf5: /* Reset keyboard and disable scanning */
LOG(LOG_KEYBOARD,LOG_NORMAL)("Reset, disable scanning"); LOG(LOG_KEYBOARD,LOG_NORMAL)("Reset, disable scanning");
keyb.scanning=false; keyb.scanning=false;
KEYBOARD_AddBuffer(0xfa); /* Acknowledge */ KEYBOARD_AddBuffer(0xfa); /* Acknowledge */
break; break;
case 0xf6: /* Reset keyboard and enable scanning */ case 0xf6: /* Reset keyboard and enable scanning */
@ -153,7 +153,18 @@ static void write_p60(Bitu port,Bitu val,Bitu iolen) {
case CMD_SETOUTPORT: case CMD_SETOUTPORT:
MEM_A20_Enable((val & 2)>0); MEM_A20_Enable((val & 2)>0);
break; break;
case CMD_SETTYPERATE: case CMD_SETTYPERATE:
{
static const int delay[] = { 250, 500, 750, 1000 };
static const int repeat[] =
{ 33,37,42,46,50,54,58,63,67,75,83,92,100,
109,118,125,133,149,167,182,200,217,233,
250,270,303,333,370,400,435,476,500 };
keyb.repeat.pause = delay[(val>>5)&3];
keyb.repeat.rate = repeat[val&0x1f];
keyb.command=CMD_NONE;
}
/* Fallthrough! as setleds does what we want */
case CMD_SETLEDS: case CMD_SETLEDS:
keyb.command=CMD_NONE; keyb.command=CMD_NONE;
KEYBOARD_ClrBuffer(); KEYBOARD_ClrBuffer();

View File

@ -141,6 +141,13 @@ void MEM_SetPageHandler(Bitu phys_page,Bitu pages,PageHandler * handler) {
} }
} }
void MEM_ResetPageHandler(Bitu phys_page, Bitu pages) {
for (;pages>0;pages--) {
memory.phandlers[phys_page]=&ram_page_handler;
phys_page++;
}
}
Bitu mem_strlen(PhysPt pt) { Bitu mem_strlen(PhysPt pt) {
Bitu x=0; Bitu x=0;
while (x<1024) { while (x<1024) {

View File

@ -43,7 +43,7 @@
#define MIXER_SHIFT 14 #define MIXER_SHIFT 14
#define MIXER_REMAIN ((1<<MIXER_SHIFT)-1) #define MIXER_REMAIN ((1<<MIXER_SHIFT)-1)
#define MIXER_WAVESIZE MIXER_BUFSIZE #define MIXER_WAVESIZE MIXER_BUFSIZE
#define MIXER_VOLSHIFT 14 #define MIXER_VOLSHIFT 13
#define MIXER_CLIP(SAMP) (SAMP>MAX_AUDIO) ? (Bit16s)MAX_AUDIO : (SAMP<MIN_AUDIO) ? (Bit16s)MIN_AUDIO : ((Bit16s)SAMP) #define MIXER_CLIP(SAMP) (SAMP>MAX_AUDIO) ? (Bit16s)MAX_AUDIO : (SAMP<MIN_AUDIO) ? (Bit16s)MIN_AUDIO : ((Bit16s)SAMP)
@ -264,7 +264,7 @@ static void MIXER_MixData(Bitu needed) {
} }
if (mixer.wave.handle) { if (mixer.wave.handle) {
Bitu added=needed-mixer.done; Bitu added=needed-mixer.done;
Bitu readpos=(mixer.pos+mixer.done-added)&MIXER_BUFMASK; Bitu readpos=(mixer.pos+mixer.done)&MIXER_BUFMASK;
while (added--) { while (added--) {
Bits sample=mixer.work[readpos][0] >> MIXER_VOLSHIFT; Bits sample=mixer.work[readpos][0] >> MIXER_VOLSHIFT;
mixer.wave.buf[mixer.wave.used][0]=MIXER_CLIP(sample); mixer.wave.buf[mixer.wave.used][0]=MIXER_CLIP(sample);

View File

@ -719,7 +719,7 @@ static void MPU401_Reset(void) {
void MPU401_Init(Section* sec) { void MPU401_Init(Section* sec) {
call_irq9=CALLBACK_Allocate(); //allocate handler for irq 9 call_irq9=CALLBACK_Allocate(); //allocate handler for irq 9
CALLBACK_Setup(call_irq9,&INT71_Handler,CB_IRET); CALLBACK_Setup(call_irq9,&INT71_Handler,CB_IRET,"irq 9 mpu");
RealSetVec(0x71,CALLBACK_RealPointer(call_irq9)); RealSetVec(0x71,CALLBACK_RealPointer(call_irq9));
Section_prop * section=static_cast<Section_prop *>(sec); Section_prop * section=static_cast<Section_prop *>(sec);

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: pic.cpp,v 1.24 2004/09/10 22:15:20 harekiet Exp $ */ /* $Id: pic.cpp,v 1.25 2004/11/15 14:56:55 qbix79 Exp $ */
#include <list> #include <list>
@ -131,7 +131,11 @@ static void write_command(Bitu port,Bitu val,Bitu iolen) {
break; break;
case 0xC0:case 0xC1:case 0xC2:case 0xC3:case 0xC4:case 0xC5:case 0xC6:case 0xC7: case 0xC0:case 0xC1:case 0xC2:case 0xC3:case 0xC4:case 0xC5:case 0xC6:case 0xC7:
/* Priority order, no need for it */ /* Priority order, no need for it */
break; break;
case 0x00:case 0x80: /* Rotate stuff in eoi mode */
/* We can live without it for now. (7 cities of gold) */
LOG(LOG_PIC,LOG_NORMAL)("port %X : ignoring rotate stuff.",port);
break;
default: default:
E_Exit("PIC:Unhandled command %02X",val); E_Exit("PIC:Unhandled command %02X",val);
} }

View File

@ -616,7 +616,7 @@ Bitu DEBUG_EnableDebugger(void);
static void DSP_DoCommand(void) { static void DSP_DoCommand(void) {
// LOG_MSG("DSP Command %X",sb.dsp.cmd); // LOG_MSG("DSP Command %X",sb.dsp.cmd);
switch (sb.dsp.cmd) { switch (sb.dsp.cmd) {
case 0x04: /* DSP Statues SB 2.0/pro version */ case 0x04: /* DSP Status SB 2.0/pro version */
DSP_FlushData(); DSP_FlushData();
DSP_AddData(0xff); //Everthing enabled DSP_AddData(0xff); //Everthing enabled
break; break;
@ -642,6 +642,10 @@ static void DSP_DoCommand(void) {
break; break;
case 0x40: /* Set Timeconstant */ case 0x40: /* Set Timeconstant */
sb.freq=(1000000 / (256 - sb.dsp.in.data[0])); sb.freq=(1000000 / (256 - sb.dsp.in.data[0]));
/* Nasty kind of hack to allow runtime changing of frequency */
if (sb.dma.mode != DSP_DMA_NONE && sb.dma.autoinit) {
DSP_PrepareDMA_Old(sb.dma.mode,sb.dma.autoinit);
}
break; break;
case 0x41: /* Set Output Samplerate */ case 0x41: /* Set Output Samplerate */
case 0x42: /* Set Input Samplerate */ case 0x42: /* Set Input Samplerate */

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: timer.cpp,v 1.29 2004/09/10 22:15:20 harekiet Exp $ */ /* $Id: timer.cpp,v 1.30 2004/11/13 11:59:46 qbix79 Exp $ */
#include "dosbox.h" #include "dosbox.h"
#include "inout.h" #include "inout.h"
@ -152,7 +152,7 @@ static void write_latch(Bitu port,Bitu val,Bitu iolen) {
p->delay=(1000.0f/((float)PIT_TICK_RATE/(float)p->cntr)); p->delay=(1000.0f/((float)PIT_TICK_RATE/(float)p->cntr));
switch (counter) { switch (counter) {
case 0x00: /* Timer hooked to IRQ 0 */ case 0x00: /* Timer hooked to IRQ 0 */
if (p->new_mode) { if (p->new_mode || p->mode == 0 ) {
p->new_mode=false; p->new_mode=false;
PIC_AddEvent(PIT0_Event,p->delay); PIC_AddEvent(PIT0_Event,p->delay);
} else LOG(LOG_PIT,LOG_NORMAL)("PIT 0 Timer set without new control word"); } else LOG(LOG_PIT,LOG_NORMAL)("PIT 0 Timer set without new control word");

View File

@ -15,9 +15,6 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -135,8 +132,7 @@ static void VGA_GFX_256U_WriteHandler(PhysPt start,Bit8u val) {
#define VGA_PAGE_B8 (0xB8000/4096) #define VGA_PAGE_B8 (0xB8000/4096)
static struct { static struct {
Bit8u ram_area[VGA_PAGES*4096]; Bitu base,mask;
Bitu map_base;
} vgapages; } vgapages;
class VGARead_PageHandler : public PageHandler { class VGARead_PageHandler : public PageHandler {
@ -213,37 +209,24 @@ public:
flags=PFLAG_NOCODE; flags=PFLAG_NOCODE;
} }
Bitu readb(PhysPt addr) { Bitu readb(PhysPt addr) {
addr&=0xffff; addr&=vgapages.mask;
return vga.draw.font[addr]; return vga.draw.font[addr];
} }
void writeb(PhysPt addr,Bitu val){ void writeb(PhysPt addr,Bitu val){
addr&=0xffff; addr&=vgapages.mask;
if (vga.seq.map_mask & 0x4) { if (vga.seq.map_mask & 0x4) {
vga.draw.font[addr]=(Bit8u)val; vga.draw.font[addr]=(Bit8u)val;
} }
} }
}; };
class VGA_RAM_PageHandler : public PageHandler {
public:
VGA_RAM_PageHandler() {
flags=PFLAG_READABLE|PFLAG_WRITEABLE|PFLAG_NOCODE;
}
HostPt GetHostPt(Bitu phys_page) {
phys_page-=VGA_PAGE_A0;
return &vgapages.ram_area[phys_page*4096];
}
};
class VGA_MAP_PageHandler : public PageHandler { class VGA_MAP_PageHandler : public PageHandler {
public: public:
VGA_MAP_PageHandler() { VGA_MAP_PageHandler() {
flags=PFLAG_READABLE|PFLAG_WRITEABLE|PFLAG_NOCODE; flags=PFLAG_READABLE|PFLAG_WRITEABLE|PFLAG_NOCODE;
} }
HostPt GetHostPt(Bitu phys_page) { HostPt GetHostPt(Bitu phys_page) {
phys_page-=vgapages.map_base; phys_page-=vgapages.base;
return &vga.mem.linear[vga.s3.bank*64*1024+phys_page*4096]; return &vga.mem.linear[vga.s3.bank*64*1024+phys_page*4096];
} }
}; };
@ -327,7 +310,6 @@ public:
static struct vg { static struct vg {
VGA_RAM_PageHandler hram;
VGA_MAP_PageHandler hmap; VGA_MAP_PageHandler hmap;
VGA_TEXT_PageHandler htext; VGA_TEXT_PageHandler htext;
VGA_TANDY_PageHandler htandy; VGA_TANDY_PageHandler htandy;
@ -380,27 +362,31 @@ void VGA_SetupHandlers(void) {
} }
switch ((vga.gfx.miscellaneous >> 2) & 3) { switch ((vga.gfx.miscellaneous >> 2) & 3) {
case 0: case 0:
vgapages.map_base=VGA_PAGE_A0; vgapages.base=VGA_PAGE_A0;
vgapages.mask=0x1ffff;
MEM_SetPageHandler(VGA_PAGE_A0,32,range_handler); MEM_SetPageHandler(VGA_PAGE_A0,32,range_handler);
break; break;
case 1: case 1:
vgapages.map_base=VGA_PAGE_A0; vgapages.base=VGA_PAGE_A0;
vgapages.mask=0xffff;
MEM_SetPageHandler(VGA_PAGE_A0,16,range_handler); MEM_SetPageHandler(VGA_PAGE_A0,16,range_handler);
MEM_SetPageHandler(VGA_PAGE_B0,16,&vgaph.hram); MEM_ResetPageHandler(VGA_PAGE_B0,16);
break; break;
case 2: case 2:
range_b000: range_b000:
vgapages.map_base=VGA_PAGE_B0; vgapages.base=VGA_PAGE_B0;
vgapages.mask=0x7fff;
MEM_SetPageHandler(VGA_PAGE_B0,8,range_handler); MEM_SetPageHandler(VGA_PAGE_B0,8,range_handler);
MEM_SetPageHandler(VGA_PAGE_A0,16,&vgaph.hram); MEM_ResetPageHandler(VGA_PAGE_A0,16);
MEM_SetPageHandler(VGA_PAGE_B8,8,&vgaph.hram); MEM_ResetPageHandler(VGA_PAGE_B8,8);
break; break;
case 3: case 3:
range_b800: range_b800:
vgapages.map_base=VGA_PAGE_B8; vgapages.base=VGA_PAGE_B8;
vgapages.mask=0x7fff;
MEM_SetPageHandler(VGA_PAGE_B8,8,range_handler); MEM_SetPageHandler(VGA_PAGE_B8,8,range_handler);
MEM_SetPageHandler(VGA_PAGE_A0,16,&vgaph.hram); MEM_ResetPageHandler(VGA_PAGE_A0,16);
MEM_SetPageHandler(VGA_PAGE_B0,8,&vgaph.hram); MEM_ResetPageHandler(VGA_PAGE_B0,8);
break; break;
} }

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(libints_a_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../.. top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +36,48 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/ints
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libints_a_AR = $(AR) $(ARFLAGS)
libints_a_LIBADD =
am_libints_a_OBJECTS = mouse.$(OBJEXT) xms.$(OBJEXT) ems.$(OBJEXT) \
int10.$(OBJEXT) int10_char.$(OBJEXT) int10_memory.$(OBJEXT) \
int10_misc.$(OBJEXT) int10_modes.$(OBJEXT) \
int10_vesa.$(OBJEXT) int10_pal.$(OBJEXT) \
int10_put_pixel.$(OBJEXT) bios.$(OBJEXT) bios_disk.$(OBJEXT) \
bios_keyboard.$(OBJEXT)
libints_a_OBJECTS = $(am_libints_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libints_a_SOURCES)
DIST_SOURCES = $(libints_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +140,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +162,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,65 +175,45 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
AM_CPPFLAGS = -I$(top_srcdir)/include AM_CPPFLAGS = -I$(top_srcdir)/include
noinst_LIBRARIES = libints.a noinst_LIBRARIES = libints.a
libints_a_SOURCES = mouse.cpp xms.cpp xms.h ems.cpp \ libints_a_SOURCES = mouse.cpp xms.cpp xms.h ems.cpp \
int10.cpp int10.h int10_char.cpp int10_memory.cpp int10_misc.cpp int10_modes.cpp \ int10.cpp int10.h int10_char.cpp int10_memory.cpp int10_misc.cpp int10_modes.cpp \
int10_vesa.cpp int10_pal.cpp int10_put_pixel.cpp \ int10_vesa.cpp int10_pal.cpp int10_put_pixel.cpp \
bios.cpp bios_disk.cpp bios_keyboard.cpp bios.cpp bios_disk.cpp bios_keyboard.cpp
subdir = src/ints
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
libints_a_AR = $(AR) cru
libints_a_LIBADD =
am_libints_a_OBJECTS = mouse.$(OBJEXT) xms.$(OBJEXT) ems.$(OBJEXT) \
int10.$(OBJEXT) int10_char.$(OBJEXT) int10_memory.$(OBJEXT) \
int10_misc.$(OBJEXT) int10_modes.$(OBJEXT) int10_vesa.$(OBJEXT) \
int10_pal.$(OBJEXT) int10_put_pixel.$(OBJEXT) bios.$(OBJEXT) \
bios_disk.$(OBJEXT) bios_keyboard.$(OBJEXT)
libints_a_OBJECTS = $(am_libints_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/bios.Po ./$(DEPDIR)/bios_disk.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/bios_keyboard.Po ./$(DEPDIR)/ems.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/int10.Po ./$(DEPDIR)/int10_char.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/int10_memory.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/int10_misc.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/int10_modes.Po ./$(DEPDIR)/int10_pal.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/int10_put_pixel.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/int10_vesa.Po ./$(DEPDIR)/mouse.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xms.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libints_a_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
SOURCES = $(libints_a_SOURCES)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cpp .o .obj .SUFFIXES: .cpp .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/ints/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/ints/Makefile $(AUTOMAKE) --gnits src/ints/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
AR = ar $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstLIBRARIES: clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@ -198,7 +223,7 @@ libints.a: $(libints_a_OBJECTS) $(libints_a_DEPENDENCIES)
$(RANLIB) libints.a $(RANLIB) libints.a
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -219,36 +244,20 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xms.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xms.Po@am__quote@
.cpp.o: .cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.obj: .cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -257,6 +266,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -268,10 +278,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -294,10 +305,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -311,7 +318,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -329,7 +336,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(LIBRARIES) all-am: Makefile $(LIBRARIES)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -350,7 +356,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -369,6 +375,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -404,13 +412,14 @@ uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES ctags distclean distclean-compile \ clean-noinstLIBRARIES ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am info \ distclean-generic distclean-tags distdir dvi dvi-am html \
info-am install install-am install-data install-data-am \ html-am info info-am install install-am install-data \
install-exec install-exec-am install-info install-info-am \ install-data-am install-exec install-exec-am install-info \
install-man install-strip installcheck installcheck-am \ install-info-am install-man install-strip installcheck \
installdirs maintainer-clean maintainer-clean-generic \ installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ maintainer-clean-generic mostlyclean mostlyclean-compile \
ps ps-am tags uninstall uninstall-am uninstall-info-am mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: bios.cpp,v 1.35 2004/08/04 09:12:56 qbix79 Exp $ */ /* $Id: bios.cpp,v 1.36 2004/10/23 15:15:06 qbix79 Exp $ */
#include <time.h> #include <time.h>
#include "dosbox.h" #include "dosbox.h"
@ -410,7 +410,7 @@ void BIOS_SetupKeyboard(void);
void BIOS_SetupDisks(void); void BIOS_SetupDisks(void);
void BIOS_Init(Section* sec) { void BIOS_Init(Section* sec) {
MSG_Add("BIOS_CONFIGFILE_HELP","Nothing to setup yet!\n"); MSG_Add("BIOS_CONFIGFILE_HELP","Nothing to setup yet!\n");
/* Clear the Bios Data Area */ /* Clear the Bios Data Area */
for (Bit16u i=0;i<1024;i++) real_writeb(0x40,i,0); for (Bit16u i=0;i<1024;i++) real_writeb(0x40,i,0);
/* Setup all the interrupt handlers the bios controls */ /* Setup all the interrupt handlers the bios controls */
@ -418,7 +418,7 @@ void BIOS_Init(Section* sec) {
//TODO Maybe give this a special callback that will also call int 8 instead of starting //TODO Maybe give this a special callback that will also call int 8 instead of starting
//a new system //a new system
call_int8=CALLBACK_Allocate(); call_int8=CALLBACK_Allocate();
CALLBACK_Setup(call_int8,&INT8_Handler,CB_IRET); CALLBACK_Setup(call_int8,&INT8_Handler,CB_IRET,"Int 8 Clock");
phys_writeb(CB_BASE+(call_int8<<4)+0,(Bit8u)0xFE); //GRP 4 phys_writeb(CB_BASE+(call_int8<<4)+0,(Bit8u)0xFE); //GRP 4
phys_writeb(CB_BASE+(call_int8<<4)+1,(Bit8u)0x38); //Extra Callback instruction phys_writeb(CB_BASE+(call_int8<<4)+1,(Bit8u)0x38); //Extra Callback instruction
phys_writew(CB_BASE+(call_int8<<4)+2,call_int8); //The immediate word phys_writew(CB_BASE+(call_int8<<4)+2,call_int8); //The immediate word
@ -434,44 +434,44 @@ void BIOS_Init(Section* sec) {
RealSetVec(0x8,CALLBACK_RealPointer(call_int8)); RealSetVec(0x8,CALLBACK_RealPointer(call_int8));
/* INT 11 Get equipment list */ /* INT 11 Get equipment list */
call_int11=CALLBACK_Allocate(); call_int11=CALLBACK_Allocate();
CALLBACK_Setup(call_int11,&INT11_Handler,CB_IRET); CALLBACK_Setup(call_int11,&INT11_Handler,CB_IRET,"Int 11 Equipment");
RealSetVec(0x11,CALLBACK_RealPointer(call_int11)); RealSetVec(0x11,CALLBACK_RealPointer(call_int11));
/* INT 12 Memory Size default at 640 kb */ /* INT 12 Memory Size default at 640 kb */
call_int12=CALLBACK_Allocate(); call_int12=CALLBACK_Allocate();
CALLBACK_Setup(call_int12,&INT12_Handler,CB_IRET); CALLBACK_Setup(call_int12,&INT12_Handler,CB_IRET,"Int 12 Memory");
RealSetVec(0x12,CALLBACK_RealPointer(call_int12)); RealSetVec(0x12,CALLBACK_RealPointer(call_int12));
mem_writew(BIOS_MEMORY_SIZE,640); mem_writew(BIOS_MEMORY_SIZE,640);
/* INT 13 Bios Disk Support */ /* INT 13 Bios Disk Support */
BIOS_SetupDisks(); BIOS_SetupDisks();
call_int14=CALLBACK_Allocate(); call_int14=CALLBACK_Allocate();
CALLBACK_Setup(call_int14,&INT14_Handler,CB_IRET); CALLBACK_Setup(call_int14,&INT14_Handler,CB_IRET,"Int 14 COM-port");
RealSetVec(0x14,CALLBACK_RealPointer(call_int14)); RealSetVec(0x14,CALLBACK_RealPointer(call_int14));
/* INT 15 Misc Calls */ /* INT 15 Misc Calls */
call_int15=CALLBACK_Allocate(); call_int15=CALLBACK_Allocate();
CALLBACK_Setup(call_int15,&INT15_Handler,CB_IRET); CALLBACK_Setup(call_int15,&INT15_Handler,CB_IRET,"Int 15 Bios");
RealSetVec(0x15,CALLBACK_RealPointer(call_int15)); RealSetVec(0x15,CALLBACK_RealPointer(call_int15));
/* INT 16 Keyboard handled in another file */ /* INT 16 Keyboard handled in another file */
BIOS_SetupKeyboard(); BIOS_SetupKeyboard();
/* INT 16 Printer Routines */ /* INT 16 Printer Routines */
call_int17=CALLBACK_Allocate(); call_int17=CALLBACK_Allocate();
CALLBACK_Setup(call_int17,&INT17_Handler,CB_IRET); CALLBACK_Setup(call_int17,&INT17_Handler,CB_IRET,"Int 17 Printer");
RealSetVec(0x17,CALLBACK_RealPointer(call_int17)); RealSetVec(0x17,CALLBACK_RealPointer(call_int17));
/* INT 1A TIME and some other functions */ /* INT 1A TIME and some other functions */
call_int1a=CALLBACK_Allocate(); call_int1a=CALLBACK_Allocate();
CALLBACK_Setup(call_int1a,&INT1A_Handler,CB_IRET_STI); CALLBACK_Setup(call_int1a,&INT1A_Handler,CB_IRET_STI,"Int 1a Time");
RealSetVec(0x1A,CALLBACK_RealPointer(call_int1a)); RealSetVec(0x1A,CALLBACK_RealPointer(call_int1a));
/* INT 1C System Timer tick called from INT 8 */ /* INT 1C System Timer tick called from INT 8 */
call_int1c=CALLBACK_Allocate(); call_int1c=CALLBACK_Allocate();
CALLBACK_Setup(call_int1c,&INT1C_Handler,CB_IRET); CALLBACK_Setup(call_int1c,&INT1C_Handler,CB_IRET,"Int 1c Timer tick");
RealSetVec(0x1C,CALLBACK_RealPointer(call_int1c)); RealSetVec(0x1C,CALLBACK_RealPointer(call_int1c));
/* IRQ 8 RTC Handler */ /* IRQ 8 RTC Handler */
call_int70=CALLBACK_Allocate(); call_int70=CALLBACK_Allocate();
CALLBACK_Setup(call_int70,&INT70_Handler,CB_IRET); CALLBACK_Setup(call_int70,&INT70_Handler,CB_IRET,"Int 70 RTC");
RealSetVec(0x70,CALLBACK_RealPointer(call_int70)); RealSetVec(0x70,CALLBACK_RealPointer(call_int70));
/* Some defeault CPU error interrupt handlers */ /* Some defeault CPU error interrupt handlers */
call_int1=CALLBACK_Allocate(); call_int1=CALLBACK_Allocate();
CALLBACK_Setup(call_int1,&INT1_Single_Step,CB_IRET); CALLBACK_Setup(call_int1,&INT1_Single_Step,CB_IRET,"Int 1 Single step");
RealSetVec(0x1,CALLBACK_RealPointer(call_int1)); RealSetVec(0x1,CALLBACK_RealPointer(call_int1));
/* Setup some stuff in 0x40 bios segment */ /* Setup some stuff in 0x40 bios segment */

View File

@ -106,6 +106,10 @@ void swapInDisks(void) {
} }
void swapInNextDisk(void) { void swapInNextDisk(void) {
/* Hack/feature: rescan all disks as well */
for(Bitu i=0;i<DOS_DRIVES;i++) {
if (Drives[i]) Drives[i]->EmptyCache();
}
swapPosition++; swapPosition++;
if(diskSwap[swapPosition] == NULL) swapPosition = 0; if(diskSwap[swapPosition] == NULL) swapPosition = 0;
swapInDisks(); swapInDisks();
@ -403,7 +407,7 @@ void BIOS_SetupDisks(void) {
/* TODO Start the time correctly */ /* TODO Start the time correctly */
call_int13=CALLBACK_Allocate(); call_int13=CALLBACK_Allocate();
//CALLBACK_Setup(call_int13,&INT13_SmallHandler,CB_IRET); //CALLBACK_Setup(call_int13,&INT13_SmallHandler,CB_IRET);
CALLBACK_Setup(call_int13,&INT13_DiskHandler,CB_IRET); CALLBACK_Setup(call_int13,&INT13_DiskHandler,CB_IRET,"Int 13 Bios disk");
RealSetVec(0x13,CALLBACK_RealPointer(call_int13)); RealSetVec(0x13,CALLBACK_RealPointer(call_int13));
int i; int i;
for(i=0;i<4;i++) { for(i=0;i<4;i++) {

View File

@ -304,14 +304,20 @@ static Bitu IRQ1_Handler(void) {
case 0x53: /* del . Not entirely correct, but works fine */ case 0x53: /* del . Not entirely correct, but works fine */
if(flags3 &0x02) { /*extend key. e.g key above arrows or arrows*/ if(flags3 &0x02) { /*extend key. e.g key above arrows or arrows*/
if(scancode == 0x52) flags2 |=0x80; /* press insert */ if(scancode == 0x52) flags2 |=0x80; /* press insert */
add_key((scancode <<8)|0xe0); if(flags1 &0x08) {
add_key(scan_to_scanascii[scancode].normal+0x5000);
} else if( ((flags1 &0x3) != 0) ^ ((flags1 &0x20) != 0) ) {
add_key((scan_to_scanascii[scancode].shift&0xff00)|0xe0);
} else if (flags1 &0x04) {
add_key((scan_to_scanascii[scancode].control&0xff00)|0xe0);
} else add_key((scan_to_scanascii[scancode].normal&0xff00)|0xe0);
break; break;
} }
if(flags1 &0x08) { if(flags1 &0x08) {
Bit8u token = mem_readb(BIOS_KEYBOARD_TOKEN); Bit8u token = mem_readb(BIOS_KEYBOARD_TOKEN);
token= token*10 + scan_to_scanascii[scancode].alt; token= token*10 + scan_to_scanascii[scancode].alt;
mem_writeb(BIOS_KEYBOARD_TOKEN,token); mem_writeb(BIOS_KEYBOARD_TOKEN,token);
} else if( ((flags1 &0x3)!=0) ^ ((flags1 &0x20) !=0) ) { } else if( ((flags1 &0x3) != 0) ^ ((flags1 &0x20) != 0) ) {
add_key(scan_to_scanascii[scancode].shift); add_key(scan_to_scanascii[scancode].shift);
} else if (flags1 &0x04) { } else if (flags1 &0x04) {
add_key(scan_to_scanascii[scancode].control); add_key(scan_to_scanascii[scancode].control);
@ -400,11 +406,19 @@ static Bitu INT16_Handler(void) {
reg_al=mem_readb(BIOS_KEYBOARD_FLAGS1); reg_al=mem_readb(BIOS_KEYBOARD_FLAGS1);
break; break;
case 0x03: /* SET TYPEMATIC RATE AND DELAY */ case 0x03: /* SET TYPEMATIC RATE AND DELAY */
LOG(LOG_BIOS,LOG_ERROR)("INT16:Unhandled Typematic Rate Call %2X BX=%X",reg_al,reg_bx); if (reg_al == 0x00) { // set default delay and rate
IO_Write(0x60,0xf3);
IO_Write(0x60,0x20); // 500 msec delay, 30 cps
} else if (reg_al == 0x05) { // set repeat rate and delay
IO_Write(0x60,0xf3);
IO_Write(0x60,(reg_bh&3)<<5|(reg_bl&0x1f));
} else {
LOG(LOG_BIOS,LOG_ERROR)("INT16:Unhandled Typematic Rate Call %2X BX=%X",reg_al,reg_bx);
}
break; break;
case 0x05: /* STORE KEYSTROKE IN KEYBOARD BUFFER */ case 0x05: /* STORE KEYSTROKE IN KEYBOARD BUFFER */
//TODO make add_key bool :) //TODO make add_key bool :)
add_key(reg_ax); add_key(reg_cx);
reg_al=0; reg_al=0;
break; break;
case 0x12: /* GET EXTENDED SHIFT STATES */ case 0x12: /* GET EXTENDED SHIFT STATES */
@ -424,17 +438,26 @@ static Bitu INT16_Handler(void) {
return CBRET_NONE; return CBRET_NONE;
} }
//Keyboard initialisation. src/gui/sdlmain.cpp
extern bool startup_state_numlock;
extern bool startup_state_capslock;
static void InitBiosSegment(void) { static void InitBiosSegment(void) {
/* Setup the variables for keyboard in the bios data segment */ /* Setup the variables for keyboard in the bios data segment */
mem_writew(BIOS_KEYBOARD_BUFFER_START,0x1e); mem_writew(BIOS_KEYBOARD_BUFFER_START,0x1e);
mem_writew(BIOS_KEYBOARD_BUFFER_END,0x3e); mem_writew(BIOS_KEYBOARD_BUFFER_END,0x3e);
mem_writew(BIOS_KEYBOARD_BUFFER_HEAD,0x1e); mem_writew(BIOS_KEYBOARD_BUFFER_HEAD,0x1e);
mem_writew(BIOS_KEYBOARD_BUFFER_TAIL,0x1e); mem_writew(BIOS_KEYBOARD_BUFFER_TAIL,0x1e);
mem_writeb(BIOS_KEYBOARD_FLAGS1,0); Bit8u flag1 = 0;
Bit8u leds = 16; /* Ack recieved */
if(startup_state_capslock) { flag1|=0x40; leds|=0x04;}
if(startup_state_numlock){ flag1|=0x20; leds|=0x02;}
mem_writeb(BIOS_KEYBOARD_FLAGS1,flag1);
mem_writeb(BIOS_KEYBOARD_FLAGS2,0); mem_writeb(BIOS_KEYBOARD_FLAGS2,0);
mem_writeb(BIOS_KEYBOARD_FLAGS3,16); /* Enhanced keyboard installed */ mem_writeb(BIOS_KEYBOARD_FLAGS3,16); /* Enhanced keyboard installed */
mem_writeb(BIOS_KEYBOARD_TOKEN,0); mem_writeb(BIOS_KEYBOARD_TOKEN,0);
mem_writeb(BIOS_KEYBOARD_LEDS,16); mem_writeb(BIOS_KEYBOARD_LEDS,leds);
} }
void BIOS_SetupKeyboard(void) { void BIOS_SetupKeyboard(void) {

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: ems.cpp,v 1.34 2004/08/04 09:12:56 qbix79 Exp $ */ /* $Id: ems.cpp,v 1.36 2004/10/23 15:15:06 qbix79 Exp $ */
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
@ -65,7 +65,7 @@
class device_EMM : public DOS_Device { class device_EMM : public DOS_Device {
public: public:
device_EMM(){name="EMMXXXX0";} device_EMM(){SetName("EMMXXXX0");}
bool Read(Bit8u * data,Bit16u * size) { return false;} bool Read(Bit8u * data,Bit16u * size) { return false;}
bool Write(Bit8u * data,Bit16u * size){ bool Write(Bit8u * data,Bit16u * size){
LOG(LOG_IOCTL,LOG_NORMAL)("EMS:Write to device"); LOG(LOG_IOCTL,LOG_NORMAL)("EMS:Write to device");
@ -610,14 +610,14 @@ static Bitu INT4B_Handler() {
void EMS_Init(Section* sec) { void EMS_Init(Section* sec) {
/* Virtual DMA interrupt callback */ /* Virtual DMA interrupt callback */
call_vdma=CALLBACK_Allocate(); call_vdma=CALLBACK_Allocate();
CALLBACK_Setup(call_vdma,&INT4B_Handler,CB_IRET); CALLBACK_Setup(call_vdma,&INT4B_Handler,CB_IRET,"Int 4b vdma");
RealSetVec(0x4b,CALLBACK_RealPointer(call_vdma)); RealSetVec(0x4b,CALLBACK_RealPointer(call_vdma));
Section_prop * section=static_cast<Section_prop *>(sec); Section_prop * section=static_cast<Section_prop *>(sec);
if (!section->Get_bool("ems")) return; if (!section->Get_bool("ems")) return;
BIOS_ZeroExtendedSize(); BIOS_ZeroExtendedSize();
call_int67=CALLBACK_Allocate(); call_int67=CALLBACK_Allocate();
CALLBACK_Setup(call_int67,&INT67_Handler,CB_IRET); CALLBACK_Setup(call_int67,&INT67_Handler,CB_IRET,"Int 67 ems");
/* Register the ems device */ /* Register the ems device */
DOS_Device * newdev = new device_EMM(); DOS_Device * newdev = new device_EMM();
DOS_AddDevice(newdev); DOS_AddDevice(newdev);

View File

@ -467,7 +467,7 @@ void INT10_Init(Section* sec) {
if (machine==MCH_TANDY) SetupTandyBios(); if (machine==MCH_TANDY) SetupTandyBios();
/* Setup the INT 10 vector */ /* Setup the INT 10 vector */
call_10=CALLBACK_Allocate(); call_10=CALLBACK_Allocate();
CALLBACK_Setup(call_10,&INT10_Handler,CB_IRET); CALLBACK_Setup(call_10,&INT10_Handler,CB_IRET,"Int 10 video");
RealSetVec(0x10,CALLBACK_RealPointer(call_10)); RealSetVec(0x10,CALLBACK_RealPointer(call_10));
//Init the 0x40 segment and init the datastructures in the the video rom area //Init the 0x40 segment and init the datastructures in the the video rom area
INT10_SetupRomMemory(); INT10_SetupRomMemory();

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(libmisc_a_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../.. top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +36,40 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/misc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libmisc_a_AR = $(AR) $(ARFLAGS)
libmisc_a_LIBADD =
am_libmisc_a_OBJECTS = programs.$(OBJEXT) messages.$(OBJEXT) \
support.$(OBJEXT) setup.$(OBJEXT)
libmisc_a_OBJECTS = $(am_libmisc_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
SOURCES = $(libmisc_a_SOURCES)
DIST_SOURCES = $(libmisc_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +132,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +154,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,47 +167,41 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
AM_CPPFLAGS = -I$(top_srcdir)/include AM_CPPFLAGS = -I$(top_srcdir)/include
noinst_LIBRARIES = libmisc.a noinst_LIBRARIES = libmisc.a
libmisc_a_SOURCES = programs.cpp messages.cpp support.cpp setup.cpp libmisc_a_SOURCES = programs.cpp messages.cpp support.cpp setup.cpp
subdir = src/misc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
libmisc_a_AR = $(AR) cru
libmisc_a_LIBADD =
am_libmisc_a_OBJECTS = programs.$(OBJEXT) messages.$(OBJEXT) \
support.$(OBJEXT) setup.$(OBJEXT)
libmisc_a_OBJECTS = $(am_libmisc_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/messages.Po ./$(DEPDIR)/programs.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/setup.Po ./$(DEPDIR)/support.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
DIST_SOURCES = $(libmisc_a_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
SOURCES = $(libmisc_a_SOURCES)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cpp .o .obj .SUFFIXES: .cpp .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/misc/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/misc/Makefile $(AUTOMAKE) --gnits src/misc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
AR = ar $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstLIBRARIES: clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@ -180,7 +211,7 @@ libmisc.a: $(libmisc_a_OBJECTS) $(libmisc_a_DEPENDENCIES)
$(RANLIB) libmisc.a $(RANLIB) libmisc.a
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -191,36 +222,20 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/support.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/support.Po@am__quote@
.cpp.o: .cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.obj: .cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -229,6 +244,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -240,10 +256,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -266,10 +283,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -283,7 +296,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -301,7 +314,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(LIBRARIES) all-am: Makefile $(LIBRARIES)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -322,7 +334,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -341,6 +353,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -376,13 +390,14 @@ uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES ctags distclean distclean-compile \ clean-noinstLIBRARIES ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am info \ distclean-generic distclean-tags distdir dvi dvi-am html \
info-am install install-am install-data install-data-am \ html-am info info-am install install-am install-data \
install-exec install-exec-am install-info install-info-am \ install-data-am install-exec install-exec-am install-info \
install-man install-strip installcheck installcheck-am \ install-info-am install-man install-strip installcheck \
installdirs maintainer-clean maintainer-clean-generic \ installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ maintainer-clean-generic mostlyclean mostlyclean-compile \
ps ps-am tags uninstall uninstall-am uninstall-info-am mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -16,8 +16,9 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: programs.cpp,v 1.15 2004/09/16 21:47:39 qbix79 Exp $ */ /* $Id: programs.cpp,v 1.17 2004/10/23 17:54:36 qbix79 Exp $ */
#include <vector>
#include <ctype.h> #include <ctype.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdarg.h> #include <stdarg.h>
@ -47,14 +48,20 @@ static Bit8u exe_block[]={
#define CB_POS 12 #define CB_POS 12
static std::vector<PROGRAMS_Main*> internal_progs;
void PROGRAMS_MakeFile(char * name,PROGRAMS_Main * main) { void PROGRAMS_MakeFile(char * name,PROGRAMS_Main * main) {
Bit8u * comdata=(Bit8u *)malloc(128); Bit8u * comdata=(Bit8u *)malloc(128);
memcpy(comdata,&exe_block,sizeof(exe_block)); memcpy(comdata,&exe_block,sizeof(exe_block));
comdata[CB_POS]=call_program&0xff; comdata[CB_POS]=call_program&0xff;
comdata[CB_POS+1]=(call_program>>8)&0xff; comdata[CB_POS+1]=(call_program>>8)&0xff;
/* Copy the pointer this should preserve endianes */
memcpy(&comdata[sizeof(exe_block)],&main,sizeof(main)); /* Copy save the pointer in the vector and save it's index */
Bit32u size=sizeof(exe_block)+sizeof(main); Bit8u index = internal_progs.size();
internal_progs.push_back(main);
memcpy(&comdata[sizeof(exe_block)],&index,sizeof(index));
Bit32u size=sizeof(exe_block)+sizeof(index);
VFILE_Register(name,comdata,size); VFILE_Register(name,comdata,size);
} }
@ -62,13 +69,15 @@ void PROGRAMS_MakeFile(char * name,PROGRAMS_Main * main) {
static Bitu PROGRAMS_Handler(void) { static Bitu PROGRAMS_Handler(void) {
/* This sets up everything for a program start up call */ /* This sets up everything for a program start up call */
PROGRAMS_Main * handler=0; //It will get sneakily itinialized Bitu size=sizeof(Bit8u);
Bitu size=sizeof(PROGRAMS_Main *); Bit8u index;
/* Read the handler from program code in memory */ /* Read the index from program code in memory */
PhysPt reader=PhysMake(dos.psp(),256+sizeof(exe_block)); PhysPt reader=PhysMake(dos.psp(),256+sizeof(exe_block));
HostPt writer=(HostPt)&handler; HostPt writer=(HostPt)&index;
for (;size>0;size--) *writer++=mem_readb(reader++); for (;size>0;size--) *writer++=mem_readb(reader++);
Program * new_program; Program * new_program;
if(index > internal_progs.size()) E_Exit("something is messing with the memory");
PROGRAMS_Main * handler = internal_progs[index];
(*handler)(&new_program); (*handler)(&new_program);
new_program->Run(); new_program->Run();
delete new_program; delete new_program;
@ -220,7 +229,7 @@ static void CONFIG_ProgramStart(Program * * make) {
void PROGRAMS_Init(Section* sec) { void PROGRAMS_Init(Section* sec) {
/* Setup a special callback to start virtual programs */ /* Setup a special callback to start virtual programs */
call_program=CALLBACK_Allocate(); call_program=CALLBACK_Allocate();
CALLBACK_Setup(call_program,&PROGRAMS_Handler,CB_RETF); CALLBACK_Setup(call_program,&PROGRAMS_Handler,CB_RETF,"internal program");
PROGRAMS_MakeFile("CONFIG.COM",CONFIG_ProgramStart); PROGRAMS_MakeFile("CONFIG.COM",CONFIG_ProgramStart);
MSG_Add("PROGRAM_CONFIG_FILE_ERROR","Can't open file %s\n"); MSG_Add("PROGRAM_CONFIG_FILE_ERROR","Can't open file %s\n");

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: setup.cpp,v 1.22 2004/08/04 09:12:56 qbix79 Exp $ */ /* $Id: setup.cpp,v 1.23 2004/10/25 21:16:30 qbix79 Exp $ */
#include "dosbox.h" #include "dosbox.h"
#include "cross.h" #include "cross.h"
@ -291,7 +291,7 @@ bool Config::ParseConfigFile(const char* configfilename){
break; break;
default: default:
try{ try{
currentsection->HandleInputline(s); if(currentsection) currentsection->HandleInputline(s);
}catch(const char* message){ }catch(const char* message){
message=0; message=0;
//EXIT with message //EXIT with message

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: support.cpp,v 1.25 2004/08/04 09:12:56 qbix79 Exp $ */ /* $Id: support.cpp,v 1.27 2004/10/24 10:03:29 qbix79 Exp $ */
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
@ -48,14 +48,14 @@ void strreplace(char * str,char o,char n) {
} }
} }
char *ltrim(char *str) { char *ltrim(char *str) {
while (*str && (*str==' ' || *str=='\t')) str++; while (*str && isspace(*reinterpret_cast<unsigned char*>(str))) str++;
return str; return str;
} }
char *rtrim(char *str) { char *rtrim(char *str) {
char *p; char *p;
p = strchr(str, '\0'); p = strchr(str, '\0');
while (--p >= str && isspace(*p)); while (--p >= str && isspace(*reinterpret_cast<unsigned char*>(p)));
p[1] = '\0'; p[1] = '\0';
return str; return str;
} }
@ -84,7 +84,7 @@ bool ScanCMDBool(char * cmd,char * check) {
char * ScanCMDRemain(char * cmd) { char * ScanCMDRemain(char * cmd) {
char * scan,*found;; char * scan,*found;;
if ((scan=found=strchr(cmd,'/'))) { if ((scan=found=strchr(cmd,'/'))) {
while (*scan!=' ' && *scan!='\t' && *scan!=0) scan++; while ( *scan && !isspace(*reinterpret_cast<unsigned char*>(scan)) ) scan++;
*scan=0; *scan=0;
return found; return found;
} else return 0; } else return 0;
@ -104,7 +104,7 @@ char * StripWord(char *&line) {
} }
char * begin=scan; char * begin=scan;
for (;char c=*scan;scan++) { for (;char c=*scan;scan++) {
if (c==' ' || c=='\t') { if (isspace(*reinterpret_cast<unsigned char*>(&c))) {
*scan++=0; *scan++=0;
break; break;
} }
@ -130,7 +130,7 @@ Bits ConvDecWord(char * word) {
Bits ConvHexWord(char * word) { Bits ConvHexWord(char * word) {
Bitu ret=0; Bitu ret=0;
while (char c=toupper(*word)) { while (char c=toupper(*reinterpret_cast<unsigned char*>(word))) {
ret*=16; ret*=16;
if (c>='0' && c<='9') ret+=c-'0'; if (c>='0' && c<='9') ret+=c-'0';
else if (c>='A' && c<='F') ret+=10+(c-'A'); else if (c>='A' && c<='F') ret+=10+(c-'A');

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../.. top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +33,31 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/platform
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +120,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +142,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,28 +155,38 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
SUBDIRS = visualc SUBDIRS = visualc
subdir = src/platform
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive all: all-recursive
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/platform/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/platform/Makefile $(AUTOMAKE) --gnits src/platform/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
uninstall-info-am: uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd # This directory's subdirectories are mostly independent; you can cd
@ -213,14 +248,6 @@ ctags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -229,19 +256,22 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
if (etags --etags-include --version) >/dev/null 2>&1; then \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \ include_option=--etags-include; \
empty_fix=.; \
else \ else \
include_option=--include; \ include_option=--include; \
empty_fix=; \
fi; \ fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && \ test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \ fi; \
done; \ done; \
@ -251,10 +281,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -277,10 +308,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -294,7 +321,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -309,15 +336,17 @@ distdir: $(DISTFILES)
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \ test -d "$(distdir)/$$subdir" \
|| mkdir $(distdir)/$$subdir \ || $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \ || exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \ (cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \ $(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \ top_distdir="$$top_distdir" \
distdir=../$(distdir)/$$subdir \ distdir="$$distdir/$$subdir" \
distdir) \ distdir) \
|| exit 1; \ || exit 1; \
fi; \ fi; \
@ -327,7 +356,6 @@ check: check-recursive
all-am: Makefile all-am: Makefile
installdirs: installdirs-recursive installdirs: installdirs-recursive
installdirs-am: installdirs-am:
install: install-recursive install: install-recursive
install-exec: install-exec-recursive install-exec: install-exec-recursive
install-data: install-data-recursive install-data: install-data-recursive
@ -347,7 +375,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -364,6 +392,8 @@ dvi: dvi-recursive
dvi-am: dvi-am:
html: html-recursive
info: info-recursive info: info-recursive
info-am: info-am:
@ -398,20 +428,17 @@ uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean-generic clean-recursive ctags ctags-recursive distclean \ clean clean-generic clean-recursive ctags ctags-recursive \
distclean-generic distclean-recursive distclean-tags distdir \ distclean distclean-generic distclean-recursive distclean-tags \
dvi dvi-am dvi-recursive info info-am info-recursive install \ distdir dvi dvi-am html html-am info info-am install \
install-am install-data install-data-am install-data-recursive \ install-am install-data install-data-am install-exec \
install-exec install-exec-am install-exec-recursive \ install-exec-am install-info install-info-am install-man \
install-info install-info-am install-info-recursive install-man \ install-strip installcheck installcheck-am installdirs \
install-recursive install-strip installcheck installcheck-am \ installdirs-am maintainer-clean maintainer-clean-generic \
installdirs installdirs-am installdirs-recursive \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \ maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \ mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
ps-recursive tags tags-recursive uninstall uninstall-am \ uninstall uninstall-am uninstall-info-am
uninstall-info-am uninstall-info-recursive uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../.. top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +33,22 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/platform/visualc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +111,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +133,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,21 +146,38 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
EXTRA_DIST = dirent.c dirent.h unistd.h config.h ntddscsi.h ntddcdrm.h EXTRA_DIST = dirent.c dirent.h unistd.h config.h ntddscsi.h ntddcdrm.h
subdir = src/platform/visualc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/platform/visualc/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/platform/visualc/Makefile $(AUTOMAKE) --gnits src/platform/visualc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
uninstall-info-am: uninstall-info-am:
tags: TAGS tags: TAGS
TAGS: TAGS:
@ -152,10 +185,6 @@ TAGS:
ctags: CTAGS ctags: CTAGS
CTAGS: CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -169,7 +198,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -187,7 +216,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile all-am: Makefile
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -208,7 +236,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -225,6 +253,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -258,8 +288,8 @@ ps-am:
uninstall-am: uninstall-info-am uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic distclean \ .PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am info info-am install \ distclean-generic distdir dvi dvi-am html html-am info info-am \
install-am install-data install-data-am install-exec \ install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \ install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \ install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \ maintainer-clean maintainer-clean-generic mostlyclean \

View File

@ -1,6 +1,6 @@
#define INLINE __forceinline #define INLINE __forceinline
#define VERSION "0.62" #define VERSION "0.63"
/* Define to 1 to enable internal debugger, requires libcurses */ /* Define to 1 to enable internal debugger, requires libcurses */

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(libshell_a_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../.. top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +36,40 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = src/shell
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libshell_a_AR = $(AR) $(ARFLAGS)
libshell_a_LIBADD =
am_libshell_a_OBJECTS = shell.$(OBJEXT) shell_batch.$(OBJEXT) \
shell_cmds.$(OBJEXT) shell_misc.$(OBJEXT)
libshell_a_OBJECTS = $(am_libshell_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
SOURCES = $(libshell_a_SOURCES)
DIST_SOURCES = $(libshell_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +132,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +154,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,47 +167,41 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
AM_CPPFLAGS = -I$(top_srcdir)/include AM_CPPFLAGS = -I$(top_srcdir)/include
noinst_LIBRARIES = libshell.a noinst_LIBRARIES = libshell.a
libshell_a_SOURCES = shell.cpp shell_batch.cpp shell_cmds.cpp shell_misc.cpp libshell_a_SOURCES = shell.cpp shell_batch.cpp shell_cmds.cpp shell_misc.cpp
subdir = src/shell
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
libshell_a_AR = $(AR) cru
libshell_a_LIBADD =
am_libshell_a_OBJECTS = shell.$(OBJEXT) shell_batch.$(OBJEXT) \
shell_cmds.$(OBJEXT) shell_misc.$(OBJEXT)
libshell_a_OBJECTS = $(am_libshell_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/shell.Po ./$(DEPDIR)/shell_batch.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/shell_cmds.Po ./$(DEPDIR)/shell_misc.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
DIST_SOURCES = $(libshell_a_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
SOURCES = $(libshell_a_SOURCES)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cpp .o .obj .SUFFIXES: .cpp .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/shell/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits src/shell/Makefile $(AUTOMAKE) --gnits src/shell/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
AR = ar $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstLIBRARIES: clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@ -180,7 +211,7 @@ libshell.a: $(libshell_a_OBJECTS) $(libshell_a_DEPENDENCIES)
$(RANLIB) libshell.a $(RANLIB) libshell.a
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -191,36 +222,20 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shell_misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shell_misc.Po@am__quote@
.cpp.o: .cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cpp.obj: .cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -229,6 +244,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -240,10 +256,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -266,10 +283,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ../..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -283,7 +296,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -301,7 +314,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(LIBRARIES) all-am: Makefile $(LIBRARIES)
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -322,7 +334,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -341,6 +353,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -376,13 +390,14 @@ uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES ctags distclean distclean-compile \ clean-noinstLIBRARIES ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am info \ distclean-generic distclean-tags distdir dvi dvi-am html \
info-am install install-am install-data install-data-am \ html-am info info-am install install-am install-data \
install-exec install-exec-am install-info install-info-am \ install-data-am install-exec install-exec-am install-info \
install-man install-strip installcheck installcheck-am \ install-info-am install-man install-strip installcheck \
installdirs maintainer-clean maintainer-clean-generic \ installcheck-am installdirs maintainer-clean \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ maintainer-clean-generic mostlyclean mostlyclean-compile \
ps ps-am tags uninstall uninstall-am uninstall-info-am mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: shell.cpp,v 1.49 2004/09/28 15:31:21 qbix79 Exp $ */ /* $Id: shell.cpp,v 1.53 2004/11/13 12:19:43 qbix79 Exp $ */
#include <stdlib.h> #include <stdlib.h>
#include <stdarg.h> #include <stdarg.h>
@ -113,14 +113,13 @@ void DOS_Shell::ParseLine(char * line) {
if (line[0]=='@') line[0]=' '; if (line[0]=='@') line[0]=' ';
line=trim(line); line=trim(line);
#if 1
/* Do redirection and pipe checks */ /* Do redirection and pipe checks */
char * in=0; char * in=0;
char * out=0; char * out=0;
Bit16u old_in,old_out; Bit16u old_in,old_out;
Bit16u dummy,dummy2;
Bitu num=0; /* Number of commands in this line */ Bitu num=0; /* Number of commands in this line */
bool append; bool append;
@ -129,17 +128,33 @@ void DOS_Shell::ParseLine(char * line) {
// if (in || num>1) DOS_DuplicateEntry(0,&old_in); // if (in || num>1) DOS_DuplicateEntry(0,&old_in);
if (in) { if (in) {
LOG_MSG("SHELL:Redirect input from %s",in); if(DOS_OpenFile(in,0,&dummy)) { //Test if file exists
DOS_CloseFile(dummy);
LOG_MSG("SHELL:Redirect input from %s",in);
DOS_CloseFile(0); //Close stdin
DOS_OpenFile(in,0,&dummy);//Open new stdin
}
}
if (out){
LOG_MSG("SHELL:Redirect output to %s",out);
DOS_CloseFile(1);
/* Create if not exist. Open if exist. Both in read/write mode */
if(!DOS_OpenFileExtended(out,2,2,0x11,&dummy,&dummy2))
DOS_OpenFile("con",2,&dummy); //Read only file, open con again
}
/* Run the actual command */
DoCommand(line);
/* Restore handles */
if(in) {
DOS_CloseFile(0); DOS_CloseFile(0);
DOS_OpenFile("con",2,&dummy);
free(in); free(in);
} }
if (out) { if(out) {
LOG_MSG("SHELL:Redirect output to %s",out); DOS_CloseFile(1);
DOS_OpenFile("con",2,&dummy);
free(out); free(out);
} }
#endif
DoCommand(line);
} }
@ -302,13 +317,17 @@ void SHELL_Init() {
"\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB\n" "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB\n"
"\xBA \033[32mDOSBox Shell v" VERSION "\033[37m \xBA\n" "\xBA \033[32mDOSBox Shell v" VERSION "\033[37m \xBA\n"
"\xBA DOSBox runs real and protected mode games. \xBA\n" "\xBA DOSBox runs real and protected mode games. \xBA\n"
"\xBA For supported shell commands type: \033[1;33mHELP\033[37m \xBA\n" "\xBA For supported shell commands type: \033[33mHELP\033[37m \xBA\n"
"\xBA For a short introduction type: \033[33mINTRO\033[37m \xBA\n" "\xBA For a short introduction type: \033[33mINTRO\033[37m \xBA\n"
"\xBA \xBA\n" "\xBA \xBA\n"
"\xBA If you want more speed, try \033[31mctrl-F8\033[37m and \033[31mctrl-F12\033[37m. \xBA\n" "\xBA If you want more speed, try \033[31mctrl-F8\033[37m and \033[31mctrl-F12\033[37m. \xBA\n"
"\xBA To activate the keymapper \033[31mctrl-F1\033[37m. \xBA\n" "\xBA To activate the keymapper \033[31mctrl-F1\033[37m. \xBA\n"
"\xBA For more information read the \033[36mREADME\033[37m file in the DOSBox directory. \xBA\n" "\xBA For more information read the \033[36mREADME\033[37m file in the DOSBox directory. \xBA\n"
"\xBA \xBA\n" "\xBA \xBA\n"
#if C_DEBUG
"\xBA Press \033[31mPause\033[37m to enter the debugger or start the exe with \033[33mDEBUG\033[37m. \xBA\n"
"\xBA \xBA\n"
#endif
"\xBA \033[32mHAVE FUN!\033[37m \xBA\n" "\xBA \033[32mHAVE FUN!\033[37m \xBA\n"
"\xBA \033[32mThe DOSBox Team\033[37m \xBA\n" "\xBA \033[32mThe DOSBox Team\033[37m \xBA\n"
"\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD" "\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD"
@ -339,7 +358,8 @@ void SHELL_Init() {
MSG_Add("SHELL_CMD_LOADHIGH_HELP","Run a program. For batch file compatibility only.\n"); MSG_Add("SHELL_CMD_LOADHIGH_HELP","Run a program. For batch file compatibility only.\n");
MSG_Add("SHELL_CMD_CHOICE_HELP","Waits for a keypress and sets ERRORLEVEL.\n"); MSG_Add("SHELL_CMD_CHOICE_HELP","Waits for a keypress and sets ERRORLEVEL.\n");
MSG_Add("SHELL_CMD_ATTRIB_HELP","Does nothing. Provided for compatibility.\n"); MSG_Add("SHELL_CMD_ATTRIB_HELP","Does nothing. Provided for compatibility.\n");
MSG_Add("SHELL_CMD_PATH_HELP","Provided for compatibility.\n");
/* Regular startup */ /* Regular startup */
call_shellstop=CALLBACK_Allocate(); call_shellstop=CALLBACK_Allocate();
/* Setup the startup CS:IP to kill the last running machine when exitted */ /* Setup the startup CS:IP to kill the last running machine when exitted */
@ -347,7 +367,7 @@ void SHELL_Init() {
SegSet16(cs,RealSeg(newcsip)); SegSet16(cs,RealSeg(newcsip));
reg_ip=RealOff(newcsip); reg_ip=RealOff(newcsip);
CALLBACK_Setup(call_shellstop,shellstop_handler,CB_IRET); CALLBACK_Setup(call_shellstop,shellstop_handler,CB_IRET,"shell stop");
PROGRAMS_MakeFile("COMMAND.COM",SHELL_ProgramStart); PROGRAMS_MakeFile("COMMAND.COM",SHELL_ProgramStart);
/* Now call up the shell for the first time */ /* Now call up the shell for the first time */
@ -373,12 +393,13 @@ void SHELL_Init() {
DOS_PSP psp(psp_seg); DOS_PSP psp(psp_seg);
psp.MakeNew(0); psp.MakeNew(0);
psp.SetFileHandle(STDIN ,DOS_FindDevice("CON")); dos.psp(psp_seg);
psp.SetFileHandle(STDOUT,DOS_FindDevice("CON")); Bit16u dummy=0;
psp.SetFileHandle(STDERR,DOS_FindDevice("CON")); DOS_OpenFile("CON",2,&dummy);/* STDIN */
psp.SetFileHandle(STDAUX,DOS_FindDevice("CON")); DOS_OpenFile("CON",2,&dummy);/* STDOUT */
psp.SetFileHandle(STDNUL,DOS_FindDevice("CON")); DOS_OpenFile("CON",2,&dummy);/* STDERR */
psp.SetFileHandle(STDPRN,DOS_FindDevice("CON")); DOS_OpenFile("CON",2,&dummy);/* STDAUX */
DOS_OpenFile("CON",2,&dummy);/* STDPRN */
psp.SetParent(psp_seg); psp.SetParent(psp_seg);
/* Set the environment */ /* Set the environment */
psp.SetEnvironment(env_seg); psp.SetEnvironment(env_seg);

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: shell_cmds.cpp,v 1.47 2004/09/18 10:20:54 qbix79 Exp $ */ /* $Id: shell_cmds.cpp,v 1.50 2004/11/13 12:06:39 qbix79 Exp $ */
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
@ -56,6 +56,7 @@ static SHELL_Cmd cmd_list[]={
{ "LH", 1, &DOS_Shell::CMD_LOADHIGH, "SHELL_CMD_LOADHIGH_HELP"}, { "LH", 1, &DOS_Shell::CMD_LOADHIGH, "SHELL_CMD_LOADHIGH_HELP"},
{ "CHOICE", 0, &DOS_Shell::CMD_CHOICE, "SHELL_CMD_CHOICE_HELP"}, { "CHOICE", 0, &DOS_Shell::CMD_CHOICE, "SHELL_CMD_CHOICE_HELP"},
{ "ATTRIB", 0, &DOS_Shell::CMD_ATTRIB, "SHELL_CMD_ATTRIB_HELP"}, { "ATTRIB", 0, &DOS_Shell::CMD_ATTRIB, "SHELL_CMD_ATTRIB_HELP"},
{ "PATH", 1, &DOS_Shell::CMD_PATH, "SHELL_CMD_PATH_HELP"},
{0,0,0,0} {0,0,0,0}
}; };
@ -68,13 +69,14 @@ void DOS_Shell::DoCommand(char * line) {
if (*line==32) break; if (*line==32) break;
if (*line=='/') break; if (*line=='/') break;
if (*line=='\t') break; if (*line=='\t') break;
if (*line=='=') break;
if ((*line=='.') ||(*line =='\\')) { //allow stuff like cd.. and dir.exe cd\kees if ((*line=='.') ||(*line =='\\')) { //allow stuff like cd.. and dir.exe cd\kees
*cmd_write=0; *cmd_write=0;
Bit32u cmd_index=0; Bit32u cmd_index=0;
while (cmd_list[cmd_index].name) { while (cmd_list[cmd_index].name) {
if (strcasecmp(cmd_list[cmd_index].name,cmd)==0) { if (strcasecmp(cmd_list[cmd_index].name,cmd)==0) {
(this->*(cmd_list[cmd_index].handler))(line); (this->*(cmd_list[cmd_index].handler))(line);
return; return;
} }
cmd_index++; cmd_index++;
} }
@ -103,7 +105,10 @@ void DOS_Shell::CMD_CLS(char * args) {
}; };
void DOS_Shell::CMD_DELETE(char * args) { void DOS_Shell::CMD_DELETE(char * args) {
/* Command uses dta so set it to our internal dta */
RealPt save_dta=dos.dta();
dos.dta(dos.tables.tempdta);
char * rem=ScanCMDRemain(args); char * rem=ScanCMDRemain(args);
if (rem) { if (rem) {
WriteOut(MSG_Get("SHELL_ILLEGAL_SWITCH"),rem); WriteOut(MSG_Get("SHELL_ILLEGAL_SWITCH"),rem);
@ -119,7 +124,9 @@ void DOS_Shell::CMD_DELETE(char * args) {
//TODO Maybe support confirmation for *.* like dos does. //TODO Maybe support confirmation for *.* like dos does.
bool res=DOS_FindFirst(args,0xffff & ~DOS_ATTR_VOLUME); bool res=DOS_FindFirst(args,0xffff & ~DOS_ATTR_VOLUME);
if (!res) { if (!res) {
WriteOut(MSG_Get("SHELL_CMD_DEL_ERROR"),args);return; WriteOut(MSG_Get("SHELL_CMD_DEL_ERROR"),args);
dos.dta(save_dta);
return;
} }
//end can't be 0, but if it is we'll get a nice crash, who cares :) //end can't be 0, but if it is we'll get a nice crash, who cares :)
char * end=strrchr(full,'\\')+1;*end=0; char * end=strrchr(full,'\\')+1;*end=0;
@ -133,6 +140,7 @@ void DOS_Shell::CMD_DELETE(char * args) {
} }
res=DOS_FindNext(); res=DOS_FindNext();
} }
dos.dta(save_dta);
} }
void DOS_Shell::CMD_HELP(char * args){ void DOS_Shell::CMD_HELP(char * args){
@ -298,10 +306,14 @@ void DOS_Shell::CMD_DIR(char * args) {
*(strrchr(path,'\\')+1)=0; *(strrchr(path,'\\')+1)=0;
WriteOut(MSG_Get("SHELL_CMD_DIR_INTRO"),path); WriteOut(MSG_Get("SHELL_CMD_DIR_INTRO"),path);
/* Command uses dta so set it to our internal dta */
RealPt save_dta=dos.dta();
dos.dta(dos.tables.tempdta);
DOS_DTA dta(dos.dta()); DOS_DTA dta(dos.dta());
bool ret=DOS_FindFirst(args,0xffff & ~DOS_ATTR_VOLUME); bool ret=DOS_FindFirst(args,0xffff & ~DOS_ATTR_VOLUME);
if (!ret) { if (!ret) {
WriteOut(MSG_Get("SHELL_CMD_FILE_NOT_FOUND"),args); WriteOut(MSG_Get("SHELL_CMD_FILE_NOT_FOUND"),args);
dos.dta(save_dta);
return; return;
} }
@ -369,11 +381,15 @@ void DOS_Shell::CMD_DIR(char * args) {
} }
FormatNumber(free_space,numformat); FormatNumber(free_space,numformat);
WriteOut(MSG_Get("SHELL_CMD_DIR_BYTES_FREE"),dir_count,numformat); WriteOut(MSG_Get("SHELL_CMD_DIR_BYTES_FREE"),dir_count,numformat);
dos.dta(save_dta);
} }
void DOS_Shell::CMD_COPY(char * args) { void DOS_Shell::CMD_COPY(char * args) {
static char defaulttarget[] = "."; static char defaulttarget[] = ".";
StripSpaces(args); StripSpaces(args);
/* Command uses dta so set it to our internal dta */
RealPt save_dta=dos.dta();
dos.dta(dos.tables.tempdta);
DOS_DTA dta(dos.dta()); DOS_DTA dta(dos.dta());
Bit32u size;Bit16u date;Bit16u time;Bit8u attr; Bit32u size;Bit16u date;Bit16u time;Bit8u attr;
char name[DOS_NAMELENGTH_ASCII]; char name[DOS_NAMELENGTH_ASCII];
@ -385,6 +401,7 @@ void DOS_Shell::CMD_COPY(char * args) {
char * rem=ScanCMDRemain(args); char * rem=ScanCMDRemain(args);
if (rem) { if (rem) {
WriteOut(MSG_Get("SHELL_ILLEGAL_SWITCH"),rem); WriteOut(MSG_Get("SHELL_ILLEGAL_SWITCH"),rem);
dos.dta(save_dta);
return; return;
} }
// source/target // source/target
@ -396,6 +413,7 @@ void DOS_Shell::CMD_COPY(char * args) {
// Target and Source have to be there // Target and Source have to be there
if (!source || !strlen(source)) { if (!source || !strlen(source)) {
WriteOut(MSG_Get("SHELL_CMD_FILE_NOT_FOUND"),args); WriteOut(MSG_Get("SHELL_CMD_FILE_NOT_FOUND"),args);
dos.dta(save_dta);
return; return;
}; };
@ -405,6 +423,7 @@ void DOS_Shell::CMD_COPY(char * args) {
if (!DOS_Canonicalize(source,pathSource)) { if (!DOS_Canonicalize(source,pathSource)) {
WriteOut(MSG_Get("SHELL_ILLEGAL_PATH")); WriteOut(MSG_Get("SHELL_ILLEGAL_PATH"));
dos.dta(save_dta);
return; return;
} }
// cut search pattern // cut search pattern
@ -413,6 +432,7 @@ void DOS_Shell::CMD_COPY(char * args) {
if (!DOS_Canonicalize(target,pathTarget)) { if (!DOS_Canonicalize(target,pathTarget)) {
WriteOut(MSG_Get("SHELL_ILLEGAL_PATH")); WriteOut(MSG_Get("SHELL_ILLEGAL_PATH"));
dos.dta(save_dta);
return; return;
} }
char* temp = strstr(pathTarget,"*.*"); char* temp = strstr(pathTarget,"*.*");
@ -430,6 +450,7 @@ void DOS_Shell::CMD_COPY(char * args) {
bool ret=DOS_FindFirst(source,0xffff & ~DOS_ATTR_VOLUME); bool ret=DOS_FindFirst(source,0xffff & ~DOS_ATTR_VOLUME);
if (!ret) { if (!ret) {
WriteOut(MSG_Get("SHELL_CMD_FILE_NOT_FOUND"),args); WriteOut(MSG_Get("SHELL_CMD_FILE_NOT_FOUND"),args);
dos.dta(save_dta);
return; return;
} }
@ -473,6 +494,7 @@ void DOS_Shell::CMD_COPY(char * args) {
ret=DOS_FindNext(); ret=DOS_FindNext();
}; };
WriteOut(MSG_Get("SHELL_CMD_COPY_SUCCESS"),count); WriteOut(MSG_Get("SHELL_CMD_COPY_SUCCESS"),count);
dos.dta(save_dta);
} }
void DOS_Shell::CMD_SET(char * args) { void DOS_Shell::CMD_SET(char * args) {
@ -519,8 +541,14 @@ void DOS_Shell::CMD_IF(char * args) {
WriteOut(MSG_Get("SHELL_CMD_IF_EXIST_MISSING_FILENAME")); WriteOut(MSG_Get("SHELL_CMD_IF_EXIST_MISSING_FILENAME"));
return; return;
}; };
if (DOS_FindFirst(word,0xffff & ~DOS_ATTR_VOLUME)==(!has_not)) DoCommand(args); { /* DOS_FindFirst uses dta so set it to our internal dta */
RealPt save_dta=dos.dta();
dos.dta(dos.tables.tempdta);
bool ret=DOS_FindFirst(word,0xffff & ~DOS_ATTR_VOLUME);
dos.dta(save_dta);
if (ret==(!has_not)) DoCommand(args);
}
return; return;
} }
if (strcasecmp(word,"ERRORLEVEL")==0) { if (strcasecmp(word,"ERRORLEVEL")==0) {
@ -619,7 +647,7 @@ void DOS_Shell::CMD_SUBST (char * args) {
if((arg=="/D" ) || (arg=="/d")) throw 1; //No removal (one day) if((arg=="/D" ) || (arg=="/d")) throw 1; //No removal (one day)
command.FindCommand(1,arg); command.FindCommand(1,arg);
if(arg[1] !=':') throw(0); if( (arg.size()>1) && arg[1] !=':') throw(0);
temp_str[0]=toupper(args[0]); temp_str[0]=toupper(args[0]);
if(Drives[temp_str[0]-'A'] ) throw 0; //targetdrive in use if(Drives[temp_str[0]-'A'] ) throw 0; //targetdrive in use
strcat(mountstring,temp_str); strcat(mountstring,temp_str);
@ -701,3 +729,21 @@ void DOS_Shell::CMD_ATTRIB(char *args){
// No-Op for now. // No-Op for now.
} }
void DOS_Shell::CMD_PATH(char *args){
if(args && *args && strlen(args)){
char pathstring[DOS_PATHLENGTH+CROSS_LEN+20]={ 0 };
strcpy(pathstring,"set PATH=");
while(args && *args && (*args=='='|| *args==' '))
args++;
strcat(pathstring,args);
this->ParseLine(pathstring);
return;
} else {
std::string line;
if(GetEnvStr("PATH",line)) {
WriteOut("%s",line.c_str());
} else {
WriteOut("PATH=(null)");
}
}
}

View File

@ -16,14 +16,15 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/* $Id: shell_misc.cpp,v 1.32 2004/09/08 18:58:48 qbix79 Exp $ */ /* $Id: shell_misc.cpp,v 1.33 2004/10/20 19:53:50 qbix79 Exp $ */
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <algorithm> //std::copy
#include <iterator> //std::front_inserter
#include "shell.h" #include "shell.h"
#include "regs.h" #include "regs.h"
void DOS_Shell::ShowPrompt(void) { void DOS_Shell::ShowPrompt(void) {
Bit8u drive=DOS_GetDefaultDrive()+'A'; Bit8u drive=DOS_GetDefaultDrive()+'A';
char dir[DOS_PATHLENGTH]; char dir[DOS_PATHLENGTH];
@ -130,7 +131,21 @@ void DOS_Shell::InputCommand(char * line) {
it_history ++; it_history ++;
break; break;
case 0x53:/* DELETE */
{
if(str_index>=str_len) break;
Bit16u a=str_len-str_index-1;
Bit8u* text=reinterpret_cast<Bit8u*>(&line[str_index+1]);
DOS_WriteFile(STDOUT,text,&a);//write buffer to screen
outc(' ');outc(8);
for(Bitu i=str_index;i<str_len-1;i++) {
line[i]=line[i+1];
outc(8);
}
line[--str_len]=0;
size++;
}
break;
default: default:
break; break;
} }
@ -204,6 +219,7 @@ void DOS_Shell::InputCommand(char * line) {
DOS_DTA dta(dos.dta()); DOS_DTA dta(dos.dta());
char name[DOS_NAMELENGTH_ASCII];Bit32u size;Bit16u date;Bit16u time;Bit8u attr; char name[DOS_NAMELENGTH_ASCII];Bit32u size;Bit16u date;Bit16u time;Bit8u attr;
std::list<std::string> executable;
while (res) { while (res) {
dta.GetResult(name,size,date,time,attr); dta.GetResult(name,size,date,time,attr);
// add result to completion list // add result to completion list
@ -212,15 +228,16 @@ void DOS_Shell::InputCommand(char * line) {
if (strcmp(name, ".") && strcmp(name, "..")) { if (strcmp(name, ".") && strcmp(name, "..")) {
ext = strrchr(name, '.'); ext = strrchr(name, '.');
if (ext && (strcmp(ext, ".BAT") == 0 || strcmp(ext, ".COM") == 0 || strcmp(ext, ".EXE") == 0)) if (ext && (strcmp(ext, ".BAT") == 0 || strcmp(ext, ".COM") == 0 || strcmp(ext, ".EXE") == 0))
// we add executables to the start of the list // we add executables to the a seperate list and place that list infront of the normal files
l_completion.push_front(name); executable.push_front(name);
else else
l_completion.push_back(name); l_completion.push_back(name);
} }
res=DOS_FindNext(); res=DOS_FindNext();
} }
/* Add excutable list to front of completion list. */
std::copy(executable.begin(),executable.end(),std::front_inserter(l_completion));
it_completion = l_completion.begin(); it_completion = l_completion.begin();
} }
@ -250,14 +267,27 @@ void DOS_Shell::InputCommand(char * line) {
break; break;
default: default:
if (l_completion.size()) l_completion.clear(); if (l_completion.size()) l_completion.clear();
if(str_index < str_len && true) { //mem_readb(BIOS_KEYBOARD_FLAGS1)&0x80) dev_con.h ?
outc(' ');//move cursor one to the right.
Bit16u a = str_len - str_index;
Bit8u* text=reinterpret_cast<Bit8u*>(&line[str_index]);
DOS_WriteFile(STDOUT,text,&a);//write buffer to screen
outc(8);//undo the cursor the right.
for(Bitu i=str_len;i>str_index;i--) {
line[i]=line[i-1]; //move internal buffer
outc(8); //move cursor back (from write buffer to screen)
}
line[++str_len]=0;//new end (as the internal buffer moved one place to the right
size--;
};
line[str_index]=c; line[str_index]=c;
str_index ++; str_index ++;
if (str_index > str_len){ if (str_index > str_len){
line[str_index] = '\0'; line[str_index] = '\0';
str_len++;//This should depend on insert being active str_len++;
size--; size--;
} }
DOS_WriteFile(STDOUT,&c,&n); DOS_WriteFile(STDOUT,&c,&n);
break; break;
} }

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +33,22 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = visualc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +111,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +133,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,21 +146,38 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
EXTRA_DIST = dosbox.dsw dosbox.dsp EXTRA_DIST = dosbox.dsw dosbox.dsp
subdir = visualc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits visualc/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits visualc/Makefile $(AUTOMAKE) --gnits visualc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
uninstall-info-am: uninstall-info-am:
tags: TAGS tags: TAGS
TAGS: TAGS:
@ -152,10 +185,6 @@ TAGS:
ctags: CTAGS ctags: CTAGS
CTAGS: CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -169,7 +198,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -187,7 +216,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile all-am: Makefile
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -208,7 +236,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -225,6 +253,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -258,8 +288,8 @@ ps-am:
uninstall-am: uninstall-info-am uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic distclean \ .PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am info info-am install \ distclean-generic distdir dvi dvi-am html html-am info info-am \
install-am install-data install-data-am install-exec \ install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \ install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \ install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \ maintainer-clean maintainer-clean-generic mostlyclean \

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,7 +33,22 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
target_triplet = @target@
subdir = visualc_net
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALSA_CFLAGS = @ALSA_CFLAGS@ ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@ ALSA_LIBS = @ALSA_LIBS@
@ -98,6 +111,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -118,6 +133,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -130,21 +146,38 @@ target_cpu = @target_cpu@
target_os = @target_os@ target_os = @target_os@
target_vendor = @target_vendor@ target_vendor = @target_vendor@
EXTRA_DIST = dosbox.sln dosbox.vcproj EXTRA_DIST = dosbox.sln dosbox.vcproj
subdir = visualc_net
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits visualc_net/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits visualc_net/Makefile $(AUTOMAKE) --gnits visualc_net/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
uninstall-info-am: uninstall-info-am:
tags: TAGS tags: TAGS
TAGS: TAGS:
@ -152,10 +185,6 @@ TAGS:
ctags: CTAGS ctags: CTAGS
CTAGS: CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -169,7 +198,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -187,7 +216,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile all-am: Makefile
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -208,7 +236,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -225,6 +253,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -258,8 +288,8 @@ ps-am:
uninstall-am: uninstall-info-am uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic distclean \ .PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am info info-am install \ distclean-generic distdir dvi dvi-am html html-am info info-am \
install-am install-data install-data-am install-exec \ install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \ install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \ install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \ maintainer-clean maintainer-clean-generic mostlyclean \