diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/autom4te.cache/output.0 16-STYMulator-0.21a_restructure_layout/autom4te.cache/output.0 --- 15-STYMulator-0.21a_update_more_correct_on_clock/autom4te.cache/output.0 2010-04-25 12:49:49.318588413 +0200 +++ 16-STYMulator-0.21a_restructure_layout/autom4te.cache/output.0 1970-01-01 01:00:00.000000000 +0100 @@ -1,5399 +0,0 @@ -@%:@! /bin/sh -@%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.64 for stymulator 0.22. -@%:@ -@%:@ Report bugs to . -@%:@ -@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -@%:@ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software -@%:@ Foundation, Inc. -@%:@ -@%:@ This configure script is free software; the Free Software Foundation -@%:@ gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in @%:@( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and stian@nixia.no -$0: about your system, including any error possibly output -$0: before this message. Then install a modern shell, or -$0: manually run the script under such a shell if you do -$0: have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global $as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -@%:@ as_fn_error ERROR [LINENO LOG_FD] -@%:@ --------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 - fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in @%:@( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in @%:@(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIB@&t@OBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='stymulator' -PACKAGE_TARNAME='stymulator' -PACKAGE_VERSION='0.22' -PACKAGE_STRING='stymulator 0.22' -PACKAGE_BUGREPORT='stian@nixia.no' -PACKAGE_URL='' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='LTLIBOBJS -LIB@&t@OBJS -HAVE_LZH -OSS_CFLAGS -OSS_LIBS -HAVE_OSS -ALSA_LIBS -ALSA_CFLAGS -HAVE_ALSA -HAVE_INTTYPES_H -EGREP -GREP -HAVE_STDINT_H -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -SET_MAKE -CXXCPP -CPP -ac_ct_CXX -CXXFLAGS -CXX -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -with_alsa -with_oss -with_lzh -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CXX -CXXFLAGS -CCC -CPP -CXXCPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # 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. - cat <<_ACEOF -\`configure' configures stymulator 0.22 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root @<:@DATAROOTDIR/doc/stymulator@:>@ - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of stymulator 0.22:";; - esac - cat <<\_ACEOF - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-alsa force/disable alsa support - --with-oss force/disable oss support - --without-lzh disable LZH support - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CPP C preprocessor - CXXCPP C++ preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -stymulator configure 0.22 -generated by GNU Autoconf 2.64 - -Copyright (C) 2009 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -@%:@ ac_fn_c_try_compile LINENO -@%:@ -------------------------- -@%:@ Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval - -} @%:@ ac_fn_c_try_compile - -@%:@ ac_fn_cxx_try_compile LINENO -@%:@ ---------------------------- -@%:@ Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval - -} @%:@ ac_fn_cxx_try_compile - -@%:@ ac_fn_c_try_cpp LINENO -@%:@ ---------------------- -@%:@ Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval - -} @%:@ ac_fn_c_try_cpp - -@%:@ ac_fn_cxx_try_cpp LINENO -@%:@ ------------------------ -@%:@ Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval - -} @%:@ ac_fn_cxx_try_cpp - -@%:@ ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -@%:@ ------------------------------------------------------- -@%:@ Tests whether HEADER exists, giving a warning if it cannot be compiled using -@%:@ the include files in INCLUDES and setting the cache variable VAR -@%:@ accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -@%:@include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## ----------------------------- ## -## Report this to stian@nixia.no ## -## ----------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} @%:@ ac_fn_c_check_header_mongrel - -@%:@ ac_fn_c_try_run LINENO -@%:@ ---------------------- -@%:@ Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -@%:@ that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval - -} @%:@ ac_fn_c_try_run - -@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -@%:@ ------------------------------------------------------- -@%:@ Tests whether HEADER exists and can be compiled using the include files in -@%:@ INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -@%:@include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} @%:@ ac_fn_c_check_header_compile - -@%:@ ac_fn_c_try_link LINENO -@%:@ ----------------------- -@%:@ Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval - -} @%:@ ac_fn_c_try_link -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by stymulator $as_me 0.22, which was -generated by GNU Autoconf 2.64. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done -done -if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $@%:@ != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then : - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } -fi -ac_exeext=$ac_cv_exeext - -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } -fi -rm -f conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in @%:@(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - - - -@%:@ Check whether --with-alsa was given. -if test "${with_alsa+set}" = set; then : - withval=$with_alsa; -else - with_alsa=auto -fi - - -@%:@ Check whether --with-oss was given. -if test "${with_oss+set}" = set; then : - withval=$with_oss; -else - with_oss=auto -fi - - -@%:@ Check whether --with-lzh was given. -if test "${with_lzh+set}" = set; then : - withval=$with_lzh; -else - with_lzh=yes -fi - - -ac_config_headers="$ac_config_headers config.h" - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" -if test "x$ac_cv_header_stdint_h" = x""yes; then : - HAVE_STDINT_H=1 - $as_echo "@%:@define HAVE_STDINT_H 1" >>confdefs.h - -fi - - - -ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" -if test "x$ac_cv_header_inttypes_h" = x""yes; then : - HAVE_INTTYPES_H=1 - $as_echo "@%:@define HAVE_INTTYPES_H 1" >>confdefs.h - -fi - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncurses" >&5 -$as_echo_n "checking for initscr in -lncurses... " >&6; } -if test "${ac_cv_lib_ncurses_initscr+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncurses $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char initscr (); -int -main () -{ -return initscr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ncurses_initscr=yes -else - ac_cv_lib_ncurses_initscr=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_initscr" >&5 -$as_echo "$ac_cv_lib_ncurses_initscr" >&6; } -if test "x$ac_cv_lib_ncurses_initscr" = x""yes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_LIBNCURSES 1 -_ACEOF - - LIBS="-lncurses $LIBS" - -else - as_fn_error "\"ncurses not found\"" "$LINENO" 5 -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for resize_term in -lncurses" >&5 -$as_echo_n "checking for resize_term in -lncurses... " >&6; } -if test "${ac_cv_lib_ncurses_resize_term+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncurses $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char resize_term (); -int -main () -{ -return resize_term (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ncurses_resize_term=yes -else - ac_cv_lib_ncurses_resize_term=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_resize_term" >&5 -$as_echo "$ac_cv_lib_ncurses_resize_term" >&6; } -if test "x$ac_cv_lib_ncurses_resize_term" = x""yes; then : - $as_echo "@%:@define HAVE_RESIZETERM 1" >>confdefs.h - -fi - -ac_fn_c_check_header_mongrel "$LINENO" "curses.h" "ac_cv_header_curses_h" "$ac_includes_default" -if test "x$ac_cv_header_curses_h" = x""yes; then : - -else - as_fn_error "\"curses header files was not found\"" "$LINENO" 5 -fi - - - - - - - -if test "x$with_alsa" != "xno"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Alsa support" >&5 -$as_echo_n "checking Alsa support... " >&6; } - ALSA_LIBS=`pkg-config --libs alsa 2> /dev/null` - ALSA_CFLAGS=`pkg-config --cflags alsa 2> /dev/null` - if test "$?" = 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$ALSA_CFLAGS $ALSA_LIBS\"" >&5 -$as_echo "\"$ALSA_CFLAGS $ALSA_LIBS\"" >&6; } - else - if test "x$with_alsa" = "xyes"; then - as_fn_error "pkg-config failed" "$LINENO" 5; - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: pkg-config failed" >&5 -$as_echo "pkg-config failed" >&6; }; - with_alsa="no" - fi - fi -fi -if test "x$with_alsa" = "xno"; then - HAVE_ALSA=0 -else - HAVE_ALSA=1 -fi - - - - -if test "x$with_oss" != "xno"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking liboss" >&5 -$as_echo_n "checking liboss... " >&6; } - OSS_LIBS=`pkg-config --libs liboss 2> /dev/null` - OSS_CFLAGS=`pkg-config --cflags liboss 2> /dev/null` - if test "$?" = 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$OSS_CFLAGS $OSS_LIBS\"" >&5 -$as_echo "\"$OSS_CFLAGS $OSS_LIBS\"" >&6; } - HAVE_OSS=1 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: pkg-config failed" >&5 -$as_echo "pkg-config failed" >&6; }; - ac_fn_c_check_header_mongrel "$LINENO" "sys/soundcard.h" "ac_cv_header_sys_soundcard_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_soundcard_h" = x""yes; then : - HAVE_OSS=1 - $as_echo "@%:@define HAVE_SYS_SOUNDCARD_H 1" >>confdefs.h - -else - if test "x$with_oss" = "xyes"; then { as_fn_set_status 1 -as_fn_error "kernel OSS header file was not found" "$LINENO" 5; }; else with_oss="no"; HAVE_OSS=0;fi -fi - - - fi -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Include LZH support" >&5 -$as_echo_n "checking Include LZH support... " >&6; } -if test "x$with_lzh" != "xno"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "@%:@define HAVE_LZH 1" >>confdefs.h - - HAVE_LZH=1 -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -if test "x$with_alsa" = "xno"; then - echo "ALSA: OFF" -else - echo "ALSA: ON" -fi -if test "x$with_oss" = "xno"; then - echo "OSS: OFF" -else - echo "OSS: ON" -fi -if test "x$with_lzh" = "xno"; then - echo "include LZH: OFF" -else - echo "include LZH: ON" -fi - -if test "x$with_oss" = "xno"; then - if test "x$with_alsa" = "xno"; then - as_fn_error "Neither ALSA nor OSS support found" "$LINENO" 5 - fi -fi -if test "x$with_oss" != "xno"; then - if test "x$with_alsa" != "xno"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Both ALSA and OSS support found, disabling OSS" >&5 -$as_echo "$as_me: WARNING: Both ALSA and OSS support found, disabling OSS" >&2;} - with_oss=no - HAVE_OSS=0 - fi -fi - -if test "x$with_oss" != "xno"; then - $as_echo "@%:@define HAVE_OSS 1" >>confdefs.h - -fi -if test "x$with_alsa" != "xno"; then - $as_echo "@%:@define HAVE_ALSA 1" >>confdefs.h - -fi - - -ac_config_files="$ac_config_files Rules.make" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIB@&t@OBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - -: ${CONFIG_STATUS=./config.status} -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -@%:@ as_fn_error ERROR [LINENO LOG_FD] -@%:@ --------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 - fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global $as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in @%:@( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in @%:@(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by stymulator $as_me 0.22, which was -generated by GNU Autoconf 2.64. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_version="\\ -stymulator config.status 0.22 -configured by $0, generated by GNU Autoconf 2.64, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2009 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX -@%:@@%:@ Running $as_me. @%:@@%:@ -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "Rules.make") CONFIG_FILES="$CONFIG_FILES Rules.make" ;; - - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\).*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\).*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ -s/:*$// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then - break - elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; - esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 - fi - ;; - - - esac - -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/autom4te.cache/requests 16-STYMulator-0.21a_restructure_layout/autom4te.cache/requests --- 15-STYMulator-0.21a_update_more_correct_on_clock/autom4te.cache/requests 2010-04-25 14:57:06.293598914 +0200 +++ 16-STYMulator-0.21a_restructure_layout/autom4te.cache/requests 1970-01-01 01:00:00.000000000 +0100 @@ -1,67 +0,0 @@ -# This file was generated by Autom4te Wed Jul 29 06:45:47 UTC 2009. -# It contains the lists of macros which have been traced. -# It can be safely removed. - -@request = ( - bless( [ - '0', - 1, - [ - '/usr/share/autoconf' - ], - [ - '/usr/share/autoconf/autoconf/autoconf.m4f', - 'configure.ac' - ], - { - 'AM_PROG_F77_C_O' => 1, - '_LT_AC_TAGCONFIG' => 1, - 'm4_pattern_forbid' => 1, - 'AC_INIT' => 1, - 'AC_CANONICAL_TARGET' => 1, - '_AM_COND_IF' => 1, - 'AC_CONFIG_LIBOBJ_DIR' => 1, - 'AC_SUBST' => 1, - 'AC_CANONICAL_HOST' => 1, - 'AC_FC_SRCEXT' => 1, - 'AC_PROG_LIBTOOL' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'AC_CONFIG_SUBDIRS' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - 'LT_CONFIG_LTDL_DIR' => 1, - 'AC_CONFIG_LINKS' => 1, - 'AC_REQUIRE_AUX_FILE' => 1, - 'LT_SUPPORTED_TAG' => 1, - 'm4_sinclude' => 1, - 'AM_MAINTAINER_MODE' => 1, - 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, - '_m4_warn' => 1, - 'AM_PROG_CXX_C_O' => 1, - '_AM_COND_ENDIF' => 1, - 'AM_ENABLE_MULTILIB' => 1, - 'AM_SILENT_RULES' => 1, - 'AC_CONFIG_FILES' => 1, - 'include' => 1, - 'LT_INIT' => 1, - 'AM_GNU_GETTEXT' => 1, - 'AC_LIBSOURCE' => 1, - 'AC_CANONICAL_BUILD' => 1, - 'AM_PROG_FC_C_O' => 1, - 'AC_FC_FREEFORM' => 1, - 'AH_OUTPUT' => 1, - 'AC_CONFIG_AUX_DIR' => 1, - '_AM_SUBST_NOTMAKE' => 1, - 'AM_PROG_CC_C_O' => 1, - 'm4_pattern_allow' => 1, - 'sinclude' => 1, - 'AM_CONDITIONAL' => 1, - 'AC_CANONICAL_SYSTEM' => 1, - 'AC_CONFIG_HEADERS' => 1, - 'AC_DEFINE_TRACE_LITERAL' => 1, - 'm4_include' => 1, - '_AM_COND_ELSE' => 1, - 'AC_SUBST_TRACE' => 1 - } - ], 'Autom4te::Request' ) - ); - diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/autom4te.cache/traces.0 16-STYMulator-0.21a_restructure_layout/autom4te.cache/traces.0 --- 15-STYMulator-0.21a_update_more_correct_on_clock/autom4te.cache/traces.0 2010-04-25 12:49:49.318588413 +0200 +++ 16-STYMulator-0.21a_restructure_layout/autom4te.cache/traces.0 1970-01-01 01:00:00.000000000 +0100 @@ -1,361 +0,0 @@ -m4trace:configure.ac:1: -1- AC_INIT([stymulator], [0.22], [stian@nixia.no]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?A[CHUM]_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([_AC_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) -m4trace:configure.ac:1: -1- m4_pattern_allow([^AS_FLAGS$]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?m4_]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^dnl$]) -m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?AS_]) -m4trace:configure.ac:1: -1- AC_SUBST([SHELL]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([SHELL]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^SHELL$]) -m4trace:configure.ac:1: -1- AC_SUBST([PATH_SEPARATOR]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PATH_SEPARATOR$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_NAME]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_STRING]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_URL]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:1: -1- AC_SUBST([exec_prefix], [NONE]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([exec_prefix]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^exec_prefix$]) -m4trace:configure.ac:1: -1- AC_SUBST([prefix], [NONE]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([prefix]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^prefix$]) -m4trace:configure.ac:1: -1- AC_SUBST([program_transform_name], [s,x,x,]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([program_transform_name]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^program_transform_name$]) -m4trace:configure.ac:1: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([bindir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^bindir$]) -m4trace:configure.ac:1: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sbindir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sbindir$]) -m4trace:configure.ac:1: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([libexecdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^libexecdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([datarootdir], ['${prefix}/share']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([datarootdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^datarootdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([datadir], ['${datarootdir}']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([datadir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^datadir$]) -m4trace:configure.ac:1: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sysconfdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sysconfdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sharedstatedir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^sharedstatedir$]) -m4trace:configure.ac:1: -1- AC_SUBST([localstatedir], ['${prefix}/var']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([localstatedir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^localstatedir$]) -m4trace:configure.ac:1: -1- AC_SUBST([includedir], ['${prefix}/include']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([includedir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^includedir$]) -m4trace:configure.ac:1: -1- AC_SUBST([oldincludedir], ['/usr/include']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([oldincludedir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^oldincludedir$]) -m4trace:configure.ac:1: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], - ['${datarootdir}/doc/${PACKAGE_TARNAME}'], - ['${datarootdir}/doc/${PACKAGE}'])]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([docdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^docdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([infodir], ['${datarootdir}/info']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([infodir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^infodir$]) -m4trace:configure.ac:1: -1- AC_SUBST([htmldir], ['${docdir}']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([htmldir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^htmldir$]) -m4trace:configure.ac:1: -1- AC_SUBST([dvidir], ['${docdir}']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([dvidir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^dvidir$]) -m4trace:configure.ac:1: -1- AC_SUBST([pdfdir], ['${docdir}']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([pdfdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^pdfdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([psdir], ['${docdir}']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([psdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^psdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([libdir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^libdir$]) -m4trace:configure.ac:1: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([localedir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^localedir$]) -m4trace:configure.ac:1: -1- AC_SUBST([mandir], ['${datarootdir}/man']) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([mandir]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^mandir$]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ -@%:@undef PACKAGE_NAME]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ -@%:@undef PACKAGE_TARNAME]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ -@%:@undef PACKAGE_VERSION]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ -@%:@undef PACKAGE_STRING]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ -@%:@undef PACKAGE_BUGREPORT]) -m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */ -@%:@undef PACKAGE_URL]) -m4trace:configure.ac:1: -1- AC_SUBST([DEFS]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([DEFS]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^DEFS$]) -m4trace:configure.ac:1: -1- AC_SUBST([ECHO_C]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_C]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_C$]) -m4trace:configure.ac:1: -1- AC_SUBST([ECHO_N]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_N]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_N$]) -m4trace:configure.ac:1: -1- AC_SUBST([ECHO_T]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_T]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_T$]) -m4trace:configure.ac:1: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:1: -1- AC_SUBST([build_alias]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([build_alias]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^build_alias$]) -m4trace:configure.ac:1: -1- AC_SUBST([host_alias]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([host_alias]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^host_alias$]) -m4trace:configure.ac:1: -1- AC_SUBST([target_alias]) -m4trace:configure.ac:1: -1- AC_SUBST_TRACE([target_alias]) -m4trace:configure.ac:1: -1- m4_pattern_allow([^target_alias$]) -m4trace:configure.ac:3: -1- AC_CANONICAL_HOST -m4trace:configure.ac:3: -1- AC_CANONICAL_BUILD -m4trace:configure.ac:3: -1- AC_REQUIRE_AUX_FILE([config.sub]) -m4trace:configure.ac:3: -1- AC_REQUIRE_AUX_FILE([config.guess]) -m4trace:configure.ac:3: -1- AC_SUBST([build], [$ac_cv_build]) -m4trace:configure.ac:3: -1- AC_SUBST_TRACE([build]) -m4trace:configure.ac:3: -1- m4_pattern_allow([^build$]) -m4trace:configure.ac:3: -1- AC_SUBST([build_cpu], [$[1]]) -m4trace:configure.ac:3: -1- AC_SUBST_TRACE([build_cpu]) -m4trace:configure.ac:3: -1- m4_pattern_allow([^build_cpu$]) -m4trace:configure.ac:3: -1- AC_SUBST([build_vendor], [$[2]]) -m4trace:configure.ac:3: -1- AC_SUBST_TRACE([build_vendor]) -m4trace:configure.ac:3: -1- m4_pattern_allow([^build_vendor$]) -m4trace:configure.ac:3: -1- AC_SUBST([build_os]) -m4trace:configure.ac:3: -1- AC_SUBST_TRACE([build_os]) -m4trace:configure.ac:3: -1- m4_pattern_allow([^build_os$]) -m4trace:configure.ac:3: -1- AC_SUBST([host], [$ac_cv_host]) -m4trace:configure.ac:3: -1- AC_SUBST_TRACE([host]) -m4trace:configure.ac:3: -1- m4_pattern_allow([^host$]) -m4trace:configure.ac:3: -1- AC_SUBST([host_cpu], [$[1]]) -m4trace:configure.ac:3: -1- AC_SUBST_TRACE([host_cpu]) -m4trace:configure.ac:3: -1- m4_pattern_allow([^host_cpu$]) -m4trace:configure.ac:3: -1- AC_SUBST([host_vendor], [$[2]]) -m4trace:configure.ac:3: -1- AC_SUBST_TRACE([host_vendor]) -m4trace:configure.ac:3: -1- m4_pattern_allow([^host_vendor$]) -m4trace:configure.ac:3: -1- AC_SUBST([host_os]) -m4trace:configure.ac:3: -1- AC_SUBST_TRACE([host_os]) -m4trace:configure.ac:3: -1- m4_pattern_allow([^host_os$]) -m4trace:configure.ac:4: -1- AC_SUBST([CC]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:4: -1- AC_SUBST([CFLAGS]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CFLAGS]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^CFLAGS$]) -m4trace:configure.ac:4: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([LDFLAGS]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:4: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:4: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:4: -1- AC_SUBST([CC]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:4: -1- AC_SUBST([CC]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:4: -1- AC_SUBST([CC]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:4: -1- AC_SUBST([CC]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:4: -1- AC_SUBST([ac_ct_CC]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([ac_ct_CC]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^ac_ct_CC$]) -m4trace:configure.ac:4: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([EXEEXT]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^EXEEXT$]) -m4trace:configure.ac:4: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) -m4trace:configure.ac:4: -1- AC_SUBST_TRACE([OBJEXT]) -m4trace:configure.ac:4: -1- m4_pattern_allow([^OBJEXT$]) -m4trace:configure.ac:5: -1- AC_SUBST([CXX]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CXX]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:5: -1- AC_SUBST([CXXFLAGS]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CXXFLAGS]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^CXXFLAGS$]) -m4trace:configure.ac:5: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([LDFLAGS]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:5: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:5: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:5: -1- AC_SUBST([CXX]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([CXX]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:5: -1- AC_SUBST([ac_ct_CXX]) -m4trace:configure.ac:5: -1- AC_SUBST_TRACE([ac_ct_CXX]) -m4trace:configure.ac:5: -1- m4_pattern_allow([^ac_ct_CXX$]) -m4trace:configure.ac:6: -1- AC_SUBST([CPP]) -m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CPP]) -m4trace:configure.ac:6: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:6: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:6: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:6: -1- AC_SUBST([CPP]) -m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CPP]) -m4trace:configure.ac:6: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:7: -1- AC_SUBST([CXXCPP]) -m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CXXCPP]) -m4trace:configure.ac:7: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:7: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:7: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:7: -1- AC_SUBST([CXXCPP]) -m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CXXCPP]) -m4trace:configure.ac:7: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:8: -1- AC_SUBST([SET_MAKE]) -m4trace:configure.ac:8: -1- AC_SUBST_TRACE([SET_MAKE]) -m4trace:configure.ac:8: -1- m4_pattern_allow([^SET_MAKE$]) -m4trace:configure.ac:9: -1- AC_REQUIRE_AUX_FILE([install-sh]) -m4trace:configure.ac:9: -1- AC_SUBST([INSTALL_PROGRAM]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) -m4trace:configure.ac:9: -1- AC_SUBST([INSTALL_SCRIPT]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) -m4trace:configure.ac:9: -1- AC_SUBST([INSTALL_DATA]) -m4trace:configure.ac:9: -1- AC_SUBST_TRACE([INSTALL_DATA]) -m4trace:configure.ac:9: -1- m4_pattern_allow([^INSTALL_DATA$]) -m4trace:configure.ac:15: -1- AC_CONFIG_HEADERS([config.h]) -m4trace:configure.ac:17: -1- AC_SUBST([HAVE_STDINT_H]) -m4trace:configure.ac:17: -1- AC_SUBST_TRACE([HAVE_STDINT_H]) -m4trace:configure.ac:17: -1- m4_pattern_allow([^HAVE_STDINT_H$]) -m4trace:configure.ac:20: -2- AC_DEFINE_TRACE_LITERAL([HAVE_STDINT_H]) -m4trace:configure.ac:20: -2- m4_pattern_allow([^HAVE_STDINT_H$]) -m4trace:configure.ac:18: -1- AC_SUBST([GREP]) -m4trace:configure.ac:18: -1- AC_SUBST_TRACE([GREP]) -m4trace:configure.ac:18: -1- m4_pattern_allow([^GREP$]) -m4trace:configure.ac:18: -1- AC_SUBST([EGREP]) -m4trace:configure.ac:18: -1- AC_SUBST_TRACE([EGREP]) -m4trace:configure.ac:18: -1- m4_pattern_allow([^EGREP$]) -m4trace:configure.ac:18: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) -m4trace:configure.ac:18: -1- m4_pattern_allow([^STDC_HEADERS$]) -m4trace:configure.ac:18: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ -@%:@undef STDC_HEADERS]) -m4trace:configure.ac:18: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_SYS_TYPES_H]) -m4trace:configure.ac:18: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_SYS_STAT_H]) -m4trace:configure.ac:18: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STDLIB_H]) -m4trace:configure.ac:18: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STRING_H]) -m4trace:configure.ac:18: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_MEMORY_H]) -m4trace:configure.ac:18: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STRINGS_H]) -m4trace:configure.ac:18: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_INTTYPES_H]) -m4trace:configure.ac:18: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STDINT_H]) -m4trace:configure.ac:18: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_UNISTD_H]) -m4trace:configure.ac:22: -1- AC_SUBST([HAVE_INTTYPES_H]) -m4trace:configure.ac:22: -1- AC_SUBST_TRACE([HAVE_INTTYPES_H]) -m4trace:configure.ac:22: -1- m4_pattern_allow([^HAVE_INTTYPES_H$]) -m4trace:configure.ac:25: -2- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H]) -m4trace:configure.ac:25: -2- m4_pattern_allow([^HAVE_INTTYPES_H$]) -m4trace:configure.ac:28: -1- AH_OUTPUT([HAVE_LIBNCURSES], [/* Define to 1 if you have the `ncurses\' library (-lncurses). */ -@%:@undef HAVE_LIBNCURSES]) -m4trace:configure.ac:28: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBNCURSES]) -m4trace:configure.ac:28: -1- m4_pattern_allow([^HAVE_LIBNCURSES$]) -m4trace:configure.ac:29: -2- AC_DEFINE_TRACE_LITERAL([HAVE_RESIZETERM]) -m4trace:configure.ac:29: -2- m4_pattern_allow([^HAVE_RESIZETERM$]) -m4trace:configure.ac:33: -1- AC_SUBST([HAVE_ALSA]) -m4trace:configure.ac:33: -1- AC_SUBST_TRACE([HAVE_ALSA]) -m4trace:configure.ac:33: -1- m4_pattern_allow([^HAVE_ALSA$]) -m4trace:configure.ac:34: -1- AC_SUBST([ALSA_CFLAGS]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([ALSA_CFLAGS]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^ALSA_CFLAGS$]) -m4trace:configure.ac:35: -1- AC_SUBST([ALSA_LIBS]) -m4trace:configure.ac:35: -1- AC_SUBST_TRACE([ALSA_LIBS]) -m4trace:configure.ac:35: -1- m4_pattern_allow([^ALSA_LIBS$]) -m4trace:configure.ac:57: -1- AC_SUBST([HAVE_OSS]) -m4trace:configure.ac:57: -1- AC_SUBST_TRACE([HAVE_OSS]) -m4trace:configure.ac:57: -1- m4_pattern_allow([^HAVE_OSS$]) -m4trace:configure.ac:58: -1- AC_SUBST([OSS_LIBS]) -m4trace:configure.ac:58: -1- AC_SUBST_TRACE([OSS_LIBS]) -m4trace:configure.ac:58: -1- m4_pattern_allow([^OSS_LIBS$]) -m4trace:configure.ac:59: -1- AC_SUBST([OSS_CFLAGS]) -m4trace:configure.ac:59: -1- AC_SUBST_TRACE([OSS_CFLAGS]) -m4trace:configure.ac:59: -1- m4_pattern_allow([^OSS_CFLAGS$]) -m4trace:configure.ac:72: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SOUNDCARD_H]) -m4trace:configure.ac:72: -2- m4_pattern_allow([^HAVE_SYS_SOUNDCARD_H$]) -m4trace:configure.ac:77: -1- AC_SUBST([HAVE_LZH]) -m4trace:configure.ac:77: -1- AC_SUBST_TRACE([HAVE_LZH]) -m4trace:configure.ac:77: -1- m4_pattern_allow([^HAVE_LZH$]) -m4trace:configure.ac:81: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LZH]) -m4trace:configure.ac:81: -1- m4_pattern_allow([^HAVE_LZH$]) -m4trace:configure.ac:105: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete. -You should run autoupdate.], [../../lib/autoconf/oldnames.m4:55: AC_ERROR is expanded from... -configure.ac:105: the top level]) -m4trace:configure.ac:110: -1- _m4_warn([obsolete], [The macro `AC_WARN' is obsolete. -You should run autoupdate.], [../../lib/autoconf/oldnames.m4:54: AC_WARN is expanded from... -configure.ac:110: the top level]) -m4trace:configure.ac:117: -1- AC_DEFINE_TRACE_LITERAL([HAVE_OSS]) -m4trace:configure.ac:117: -1- m4_pattern_allow([^HAVE_OSS$]) -m4trace:configure.ac:120: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALSA]) -m4trace:configure.ac:120: -1- m4_pattern_allow([^HAVE_ALSA$]) -m4trace:configure.ac:124: -1- AC_CONFIG_FILES([Rules.make]) -m4trace:configure.ac:125: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:125: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:125: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([LTLIBOBJS]) -m4trace:configure.ac:125: -1- m4_pattern_allow([^LTLIBOBJS$]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([top_builddir]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([top_build_prefix]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([srcdir]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([abs_srcdir]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([top_srcdir]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([abs_top_srcdir]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([builddir]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([abs_builddir]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([abs_top_builddir]) -m4trace:configure.ac:125: -1- AC_SUBST_TRACE([INSTALL]) diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/lzh/lzh.h 16-STYMulator-0.21a_restructure_layout/lzh/lzh.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/lzh/lzh.h 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/lzh/lzh.h 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,158 @@ +/*----------------------------------------------------------------------------- + + ST-Sound ( YM files player library ) + + Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) + + LZH depacking routine + Original LZH code by Haruhiko Okumura (1991) and Kerwin F. Medina (1996) + + I changed to C++ object to remove global vars, so it should be thread safe now. + +-----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + + This file is part of ST-Sound + + ST-Sound is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + ST-Sound is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ST-Sound; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +-----------------------------------------------------------------------------*/ + + +#ifndef LZH_H +#define LZH_H + + +#define BUFSIZE (1024 * 4) + +#if defined(_WIN32) || defined(_WIN64) + +typedef unsigned char lzh_uchar; /* 8 bits or more */ +typedef unsigned int lzh_uint; /* 16 bits or more */ +typedef unsigned short lzh_ushort; /* 16 bits or more */ +typedef unsigned long lzh_ulong; /* 32 bits or more */ + +#else + +#ifdef HAVE_INTTYPES_H +#include +#endif + +#ifdef HAVE_STDINT_H +#include +#endif + +typedef uint8_t lzh_uchar; +typedef uint16_t lzh_ushort; +typedef uint_fast32_t lzh_uint; +typedef uint_fast32_t lzh_ulong; + +#endif + +#ifndef CHAR_BIT + #define CHAR_BIT 8 +#endif + +#ifndef UCHAR_MAX + #define UCHAR_MAX 255 +#endif + +typedef lzh_ushort BITBUFTYPE; + +#define BITBUFSIZ (CHAR_BIT * sizeof (BITBUFTYPE)) +#define DICBIT 13 /* 12(-lh4-) or 13(-lh5-) */ +#define DICSIZ (1U << DICBIT) +#define MAXMATCH 256 /* formerly F (not more than UCHAR_MAX + 1) */ +#define THRESHOLD 3 /* choose optimal value */ +#define NC (UCHAR_MAX + MAXMATCH + 2 - THRESHOLD) /* alphabet = {0, 1, 2, ..., NC - 1} */ +#define CBIT 9 /* $\lfloor \log_2 NC \rfloor + 1$ */ +#define CODE_BIT 16 /* codeword length */ + +#define MAX_HASH_VAL (3 * DICSIZ + (DICSIZ / 512 + 1) * UCHAR_MAX) + +#define NP (DICBIT + 1) +#define NT (CODE_BIT + 3) +#define PBIT 4 /* smallest integer such that (1U << PBIT) > NP */ +#define TBIT 5 /* smallest integer such that (1U << TBIT) > NT */ +#if NT > NP + #define NPT NT +#else + #define NPT NP +#endif + + +class CLzhDepacker +{ +public: + + bool LzUnpack(void *pSrc,int srcSize,void *pDst,int dstSize); + +private: + + //---------------------------------------------- + // New stuff to handle memory IO + //---------------------------------------------- + lzh_uchar * m_pSrc; + int m_srcSize; + lzh_uchar * m_pDst; + int m_dstSize; + + int DataIn(void *pBuffer,int nBytes); + int DataOut(void *pOut,int nBytes); + + + + //---------------------------------------------- + // Original Lzhxlib static func + //---------------------------------------------- + void fillbuf (int n); + lzh_ushort getbits (int n); + void init_getbits (void); + int make_table (int nchar, lzh_uchar *bitlen,int tablebits, lzh_ushort *table); + void read_pt_len (int nn, int nbit, int i_special); + void read_c_len (void); + lzh_ushort decode_c(void); + lzh_ushort decode_p(void); + void huf_decode_start (void); + void decode_start (void); + void decode (lzh_uint count, lzh_uchar buffer[]); + + + //---------------------------------------------- + // Original Lzhxlib static vars + //---------------------------------------------- + int fillbufsize; + lzh_uchar buf[BUFSIZE]; + lzh_uchar outbuf[DICSIZ]; + lzh_ushort left [2 * NC - 1]; + lzh_ushort right[2 * NC - 1]; + BITBUFTYPE bitbuf; + lzh_uint subbitbuf; + int bitcount; + int decode_j; /* remaining bytes to copy */ + lzh_uchar c_len[NC]; + lzh_uchar pt_len[NPT]; + lzh_uint blocksize; + lzh_ushort c_table[4096]; + lzh_ushort pt_table[256]; + int with_error; + + lzh_uint fillbuf_i; // NOTE: these ones are not initialized at constructor time but inside the fillbuf and decode func. + lzh_uint decode_i; +}; + + +#endif /* ifndef LZH_H */ diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/lzh/lzhlib.cpp 16-STYMulator-0.21a_restructure_layout/lzh/lzhlib.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/lzh/lzhlib.cpp 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/lzh/lzhlib.cpp 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,435 @@ +/*----------------------------------------------------------------------------- + + ST-Sound ( YM files player library ) + + Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) + + LZH depacking routine + Original LZH code by Haruhiko Okumura (1991) and Kerwin F. Medina (1996) + + I changed to C++ object to remove global vars, so it should be thread safe now. + +-----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + + This file is part of ST-Sound + + ST-Sound is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + ST-Sound is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ST-Sound; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +-----------------------------------------------------------------------------*/ + +#include "config.h" +#include +#include "lzh.h" + +/* + * Additions + */ + + + +int CLzhDepacker::DataIn(void *pBuffer,int nBytes) +{ + const int np = (nBytes <= m_srcSize) ? nBytes : m_srcSize; + if (np > 0) + { + memcpy(pBuffer,m_pSrc,np); + m_pSrc += np; + m_srcSize -= np; + } + return np; +} + +int CLzhDepacker::DataOut(void *pBuffer,int nBytes) +{ + const int np = (nBytes <= m_dstSize) ? nBytes : m_dstSize; + if (np > 0) + { + memcpy(m_pDst,pBuffer,np); + m_pDst += np; + m_dstSize -= np; + } + return np; +} + + + +/* + * io.c + */ + + +/** Shift bitbuf n bits left, read n bits */ +void CLzhDepacker::fillbuf (int n) +{ + bitbuf = (bitbuf << n) & 0xffff; + while (n > bitcount) + { + bitbuf |= subbitbuf << (n -= bitcount); + if (fillbufsize == 0) + { + fillbuf_i = 0; + fillbufsize = DataIn(buf, BUFSIZE - 32); + } + if (fillbufsize > 0) + fillbufsize--, subbitbuf = buf[fillbuf_i++]; + else + subbitbuf = 0; + bitcount = CHAR_BIT; + } + bitbuf |= subbitbuf >> (bitcount -= n); +} + +lzh_ushort CLzhDepacker::getbits (int n) +{ + lzh_ushort x; + x = bitbuf >> (BITBUFSIZ - n); + fillbuf (n); + return x; +} + +void CLzhDepacker::init_getbits (void) +{ + bitbuf = 0; + subbitbuf = 0; + bitcount = 0; + fillbuf (BITBUFSIZ); +} + +/* + * maketbl.c + */ + +int CLzhDepacker::make_table (int nchar, lzh_uchar *bitlen, + int tablebits, lzh_ushort *table) +{ + lzh_ushort count[17], weight[17], start[18], *p; + lzh_uint jutbits, avail, mask; + int i,ch,len,nextcode; + + for (i = 1; i <= 16; i++) + count[i] = 0; + for (i = 0; i < nchar; i++) + count[bitlen[i]]++; + + start[1] = 0; + for (i = 1; i <= 16; i++) + start[i + 1] = start[i] + (count[i] << (16 - i)); + if (start[17] != (lzh_ushort) (1U << 16)) + return (1); /* error: bad table */ + + jutbits = 16 - tablebits; + for (i = 1; i <= tablebits; i++) + { + start[i] >>= jutbits; + weight[i] = 1U << (tablebits - i); + } + while (i <= 16) + { + weight[i] = 1U << (16 - i); + i++; + } + + i = start[tablebits + 1] >> jutbits; + if (i != (lzh_ushort) (1U << 16)) + { + int k = 1U << tablebits; + while (i != k) + table[i++] = 0; + } + + avail = nchar; + mask = 1U << (15 - tablebits); + for (ch = 0; ch < nchar; ch++) + { + if ((len = bitlen[ch]) == 0) + continue; + nextcode = start[len] + weight[len]; + if (len <= tablebits) + { + for (i = start[len]; i < nextcode; i++) + table[i] = ch; + } + else + { + lzh_uint k = start[len]; + p = &table[k >> jutbits]; + i = len - tablebits; + while (i != 0) + { + if (*p == 0) + { + right[avail] = left[avail] = 0; + *p = avail++; + } + if (k & mask) + p = &right[*p]; + else + p = &left[*p]; + k <<= 1; + i--; + } + *p = ch; + } + start[len] = nextcode; + } + return (0); +} + +/* + * huf.c + */ + + +void CLzhDepacker::read_pt_len (int nn, int nbit, int i_special) +{ + int i, n; + short c; + lzh_ushort mask; + + n = getbits (nbit); + if (n == 0) + { + c = getbits (nbit); + for (i = 0; i < nn; i++) + pt_len[i] = 0; + for (i = 0; i < 256; i++) + pt_table[i] = c; + } + else + { + i = 0; + while (i < n) + { + c = bitbuf >> (BITBUFSIZ - 3); + if (c == 7) + { + mask = 1U << (BITBUFSIZ - 1 - 3); + while (mask & bitbuf) + { + mask >>= 1; + c++; + } + } + fillbuf ((c < 7) ? 3 : c - 3); + pt_len[i++] = lzh_uchar(c); + if (i == i_special) + { + c = getbits (2); + while (--c >= 0) + pt_len[i++] = 0; + } + } + while (i < nn) + pt_len[i++] = 0; + make_table (nn, pt_len, 8, pt_table); + } +} + +void CLzhDepacker::read_c_len (void) +{ + short i, c, n; + lzh_ushort mask; + + n = getbits (CBIT); + if (n == 0) + { + c = getbits (CBIT); + for (i = 0; i < NC; i++) + c_len[i] = 0; + for (i = 0; i < 4096; i++) + c_table[i] = c; + } + else + { + i = 0; + while (i < n) + { + c = pt_table[bitbuf >> (BITBUFSIZ - 8)]; + if (c >= NT) + { + mask = 1U << (BITBUFSIZ - 1 - 8); + do + { + if (bitbuf & mask) + c = right[c]; + else + c = left[c]; + mask >>= 1; + } while (c >= NT); + } + fillbuf (pt_len[c]); + if (c <= 2) + { + if (c == 0) + c = 1; + else if (c == 1) + c = getbits (4) + 3; + else + c = getbits (CBIT) + 20; + while (--c >= 0) + c_len[i++] = 0; + } + else + c_len[i++] = c - 2; + } + while (i < NC) + c_len[i++] = 0; + make_table (NC, c_len, 12, c_table); + } +} + +lzh_ushort CLzhDepacker::decode_c (void) +{ + lzh_ushort j, mask; + + if (blocksize == 0) + { + blocksize = getbits (16); + read_pt_len (NT, TBIT, 3); + read_c_len (); + read_pt_len (NP, PBIT, -1); + } + blocksize--; + j = c_table[bitbuf >> (BITBUFSIZ - 12)]; + if (j >= NC) + { + mask = 1U << (BITBUFSIZ - 1 - 12); + do + { + if (bitbuf & mask) + j = right[j]; + else + j = left[j]; + mask >>= 1; + } + while (j >= NC); + } + fillbuf (c_len[j]); + return j; +} + +lzh_ushort CLzhDepacker::decode_p (void) +{ + lzh_ushort j, mask; + + j = pt_table[bitbuf >> (BITBUFSIZ - 8)]; + if (j >= NP) + { + mask = 1U << (BITBUFSIZ - 1 - 8); + do + { + if (bitbuf & mask) + j = right[j]; + else + j = left[j]; + mask >>= 1; + } while (j >= NP); + } + fillbuf (pt_len[j]); + if (j != 0) + j = (1U << (j - 1)) + getbits (j - 1); + return j; +} + +void CLzhDepacker::huf_decode_start (void) +{ + init_getbits (); + blocksize = 0; +} + +/* + * decode.c + */ + + +void CLzhDepacker::decode_start (void) +{ + fillbufsize = 0; + huf_decode_start (); + decode_j = 0; +} + +/* + * The calling function must keep the number of bytes to be processed. This + * function decodes either 'count' bytes or 'DICSIZ' bytes, whichever is + * smaller, into the array 'buffer[]' of size 'DICSIZ' or more. Call + * decode_start() once for each new file before calling this function. + */ +void CLzhDepacker::decode (lzh_uint count, lzh_uchar buffer[]) +{ + lzh_uint r, c; + + r = 0; + while (--decode_j >= 0) + { + buffer[r] = buffer[decode_i]; + decode_i = (decode_i + 1) & (DICSIZ - 1); + if (++r == count) + return; + } + for (;;) + { + c = decode_c (); + if (c <= UCHAR_MAX) + { + buffer[r] = c; + if (++r == count) + return; + } + else + { + decode_j = c - (UCHAR_MAX + 1 - THRESHOLD); + decode_i = (r - decode_p () - 1) & (DICSIZ - 1); + while (--decode_j >= 0) + { + buffer[r] = buffer[decode_i]; + decode_i = (decode_i + 1) & (DICSIZ - 1); + if (++r == count) + return; + } + } + } +} + +bool CLzhDepacker::LzUnpack(void *pSrc,int srcSize,void *pDst,int dstSize) +{ + + with_error = 0; + + m_pSrc = (lzh_uchar*)pSrc; + m_srcSize = srcSize; + m_pDst = (lzh_uchar*)pDst; + m_dstSize = dstSize; + + decode_start (); + + lzh_uint origsize = dstSize; + while (origsize != 0) + { + lzh_uint n = (lzh_uint) ((origsize > DICSIZ) ? DICSIZ : origsize); + decode (n, outbuf); + if (with_error) + break; + + DataOut(outbuf,n); + origsize -= n; + if (with_error) + break; + } + + return (0 == with_error); +} diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/lzh/lzhlib.txt 16-STYMulator-0.21a_restructure_layout/lzh/lzhlib.txt --- 15-STYMulator-0.21a_update_more_correct_on_clock/lzh/lzhlib.txt 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/lzh/lzhlib.txt 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,132 @@ +LZHLIB.TXT + +Copyright(c) 1996 Kerwin F. Medina +Kerwin F. Medina +kerwin@infoserve.net +kerwin@digi.co.jp + +I took the source of Haruhiko Okumura's "ar" and extracted only the +necessary codes to create a compression library so an application can +make use of compression through a function call and without having to +spawn an external compression program. + +The library has only two API functions: "lzh_freeze" (to compress) and +"lzh_melt" (to decompress). In both cases, the caller only has to +provide the I/O functions and memory allocation functions. The +following is an example of a minimal compressor and decompressor. + + Sample Compressor: + + #ifdef __TURBOC__ + #include + #include + #else + #include + #endif + #include + + /* My I/O functions */ + int read0 (void far *p, int n) {return read (0, p, n);} + int write1 (void far *p, int n) {return write (1, p, n);} + + /* My Memory functions */ + void *mymalloc (unsigned n) {return malloc (n);} + void myfree (void far *p) {free (p);} + + void main (void) + { + long n; + #ifdef __TURBOC__ + setmode (0, O_BINARY); setmode (1, O_BINARY); + #endif + /* Get the length of the input file */ + n = lseek (0, 0, 2); + lseek (0, 0, 0); + + /* Write this length to the output file */ + write (1, &n, sizeof (n)); + + /* Now, Call the compression function */ + lzh_freeze (read0, write1, mymalloc, myfree); + } + + Sample Decompressor: + + #ifdef __TURBOC__ + #include + #include + #else + #include + #endif + #include + + /* My I/O functions */ + int read0 (void far *p, int n) {return read (0, p, n);} + int write1 (void far *p, int n) {return write (1, p, n);} + + /* My Memory functions */ + void *mymalloc (unsigned n) {return malloc (n);} + void myfree (void far *p) {free (p);} + + void main (void) + { + long n; + #ifdef __TURBOC__ + setmode (0, O_BINARY); setmode (1, O_BINARY); + #endif + /* Get the original file length */ + read (0, &n, sizeof (n)); + + /* Now, Call the decompression function */ + lzh_melt (read0, write1, malloc, free, n); + } + +The description of the library API is given in more detail below: + + Prototypes: + + int lzh_freeze (type_fnc_read pfnc_read, + type_fnc_write pfnc_write, + type_fnc_malloc pfnc_malloc, + type_fnc_free pfnc_free); + + int lzh_melt (type_fnc_read pfnc_read, + type_fnc_write pfnc_write, + type_fnc_malloc pfnc_malloc, + type_fnc_free pfnc_free, + unsigned long origsize); + + Remarks: "lzh_freeze" will perform an LZH compression on input + data that the caller provides through the + "fnc_read" callback function, and will output the + compressed result through a call to "fnc_write". + + "lzh_melt" will perform decompression of input + data that the caller provides through the + "fnc_read" callback function, and will output the + decompressed result through a call to "fnc_write". + + Argumets What it does + -------- ------------ + + fnc_read a callback function that library will call when + needing input data. "fnc_read" must return the + number of input bytes or -1 if there is an error. + + fnc_write a callback function that library will call when + needing to output data. "fnc_write" must return + the number of outputed bytes (or -1 if there is an + error). + + fnc_malloc a callback function that library will call when + needing to allocate memory. "fnc_malloc" must + return the address of the allocated memory or NULL + if there is an error. + + fnc_free a callback function that library will call when + needing to free a memory that was allocated using + "fnc_malloc". + + origsize the original number of bytes of the uncompressed + data. + diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/lzh/Makefile 16-STYMulator-0.21a_restructure_layout/lzh/Makefile --- 15-STYMulator-0.21a_update_more_correct_on_clock/lzh/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/lzh/Makefile 2010-04-25 12:38:36.577588969 +0200 @@ -0,0 +1,15 @@ +TOPDIR=.. +include $(TOPDIR)/Rules.make + +all: liblzh.a + +liblzh.a: lzhlib.o + $(AR) liblzh.a lzhlib.o + +lzhlib.o: lzhlib.cpp lzh.h $(TOPDIR)/config.h + $(CXX) $(CXXFLAGS) -c lzhlib.cpp + +clean: + $(RM) *~ *.o *.a + +dist: diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/Makefile 16-STYMulator-0.21a_restructure_layout/Makefile --- 15-STYMulator-0.21a_update_more_correct_on_clock/Makefile 2010-04-25 12:01:42.261591044 +0200 +++ 16-STYMulator-0.21a_restructure_layout/Makefile 2010-04-25 12:44:05.725634050 +0200 @@ -2,13 +2,26 @@ include $(TOPDIR)/Rules.make all: - $(MAKE) -C src all +ifeq ($(HAVE_LZH),1) + $(MAKE) -C lzh all +endif + $(MAKE) -C stsoundlib all + $(MAKE) -C ymplayer all + install: - $(MAKE) -C src install +ifeq ($(HAVE_LZH),1) + $(MAKE) -C lzh install +endif + $(MAKE) -C stsoundlib install + $(MAKE) -C ymplayer install clean: - $(MAKE) -C src clean +ifeq ($(HAVE_LZH),1) + $(MAKE) -C lzh clean +endif + $(MAKE) -C stsoundlib clean + $(MAKE) -C ymplayer clean -dist: +dist: clean $(RM) -R config.h Rules.make config.log autom4te.cache config.status diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/Makefile 16-STYMulator-0.21a_restructure_layout/src/Makefile --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/Makefile 2010-04-25 12:59:55.513650959 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -TOPDIR=.. -include $(TOPDIR)/Rules.make - -LZH = stsoundlib/lzh -STLIB = stsoundlib - -override CFLAGS += -I$(LZH) -I$(STLIB) $(ALSA_CFLAGS) -override CXXFLAGS += -I$(LZH) -I$(STLIB) $(ALSA_CFLAGS) -override LDFLAGS += -L$(LZH) -L$(STLIB) - -all: libs ymplayer ym2wav - -LIBS=-lym -DIRS=$(STLIB) -ifeq ($(HAVE_LZH),1) -DIRS+=$(LZH) -LIBS+=-llzh -endif - -libs: - @for subdir in $(DIRS); do \ - (cd $$subdir && make) || exit 1; \ - done - -ymplayer: ymplayer.o sound.o ui.o - $(CXX) -o ymplayer $(LDFLAGS) ymplayer.o sound.o ui.o $(ALSA_LIBS) $(LIBS) -lncurses - -ym2wav: ym2wav.o - $(CXX) -o ym2wav $(LDFLAGS) ym2wav.o $(LIBS) - -ymplayer.o: ymplayer.cpp $(TOPDIR)/config.h - $(CXX) $(CXXFLAGS) $(ALSA_CFLAGS) -c ymplayer.cpp - -ym2wav.o: ym2wav.cpp $(STLIB)/StSoundLibrary.h $(TOPDIR)/config.h - $(CXX) $(CXXFLAGS) $(INCLUDE) -c ym2wav.cpp - -sound.o: sound.cpp sound.h $(TOPDIR)/config.h - $(CXX) $(CXXFLAGS) $(ALSA_CFLAGS) -c sound.cpp - -ui.o: ui.cpp ui.h $(STLIB)/StSoundLibrary.h $(TOPDIR)/config.h - $(CXX) $(CXXFLAGS) -c ui.cpp - -install: all - $(INSTALL) ymplayer /usr/bin - $(INSTALL) ym2wav /usr/bin - -clean: - - @for subdir in $(DIRS); do \ - (cd $$subdir && make $@) || exit 1; \ - done - - $(RM) *.o ymplayer ym2wav *~ - diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/sound.cpp 16-STYMulator-0.21a_restructure_layout/src/sound.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/sound.cpp 2010-04-25 12:01:42.105609055 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/sound.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,134 +0,0 @@ -/* file: sound.cpp - - This file is a part of STYMulator - GNU/Linux YM player - - Player & ST-Sound GPL library GNU/Linux port by Grzegorz Tomasz Stanczyk - Project Page: http://atariarea.krap.pl/stymulator - - Original ST-Sound GPL library by Arnaud Carre (http://leonard.oxg.free.fr) - ALSA (Advanced Linux Sound Architecture) library (http://www.alsa-project.org/) - ------------------------------------------------------------------------------ - * STYMulator is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * STYMulator is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with STYMulator; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ----------------------------------------------------------------------------*/ - -#include "config.h" -#include "sound.h" -#ifdef HAVE_OSS -#include -#include -#include -#include -#endif - -int err, dir; -int resample = 1; -unsigned int rate = 44100; -unsigned int channels = 1; -unsigned int period_time = 100000; - -#ifdef HAVE_ALSA - -snd_pcm_format_t format = SND_PCM_FORMAT_S16; - -unsigned int buffer_time = 500000; - -snd_pcm_uframes_t buffer_size; //22050 -snd_pcm_uframes_t period_size; //4410 - -int alsa_init(snd_pcm_t *pcm_handle, snd_pcm_hw_params_t *hwparams) -{ - if ((err = snd_pcm_hw_params_any(pcm_handle, hwparams)) < 0) { - printf("Broken configuration for playback: no configurations available: %s\n", snd_strerror(err)); - return err; - } -/* removed snd_pcm_hw_params_set_rate_resample function that has been added to alsa-lib since 1.0.9rc2 (more portability) - - if ((err = snd_pcm_hw_params_set_rate_resample(pcm_handle, hwparams, resample)) < 0) { - printf("Resampling setup failed for playback: %s\n", snd_strerror(err)); - return err; - } -*/ - if ((err = snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0) { - printf("Access type not available for playback: %s\n", snd_strerror(err)); - return err; - } - if ((err = snd_pcm_hw_params_set_format(pcm_handle, hwparams, format)) < 0) { - printf("Sample format not available for playback: %s\n", snd_strerror(err)); - return err; - } - if ((err = snd_pcm_hw_params_set_channels(pcm_handle, hwparams, channels)) < 0) { - printf("Channels count (%i) not available for playbacks: %s\n", channels, snd_strerror(err)); - return err; - } - unsigned int rrate = rate; - if ((err = snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, &rrate, 0)) < 0) { - printf("Rate %iHz not available for playback: %s\n", rate, snd_strerror(err)); - return err; - } - if (rrate != rate) { - printf("Rate doesn't match (requested %iHz, get %iHz)\n", rate, err); - return -EINVAL; - } - if ((err = snd_pcm_hw_params_set_buffer_time_near(pcm_handle, hwparams, &buffer_time, &dir)) < 0) { - printf("Unable to set buffer time %i for playback: %s\n", buffer_time, snd_strerror(err)); - return err; - } - if ((err = snd_pcm_hw_params_get_buffer_size(hwparams, &buffer_size)) < 0) { - printf("Unable to get buffer size for playback: %s\n", snd_strerror(err)); - return err; - } - if ((err = snd_pcm_hw_params_set_period_time_near(pcm_handle, hwparams, &period_time, &dir)) < 0) { - printf("Unable to set period time %i for playback: %s\n", period_time, snd_strerror(err)); - return err; - } - if ((err = snd_pcm_hw_params_get_period_size(hwparams, &period_size, &dir)) < 0) { - printf("Unable to get period size for playback: %s\n", snd_strerror(err)); - return err; - } - if ((err = snd_pcm_hw_params(pcm_handle, hwparams)) < 0) { - printf("Unable to set hw params for playback: %s\n", snd_strerror(err)); - return err; - } - return 0; -} -#endif - -#ifdef HAVE_OSS -int format = AFMT_S16_LE; -int period_size; //4410 - -int oss_init(int audio_fd) { - period_size = 4096; - - if (ioctl(audio_fd, SNDCTL_DSP_SETFMT, &format) < 0) { - printf("Cannot set sample format\n"); - return -1; - } - - if (ioctl(audio_fd, SNDCTL_DSP_CHANNELS, &channels) < 0) { - printf("Cannot set audio channels\n"); - return -1; - } - - if (ioctl(audio_fd, SNDCTL_DSP_SPEED, &rate) < 0) { - printf("Cannot set sample rate\n"); - return -1; - } - - return 0; -} -#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/sound.h 16-STYMulator-0.21a_restructure_layout/src/sound.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/sound.h 2010-04-25 12:01:42.094609706 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/sound.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,48 +0,0 @@ -/* file: sound.h - - This file is a part of STYMulator - GNU/Linux YM player - - Player & ST-Sound GPL library GNU/Linux port by Grzegorz Tomasz Stanczyk - Project Page: http://atariarea.krap.pl/stymulator - - Original ST-Sound GPL library by Arnaud Carre (http://leonard.oxg.free.fr) - ALSA (Advanced Linux Sound Architecture) library (http://www.alsa-project.org/) - ------------------------------------------------------------------------------ - * STYMulator is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * STYMulator is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with STYMulator; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ----------------------------------------------------------------------------*/ - -#ifndef SOUND_H -#define SOUND_H - -#ifdef HAVE_ALSA -#include - -int alsa_init(snd_pcm_t *pcm_handle, snd_pcm_hw_params_t *hwparams); -extern snd_pcm_uframes_t period_size; -#endif - -#ifdef HAVE_OSS - -#ifdef HAVE_SYS_SOUNDCARD_H -#include -#endif - -int oss_init(int fd); -extern int period_size; -#endif - -#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/digidrum.cpp 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/digidrum.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/digidrum.cpp 2010-04-25 12:01:42.202645631 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/digidrum.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,2586 +0,0 @@ -/*----------------------------------------------------------------------------- - - ST-Sound ( YM files player library ) - - Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) - - Sample datas of some common YM music. ( YM2 format ) - YM3 or greater uses sample data inside the music file. - ------------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - - This file is part of ST-Sound - - ST-Sound is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - ST-Sound is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with ST-Sound; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ------------------------------------------------------------------------------*/ - -#include "config.h" -#include "YmTypes.h" -#include "digidrum.h" - -static ymu8 sample00[631]={ - 0xCC,0x84,0xB4,0x70,0x90,0x94,0x70,0x80,0x80,0xAC, - 0x58,0xFF,0x00,0x80,0x54,0x40,0x6C,0x78,0x94,0x7C, - 0x8C,0x58,0x84,0x08,0x4C,0x54,0x78,0xA8,0xDC,0xDC, - 0xFF,0xFF,0xF0,0xA4,0x70,0x44,0x3C,0x2C,0x14,0x00, - 0x00,0x00,0x00,0x1C,0x90,0xE4,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xF4,0xB4,0x8C,0x44,0x08,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x28,0x70,0xDC,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x78,0x38,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x38,0x84,0xEC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x84,0x50,0x18,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x04,0x50,0x98,0xDC,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xD8,0x8C,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x58, - 0xA0,0xDC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDC,0xC0,0x88, - 0x58,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x40, - 0x64,0x80,0xA8,0xD0,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xE4,0xBC,0x8C,0x68,0x48,0x20,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x04,0x2C,0x60,0x78,0xA0,0xC4,0xF0, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEC,0xC4,0x98,0x64, - 0x30,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x2C,0x50, - 0x74,0x8C,0xB0,0xCC,0xE8,0xFC,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8, - 0xF0,0xDC,0xC8,0xBC,0xB0,0x90,0x80,0x70,0x5C,0x58, - 0x48,0x38,0x38,0x28,0x24,0x1C,0x24,0x24,0x20,0x28, - 0x38,0x48,0x58,0x50,0x50,0x5C,0x60,0x5C,0x5C,0x5C, - 0x5C,0x60,0x5C,0x60,0x60,0x5C,0x54,0x5C,0x58,0x64, - 0x68,0x64,0x64,0x6C,0x74,0x7C,0x78,0x80,0x88,0x90, - 0x98,0x9C,0xA8,0xB8,0xB8,0xC0,0xC8,0xD0,0xD8,0xE0, - 0xE0,0xE4,0xDC,0xD4,0xD8,0xDC,0xD0,0xCC,0xC0,0xC4, - 0xBC,0xB0,0xA8,0x9C,0x98,0x94,0x90,0x7C,0x74,0x6C, - 0x64,0x4C,0x40,0x30,0x20,0x18,0x08,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0C,0x14,0x28, - 0x34,0x44,0x50,0x64,0x74,0x84,0x98,0x98,0xAC,0xC0, - 0xD0,0xD8,0xEC,0xF0,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xD8, - 0xD4,0xC8,0xBC,0x9C,0x8C,0x6C,0x74,0x50,0x40,0x34, - 0x24,0x18,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x10,0x24, - 0x38,0x4C,0x58,0x6C,0x80,0x90,0xA4,0xAC,0xBC,0xC8, - 0xD8,0xE4,0xE4,0xEC,0xF0,0xF4,0xFC,0xFC,0xFC,0xF8, - 0xFC,0xFC,0xF8,0xF8,0xF0,0xF0,0xEC,0xEC,0xE4,0xE0, - 0xD8,0xD0,0xC4,0xBC,0xB0,0xA0,0x94,0x88,0x78,0x68, - 0x58,0x44,0x38,0x30,0x24,0x20,0x14,0x0C,0x08,0x00, - 0x00,0x00,0x04,0x0C,0x14,0x18,0x18,0x20,0x24,0x34, - 0x38,0x40,0x48,0x50,0x5C,0x60,0x6C,0x70,0x74,0x80, - 0x8C,0x90,0x98,0x9C,0xAC,0xB0,0xB8,0xC4,0xC0,0xBC, - 0xC0,0xC8,0xD0,0xCC,0xC8,0xC4,0xC0,0xC0,0xC0,0xB4, - 0xB4,0xAC,0xB0,0xA8,0xA4,0xA4,0x9C,0x98,0x94,0x94, - 0x94,0x94,0x94,0x8C,0x80,0x80,0x74,0x74,0x70,0x64, - 0x58,0x50,0x4C,0x4C,0x44,0x40,0x48,0x48,0x4C,0x4C, - 0x4C,0x58,0x60,0x68,0x6C,0x6C,0x74,0x7C,0x7C,0x84, - 0x84,0x88,0x8C,0x8C,0x88,0x88,0x84,0x84,0x84,0x7C, - 0x78,0x70,0x6C,0x68,0x64,0x64,0x64,0x60,0x68,0x6C, - 0x6C,0x70,0x7C,0x84,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,}; -static ymu8 sample01[631]={ - 0x97,0x81,0x90,0x7B,0x84,0x86,0x7B,0x80,0x80,0x8D, - 0x73,0xA7,0x58,0x80,0x72,0x6C,0x79,0x7D,0x86,0x7E, - 0x83,0x73,0x81,0x5A,0x6F,0x72,0x7D,0x8C,0x9C,0x9C, - 0xA7,0xA7,0xA2,0x8B,0x7B,0x6D,0x6A,0x65,0x5E,0x58, - 0x58,0x58,0x58,0x60,0x84,0x9F,0xA7,0xA7,0xA7,0xA7, - 0xA7,0xA7,0xA4,0x90,0x83,0x6D,0x5A,0x58,0x58,0x58, - 0x58,0x58,0x58,0x58,0x58,0x64,0x7B,0x9C,0xA7,0xA7, - 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0x93,0x7D,0x69,0x58, - 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, - 0x58,0x69,0x81,0xA1,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, - 0xA7,0xA7,0xA7,0xA7,0xA7,0x93,0x81,0x71,0x5F,0x58, - 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, - 0x58,0x58,0x59,0x71,0x87,0x9C,0xA7,0xA7,0xA7,0xA7, - 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, - 0x9B,0x83,0x6D,0x58,0x58,0x58,0x58,0x58,0x58,0x58, - 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x64,0x73, - 0x89,0x9C,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, - 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0x9C,0x93,0x82, - 0x73,0x60,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, - 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x5F,0x6C, - 0x77,0x80,0x8C,0x98,0xA5,0xA7,0xA7,0xA7,0xA7,0xA7, - 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, - 0xA7,0x9F,0x92,0x83,0x78,0x6E,0x62,0x58,0x58,0x58, - 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, - 0x58,0x58,0x58,0x59,0x65,0x76,0x7D,0x89,0x95,0xA2, - 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, - 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA1,0x95,0x87,0x77, - 0x67,0x59,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, - 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x5B,0x65,0x71, - 0x7C,0x83,0x8E,0x97,0xA0,0xA6,0xA7,0xA7,0xA7,0xA7, - 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA5, - 0xA2,0x9C,0x96,0x92,0x8E,0x84,0x80,0x7B,0x74,0x73, - 0x6E,0x69,0x69,0x64,0x63,0x60,0x63,0x63,0x62,0x64, - 0x69,0x6E,0x73,0x71,0x71,0x74,0x76,0x74,0x74,0x74, - 0x74,0x76,0x74,0x76,0x76,0x74,0x72,0x74,0x73,0x77, - 0x78,0x77,0x77,0x79,0x7C,0x7E,0x7D,0x80,0x82,0x84, - 0x87,0x88,0x8C,0x91,0x91,0x93,0x96,0x98,0x9B,0x9D, - 0x9D,0x9F,0x9C,0x9A,0x9B,0x9C,0x98,0x97,0x93,0x95, - 0x92,0x8E,0x8C,0x88,0x87,0x86,0x84,0x7E,0x7C,0x79, - 0x77,0x6F,0x6C,0x67,0x62,0x5F,0x5A,0x58,0x58,0x58, - 0x58,0x58,0x58,0x58,0x58,0x58,0x59,0x5B,0x5E,0x64, - 0x68,0x6D,0x71,0x77,0x7C,0x81,0x87,0x87,0x8D,0x93, - 0x98,0x9B,0xA1,0xA2,0xA6,0xA7,0xA7,0xA7,0xA7,0xA7, - 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA2,0x9B, - 0x9A,0x96,0x92,0x88,0x83,0x79,0x7C,0x71,0x6C,0x68, - 0x63,0x5F,0x5A,0x58,0x58,0x58,0x58,0x58,0x58,0x58, - 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x5A,0x5D,0x63, - 0x69,0x6F,0x73,0x79,0x80,0x84,0x8B,0x8D,0x92,0x96, - 0x9B,0x9F,0x9F,0xA1,0xA2,0xA4,0xA6,0xA6,0xA6,0xA5, - 0xA6,0xA6,0xA5,0xA5,0xA2,0xA2,0xA1,0xA1,0x9F,0x9D, - 0x9B,0x98,0x95,0x92,0x8E,0x89,0x86,0x82,0x7D,0x78, - 0x73,0x6D,0x69,0x67,0x63,0x62,0x5E,0x5B,0x5A,0x58, - 0x58,0x58,0x59,0x5B,0x5E,0x5F,0x5F,0x62,0x63,0x68, - 0x69,0x6C,0x6E,0x71,0x74,0x76,0x79,0x7B,0x7C,0x80, - 0x83,0x84,0x87,0x88,0x8D,0x8E,0x91,0x95,0x93,0x92, - 0x93,0x96,0x98,0x97,0x96,0x95,0x93,0x93,0x93,0x90, - 0x90,0x8D,0x8E,0x8C,0x8B,0x8B,0x88,0x87,0x86,0x86, - 0x86,0x86,0x86,0x83,0x80,0x80,0x7C,0x7C,0x7B,0x77, - 0x73,0x71,0x6F,0x6F,0x6D,0x6C,0x6E,0x6E,0x6F,0x6F, - 0x6F,0x73,0x76,0x78,0x79,0x79,0x7C,0x7E,0x7E,0x81, - 0x81,0x82,0x83,0x83,0x82,0x82,0x81,0x81,0x81,0x7E, - 0x7D,0x7B,0x79,0x78,0x77,0x77,0x77,0x76,0x78,0x79, - 0x79,0x7B,0x7E,0x81,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,}; -static ymu8 sample02[490]={ - 0x74,0xB4,0x96,0x64,0x3C,0x00,0x1E,0x70,0x00,0x40, - 0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCA,0x4C,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xDB,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xE4,0x5A,0x16,0x24,0x02,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0xC4, - 0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xED,0xFF,0x4A,0x06,0x1A,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x1E,0x84,0xBA,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFD,0xF9,0x6E,0x00,0x3A,0x0C, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x96, - 0x8A,0x58,0x60,0xDD,0xB3,0x40,0xFF,0xF3,0x90,0xFD, - 0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE9, - 0x8A,0xEB,0xB9,0x44,0x04,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x08,0x50,0x14,0x36,0xFD,0xD3,0xD9, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAD,0xCF, - 0xF5,0x92,0xFD,0xC2,0x10,0xA6,0x24,0x06,0x14,0x00, - 0x00,0x00,0x00,0x00,0x1C,0x00,0x72,0x18,0x6A,0xF1, - 0x80,0xFF,0xFF,0xFF,0xFF,0xF9,0xFF,0xF3,0xAA,0x88, - 0xA8,0xAA,0x8C,0x1A,0xCA,0x50,0xB9,0x00,0xD9,0x5E, - 0xA2,0x24,0x30,0x80,0x30,0x2E,0x00,0x0C,0x5E,0x06, - 0x08,0x70,0x58,0x00,0x9E,0xFD,0xA8,0xFF,0xFF,0xF7, - 0xFF,0xF5,0xFF,0xF5,0xFB,0xD5,0x70,0xC8,0xB6,0xA2, - 0x36,0xC3,0x00,0x72,0x30,0x2E,0x00,0x3E,0x30,0x2E, - 0x1C,0x74,0x56,0x32,0x5C,0xD5,0x9C,0x74,0xD0,0xDB, - 0xB5,0xB9,0xCB,0x9E,0xE0,0xFF,0x90,0xCC,0x98,0xE9, - 0x72,0xB4,0xB8,0x60,0xAE,0x6C,0x0C,0x44,0x4A,0x3C, - 0x36,0x60,0x10,0x2C,0x88,0x02,0x88,0x60,0x92,0x94, - 0xE1,0x6E,0xC4,0xE7,0xF7,0xF3,0x7A,0xCB,0xD0,0xAA, - 0x6E,0xC4,0xCD,0xB6,0x6A,0x90,0x44,0x34,0x5A,0x20, - 0x58,0x10,0x40,0x22,0x10,0x38,0x4A,0x42,0x5A,0x74, - 0x42,0x92,0xC6,0xBE,0xE1,0xDF,0xE7,0xFF,0xF5,0xD5, - 0xB1,0xC8,0xCA,0xD5,0x6E,0x6A,0x8A,0x40,0x52,0x22, - 0x72,0x48,0x44,0x3E,0x92,0x82,0x66,0xD2,0x88,0xD2, - 0xAC,0xA0,0x84,0x8A,0x8C,0x94,0xA3,0x86,0xE3,0x90, - 0x7A,0xE1,0x8E,0xE7,0xAC,0x7C,0xAC,0xCD,0x86,0x7A, - 0xA4,0x80,0x9A,0x3A,0x76,0x86,0x4E,0x50,0x94,0x4C, - 0x32,0x9E,0x70,0xA0,0x72,0x74,0x56,0xAE,0xB8,0x80, - 0xCA,0x82,0xA4,0x7C,0xEA,0xAA,0x84,0x32,0xD5,0xA2, - 0x9A,0x50,0x4A,0x6A,0x28,0x9A,0x18,0x16,0x78,0x82, - 0x94,0x94,0x9C,0x92,0x8E,0x7E,0x72,0x5A,0x88,0x44, - 0x98,0xA8,0x64,0xA0,0x66,0xA6,0x84,0x7E,0x8C,0x92, - 0xBC,0x92,0xB6,0x92,0xAA,0x5A,0x70,0x7A,0x66,0x7E, - 0x4E,0x62,0xAE,0x6A,0x82,0x84,0x54,0x88,0x80,0x94, - 0x78,0xBE,0xAC,0xA2,0xE1,0x8E,0xDD,0xD6,0xA6,0xAA, - 0x60,0xA2,0x86,0x90,0x78,0x5C,0x94,0x72,0x54,0xB2, - 0x6A,0x74,0x60,0x90,0x78,0x5A,0x9A,0x70,0x8C,0xA2, - 0x64,0x4C,0xA8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample03[490]={ - 0x7C,0x90,0x86,0x77,0x6A,0x58,0x61,0x7B,0x58,0x6C, - 0xA5,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0x97,0x6F,0x58, - 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x5B,0x9C,0xA7, - 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, - 0xA7,0x9F,0x74,0x5E,0x63,0x58,0x58,0x58,0x58,0x58, - 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x64,0x95, - 0xA2,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, - 0xA7,0xA7,0xA2,0xA7,0x6F,0x59,0x60,0x58,0x58,0x58, - 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, - 0x61,0x81,0x92,0x93,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, - 0xA7,0xA7,0xA7,0xA7,0xA7,0xA5,0x7A,0x58,0x6A,0x5B, - 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x86, - 0x83,0x73,0x76,0x9D,0x8F,0x6C,0xA7,0xA3,0x84,0xA7, - 0xA2,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA0, - 0x83,0xA1,0x91,0x6D,0x59,0x58,0x58,0x58,0x58,0x58, - 0x58,0x58,0x58,0x5A,0x71,0x5E,0x68,0xA7,0x99,0x9B, - 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0x8E,0x98, - 0xA4,0x85,0xA7,0x94,0x5D,0x8B,0x63,0x59,0x5E,0x58, - 0x58,0x58,0x58,0x58,0x60,0x58,0x7B,0x5F,0x79,0xA3, - 0x80,0xA7,0xA7,0xA7,0xA7,0xA5,0xA7,0xA3,0x8D,0x82, - 0x8C,0x8D,0x83,0x60,0x97,0x71,0x91,0x58,0x9B,0x75, - 0x8A,0x63,0x67,0x80,0x67,0x66,0x58,0x5B,0x75,0x59, - 0x5A,0x7B,0x73,0x58,0x89,0xA7,0x8C,0xA7,0xA7,0xA5, - 0xA7,0xA4,0xA7,0xA4,0xA6,0x9A,0x7B,0x96,0x90,0x8A, - 0x68,0x94,0x58,0x7B,0x67,0x66,0x58,0x6B,0x67,0x66, - 0x60,0x7C,0x72,0x67,0x74,0x9A,0x88,0x7C,0x98,0x9C, - 0x90,0x91,0x97,0x89,0x9D,0xA7,0x84,0x97,0x87,0xA0, - 0x7B,0x90,0x91,0x76,0x8E,0x79,0x5B,0x6D,0x6F,0x6A, - 0x68,0x76,0x5D,0x65,0x82,0x58,0x82,0x76,0x85,0x86, - 0x9E,0x7A,0x95,0xA0,0xA5,0xA3,0x7E,0x97,0x98,0x8D, - 0x7A,0x95,0x98,0x90,0x79,0x84,0x6D,0x68,0x74,0x62, - 0x73,0x5D,0x6C,0x62,0x5D,0x69,0x6F,0x6C,0x74,0x7C, - 0x6C,0x85,0x95,0x93,0x9E,0x9D,0xA0,0xA7,0xA4,0x9A, - 0x8F,0x96,0x97,0x9A,0x7A,0x79,0x83,0x6C,0x71,0x62, - 0x7B,0x6E,0x6D,0x6B,0x85,0x80,0x77,0x99,0x82,0x99, - 0x8D,0x89,0x81,0x83,0x83,0x86,0x8A,0x81,0x9E,0x84, - 0x7E,0x9E,0x84,0xA0,0x8D,0x7E,0x8D,0x98,0x81,0x7E, - 0x8B,0x80,0x88,0x6A,0x7C,0x81,0x70,0x71,0x86,0x6F, - 0x67,0x89,0x7B,0x89,0x7B,0x7C,0x72,0x8E,0x91,0x80, - 0x97,0x80,0x8B,0x7E,0xA1,0x8D,0x81,0x67,0x9A,0x8A, - 0x88,0x71,0x6F,0x79,0x64,0x88,0x5F,0x5E,0x7D,0x80, - 0x86,0x86,0x88,0x85,0x84,0x80,0x7B,0x74,0x82,0x6D, - 0x87,0x8C,0x77,0x89,0x77,0x8B,0x81,0x80,0x83,0x85, - 0x92,0x85,0x90,0x85,0x8D,0x74,0x7B,0x7E,0x77,0x80, - 0x70,0x76,0x8E,0x79,0x80,0x81,0x72,0x82,0x80,0x86, - 0x7D,0x93,0x8D,0x8A,0x9E,0x84,0x9D,0x9A,0x8B,0x8D, - 0x76,0x8A,0x81,0x84,0x7D,0x74,0x86,0x7B,0x72,0x8F, - 0x79,0x7C,0x76,0x84,0x7D,0x74,0x88,0x7B,0x83,0x8A, - 0x77,0x6F,0x8C,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample04[699]={ - 0x80,0x80,0x80,0x80,0x80,0x80,0x90,0x94,0x94,0xE0, - 0x28,0xC0,0x00,0x34,0xFF,0xA4,0xFF,0x78,0xE4,0xC0, - 0x98,0x70,0xFF,0x30,0x7C,0x28,0x58,0x00,0xFF,0x00, - 0xFF,0x00,0x00,0x5C,0x64,0x00,0x94,0x38,0x00,0x8C, - 0x00,0x00,0x00,0x50,0x48,0x4C,0xBC,0xC8,0xF8,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0x9C,0xF8,0x44,0x3C,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x38, - 0x18,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xB8,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x68,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xCC,0x7C,0x38,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x4C, - 0x88,0xE8,0xE4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xE8,0xAC,0x48,0x24,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08, - 0x3C,0x7C,0x98,0xD4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xEC,0xC8,0xB4,0x9C,0x68,0x60,0x40,0x34,0x2C, - 0x0C,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x08,0x1C,0x1C, - 0x20,0x50,0x58,0x64,0x7C,0x98,0x7C,0x90,0xA0,0xB4, - 0xC0,0xB8,0xC8,0xDC,0xE4,0xF0,0xDC,0xF4,0xF0,0xFC, - 0xFF,0xF0,0xF4,0xEC,0xE8,0xEC,0xE4,0xDC,0xF4,0xDC, - 0xD8,0xE4,0xCC,0xD8,0xCC,0xBC,0xA0,0xAC,0xA0,0xB4, - 0xA4,0xA4,0xA8,0x9C,0x90,0x84,0x74,0x64,0x6C,0x58, - 0x68,0x5C,0x5C,0x54,0x4C,0x40,0x4C,0x40,0x20,0x34, - 0x20,0x14,0x20,0x20,0x10,0x1C,0x18,0x18,0x18,0x18, - 0x20,0x20,0x18,0x18,0x28,0x24,0x38,0x40,0x34,0x3C, - 0x4C,0x48,0x50,0x48,0x50,0x58,0x68,0x68,0x70,0x74, - 0x74,0x84,0x88,0x94,0x90,0x90,0x98,0xA0,0xA4,0xAC, - 0xA8,0xB8,0xB0,0xB4,0xB8,0xA8,0xB4,0xB8,0xB4,0xBC, - 0xC0,0xB4,0xB4,0xC4,0xC8,0xC8,0xC0,0xD0,0xBC,0xCC, - 0xC8,0xCC,0xCC,0xE0,0xD0,0xD8,0xDC,0xDC,0xE8,0xEC, - 0xEC,0xE0,0xDC,0xE0,0xD8,0xE0,0xDC,0xD0,0xC8,0xC8, - 0xC8,0xC8,0xBC,0xB4,0xB4,0xA0,0x98,0x88,0x8C,0x8C, - 0x80,0x7C,0x78,0x68,0x5C,0x5C,0x4C,0x48,0x40,0x40, - 0x34,0x34,0x34,0x34,0x2C,0x28,0x24,0x18,0x20,0x14, - 0x18,0x20,0x18,0x24,0x1C,0x18,0x28,0x1C,0x2C,0x2C, - 0x2C,0x3C,0x38,0x30,0x40,0x38,0x44,0x48,0x4C,0x48, - 0x54,0x50,0x5C,0x64,0x64,0x70,0x68,0x70,0x78,0x84, - 0x84,0x88,0x98,0x9C,0xAC,0xAC,0xAC,0xAC,0xB4,0xA8, - 0xC4,0xC4,0xBC,0xCC,0xC8,0xC0,0xC0,0xB8,0xB4,0xB4, - 0xB4,0xB0,0xB4,0xA8,0xA8,0xA0,0x94,0x94,0x8C,0x88, - 0x88,0x88,0x80,0x7C,0x78,0x70,0x6C,0x64,0x60,0x60, - 0x5C,0x5C,0x54,0x54,0x4C,0x48,0x40,0x40,0x40,0x3C, - 0x44,0x40,0x40,0x48,0x40,0x40,0x44,0x44,0x48,0x4C, - 0x58,0x60,0x5C,0x64,0x64,0x6C,0x6C,0x70,0x6C,0x70, - 0x78,0x88,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample05[505]={ - 0x9F,0x74,0x71,0x47,0x4D,0x63,0x2C,0x2F,0x80,0x99, - 0xD9,0xC3,0xFA,0xB3,0xA7,0xA1,0x94,0x95,0x5A,0x69, - 0x02,0x29,0x0B,0x13,0x00,0x0B,0x0A,0x03,0x00,0x41, - 0x92,0xC4,0xE5,0xFF,0xFF,0xFF,0xEB,0x93,0xF9,0xB4, - 0xC3,0xFF,0xFF,0xFB,0xDD,0xF4,0xD7,0x88,0x52,0x22, - 0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x4A,0x9E,0xE8,0xFF,0xFF,0xF9,0xFF,0xE1, - 0xFF,0xFC,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFB,0xAA,0x7E,0x0E,0x00,0x00,0x00,0x00,0x00, - 0x00,0x09,0x1A,0x28,0x15,0x2D,0x23,0x15,0x0E,0x17, - 0x17,0x24,0x38,0x36,0xA0,0x75,0x95,0x96,0x8F,0x90, - 0x5B,0x4F,0x00,0x00,0x00,0x00,0x26,0x5E,0xA2,0xC7, - 0xEF,0xFE,0xFF,0xFF,0xFA,0xFF,0xF9,0xE3,0xFA,0xD7, - 0xFE,0x83,0x93,0xA1,0xC7,0x73,0xFF,0xDE,0xEC,0xFE, - 0xCF,0xB5,0x89,0x8A,0x51,0x95,0x42,0x9E,0x7B,0x84, - 0x93,0x8C,0x5C,0xA3,0x5C,0x46,0x16,0x0C,0x33,0x02, - 0x73,0x10,0x1A,0x00,0x2B,0x00,0x48,0x22,0x73,0x52, - 0x83,0xB2,0xA0,0x5C,0xB5,0x54,0x38,0x3D,0x00,0x0B, - 0x2A,0x14,0x1D,0x2B,0x07,0x0F,0x2B,0x16,0x26,0x4A, - 0x80,0xE2,0xDE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFD,0xFF,0xFF,0xFA,0xFE,0xFF,0xFA, - 0xFF,0xFA,0xFB,0xF7,0x80,0x4E,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x20,0x00,0x1B,0x1B,0x2C,0x1E,0x3D,0x44,0x56,0x52, - 0x77,0x84,0x8B,0x8A,0x92,0x8D,0xBA,0xE8,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xF8,0xE0,0xD6,0xB4,0x7C,0x8A, - 0x33,0x4B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, - 0x2A,0x52,0x1C,0x6B,0x5B,0x7A,0xAC,0xAD,0xA8,0xE2, - 0xA7,0xD9,0x90,0xD1,0x95,0xD4,0x8A,0xD2,0xB6,0xE4, - 0xEA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xF9, - 0xC8,0x95,0x4F,0x3E,0x0F,0x00,0x09,0x02,0x03,0x00, - 0x29,0x05,0x12,0x17,0x0C,0x08,0x17,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x2A,0x22,0x40, - 0x47,0x93,0x64,0x9B,0xAC,0xB5,0xF2,0xD7,0xFD,0xFE, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xF9,0xC6, - 0xB3,0xE4,0xAA,0xBA,0x97,0xA6,0x44,0x60,0x1C,0x14, - 0x47,0x10,0x05,0x00,0x00,0x00,0x1C,0x07,0x00,0x0B, - 0x23,0x35,0x61,0x66,0xA6,0xA4,0x96,0x8E,0xA6,0xB0, - 0x5D,0xBD,0x7D,0x7C,0x57,0x77,0x52,0x62,0x69,0x6E, - 0x7B,0x62,0x97,0x80,0xA1,0x92,0xC2,0xA9,0xB0,0xC7, - 0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xF3,0xE7,0xC8,0xCB,0x91,0xAC,0x7D,0x67, - 0x41,0x30,0x04,0x00,0x00,0x00,0x00,0x00,0x09,0x00, - 0x00,0x34,0x0C,0x1E,0x34,0x1F,0x25,0x2B,0x18,0x12, - 0x09,0x1B,0x00,0x16,0x0F,0x39,0x1E,0x40,0x49,0x55, - 0x6E,0x7D,0x84,0xA2,0xBC,0xCA,0xC6,0xCA,0xC3,0xCA, - 0xB4,0xD7,0xAC,0x86,0x9F,0x7E,0x89,0x81,0x80,0x80, - 0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample06[727]={ - 0x8C,0x38,0x74,0xA4,0x64,0x98,0xD8,0x80,0x0C,0x44, - 0xB0,0xB4,0xA4,0xA4,0x54,0x14,0x48,0x84,0xC4,0xF8, - 0xFF,0x5C,0x00,0x00,0x5C,0xFF,0xFF,0x7C,0x8C,0x20, - 0x00,0xA8,0xF8,0x68,0x2C,0x8C,0xB0,0x14,0x00,0x74, - 0xFF,0xFF,0xE4,0x0C,0x00,0x60,0x5C,0x00,0x00,0x00, - 0xFF,0xFF,0xFF,0xFF,0xFF,0x9C,0x00,0x00,0x00,0x00, - 0x00,0x14,0xF8,0xF4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xA4, - 0xFF,0xFF,0xFF,0xFF,0xA8,0x10,0x00,0x00,0x00,0x70, - 0x8C,0x84,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC, - 0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60, - 0xE4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0x70,0xB4,0xE4,0x84,0x3C,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0xBC,0xDC, - 0xE8,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0x84,0x34,0x30,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x3C,0x34,0x58,0xAC,0x58, - 0xCC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE4,0xFF, - 0xFF,0xFF,0xFF,0x44,0x00,0x38,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x30,0xFF,0x38,0x00,0x00, - 0xDC,0xFF,0xFF,0x98,0x7C,0xB8,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0x8C,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x6C,0x00,0x00,0x64,0x6C,0x08,0x48, - 0x40,0x30,0x70,0x3C,0x68,0xFF,0x8C,0x1C,0x54,0x98, - 0x8C,0xC8,0xFF,0xFF,0xFF,0xBC,0xFF,0xFF,0xFF,0xFF, - 0x24,0x60,0xFF,0xF8,0x00,0x00,0x00,0x38,0x00,0x00, - 0x40,0x00,0x00,0x34,0xFF,0xFF,0x14,0x0C,0xFF,0x8C, - 0x00,0x10,0xFC,0xA8,0x54,0x00,0x68,0xFF,0xFF,0xFF, - 0xD4,0xA8,0xFF,0xFF,0xFF,0x8C,0x40,0xFF,0xFF,0x00, - 0x00,0x64,0x6C,0x00,0x00,0x00,0x00,0x00,0x38,0xF0, - 0x40,0x00,0x24,0x84,0xA4,0x00,0x00,0x98,0xFF,0x08, - 0x00,0xFF,0xFF,0xE4,0x94,0xFF,0xFF,0xFF,0x54,0xFF, - 0xFF,0xFF,0xE8,0xFF,0x78,0x00,0x00,0xF8,0xFF,0x00, - 0x00,0x70,0x3C,0x00,0x54,0x74,0x00,0x00,0x28,0xFF, - 0xEC,0x00,0x00,0x44,0xFF,0xFF,0x94,0x30,0xA8,0xFF, - 0xFF,0xFF,0x94,0xD8,0xFF,0xFF,0x80,0x00,0xBC,0xFF, - 0x30,0x00,0x34,0xFF,0x30,0x00,0x00,0xC8,0xC4,0x64, - 0x00,0x00,0xD4,0x74,0x00,0x00,0xDC,0xFC,0x00,0x00, - 0x00,0xFF,0xFF,0x14,0x00,0xFF,0xFF,0xFF,0xD8,0xFF, - 0xFF,0xFC,0xD8,0x5C,0x00,0x40,0xFF,0xFF,0x00,0x00, - 0x00,0xE4,0xFF,0x1C,0x00,0x7C,0xFF,0xA4,0x00,0x54, - 0xFF,0x08,0x00,0x00,0x3C,0x04,0x98,0x18,0x18,0xF0, - 0xFF,0xFF,0x14,0x4C,0xFF,0xFF,0xE4,0x14,0x00,0xA8, - 0xFF,0xFF,0x00,0x00,0x38,0xFF,0xFF,0x20,0x00,0xC4, - 0xFF,0x5C,0xA8,0xB0,0x28,0x50,0xFF,0x90,0x00,0x00, - 0xF8,0xA4,0x00,0x00,0x10,0xB0,0xCC,0xC4,0xFF,0xFF, - 0xEC,0x7C,0xFF,0xFF,0x98,0x9C,0xFF,0x8C,0x00,0x00, - 0xFF,0xFF,0x84,0x00,0x30,0xFF,0xFC,0x04,0x08,0xD0, - 0x90,0x00,0x00,0x44,0xB4,0x20,0x00,0x00,0x5C,0xF0, - 0x58,0x1C,0xFF,0xFF,0xFF,0x70,0x50,0xFF,0xFF,0xFF, - 0xC0,0x88,0x40,0x20,0xF4,0xFF,0x14,0x00,0x00,0x0C, - 0x7C,0xA0,0x68,0x00,0x00,0x40,0x94,0x38,0xA0,0x60, - 0x00,0x24,0xFF,0xF0,0x00,0x00,0x38,0xFF,0xFF,0x8C, - 0x2C,0x64,0xFF,0xFF,0xA4,0xD4,0x8C,0x00,0x2C,0xE4, - 0x8C,0x70,0x6C,0x00,0x44,0xA8,0x68,0x78,0xFF,0xEC, - 0x00,0x00,0xF0,0xFF,0x84,0x10,0x00,0x6C,0xFF,0x30, - 0x00,0xDC,0xFF,0x1C,0x08,0xFF,0xFF,0xA4,0x00,0x50, - 0xFF,0xD8,0x24,0x60,0xFC,0x70,0x00,0x64,0xFF,0xC0, - 0x00,0x0C,0xFF,0xEC,0xFF,0xFF,0x30,0x00,0xC4,0xFF, - 0x00,0x1C,0xE0,0x40,0x00,0x70,0xC0,0x9C,0x00,0x00, - 0xD4,0xFF,0x7C,0x00,0x3C,0xFF,0xD4,0x00,0x0C,0xFF, - 0xD4,0x00,0x10,0xF0,0xFF,0x14,0x00,0xFF,0xDC,0x74, - 0xFF,0xFF,0x10,0x00,0xFF,0xFF,0x00,0x00,0xC8,0xA4, - 0x00,0x34,0xD8,0xB8,0x00,0x00,0xA0,0xFF,0x78,0x00, - 0x68,0xFF,0x80,0x00,0xBC,0xBC,0x5C,0xB4,0x08,0x00, - 0xDC,0xFF,0x88,0x00,0x84,0xFF,0xA4,0x14,0x84,0x68, - 0x5C,0x10,0x00,0x70,0x34,0x00,0x00,0xC8,0xEC,0x40, - 0x00,0x00,0xD8,0xFF,0xFF,0x40,0x70,0xA0,0x78,0xDC, - 0xFF,0xE4,0x00,0x58,0xE8,0xFF,0xFF,0x94,0x18,0x70, - 0xFF,0xFF,0x98,0x00,0x8C,0xB4,0x20,0x14,0xBC,0xFF, - 0x48,0x00,0x00,0xFF,0xFF,0x00,0x00,0x94,0xFF,0xD0, - 0x00,0x1C,0xFF,0xFF,0x38,0x00,0xBC,0xFF,0x44,0x38, - 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample07[480]={ - 0x3E,0xFD,0x13,0xFA,0x18,0xD5,0x1D,0xC1,0xC3,0xB5, - 0xE7,0x6F,0xDF,0x01,0xFF,0x70,0xAD,0xE9,0x27,0xEB, - 0x9F,0x2B,0xFD,0x38,0xB2,0xD9,0x0D,0xFF,0x4C,0x3B, - 0xFB,0x00,0xD3,0x9D,0x00,0xD3,0xDF,0x1C,0xED,0xCD, - 0x00,0xCB,0xB2,0x00,0x86,0xCE,0x10,0x13,0xD1,0x85, - 0x90,0x07,0xCD,0xE3,0x22,0x3D,0x8F,0x8A,0x33,0x7E, - 0xB4,0x3A,0x45,0xCE,0xA7,0x3A,0x47,0xE9,0xAF,0x08, - 0x49,0xAE,0xC0,0x4C,0x10,0x46,0xF1,0x38,0x03,0x89, - 0xEF,0x6A,0x11,0xC7,0xF3,0x43,0x00,0x2D,0xE5,0xF1, - 0x3E,0x00,0x17,0xA9,0xFF,0xEC,0x73,0x00,0x43,0xE5, - 0xF3,0x72,0x28,0x57,0xFF,0xC7,0x4E,0x22,0x5F,0xF3, - 0xFF,0xF1,0x65,0x0B,0x08,0xA9,0xFF,0xDF,0x66,0x24, - 0x18,0xA7,0xC6,0x9C,0xDC,0x9D,0xA3,0x56,0x00,0x00, - 0x63,0xD1,0xF8,0xFD,0x94,0x32,0x00,0x15,0x9E,0xF9, - 0xFD,0x91,0x5E,0x02,0x01,0x23,0x5A,0xDA,0xFE,0xFE, - 0xBC,0x3E,0x00,0x00,0x65,0xD6,0xFF,0xED,0xD8,0x4D, - 0x02,0x00,0x00,0x28,0xAD,0xFF,0xFF,0xFF,0xDB,0x69, - 0x29,0x00,0x01,0x00,0x03,0x8C,0xDF,0xFF,0xFF,0xFF, - 0xD5,0xC7,0x0B,0x37,0x00,0x00,0x21,0x4B,0x85,0xB3, - 0xB8,0xD0,0xFD,0x9E,0xBB,0xA2,0xE3,0xB1,0x60,0x25, - 0x30,0x02,0x28,0x58,0x3D,0x69,0xE0,0xFF,0xFF,0xD5, - 0x94,0x6D,0xA1,0x46,0x3C,0x00,0x00,0x00,0x04,0x79, - 0xB9,0xBF,0xD2,0xFF,0xFF,0xFF,0xFF,0xC5,0x76,0x52, - 0x5C,0x72,0x42,0x00,0x00,0x00,0x00,0x29,0x62,0xFF, - 0xE5,0xFF,0xFF,0xFE,0xD6,0xFE,0xE8,0xBF,0x96,0x81, - 0x79,0x62,0x2F,0x00,0x01,0x0E,0x1D,0x29,0x0D,0x27, - 0x48,0x97,0xCB,0xE7,0xEC,0xF6,0xF1,0xFF,0xF5,0x9C, - 0xA9,0xB2,0x9C,0x8A,0x6E,0x47,0x21,0x00,0x00,0x00, - 0x00,0x02,0x1C,0x47,0x5D,0x70,0x79,0x87,0xBF,0xCA, - 0xDF,0xDA,0xFD,0xFF,0xEF,0xFF,0xCF,0xF7,0xC5,0xDF, - 0xB3,0x7C,0x13,0x03,0x01,0x50,0x00,0x00,0x00,0x00, - 0x3C,0x69,0x82,0x65,0x62,0x71,0x8B,0x9D,0xBB,0x9F, - 0x9E,0x99,0xBA,0xAD,0xB5,0xE3,0xD5,0xF1,0xB2,0x9F, - 0x95,0x86,0x8F,0xBA,0xC9,0xDA,0xDA,0xDA,0x70,0x39, - 0x4C,0x58,0x6F,0x52,0x29,0x00,0x00,0x2D,0x0B,0x00, - 0x00,0x03,0x3F,0x82,0xA7,0xF5,0x98,0x99,0x8A,0xCD, - 0xB0,0x9B,0xDD,0xFE,0xFF,0xFF,0xF1,0xBA,0x92,0x6C, - 0x71,0x5A,0x91,0x4A,0x49,0x59,0x58,0x69,0x61,0x7A, - 0x75,0x67,0x62,0x81,0x92,0xD9,0xD9,0x82,0x34,0x03, - 0x28,0x3D,0x67,0x62,0x52,0x7B,0x6D,0x8F,0x90,0x81, - 0x7D,0x84,0x9D,0xC0,0xCE,0xBE,0x9C,0x93,0xA5,0xBA, - 0xA8,0xB7,0xAE,0x94,0x8F,0x82,0x6A,0x6D,0x51,0x5A, - 0x5F,0x69,0x84,0x95,0x8B,0x85,0x74,0x78,0x7A,0xA0, - 0x88,0x74,0x58,0x3B,0x34,0x09,0x00,0x00,0x0E,0x47, - 0x7E,0x94,0x8B,0x74,0x61,0x7B,0x80,0x90,0x90,0xA0, - 0xBD,0xCB,0xDA,0xC6,0xC1,0xA3,0x9F,0x92,0x98,0xA5, - 0x9C,0xAB,0xB0,0xAB,0xA8,0x96,0xB7,0xB5,0xC7,0xA4, - 0xB5,0xD0,0xD9,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample08[2108]={ - 0x8A,0xAB,0x9D,0x3F,0x29,0x4A,0x68,0x97,0xF2,0x85, - 0x90,0x6D,0x68,0x68,0x71,0x82,0x88,0xEB,0x9A,0x59, - 0x30,0x00,0x33,0x41,0x84,0xA9,0xCC,0x92,0x81,0x60, - 0x77,0x79,0x80,0x95,0xB6,0xDA,0x92,0x6B,0x45,0x2E, - 0x02,0x51,0x63,0x8B,0xA1,0xA3,0xD6,0x92,0x92,0x83, - 0x76,0x7D,0x7C,0x7C,0x8B,0x88,0x7D,0x92,0xD5,0xAC, - 0x60,0x48,0x32,0x19,0x0C,0x49,0x5A,0x93,0x8D,0x93, - 0xA7,0xD6,0x90,0x88,0x78,0x7D,0x75,0x8D,0x7E,0x7E, - 0x8F,0x84,0x89,0x8B,0xE7,0xA9,0x61,0x53,0x36,0x28, - 0x1B,0x4E,0x5E,0x7C,0xA0,0x99,0xA5,0xCC,0xA8,0x9A, - 0x94,0x89,0x87,0x89,0x98,0x83,0x8C,0x8F,0x84,0x7A, - 0x8E,0xD4,0xD3,0x58,0x48,0x24,0x24,0x06,0x47,0x4E, - 0x82,0x97,0x89,0x9D,0xEC,0x83,0x95,0x8C,0x7C,0x7E, - 0x89,0x89,0x76,0x86,0x87,0x78,0x89,0xA2,0x86,0xB9, - 0x62,0x3D,0x1D,0x2D,0x10,0x4A,0x63,0x8A,0x98,0x98, - 0xB1,0xF3,0xA0,0xA9,0x8D,0x87,0x93,0x92,0x8F,0x90, - 0x94,0x90,0x81,0x8F,0xC8,0x54,0xA3,0x6A,0x36,0x28, - 0x2C,0x2B,0x38,0x6B,0x90,0x96,0xA5,0xEB,0x96,0x8D, - 0x81,0x7D,0x7D,0x89,0x8F,0x8F,0x87,0x91,0xB3,0xB1, - 0x63,0x54,0x30,0x03,0x4A,0x49,0x6C,0x86,0xB7,0x80, - 0x85,0x7C,0x69,0x80,0x79,0x89,0x89,0x95,0xBC,0xBE, - 0x6F,0x60,0x3F,0x06,0x5B,0x60,0x83,0x9C,0xC3,0x93, - 0x8B,0x86,0x6F,0x7A,0x7C,0x85,0x8E,0x97,0xBB,0xC5, - 0x6A,0x5C,0x34,0x04,0x4E,0x4E,0x80,0x97,0xB9,0x90, - 0x81,0x75,0x6A,0x73,0x7A,0x86,0x89,0x90,0xB5,0xBA, - 0x63,0x58,0x40,0x06,0x55,0x5E,0x82,0x91,0xBC,0x92, - 0x83,0x7D,0x69,0x7A,0x79,0x85,0x86,0x91,0xB8,0xB0, - 0x62,0x65,0x45,0x08,0x53,0x5E,0x8A,0x9A,0xEE,0x8F, - 0x86,0x6D,0x74,0x72,0x7E,0x88,0x92,0xC1,0xD6,0x70, - 0x56,0x33,0x13,0x53,0x5D,0x8C,0x98,0xDF,0x89,0x7E, - 0x66,0x70,0x79,0x79,0x87,0x8D,0xA3,0xC6,0x79,0x65, - 0x40,0x13,0x57,0x59,0x75,0x8D,0xA3,0xB2,0x84,0x83, - 0x6D,0x7A,0x81,0x80,0x8A,0x91,0xAA,0xCE,0x80,0x6C, - 0x43,0x12,0x50,0x54,0x76,0x95,0xAA,0xB4,0x86,0x82, - 0x67,0x6E,0x7A,0x80,0x90,0x90,0xA4,0xCA,0x77,0x69, - 0x3F,0x0F,0x4E,0x5B,0x79,0x8E,0xA5,0xB7,0x87,0x82, - 0x65,0x70,0x7A,0x83,0x85,0x92,0xA4,0xC5,0x7B,0x65, - 0x43,0x1C,0x48,0x59,0x70,0x95,0x9D,0xF0,0x8A,0x8A, - 0x70,0x70,0x7B,0x7C,0x8B,0x8D,0x90,0xA0,0xC6,0x81, - 0x66,0x44,0x28,0x37,0x55,0x6C,0x93,0x98,0xDE,0x80, - 0x88,0x71,0x74,0x79,0x76,0x8A,0x8A,0x90,0x90,0xEE, - 0xCB,0x63,0x52,0x32,0x05,0x50,0x5F,0x7D,0x90,0x9C, - 0xE7,0x80,0x8D,0x78,0x6B,0x77,0x7C,0x87,0x88,0x91, - 0x92,0xB8,0xC4,0x66,0x56,0x37,0x2A,0x31,0x54,0x70, - 0x92,0x8F,0xB2,0xBC,0x8E,0x8B,0x76,0x7E,0x7A,0x85, - 0x8B,0x88,0x8F,0x98,0xDF,0xB9,0x6D,0x49,0x2A,0x07, - 0x53,0x5C,0x80,0x95,0x97,0xEB,0x85,0x88,0x73,0x71, - 0x78,0x75,0x83,0x92,0x90,0x8D,0xCD,0xC1,0x57,0x57, - 0x3A,0x21,0x4A,0x5D,0x70,0x8B,0x9B,0xB0,0x8B,0x88, - 0x84,0x70,0x78,0x82,0x86,0x85,0x90,0x8F,0x8F,0xA1, - 0xC0,0x98,0x62,0x49,0x32,0x1A,0x4A,0x60,0x76,0x96, - 0x98,0x9E,0xE4,0x8B,0x8B,0x7A,0x79,0x7D,0x7D,0x85, - 0x86,0x85,0x85,0x89,0x8A,0xD1,0xB9,0x5C,0x3F,0x30, - 0x26,0x2D,0x56,0x74,0x8C,0x95,0xA4,0xC8,0x8F,0x96, - 0x84,0x79,0x81,0x80,0x88,0x89,0x8F,0x87,0x88,0x94, - 0xEA,0xD8,0x65,0x4B,0x30,0x27,0x15,0x51,0x66,0x90, - 0x91,0x99,0xB7,0xA6,0x97,0x8D,0x80,0x87,0x82,0x8C, - 0x8A,0x86,0x88,0x85,0x83,0x9C,0xA8,0x90,0x52,0x43, - 0x2F,0x24,0x20,0x5C,0x69,0x89,0x94,0x9B,0xA5,0xEC, - 0x95,0x94,0x80,0x8A,0x80,0x83,0x8D,0x85,0x85,0x89, - 0x87,0x85,0xC8,0xA8,0x5F,0x4C,0x3B,0x29,0x13,0x4C, - 0x5A,0x73,0x92,0x98,0xA1,0xB2,0xBA,0x96,0x94,0x87, - 0x88,0x84,0x8A,0x8B,0x82,0x84,0x88,0x80,0x7E,0x88, - 0xE5,0xC2,0x5C,0x47,0x2F,0x2C,0x30,0x09,0x58,0x6D, - 0x8D,0x93,0x9D,0xA9,0xAE,0xF5,0x9F,0x9F,0x87,0x8B, - 0x87,0x84,0x86,0x85,0x7E,0x76,0x78,0x76,0x7A,0x83, - 0xE2,0xBD,0x55,0x3E,0x2C,0x29,0x31,0x0E,0x5E,0x70, - 0x8F,0x9D,0xA5,0xAC,0xB7,0xF3,0xA7,0xA7,0x8C,0x88, - 0x85,0x7E,0x84,0x83,0x81,0x7D,0x7B,0x7B,0x75,0x80, - 0xE7,0xB9,0x43,0x40,0x2C,0x28,0x2D,0x05,0x4E,0x69, - 0x91,0x9A,0xA8,0xAD,0xAF,0xF7,0x99,0xA5,0x8D,0x89, - 0x89,0x82,0x83,0x80,0x7B,0x7B,0x76,0x73,0x78,0x82, - 0xDF,0x56,0x87,0x4D,0x27,0x2D,0x30,0x03,0x97,0x70, - 0x80,0x96,0xAA,0xA8,0xAF,0xF2,0x6F,0xCB,0x90,0x83, - 0x8D,0x80,0x88,0x84,0x80,0x80,0x78,0x71,0x79,0x7C, - 0xC8,0x8F,0x93,0x26,0x37,0x22,0x2A,0x05,0x6B,0x56, - 0x92,0x97,0xA7,0xAA,0xAE,0xEF,0xCA,0x7C,0xB3,0x71, - 0x9C,0x77,0x94,0x81,0x81,0x7D,0x76,0x74,0x76,0x78, - 0xB4,0xCD,0x81,0x35,0x18,0x34,0x1E,0x04,0x20,0xA9, - 0x60,0xB0,0xB1,0xA2,0xB8,0xE5,0xF6,0x63,0xAA,0x98, - 0x70,0x95,0x82,0x7C,0x84,0x7D,0x78,0x76,0x75,0x77, - 0xA1,0xD9,0x8F,0x50,0x03,0x33,0x17,0x00,0x92,0x6B, - 0x8B,0x9B,0xA5,0xAE,0xB4,0xD5,0xB2,0xA6,0x9F,0x87, - 0x87,0x81,0x87,0x83,0x80,0x7D,0x80,0x7A,0x75,0x78, - 0x78,0xC1,0x80,0x72,0x44,0x33,0x25,0x28,0x28,0x3C, - 0x6C,0x7D,0x9F,0xA1,0xAA,0xB2,0xB3,0xEF,0xA1,0xA9, - 0x8F,0x84,0x81,0x7D,0x7B,0x7D,0x7C,0x76,0x73,0x71, - 0x6D,0x71,0x75,0x9A,0x79,0xA8,0x4F,0x3B,0x2B,0x32, - 0x35,0x0E,0x6B,0x76,0x94,0xA7,0xAD,0xB8,0xB8,0xBF, - 0xED,0xA8,0xAF,0x95,0x85,0x84,0x7B,0x7B,0x75,0x76, - 0x6F,0x6A,0x6A,0x6A,0x6E,0x6D,0x74,0xD7,0x86,0x5A, - 0x40,0x31,0x2E,0x3A,0x3A,0x1A,0x6D,0x7C,0x9E,0xA9, - 0xB3,0xBA,0xBC,0xC0,0xF4,0xAD,0xAA,0x8D,0x84,0x7E, - 0x79,0x77,0x74,0x74,0x6D,0x69,0x6B,0x69,0x6B,0x70, - 0x77,0xD9,0x80,0x6D,0x43,0x36,0x31,0x38,0x3D,0x1E, - 0x71,0x78,0x94,0xAF,0xB4,0xBD,0xBF,0xC3,0xC7,0xF5, - 0xAE,0xA1,0x86,0x80,0x73,0x6F,0x6F,0x6E,0x67,0x65, - 0x63,0x5F,0x63,0x69,0x68,0x6C,0x7D,0xB4,0xC4,0x50, - 0x44,0x34,0x33,0x45,0x4B,0x11,0x77,0x85,0xA6,0xB4, - 0xBD,0xBF,0xBF,0xC4,0xD3,0xBF,0xAC,0xA0,0x7D,0x7D, - 0x74,0x6F,0x6C,0x69,0x66,0x62,0x60,0x63,0x63,0x6A, - 0x6C,0x6D,0x8F,0x82,0xE0,0x2D,0x47,0x3E,0x34,0x42, - 0x4F,0x0B,0x73,0x83,0xA7,0xAF,0xB8,0xBD,0xB9,0xBD, - 0xBE,0xCC,0xCA,0xA1,0x92,0x73,0x6F,0x67,0x63,0x61, - 0x64,0x60,0x5D,0x61,0x61,0x63,0x66,0x6B,0x72,0x73, - 0x7E,0x95,0xA6,0xCA,0x60,0x4D,0x46,0x3F,0x4B,0x54, - 0x5F,0x28,0x85,0x90,0xB2,0xB7,0xBE,0xC2,0xC0,0xBE, - 0xBE,0xC7,0xC3,0x9A,0x8C,0x6D,0x66,0x5D,0x5B,0x58, - 0x5A,0x58,0x55,0x56,0x58,0x5D,0x61,0x66,0x6D,0x73, - 0x77,0x88,0xC2,0xBB,0x5D,0x5C,0x50,0x3F,0x4F,0x57, - 0x5F,0x0E,0x87,0x92,0xB4,0xBF,0xC3,0xC6,0xC6,0xC5, - 0xC3,0xCA,0xF7,0xA2,0x86,0x6B,0x69,0x62,0x5F,0x5D, - 0x5B,0x5D,0x5A,0x57,0x59,0x5D,0x5E,0x66,0x71,0x71, - 0x79,0x88,0xF7,0x3C,0xCB,0x1E,0x5B,0x32,0x46,0x4F, - 0x54,0x1C,0x93,0x71,0xBA,0xAE,0xC0,0xC3,0xC1,0xC1, - 0xC1,0xC6,0xFD,0x83,0x98,0x7B,0x56,0x73,0x50,0x64, - 0x54,0x60,0x54,0x57,0x5E,0x5D,0x64,0x67,0x6D,0x73, - 0x7A,0x84,0xDB,0xC1,0x9B,0x56,0x31,0x3E,0x3D,0x49, - 0x57,0x65,0x25,0x8E,0xA0,0xBD,0xC3,0xCB,0xCA,0xC5, - 0xC5,0xBF,0xB9,0xBA,0xED,0x91,0x82,0x61,0x57,0x4E, - 0x4E,0x4F,0x4A,0x4E,0x4F,0x50,0x54,0x59,0x61,0x66, - 0x6D,0x77,0x78,0x82,0x89,0x8E,0xBD,0x81,0xDA,0x5C, - 0x58,0x52,0x4B,0x56,0x61,0x67,0x67,0x44,0x90,0x98, - 0xB8,0xBD,0xC3,0xC2,0xC2,0xC1,0xB9,0xB7,0xB6,0xF1, - 0x9D,0x8C,0x64,0x57,0x52,0x4D,0x4D,0x4C,0x4D,0x4B, - 0x4F,0x55,0x56,0x5E,0x67,0x6A,0x72,0x79,0x80,0x85, - 0x8B,0xB4,0x99,0xDA,0x7B,0x51,0x52,0x46,0x55,0x5C, - 0x67,0x6C,0x0D,0xCC,0x8E,0xB2,0xC3,0xC2,0xC8,0xC5, - 0xC5,0xC2,0xBB,0xBC,0xFA,0x65,0xAA,0x4F,0x63,0x48, - 0x4D,0x4B,0x49,0x4A,0x4F,0x4E,0x51,0x59,0x5F,0x66, - 0x6B,0x71,0x78,0x80,0x86,0x8E,0xA5,0xF4,0x79,0xA1, - 0x5A,0x32,0x4E,0x54,0x52,0x62,0x6D,0x2A,0x6D,0xD1, - 0x95,0xD0,0xC2,0xCD,0xC4,0xC2,0xC3,0xBD,0xBA,0xE0, - 0x81,0x87,0x6A,0x55,0x53,0x47,0x49,0x4A,0x47,0x4A, - 0x4E,0x51,0x59,0x5D,0x63,0x67,0x70,0x79,0x7E,0x85, - 0x8B,0x8F,0x96,0xE6,0x86,0xDD,0x5F,0x5B,0x48,0x4A, - 0x55,0x5D,0x68,0x6B,0x1E,0x8F,0x9A,0xB5,0xBE,0xC2, - 0xC8,0xC3,0xC1,0xBD,0xB9,0xB5,0xB0,0xED,0x91,0x7E, - 0x5A,0x51,0x46,0x46,0x46,0x45,0x49,0x4A,0x4E,0x53, - 0x58,0x61,0x67,0x72,0x75,0x7D,0x86,0x8A,0x8E,0x93, - 0x9D,0xEF,0x82,0xC2,0x3F,0x6F,0x48,0x55,0x5A,0x63, - 0x6D,0x6D,0x15,0xC2,0x9A,0xAA,0xC1,0xC2,0xC4,0xC2, - 0xBF,0xBA,0xB4,0xAF,0xAD,0xF6,0x40,0x96,0x3F,0x58, - 0x43,0x45,0x44,0x47,0x47,0x48,0x4F,0x54,0x59,0x61, - 0x68,0x6D,0x75,0x80,0x85,0x89,0x91,0x95,0xA0,0xF9, - 0x7A,0xAE,0x70,0x3A,0x47,0x58,0x56,0x60,0x6F,0x6F, - 0x1F,0xC4,0x7D,0xD7,0xC3,0xC4,0xCC,0xC7,0xC3,0xBF, - 0xBB,0xAF,0xA8,0xA8,0xC3,0x76,0x68,0x45,0x3E,0x39, - 0x37,0x37,0x39,0x42,0x43,0x47,0x51,0x59,0x60,0x6E, - 0x77,0x7C,0x84,0x8A,0x8F,0x92,0x96,0x9B,0x9A,0x9E, - 0xB8,0x84,0x95,0x9D,0x64,0x5A,0x48,0x55,0x56,0x63, - 0x6F,0x73,0x77,0x2A,0x8C,0xA1,0xC2,0xC7,0xCB,0xCC, - 0xC8,0xC0,0xBB,0xB6,0xAC,0x9F,0x99,0xC6,0x48,0x62, - 0x53,0x3B,0x35,0x30,0x31,0x30,0x3A,0x3E,0x41,0x49, - 0x53,0x5B,0x65,0x71,0x78,0x80,0x8A,0x90,0x92,0x97, - 0x9D,0x9F,0x9F,0xA2,0xEA,0x6F,0xC7,0x94,0x39,0x70, - 0x4B,0x58,0x61,0x63,0x76,0x77,0x6F,0x49,0xD3,0x8A, - 0xDD,0xB7,0xD0,0xC6,0xC1,0xBE,0xB6,0xB1,0xA5,0x9C, - 0x93,0xA0,0x70,0x61,0x4D,0x34,0x33,0x2C,0x2F,0x32, - 0x36,0x3B,0x3E,0x48,0x52,0x5A,0x67,0x71,0x78,0x82, - 0x89,0x91,0x96,0x9A,0x9F,0x9F,0xA0,0xA0,0x9D,0x9D, - 0x9D,0xC6,0x7A,0x8B,0xBC,0x5F,0x5B,0x48,0x4F,0x54, - 0x60,0x6B,0x74,0x7E,0x84,0x55,0xC0,0xB3,0xC5,0xD2, - 0xD2,0xD2,0xCA,0xC1,0xB8,0xAE,0xA2,0x99,0x8D,0x80, - 0x76,0x81,0x67,0x63,0x3B,0x1B,0x1E,0x1E,0x25,0x2A, - 0x33,0x3A,0x40,0x4E,0x58,0x65,0x71,0x7C,0x88,0x90, - 0x97,0x9F,0xA3,0xA7,0xA9,0xAB,0xAB,0xAA,0xA8,0xA4, - 0xA2,0xAC,0xF0,0x49,0xCB,0x7C,0x3A,0x6A,0x3E,0x5D, - 0x5D,0x68,0x70,0x79,0x82,0x86,0x33,0xA4,0xAE,0xC7, - 0xCC,0xCC,0xC8,0xBF,0xB8,0xAD,0xA2,0x97,0x8C,0x80, - 0x74,0x69,0x62,0xB3,0x3F,0x38,0x1E,0x1A,0x1B,0x1E, - 0x26,0x30,0x38,0x43,0x4F,0x58,0x65,0x71,0x7E,0x88, - 0x94,0x9C,0xA3,0xA7,0xAD,0xAF,0xAF,0xB0,0xAE,0xAD, - 0xA8,0xA6,0xA2,0x9E,0xA1,0xF1,0x82,0x8C,0x81,0x57, - 0x4F,0x4F,0x55,0x5B,0x68,0x6F,0x77,0x80,0x87,0x85, - 0x53,0xAF,0xC5,0xC2,0xC6,0xC9,0xBF,0xB8,0xAF,0xA4, - 0x9A,0x8F,0x84,0x76,0x6A,0x5F,0x59,0xA0,0x0C,0x4F, - 0x07,0x25,0x16,0x23,0x29,0x35,0x3F,0x48,0x55,0x60, - 0x6D,0x7A,0x86,0x90,0x9A,0xA2,0xA8,0xAC,0xB1,0xB3, - 0xB1,0xB0,0xAF,0xAB,0xA8,0xA6,0xA0,0x9D,0x9D,0xE1, - 0x7D,0x86,0xA7,0x3A,0x6C,0x42,0x58,0x59,0x63,0x6D, - 0x74,0x7B,0x86,0x8E,0x8F,0x3E,0xAB,0xAF,0xC3,0xC7, - 0xC1,0xBD,0xB3,0xA8,0x9B,0x93,0x89,0x79,0x6E,0x64, - 0x58,0x4D,0x48,0x43,0x80,0x20,0x2C,0x1E,0x1A,0x25, - 0x29,0x36,0x44,0x51,0x5B,0x68,0x74,0x80,0x8C,0x97, - 0x9F,0xA8,0xB1,0xB5,0xB6,0xB9,0xBA,0xB7,0xB5,0xB3, - 0xAF,0xA9,0xA4,0x9E,0x99,0x95,0x92,0x8C,0x8B,0x8A, - 0xD3,0x4F,0x94,0x8D,0x5A,0x41,0x56,0x44,0x5B,0x5C, - 0x68,0x70,0x77,0x80,0x85,0x8C,0x89,0x47,0xD5,0x93, - 0xCC,0xB6,0xB6,0xB3,0xA2,0x9D,0x8F,0x86,0x7D,0x72, - 0x67,0x5D,0x56,0x4D,0x46,0x46,0x74,0x50,0x18,0x37, - 0x23,0x2E,0x38,0x46,0x50,0x5D,0x6A,0x74,0x81,0x8B, - 0x95,0x9E,0xA6,0xAE,0xB4,0xB7,0xB8,0xB9,0xB7,0xB7, - 0xB1,0xAE,0xAA,0xA5,0xA1,0x9C,0x98,0x91,0x8F,0x8A, - 0x85,0x83,0x81,0x7E,0x7E,0x83,0xD5,0x7C,0x71,0x9D, - 0x39,0x5E,0x4B,0x4D,0x58,0x5F,0x69,0x70,0x78,0x80, - 0x84,0x8D,0x91,0x94,0x82,0x89,0x8F,0xB7,0xB9,0xAA, - 0xA9,0x9E,0x95,0x8B,0x80,0x77,0x6D,0x63,0x5C,0x54, - 0x4D,0x49,0x44,0x42,0x42,0x47,0x88,0x3F,0x3E,0x44, - 0x36,0x54,0x4E,0x67,0x6B,0x7E,0x85,0x90,0x9A,0xA1, - 0xA8,0xAD,0xB3,0xB9,0xBC,0xBD,0xBD,0xBC,0xB9,0xB5, - 0xB2,0xAD,0xAB,0xA4,0x9E,0x99,0x93,0x8F,0x89,0x85, - 0x81,0x7C,0x7A,0x77,0x76,0x74,0x72,0x73,0xA5,0x52, - 0x62,0x69,0x67,0x54,0x45,0x43,0x4D,0x54,0x5D,0x65, - 0x6D,0x75,0x7C,0x81,0x87,0x8C,0x8B,0x39,0xAF,0xAB, - 0xB2,0xAA,0xA8,0xA2,0x9A,0x90,0x87,0x81,0x79,0x71, - 0x68,0x61,0x5B,0x56,0x53,0x52,0x51,0x52,0x58,0xAF, - 0x35,0x47,0x46,0x4F,0x58,0x63,0x6E,0x79,0x85,0x8D, - 0x96,0x9F,0xA4,0xAB,0xB3,0xB6,0xB9,0xBB,0xBC,0xB8, - 0xB5,0xB5,0xAF,0xAB,0xA8,0xA2,0x9D,0x97,0x92,0x8A, - 0x85,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample09[4231]={ - 0x7E,0x7E,0x7C,0x7E,0x7E,0x80,0x7A,0x7C,0x70,0x70, - 0x74,0x62,0x6A,0x62,0x74,0x6E,0x72,0x6C,0x6C,0x6C, - 0x64,0x62,0x5A,0x58,0x52,0x54,0x50,0x4E,0x4E,0x4E, - 0x4E,0x52,0x52,0x58,0x60,0x6C,0x76,0x86,0x90,0xA6, - 0xB4,0xBE,0xCE,0xD8,0xE2,0xE8,0xF4,0xEA,0xEE,0xE0, - 0xDC,0xD8,0xCA,0xC6,0xB0,0xB0,0x94,0x84,0x7A,0x66, - 0x62,0x4A,0x4C,0x4A,0x42,0x42,0x34,0x2E,0x3A,0x2C, - 0x38,0x24,0x30,0x2E,0x40,0x46,0x42,0x4A,0x54,0x56, - 0x6E,0x72,0x70,0x74,0x70,0x7E,0x70,0x7C,0x7E,0x82, - 0x82,0x92,0xA2,0xC0,0xEA,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFA,0xFF,0xF2,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF8,0xEC,0xDE, - 0xD8,0xDA,0xDA,0xE4,0xD2,0xDC,0xDC,0xC4,0xC8,0xA2, - 0x96,0x76,0x44,0x32,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x10,0x18,0x22, - 0x1A,0x22,0x16,0x0C,0x02,0x00,0x00,0x00,0x00,0x00, - 0x00,0x08,0x0C,0x18,0x2E,0x2A,0x42,0x3A,0x4C,0x4A, - 0x50,0x54,0x50,0x64,0x58,0x7C,0x74,0x9C,0x9C,0xAA, - 0xAA,0xAC,0xAE,0xBC,0xCA,0xCA,0xDA,0xD4,0xE6,0xF0, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, - 0xF4,0xF6,0xEA,0xE0,0xC6,0xB6,0x94,0x84,0x6E,0x5E, - 0x54,0x44,0x34,0x36,0x34,0x44,0x4A,0x5A,0x5E,0x62, - 0x68,0x6A,0x7A,0x7C,0x86,0x90,0x9E,0xAA,0xA6,0xB4, - 0xB0,0xC8,0xC8,0xD8,0xC8,0xD6,0xCC,0xCE,0xB0,0x9C, - 0x6E,0x60,0x46,0x44,0x36,0x36,0x30,0x3E,0x42,0x54, - 0x50,0x60,0x56,0x5C,0x4C,0x48,0x46,0x46,0x4A,0x58, - 0x5E,0x6A,0x70,0x7E,0x88,0x9C,0xA2,0xB8,0xBA,0xCE, - 0xC0,0xAE,0x86,0x68,0x4E,0x50,0x44,0x50,0x4E,0x5E, - 0x72,0x82,0x9A,0x98,0xA6,0x98,0x98,0x8C,0x7E,0x78, - 0x78,0x82,0x8C,0x96,0x9C,0x98,0xAC,0xAA,0xBA,0xB6, - 0xC4,0xBA,0xBA,0x8C,0x66,0x34,0x18,0x12,0x0E,0x1E, - 0x26,0x36,0x50,0x62,0x7C,0x80,0x8A,0x84,0x7E,0x78, - 0x66,0x64,0x6C,0x76,0x92,0x98,0xB4,0xB8,0xC4,0xCE, - 0xD6,0xE2,0xE0,0xDE,0xBC,0x7E,0x52,0x18,0x18,0x0A, - 0x12,0x20,0x26,0x4C,0x5C,0x78,0x80,0x7E,0x86,0x76, - 0x70,0x56,0x4A,0x4C,0x52,0x72,0x7E,0x9E,0xAC,0xC0, - 0xD0,0xDA,0xEE,0xEA,0xE2,0xA8,0x6A,0x40,0x18,0x1C, - 0x0C,0x18,0x2A,0x46,0x74,0x86,0x9C,0xA4,0xA6,0xAE, - 0x98,0x86,0x68,0x5A,0x64,0x68,0x82,0x94,0xB0,0xC8, - 0xD4,0xF0,0xEA,0xFF,0xF4,0xEA,0xA4,0x6C,0x34,0x1C, - 0x12,0x06,0x10,0x1A,0x42,0x68,0x7E,0x94,0x90,0x9C, - 0x96,0x84,0x6E,0x48,0x44,0x44,0x50,0x54,0x7E,0xA2, - 0xBC,0xCC,0xEA,0xFF,0xFF,0xFC,0xCC,0x6A,0x46,0x18, - 0x00,0x00,0x00,0x26,0x46,0x74,0x8C,0x96,0xB6,0xA4, - 0x8C,0x74,0x4C,0x48,0x26,0x2A,0x3A,0x5A,0x8A,0xA0, - 0xC8,0xE8,0xF6,0xFF,0xFF,0xFF,0xFF,0xBE,0x3C,0x2E, - 0x00,0x00,0x00,0x00,0x4A,0x72,0xA2,0xB2,0xC0,0xE0, - 0xA0,0x74,0x50,0x32,0x22,0x00,0x16,0x4C,0x68,0x96, - 0xAC,0xEA,0xFF,0xFC,0xFF,0xFF,0xFF,0xFF,0xB2,0x36, - 0x4C,0x00,0x00,0x00,0x00,0x60,0x64,0x8A,0xD0,0xD4, - 0xD6,0x9E,0x80,0x78,0x32,0x0C,0x0A,0x20,0x44,0x48, - 0x82,0xBE,0xD4,0xEA,0xFA,0xFF,0xFF,0xFF,0xFF,0xF2, - 0x52,0x5A,0x1E,0x00,0x00,0x00,0x2E,0x50,0x5A,0xBA, - 0xD6,0xCC,0xC6,0xA0,0xA0,0x5E,0x24,0x1E,0x18,0x18, - 0x30,0x54,0x9A,0xAC,0xD4,0xF8,0xFF,0xFF,0xFF,0xFF, - 0xFF,0x9A,0x62,0x62,0x00,0x00,0x00,0x00,0x1E,0x2C, - 0x72,0xCE,0xB4,0xC8,0xD6,0xC0,0x9E,0x5E,0x46,0x32, - 0x02,0x14,0x30,0x5A,0x82,0xA4,0xDA,0xFE,0xFF,0xFF, - 0xFF,0xFF,0xFE,0x84,0x9C,0x36,0x00,0x00,0x00,0x00, - 0x06,0x2A,0x78,0x9E,0xA4,0xE0,0xD2,0xC6,0xB2,0x7E, - 0x5E,0x2C,0x14,0x2A,0x22,0x50,0x7E,0xA6,0xCE,0xF6, - 0xFF,0xFF,0xFF,0xFF,0xAC,0xCE,0x70,0x00,0x0C,0x00, - 0x00,0x00,0x00,0x32,0x62,0x7C,0xB4,0xC0,0xD0,0xD2, - 0xAC,0xA0,0x64,0x4A,0x44,0x2E,0x48,0x6A,0x7C,0xAC, - 0xD2,0xFF,0xFF,0xFF,0xFF,0xD2,0xE0,0x58,0x46,0x2A, - 0x00,0x00,0x00,0x00,0x1C,0x3A,0x60,0x86,0x9E,0xC0, - 0xB6,0xBA,0xAA,0x86,0x80,0x6C,0x5A,0x7C,0x74,0x94, - 0xBC,0xD6,0xF0,0xFF,0xBA,0xF0,0xBC,0x4E,0x90,0x2E, - 0x04,0x2C,0x04,0x0C,0x30,0x36,0x4A,0x62,0x90,0x7A, - 0xA0,0xAC,0x84,0x96,0x94,0x6C,0x88,0x8C,0x8A,0xA2, - 0xC0,0xD6,0xE2,0xFF,0xAA,0xDC,0xC4,0x3C,0x94,0x32, - 0x04,0x34,0x14,0x02,0x40,0x34,0x52,0x54,0x9A,0x6E, - 0x96,0xAA,0x7A,0x8A,0x9C,0x5A,0x90,0x86,0x86,0xA0, - 0xBE,0xBC,0xE8,0xFA,0xD8,0xB4,0xFF,0x56,0x82,0x74, - 0x0A,0x28,0x32,0x00,0x2A,0x30,0x36,0x4A,0x7C,0x72, - 0x88,0xA6,0x8E,0x86,0xAA,0x70,0x84,0x8C,0x84,0x90, - 0xB4,0xAC,0xD4,0xE6,0xFA,0x98,0xFC,0xAE,0x4C,0xB8, - 0x2C,0x1E,0x50,0x06,0x10,0x38,0x26,0x32,0x58,0x76, - 0x50,0xA8,0x8A,0x76,0xB0,0x80,0x7E,0xA2,0x7E,0x98, - 0xAE,0xB2,0xC4,0xDE,0xFA,0xB4,0xC0,0xF4,0x2E,0xBA, - 0x5A,0x16,0x54,0x26,0x02,0x3E,0x20,0x32,0x40,0x74, - 0x4C,0x8A,0x94,0x74,0xA2,0x96,0x72,0xAA,0x80,0x92, - 0xA0,0xAE,0xB0,0xDA,0xDA,0xF8,0x9C,0xFC,0x94,0x68, - 0xB8,0x26,0x4A,0x44,0x0E,0x28,0x2C,0x28,0x2E,0x58, - 0x5A,0x56,0x9E,0x72,0x90,0xA4,0x7A,0x9C,0x92,0x88, - 0x9C,0xA0,0xAE,0xC4,0xD4,0xF4,0xC2,0xC4,0xF2,0x40, - 0xCA,0x4E,0x36,0x58,0x22,0x1A,0x34,0x26,0x2E,0x3C, - 0x68,0x44,0x8A,0x82,0x74,0xA8,0x88,0x86,0xA4,0x80, - 0x9E,0x96,0xAE,0xAC,0xD4,0xD2,0xF0,0xA0,0xFE,0x92, - 0x7A,0xB0,0x2A,0x5E,0x3A,0x24,0x24,0x36,0x2A,0x28, - 0x5E,0x46,0x5C,0x92,0x60,0x98,0x92,0x84,0x9A,0x90, - 0x90,0x98,0xA4,0xA8,0xBE,0xD2,0xDA,0xDA,0xA8,0xFC, - 0x5E,0xAC,0x76,0x3A,0x5A,0x30,0x2C,0x2A,0x36,0x2A, - 0x36,0x60,0x40,0x76,0x7A,0x6E,0x98,0x86,0x8C,0x98, - 0x8E,0x9A,0x98,0xB0,0xA8,0xCE,0xCE,0xE8,0xBA,0xC8, - 0xD4,0x5A,0xC0,0x4E,0x52,0x4E,0x32,0x28,0x30,0x3A, - 0x22,0x48,0x58,0x3C,0x8C,0x64,0x7C,0x94,0x7E,0x90, - 0x90,0x90,0x96,0x9C,0xAE,0xA2,0xDA,0xBC,0xEE,0xAC, - 0xD0,0xC2,0x64,0xC0,0x42,0x60,0x50,0x30,0x34,0x34, - 0x36,0x2A,0x4A,0x52,0x44,0x88,0x62,0x88,0x90,0x86, - 0x94,0x90,0x92,0x96,0x9A,0xAE,0x9E,0xD0,0xBA,0xDC, - 0xBE,0xB6,0xD0,0x66,0xB0,0x62,0x4E,0x64,0x2E,0x3E, - 0x32,0x3A,0x30,0x3E,0x58,0x46,0x72,0x78,0x72,0x98, - 0x84,0x8A,0x90,0x8E,0x92,0x98,0xA6,0x9C,0xB0,0xC8, - 0xB0,0xE2,0x96,0xD0,0x9E,0x70,0xAE,0x48,0x68,0x56, - 0x36,0x4C,0x32,0x46,0x30,0x48,0x5C,0x46,0x86,0x6E, - 0x7C,0x94,0x78,0x96,0x7E,0x90,0x94,0x8C,0xA6,0x98, - 0xAE,0xB4,0xB8,0xD0,0xA4,0xB4,0xC0,0x68,0xAA,0x6E, - 0x58,0x68,0x48,0x46,0x3C,0x46,0x40,0x36,0x6C,0x4C, - 0x6E,0x86,0x6A,0x8A,0x8C,0x78,0x8C,0x96,0x7E,0x90, - 0xA8,0x86,0xA4,0xB2,0xA6,0xB4,0xCA,0xAC,0x9C,0xC6, - 0x82,0x80,0x90,0x5E,0x54,0x58,0x42,0x38,0x40,0x52, - 0x36,0x5E,0x72,0x56,0x80,0x8C,0x66,0x90,0x90,0x6C, - 0x94,0x86,0x84,0x92,0x96,0x9A,0x90,0xAE,0xA2,0xA6, - 0xC4,0xAE,0x9C,0xBC,0x94,0x72,0x90,0x58,0x4E,0x54, - 0x3E,0x40,0x40,0x58,0x54,0x58,0x7E,0x6C,0x74,0x8E, - 0x78,0x80,0x88,0x78,0x7E,0x82,0x8A,0x80,0x96,0x96, - 0x8A,0x9E,0xAA,0x8A,0xC0,0xA4,0xB2,0x9A,0xA4,0x94, - 0x6A,0x84,0x64,0x42,0x64,0x44,0x4A,0x54,0x5E,0x66, - 0x5C,0x84,0x7A,0x6A,0x98,0x76,0x7E,0x86,0x7A,0x80, - 0x80,0x82,0x92,0x7C,0xA0,0x86,0x9C,0x92,0x92,0xA4, - 0x8C,0xA2,0x9A,0x94,0x8E,0x8C,0x7E,0x72,0x6A,0x6C, - 0x5C,0x62,0x60,0x66,0x6A,0x6A,0x76,0x78,0x72,0x7A, - 0x7A,0x7E,0x7E,0x7E,0x82,0x7A,0x84,0x7E,0x84,0x8A, - 0x86,0x8C,0x88,0x86,0x8A,0x8C,0x86,0x88,0x8A,0x94, - 0x86,0x90,0x84,0x88,0x84,0x7E,0x7E,0x64,0x68,0x60, - 0x50,0x64,0x58,0x60,0x6C,0x5C,0x78,0x6C,0x7C,0x7C, - 0x68,0x80,0x70,0x78,0x74,0x84,0x74,0x7C,0x70,0x88, - 0x60,0xA4,0x70,0xA4,0x9C,0x8C,0xA0,0x94,0xC0,0x88, - 0xA4,0x8C,0x7C,0x84,0x7C,0x78,0x6C,0x74,0x6C,0x70, - 0x6C,0x74,0x70,0x68,0x70,0x64,0x64,0x58,0x70,0x5C, - 0x60,0x7C,0x68,0x7C,0x74,0x84,0x8C,0x8C,0x90,0xA0, - 0x88,0x94,0x88,0x94,0x90,0x8C,0x88,0x88,0x8C,0x94, - 0x88,0x9C,0x88,0x9C,0x80,0x88,0x84,0x74,0x7C,0x6C, - 0x6C,0x5C,0x60,0x6C,0x60,0x6C,0x78,0x64,0x80,0x6C, - 0x90,0x68,0x84,0x7C,0x7C,0x84,0x84,0x80,0x80,0x78, - 0x90,0x7C,0x94,0x84,0x88,0x8C,0x84,0x80,0x94,0x78, - 0x88,0x68,0x94,0x70,0x80,0x94,0x70,0x88,0x7C,0x74, - 0x80,0x6C,0x90,0x64,0x7C,0x88,0x6C,0x74,0x60,0x7C, - 0x78,0x64,0x8C,0x84,0x60,0x98,0x50,0x90,0x60,0x8C, - 0x74,0x68,0x8C,0x70,0x8C,0x80,0x80,0x88,0x7C,0x90, - 0x80,0x90,0x88,0x7C,0x7C,0x90,0x70,0x8C,0x78,0x8C, - 0x78,0x84,0x80,0x70,0x8C,0x6C,0x88,0x78,0x80,0x7C, - 0x6C,0x70,0x70,0x80,0x68,0x78,0x80,0x78,0x6C,0x90, - 0x74,0x80,0x74,0x94,0x70,0x80,0x8C,0x8C,0x80,0x78, - 0x90,0x68,0x80,0x8C,0x90,0x7C,0x80,0x94,0x6C,0x80, - 0x88,0x74,0x88,0x64,0x88,0x68,0x78,0x78,0x78,0x7C, - 0x70,0x8C,0x74,0x7C,0x78,0x80,0x78,0x80,0x6C,0x88, - 0x7C,0x6C,0x8C,0x7C,0x80,0x70,0x88,0x8C,0x80,0x7C, - 0x84,0x7C,0x7C,0x5C,0x90,0x74,0x7C,0x78,0x6C,0x80, - 0x70,0x74,0x84,0x80,0x80,0x74,0x80,0x90,0x5C,0x8C, - 0x74,0x74,0x88,0x68,0x90,0x74,0x70,0x98,0x70,0x90, - 0x70,0x88,0x84,0x68,0x6C,0x88,0x68,0x80,0x6C,0x84, - 0x78,0x78,0x70,0x84,0x68,0x74,0x60,0x78,0x70,0x68, - 0x68,0x88,0x70,0x70,0x78,0x80,0x7C,0x74,0x78,0x80, - 0x80,0x70,0x84,0x7C,0x84,0x78,0x7C,0x78,0x88,0x84, - 0x8C,0x90,0x90,0x94,0x98,0x98,0x94,0x94,0x94,0x94, - 0x9C,0x9C,0x98,0x98,0xA8,0xA0,0xA4,0xA8,0xA8,0xA4, - 0xA8,0xAC,0xA0,0x9C,0x94,0xAC,0xA0,0x8C,0xA4,0xA8, - 0xA8,0x98,0x9C,0x98,0x88,0x9C,0x8C,0x8C,0x8C,0x78, - 0x80,0x74,0x68,0x58,0x58,0x58,0x48,0x4C,0x50,0x48, - 0x44,0x44,0x58,0x48,0x44,0x4C,0x4C,0x5C,0x54,0x5C, - 0x60,0x64,0x70,0x70,0x70,0x7C,0x80,0x84,0x90,0x90, - 0x90,0x8C,0x90,0x84,0x84,0x7C,0x80,0x7E,0x7E,0x7E, - 0x7A,0x7E,0x7A,0x7C,0x7C,0x74,0x74,0x74,0x74,0x74, - 0x76,0x74,0x74,0x7A,0x7A,0x7A,0x80,0x7C,0x80,0x82, - 0x82,0x82,0x82,0x84,0x80,0x80,0x7E,0x7E,0x7A,0x7E, - 0x7E,0x7E,0x7E,0x80,0x80,0x7E,0x80,0x80,0x80,0x80, - 0x82,0x82,0x84,0x86,0x88,0x88,0x8A,0x8E,0x8C,0x8A, - 0x8E,0x8E,0x8A,0x8A,0x8A,0x88,0x88,0x84,0x84,0x82, - 0x80,0x7E,0x7E,0x7C,0x7C,0x7C,0x78,0x78,0x76,0x76, - 0x70,0x70,0x70,0x6E,0x6C,0x6E,0x70,0x6E,0x6C,0x6E, - 0x6E,0x74,0x72,0x74,0x76,0x76,0x7A,0x7C,0x7C,0x80, - 0x80,0x82,0x84,0x84,0x86,0x84,0x84,0x8A,0x8A,0x88, - 0x86,0x84,0x80,0x7A,0x7A,0x7A,0x7A,0x7A,0x78,0x74, - 0x72,0x72,0x72,0x74,0x76,0x7A,0x7A,0x7A,0x7C,0x7C, - 0x80,0x80,0x84,0x86,0x84,0x86,0x86,0x88,0x88,0x8A, - 0x8A,0x8C,0x8E,0x90,0x8E,0x8A,0x86,0x7E,0x78,0x74, - 0x74,0x72,0x72,0x70,0x72,0x6E,0x6E,0x70,0x72,0x72, - 0x72,0x72,0x74,0x76,0x76,0x7A,0x7A,0x7A,0x7C,0x80, - 0x82,0x84,0x86,0x8A,0x8A,0x8C,0x8C,0x90,0x92,0x96, - 0x96,0x94,0x8E,0x86,0x7E,0x76,0x76,0x76,0x78,0x78, - 0x78,0x76,0x76,0x76,0x76,0x78,0x7A,0x78,0x78,0x78, - 0x78,0x7A,0x7A,0x7A,0x7C,0x7C,0x7E,0x80,0x82,0x84, - 0x86,0x88,0x8A,0x8C,0x92,0x94,0x94,0x92,0x88,0x7E, - 0x72,0x6A,0x6C,0x72,0x7A,0x7C,0x7C,0x7C,0x7C,0x7E, - 0x82,0x82,0x84,0x84,0x82,0x82,0x84,0x86,0x88,0x8A, - 0x8A,0x8A,0x8A,0x8A,0x8E,0x90,0x92,0x94,0x96,0x9A, - 0xA0,0xA2,0x9E,0x94,0x84,0x74,0x64,0x5E,0x5C,0x62, - 0x70,0x76,0x78,0x76,0x74,0x76,0x78,0x7C,0x7A,0x78, - 0x76,0x70,0x72,0x74,0x7A,0x7C,0x7E,0x82,0x84,0x8A, - 0x90,0x94,0x9C,0x9E,0xA6,0xAC,0xAE,0xAC,0xA4,0x92, - 0x80,0x6E,0x62,0x5E,0x62,0x6A,0x76,0x80,0x84,0x86, - 0x88,0x8A,0x90,0x90,0x8C,0x84,0x7A,0x74,0x72,0x7A, - 0x80,0x88,0x8E,0x8E,0x90,0x90,0x92,0x94,0x96,0x9A, - 0xA0,0xA8,0xA4,0x9A,0x82,0x66,0x4C,0x3C,0x38,0x3C, - 0x4C,0x5A,0x66,0x6E,0x72,0x76,0x7A,0x80,0x82,0x82, - 0x76,0x68,0x54,0x4A,0x48,0x5A,0x72,0x80,0x86,0x86, - 0x88,0x88,0x90,0x96,0xA2,0xB0,0xBA,0xBC,0xB2,0x98, - 0x74,0x50,0x38,0x30,0x3A,0x4E,0x62,0x76,0x80,0x84, - 0x88,0x8A,0x8E,0x90,0x90,0x82,0x6C,0x4E,0x34,0x26, - 0x2A,0x48,0x74,0x98,0xA8,0xA2,0x9A,0x92,0x94,0x9E, - 0xB4,0xC4,0xCE,0xBC,0x9E,0x6C,0x3A,0x1C,0x14,0x2A, - 0x4A,0x70,0x8C,0x98,0x9C,0x9A,0x98,0x9A,0x9C,0x9A, - 0x8A,0x6E,0x48,0x2A,0x1A,0x22,0x42,0x70,0x9E,0xBE, - 0xCA,0xC4,0xB0,0xA4,0x9C,0xA8,0xC0,0xD6,0xDA,0xBA, - 0x86,0x40,0x16,0x08,0x26,0x5A,0x90,0xB6,0xBE,0xB4, - 0xA2,0x90,0x90,0x92,0x94,0x84,0x66,0x3C,0x1C,0x14, - 0x28,0x5A,0x8C,0xB2,0xBE,0xBA,0xAC,0x9E,0x98,0xA0, - 0xB0,0xCC,0xDE,0xDE,0xAC,0x6C,0x18,0x00,0x00,0x14, - 0x60,0x9E,0xC8,0xC6,0xB4,0x9A,0x86,0x86,0x7E,0x74, - 0x58,0x36,0x22,0x1C,0x40,0x64,0x96,0xAC,0xAC,0xA0, - 0x88,0x82,0x84,0x9A,0xB2,0xC8,0xE4,0xF2,0xEE,0xBA, - 0x6C,0x0C,0x00,0x00,0x04,0x64,0xB0,0xE2,0xE4,0xC8, - 0xA6,0x86,0x74,0x5C,0x44,0x28,0x14,0x24,0x4A,0x86, - 0xB0,0xBE,0xA6,0x7E,0x66,0x5C,0x76,0x98,0xB6,0xCC, - 0xD4,0xE4,0xFC,0xFF,0xC8,0x62,0x00,0x00,0x00,0x0A, - 0x98,0xFC,0xFF,0xF6,0xB6,0x82,0x66,0x60,0x44,0x24, - 0x00,0x0E,0x4A,0x9A,0xDC,0xD8,0xA4,0x5C,0x30,0x40, - 0x68,0xA0,0xBA,0xC2,0xC2,0xC8,0xEE,0xFF,0xFF,0xC4, - 0x2C,0x00,0x00,0x00,0x58,0xF8,0xFF,0xFF,0xC6,0x88, - 0x86,0x72,0x52,0x02,0x00,0x00,0x54,0xD8,0xFF,0xEE, - 0x88,0x28,0x16,0x34,0x72,0x90,0x98,0xA0,0xAC,0xD0, - 0xE2,0xF0,0xFA,0xF8,0xD4,0x54,0x00,0x00,0x00,0x2A, - 0xBC,0xFF,0xFF,0xDE,0xA2,0x74,0x60,0x24,0x00,0x00, - 0x1A,0x94,0xEA,0xFF,0xB8,0x5A,0x22,0x1C,0x48,0x60, - 0x7C,0x92,0xAA,0xCC,0xCA,0xC6,0xB8,0xC6,0xF0,0xFF, - 0xDE,0x3C,0x00,0x00,0x00,0x86,0xF2,0xFF,0xCA,0xA8, - 0x9C,0x88,0x58,0x00,0x00,0x06,0x92,0xFF,0xFF,0xAE, - 0x46,0x26,0x36,0x4C,0x56,0x54,0x80,0xB0,0xCC,0xB8, - 0x8E,0x8C,0xAC,0xE4,0xFF,0xFF,0xE4,0x5C,0x00,0x00, - 0x00,0x50,0xA6,0xF2,0xEE,0xD4,0xBC,0x78,0x3A,0x00, - 0x00,0x2A,0x88,0xEC,0xEA,0xBE,0x62,0x30,0x28,0x20, - 0x40,0x60,0x9C,0xC2,0xAE,0x8E,0x6A,0x90,0xBE,0xDA, - 0xE0,0xD6,0xFA,0xF6,0x64,0x00,0x00,0x00,0x88,0xE6, - 0xFF,0xD0,0xC6,0xC2,0x78,0x0E,0x00,0x00,0x68,0xDE, - 0xFF,0xCE,0x96,0x5C,0x2E,0x22,0x00,0x34,0x88,0xC2, - 0xD2,0x80,0x66,0x70,0xA6,0xD0,0xBE,0xBC,0xD0,0xFF, - 0xFF,0x98,0x00,0x00,0x00,0x8C,0xCC,0xD6,0xE2,0xE6, - 0xF4,0x72,0x00,0x00,0x00,0x8A,0xCA,0xD4,0xDC,0xD4, - 0xCC,0x28,0x00,0x00,0x30,0xC0,0xAC,0x9C,0x9C,0x86, - 0x90,0x60,0x7A,0xBA,0xCA,0xE0,0xC2,0xF0,0xFF,0xD2, - 0x00,0x00,0x00,0x72,0xC8,0xB6,0xC6,0xF2,0xEE,0x74, - 0x00,0x00,0x14,0x8A,0xAE,0xB8,0xEA,0xFF,0xBA,0x2E, - 0x00,0x00,0x4C,0x82,0xA6,0xA8,0xC8,0xA2,0x42,0x36, - 0x68,0xC4,0xD4,0xAE,0xC8,0xE6,0xFF,0xFF,0x98,0x00, - 0x00,0x00,0x3C,0x7A,0xB4,0xFF,0xFF,0xB6,0x3A,0x00, - 0x0E,0x20,0x32,0x7C,0xE0,0xFF,0xE0,0x80,0x50,0x26, - 0x00,0x06,0x48,0x9E,0xC8,0x9E,0x98,0x6A,0x58,0x66, - 0x82,0xC4,0xCA,0xB8,0xC8,0xD0,0xFA,0xFC,0xB0,0x08, - 0x00,0x0C,0x28,0x62,0x9E,0xFF,0xFF,0xB4,0x58,0x2C, - 0x18,0x0E,0x0C,0x74,0xD8,0xEE,0xD6,0xAA,0x82,0x40, - 0x00,0x00,0x4A,0x78,0xA0,0xB0,0xC2,0xA4,0x48,0x50, - 0x76,0x92,0xA4,0xB0,0xE0,0xEE,0xD6,0xF8,0xFC,0x9E, - 0x00,0x00,0x18,0x1C,0x50,0xA6,0xFF,0xFF,0xAC,0x7C, - 0x4E,0x00,0x00,0x0C,0x80,0xB2,0xB6,0xE6,0xE8,0xA4, - 0x44,0x04,0x0A,0x24,0x1E,0x66,0xC2,0xC2,0xA4,0x84, - 0x84,0x7A,0x6A,0x98,0xB6,0xB0,0xC0,0xDA,0xF6,0xFC, - 0xD6,0x6A,0x00,0x10,0x02,0x0E,0x74,0xB6,0xDE,0xCC, - 0xB6,0xAE,0x54,0x10,0x20,0x2A,0x4C,0x70,0xAA,0xD2, - 0xBC,0xB2,0xA4,0x48,0x06,0x2A,0x1E,0x36,0x7C,0xAC, - 0xB8,0x98,0xA2,0xA2,0x6C,0x78,0x9A,0x9C,0xAC,0xC4, - 0xDA,0xE6,0xFA,0xDA,0x60,0x26,0x30,0x00,0x00,0x5A, - 0x8E,0xB4,0xCE,0xEC,0xCC,0x72,0x60,0x46,0x0A,0x16, - 0x46,0x6A,0x8E,0xB6,0xDA,0xC2,0x96,0x72,0x38,0x2E, - 0x10,0x2C,0x64,0x72,0xA4,0xBA,0xAC,0xAE,0xA0,0xA6, - 0x9A,0x8A,0xA2,0xA4,0xA8,0xD4,0xE6,0xC4,0x84,0x68, - 0x62,0x00,0x0C,0x48,0x34,0x62,0xB6,0xBC,0xBC,0xBE, - 0xA6,0x72,0x4A,0x4A,0x34,0x1E,0x52,0x6E,0x7E,0xAA, - 0xC4,0xAC,0x92,0x94,0x48,0x24,0x48,0x38,0x4A,0x7C, - 0x9C,0xAE,0xB8,0xBC,0xB2,0x9C,0xAC,0x9E,0x98,0xB2, - 0xC0,0xCA,0xBA,0x80,0x64,0x5C,0x14,0x2C,0x42,0x38, - 0x72,0xA0,0x9A,0xAE,0xB6,0x9A,0x78,0x66,0x5C,0x50, - 0x58,0x68,0x62,0x76,0x8C,0x84,0x8A,0x80,0x7A,0x84, - 0x62,0x64,0x64,0x5E,0x70,0x70,0x74,0x8C,0x96,0xA8, - 0xB4,0xB6,0xBC,0xB4,0xBC,0xBE,0xBC,0xAC,0x98,0x5E, - 0x6C,0x34,0x1E,0x4C,0x3A,0x50,0x7C,0x7C,0x90,0xA4, - 0x9A,0x9C,0x9C,0x8A,0x76,0x70,0x68,0x5A,0x5C,0x5E, - 0x56,0x70,0x7A,0x7A,0x84,0x90,0x7C,0x76,0x80,0x6A, - 0x72,0x76,0x6A,0x74,0x84,0x8E,0xA6,0xB4,0xB8,0xBA, - 0xC4,0xC2,0xC2,0xAE,0x9E,0x6E,0x76,0x46,0x30,0x48, - 0x2A,0x3E,0x5C,0x62,0x78,0x90,0x9A,0xA6,0xB2,0xAA, - 0x9A,0x9A,0x7C,0x62,0x60,0x4A,0x44,0x56,0x5C,0x6A, - 0x78,0x80,0x80,0x84,0x82,0x7C,0x7E,0x7E,0x7C,0x90, - 0x94,0xA4,0xA4,0xB0,0xB0,0xCC,0xD8,0xFF,0xFF,0xFF, - 0xD4,0x98,0x9C,0x24,0x28,0x00,0x00,0x04,0x14,0x20, - 0x4C,0x70,0x80,0xA0,0xBC,0xAC,0xC0,0xC0,0xA4,0xA4, - 0x90,0x70,0x68,0x54,0x34,0x30,0x2C,0x20,0x44,0x48, - 0x6C,0x88,0x88,0x94,0xA4,0x98,0xA0,0xA8,0x9C,0x9C, - 0xB8,0xB8,0xD8,0xEC,0xE0,0xD8,0xE0,0x8C,0x98,0x64, - 0x30,0x4C,0x20,0x20,0x30,0x28,0x1C,0x40,0x4C,0x50, - 0x8C,0xA4,0xB4,0xD4,0xC0,0xB8,0xB8,0x9C,0x7C,0x7C, - 0x5C,0x4C,0x48,0x3C,0x34,0x50,0x48,0x4C,0x70,0x64, - 0x70,0x7C,0x70,0x8C,0x9C,0xB0,0xBC,0xCC,0xC4,0xD8, - 0xDC,0xD0,0xBC,0xD8,0x9C,0x94,0x9C,0x44,0x6C,0x40, - 0x1C,0x1C,0x18,0x14,0x34,0x54,0x58,0x8C,0x98,0x94, - 0xC0,0xB4,0xA4,0xB8,0xA8,0x90,0x94,0x74,0x5C,0x68, - 0x4C,0x44,0x50,0x48,0x40,0x5C,0x50,0x5C,0x74,0x64, - 0x7C,0x94,0xA0,0xBC,0xC0,0xB8,0xB8,0xBC,0xAC,0xC8, - 0xC4,0xD4,0xA8,0xB0,0x8C,0x60,0x70,0x2C,0x2C,0x24, - 0x2C,0x30,0x4C,0x50,0x5C,0x78,0x74,0x90,0xA4,0xA0, - 0xB4,0xB4,0xA8,0xA0,0x9C,0x80,0x7C,0x70,0x58,0x5C, - 0x4C,0x44,0x3C,0x44,0x4C,0x54,0x68,0x6C,0x88,0x94, - 0xA0,0xAC,0xA8,0xAC,0xB4,0xBC,0xB8,0xCC,0xC4,0xC8, - 0xA4,0xA0,0x80,0x64,0x6C,0x40,0x40,0x38,0x40,0x38, - 0x4C,0x48,0x54,0x6C,0x70,0x8C,0x98,0x9C,0xA4,0xA8, - 0x9C,0x9C,0x9C,0x88,0x88,0x78,0x6C,0x70,0x5C,0x58, - 0x48,0x48,0x48,0x50,0x60,0x70,0x88,0x8C,0x98,0x9C, - 0x9C,0x9C,0xA4,0xA8,0xB8,0xC4,0xC4,0xD0,0xB8,0xA4, - 0x98,0x60,0x60,0x44,0x48,0x44,0x54,0x44,0x54,0x54, - 0x48,0x60,0x68,0x74,0x84,0x90,0x9C,0xA8,0xAC,0xA0, - 0xA0,0x8C,0x84,0x80,0x78,0x78,0x7C,0x68,0x68,0x60, - 0x58,0x5C,0x60,0x60,0x68,0x74,0x78,0x88,0x8C,0x90, - 0x9C,0x9C,0xA0,0xA8,0xAC,0xB4,0xB4,0xB0,0x9C,0xA4, - 0x7C,0x74,0x68,0x54,0x54,0x50,0x4C,0x44,0x5C,0x54, - 0x6C,0x70,0x70,0x7C,0x80,0x84,0x8C,0x9C,0xA0,0xA8, - 0xA4,0x94,0x94,0x80,0x70,0x6C,0x70,0x6C,0x78,0x78, - 0x74,0x78,0x70,0x68,0x6C,0x64,0x68,0x6C,0x70,0x78, - 0x80,0x84,0x8C,0x88,0x88,0x8C,0x8C,0x8C,0x94,0x94, - 0x94,0x9C,0x9C,0x94,0x98,0x84,0x80,0x74,0x6C,0x64, - 0x64,0x68,0x6C,0x74,0x70,0x74,0x74,0x6C,0x70,0x68, - 0x6C,0x78,0x84,0x8C,0x8C,0x90,0x8C,0x84,0x80,0x7C, - 0x78,0x80,0x80,0x80,0x84,0x80,0x80,0x78,0x68,0x68, - 0x70,0x70,0x78,0x70,0x70,0x78,0x80,0x80,0x88,0x88, - 0x88,0x88,0x88,0x80,0x88,0x80,0x78,0x70,0x78,0x78, - 0x80,0x80,0x80,0x78,0x78,0x68,0x60,0x60,0x68,0x68, - 0x70,0x78,0x80,0x80,0x80,0x80,0x78,0x70,0x80,0x78, - 0x80,0x80,0x88,0x88,0x88,0x80,0x80,0x80,0x78,0x80, - 0x78,0x80,0x80,0x80,0x78,0x68,0x70,0x70,0x70,0x70, - 0x78,0x78,0x80,0x78,0x78,0x78,0x70,0x68,0x68,0x60, - 0x70,0x70,0x78,0x70,0x78,0x78,0x78,0x70,0x78,0x78, - 0x80,0x80,0x80,0x78,0x80,0x88,0x88,0x80,0x80,0x78, - 0x80,0x80,0x78,0x78,0x80,0x78,0x78,0x78,0x78,0x78, - 0x78,0x78,0x70,0x78,0x80,0x78,0x70,0x78,0x78,0x70, - 0x78,0x78,0x78,0x80,0x88,0x80,0x88,0x80,0x80,0x80, - 0x80,0x80,0x80,0x80,0x78,0x80,0x88,0x80,0x78,0x70, - 0x68,0x68,0x70,0x78,0x80,0x80,0x88,0x88,0x88,0x88, - 0x80,0x78,0x78,0x78,0x80,0x78,0x80,0x78,0x80,0x80, - 0x88,0x80,0x80,0x78,0x80,0x78,0x78,0x80,0x80,0x88, - 0x88,0x80,0x80,0x78,0x80,0x78,0x78,0x80,0x88,0x88, - 0x88,0x80,0x80,0x78,0x70,0x68,0x70,0x78,0x80,0x80, - 0x80,0x80,0x80,0x80,0x80,0x78,0x80,0x78,0x80,0x78, - 0x80,0x80,0x80,0x80,0x80,0x78,0x78,0x70,0x70,0x78, - 0x80,0x80,0x80,0x88,0x88,0x80,0x70,0x68,0x68,0x68, - 0x70,0x78,0x88,0x80,0x88,0x80,0x88,0x80,0x78,0x78, - 0x78,0x70,0x78,0x78,0x80,0x80,0x80,0x78,0x70,0x70, - 0x78,0x80,0x78,0x80,0x80,0x80,0x80,0x78,0x70,0x70, - 0x70,0x78,0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x78, - 0x80,0x78,0x78,0x78,0x78,0x70,0x78,0x70,0x78,0x70, - 0x78,0x78,0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x78, - 0x78,0x70,0x78,0x80,0x80,0x80,0x80,0x78,0x80,0x78, - 0x78,0x78,0x80,0x78,0x78,0x70,0x78,0x78,0x78,0x70, - 0x78,0x78,0x78,0x80,0x88,0x80,0x88,0x80,0x80,0x78, - 0x78,0x80,0x80,0x78,0x80,0x78,0x80,0x78,0x78,0x70, - 0x78,0x78,0x80,0x80,0x80,0x80,0x80,0x80,0x78,0x70, - 0x78,0x80,0x78,0x80,0x88,0x80,0x88,0x80,0x78,0x70, - 0x70,0x70,0x78,0x70,0x78,0x70,0x78,0x78,0x80,0x78, - 0x80,0x78,0x80,0x80,0x80,0x88,0x80,0x80,0x80,0x78, - 0x80,0x78,0x80,0x78,0x78,0x70,0x78,0x70,0x78,0x78, - 0x78,0x78,0x78,0x78,0x78,0x80,0x78,0x70,0x78,0x78, - 0x80,0x80,0x88,0x80,0x88,0x80,0x80,0x78,0x70,0x68, - 0x70,0x68,0x70,0x78,0x80,0x78,0x80,0x78,0x80,0x78, - 0x80,0x78,0x80,0x80,0x80,0x80,0x80,0x78,0x80,0x78, - 0x78,0x70,0x78,0x78,0x80,0x78,0x80,0x78,0x78,0x70, - 0x78,0x70,0x78,0x78,0x80,0x78,0x78,0x80,0x88,0x80, - 0x80,0x80,0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x78, - 0x78,0x78,0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x80, - 0x80,0x80,0x80,0x78,0x78,0x78,0x80,0x78,0x80,0x78, - 0x80,0x78,0x78,0x70,0x70,0x70,0x78,0x80,0x88,0x80, - 0x88,0x78,0x80,0x78,0x78,0x78,0x80,0x80,0x88,0x80, - 0x88,0x80,0x80,0x78,0x78,0x70,0x78,0x78,0x80,0x78, - 0x80,0x78,0x78,0x70,0x78,0x70,0x78,0x70,0x80,0x78, - 0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x78, - 0x78,0x70,0x78,0x78,0x80,0x78,0x80,0x78,0x80,0x78, - 0x78,0x70,0x80,0x78,0x88,0x80,0x80,0x78,0x78,0x70, - 0x78,0x70,0x80,0x78,0x80,0x78,0x80,0x70,0x80,0x60, - 0x80,0x40,0x78,0x58,0x80,0x80,0x80,0x90,0x78,0x98, - 0x80,0x98,0x80,0x90,0x78,0x80,0x78,0x78,0x60,0x70, - 0x78,0x70,0x80,0x70,0x80,0x70,0x78,0x78,0x78,0x70, - 0x70,0x88,0x88,0x80,0x78,0x70,0x80,0x80,0x90,0x70, - 0x78,0x70,0x80,0x78,0x78,0x88,0x78,0x70,0x78,0x88, - 0x80,0x88,0x88,0x80,0x90,0x70,0x88,0x68,0x80,0x78, - 0x68,0x70,0x88,0x68,0x78,0x98,0x88,0x80,0x90,0x70, - 0x78,0x88,0x88,0x78,0x88,0x78,0x80,0x80,0x78,0x88, - 0x50,0x40,0x88,0x68,0xB8,0x78,0xA0,0x50,0xB0,0x70, - 0xB0,0x38,0x68,0x70,0x70,0x98,0xA8,0x90,0x78,0xA0, - 0x80,0x88,0x88,0x98,0x88,0x68,0x88,0x80,0x60,0x68, - 0x80,0x80,0x70,0x80,0x60,0x68,0x80,0x80,0x78,0x80, - 0x78,0x88,0x80,0x78,0x88,0x88,0x80,0x80,0x78,0x78, - 0x78,0x80,0x78,0x98,0x70,0x80,0x78,0x68,0x78,0x88, - 0x78,0x88,0x78,0x80,0x80,0x80,0x88,0x80,0x78,0x70, - 0x78,0x78,0x80,0x88,0x70,0x88,0x80,0x88,0x78,0x90, - 0x78,0x78,0x80,0x80,0x78,0x80,0x80,0x88,0x88,0x90, - 0x80,0x88,0x80,0x78,0x88,0x70,0x78,0x88,0x78,0x80, - 0x80,0x80,0x78,0x78,0x78,0x68,0x78,0x78,0x90,0x80, - 0x80,0x88,0x78,0x78,0x88,0x70,0x80,0x80,0x88,0x80, - 0x80,0x88,0x70,0x80,0x68,0x80,0x80,0x80,0x78,0x80, - 0x80,0x80,0x78,0x88,0x68,0x78,0x80,0x80,0x78,0x80, - 0x80,0x78,0x80,0x78,0x78,0x78,0x78,0x88,0x70,0x80, - 0x78,0x88,0x78,0x70,0x80,0x78,0x80,0x78,0x80,0x80, - 0x70,0x80,0x80,0x80,0x80,0x80,0x78,0x78,0x70,0x80, - 0x80,0x88,0x78,0x90,0x80,0x78,0x80,0x78,0x78,0x70, - 0x70,0x88,0x78,0x80,0x80,0x80,0x80,0x70,0x80,0x78, - 0x78,0x78,0x84,0x80,0x7C,0x80,0x80,0x7C,0x7C,0x80, - 0x80,0x80,0x80,0x88,0x80,0x84,0x7C,0x80,0x78,0x7C, - 0x7C,0x7C,0x80,0x7C,0x80,0x7C,0x80,0x7C,0x80,0x84, - 0x78,0x84,0x7C,0x80,0x7C,0x7C,0x80,0x7C,0x7C,0x7C, - 0x7C,0x80,0x7C,0x80,0x80,0x7C,0x80,0x80,0x80,0x7C, - 0x7C,0x80,0x7C,0x80,0x7C,0x80,0x80,0x80,0x80,0x80, - 0x84,0x7C,0x7C,0x80,0x7C,0x80,0x80,0x84,0x7C,0x7C, - 0x80,0x7C,0x80,0x7C,0x80,0x80,0x7C,0x80,0x7C,0x80, - 0x7C,0x80,0x80,0x7C,0x80,0x80,0x80,0x80,0x80,0x84, - 0x7C,0x80,0x7C,0x80,0x80,0x7C,0x80,0x7C,0x80,0x80, - 0x7C,0x80,0x7C,0x80,0x7C,0x80,0x80,0x7C,0x80,0x7C, - 0x80,0x80,0x7C,0x7C,0x80,0x80,0x7C,0x7C,0x7C,0x7C, - 0x7C,0x7C,0x80,0x80,0x7C,0x80,0x7C,0x80,0x7C,0x80, - 0x7C,0x7C,0x7C,0x7C,0x7C,0x80,0x7C,0x7C,0x7C,0x80, - 0x80,0x80,0x80,0x80,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C, - 0x7C,0x80,0x7C,0x7C,0x7C,0x7C,0x7C,0x80,0x7C,0x80, - 0x7C,0x80,0x80,0x80,0x7C,0x80,0x7C,0x7C,0x7C,0x80, - 0x7C,0x80,0x7E,0x80,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,}; -static ymu8 sample10[378]={ - 0x80,0x80,0xCE,0xD4,0xFA,0xFF,0xFF,0xBE,0x9E,0xFF, - 0xFF,0x00,0xFF,0x5E,0xFF,0xFF,0x18,0xDC,0x00,0x9E, - 0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x2C,0x1C,0x52,0x66,0xA2,0xCC,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF4,0xFF, - 0x92,0xA8,0x56,0x1C,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1A,0x36, - 0x5A,0x7A,0x98,0xA6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xE6,0xAA,0x86,0x80,0x6C,0x40,0x24,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x08,0x20,0x62,0x76,0x6E,0x8A,0xB4,0xA4,0xCC,0xE2, - 0xE4,0xF6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xD6,0xD2,0xD4,0xB2,0xBE,0xB6,0x96,0x92,0x6E,0x70, - 0x52,0x58,0x58,0x3C,0x26,0x2C,0x0A,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E, - 0x00,0x02,0x14,0x06,0x16,0x48,0x18,0x30,0x78,0x64, - 0x7C,0xBE,0x9A,0xA6,0xA8,0x9E,0x98,0x9C,0x92,0x74, - 0xA2,0xB6,0xB6,0x9A,0xBE,0xBE,0xA4,0xB0,0x86,0x8C, - 0xAC,0xB4,0xBA,0xA6,0xD2,0xC0,0xDC,0xD8,0xE8,0xDE, - 0xC2,0xAC,0x90,0x9C,0x9E,0x84,0x7A,0x7A,0x78,0x84, - 0x56,0x56,0x2C,0x44,0x4C,0x12,0x22,0x0C,0x30,0x12, - 0x24,0x00,0x00,0x16,0x00,0x00,0x00,0x00,0x06,0x16, - 0x14,0x3C,0x22,0x36,0x3A,0x46,0x30,0x58,0x5E,0x54, - 0x8C,0x84,0x6C,0x8A,0x9A,0x96,0xB0,0xBA,0xBA,0x98, - 0xAE,0xB2,0x96,0xB6,0xAE,0xB4,0xB8,0xB4,0xAE,0xAE, - 0xAE,0xB2,0xB4,0xD2,0xC6,0xBE,0xD2,0xC4,0xC4,0xB2, - 0xAC,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample11[1527]={ - 0xA0,0x90,0xC4,0xB6,0x92,0xE8,0xFF,0xFF,0x52,0xFE, - 0x4E,0x86,0xAE,0xEC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xD6,0xFF,0xFF,0x00,0xBC,0x46,0x00,0x00,0x16,0x00, - 0x36,0x7E,0xDE,0xFE,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF, - 0xFF,0xF6,0xFF,0xFF,0x98,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xA4,0x86,0x66,0x00,0x00,0x1C, - 0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x06,0x46,0x0E, - 0xAE,0xAE,0x4E,0xFF,0xFF,0xFF,0xCE,0xE8,0xB4,0xA6, - 0x92,0xBC,0xC6,0xA6,0xBA,0xB6,0x66,0x5A,0x3E,0x0A, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x86,0x26,0xAE,0x2E,0x94,0x9E, - 0xEA,0xA0,0x8A,0xA4,0xA0,0x86,0x74,0xF4,0x60,0xB6, - 0xBE,0x9E,0x8E,0x72,0x86,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x1C,0x1E,0x00,0x0A,0x26,0x46,0x30, - 0x1C,0x60,0x92,0x26,0xE6,0x9A,0xE6,0xCA,0xFF,0xFF, - 0xFE,0xFF,0xD6,0xFF,0xFF,0xFF,0xE2,0xFF,0x8A,0x8A, - 0xA0,0x7C,0x4A,0x4E,0x5E,0x64,0x8E,0x4E,0x5A,0x72, - 0x6C,0x3A,0x12,0x32,0xCE,0x96,0xB8,0x9E,0xCC,0xD2, - 0xE6,0xE6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD6,0x7E,0xCA, - 0xFE,0xB4,0x6E,0x76,0x4C,0x96,0x60,0x1E,0x56,0x8A, - 0x62,0xF0,0x8A,0x3E,0xC6,0x56,0xC2,0x74,0x86,0xD2, - 0xE2,0xFF,0xFF,0xA6,0xFF,0xFF,0xD6,0xDE,0xAA,0xB8, - 0xFC,0xC0,0x86,0x9A,0x84,0x2C,0x44,0x52,0x48,0x5E, - 0x02,0x56,0x00,0x48,0x12,0x00,0x1E,0x12,0x00,0x16, - 0x14,0x00,0x12,0x0E,0x00,0x22,0x08,0x0E,0x0A,0x5E, - 0x8A,0x4A,0x9E,0x6E,0x86,0x60,0x76,0x5C,0x66,0x36, - 0x1C,0x4C,0x16,0x72,0x0E,0x00,0x0A,0x1A,0x02,0x00, - 0x00,0x00,0x00,0x06,0x0A,0x00,0x00,0x12,0x16,0x4E, - 0x22,0x20,0x72,0x56,0x64,0x4E,0x5E,0x9A,0x94,0x8E, - 0xA2,0x7A,0x7A,0x9A,0xAC,0xAE,0xA6,0xC2,0xAE,0xA6, - 0xBA,0x9E,0xDC,0x9E,0xC2,0x8E,0x6E,0x7C,0x80,0x9A, - 0x76,0x80,0x88,0x82,0xB0,0xD6,0x7E,0x94,0xBC,0xFC, - 0xD6,0xFF,0xF8,0xFF,0xE6,0xFF,0xB2,0xFC,0xBE,0xF4, - 0xFA,0xFF,0xFF,0xFF,0xFF,0xFF,0xF2,0xFF,0xD0,0xC8, - 0xAA,0xFF,0xDA,0xFF,0xC2,0xF0,0xEA,0xB0,0xD0,0xC8, - 0xEC,0xDE,0xF6,0xCA,0xEE,0xBE,0x8E,0x9E,0xBA,0x5E, - 0x8A,0xC8,0x9A,0xA8,0xDE,0x8C,0xB2,0x8A,0x96,0x70, - 0xA8,0x9A,0x92,0xAE,0xE6,0x82,0xA8,0x9E,0x22,0x5C, - 0x58,0x5E,0x30,0xA4,0x54,0x5E,0x32,0x6A,0x14,0x2C, - 0x6C,0x2C,0x36,0x00,0x00,0x00,0x00,0x4A,0x00,0x00, - 0x00,0x06,0x1C,0x00,0x06,0x00,0x14,0x00,0x32,0x20, - 0x40,0x4C,0x42,0x0A,0x2E,0x1C,0x0E,0x00,0x00,0x00, - 0x1A,0x00,0x00,0x00,0x00,0x00,0x1E,0x36,0x54,0x16, - 0x2A,0x12,0x2A,0x38,0x46,0x00,0x0C,0x24,0x1E,0x14, - 0x14,0x3C,0x18,0x3C,0x60,0x88,0x86,0x88,0x96,0xA6, - 0xBA,0x7C,0xBA,0x82,0xAC,0x82,0x84,0x80,0xA4,0x22, - 0xA4,0x8A,0xA2,0xC8,0xD6,0xBE,0xD6,0xB4,0xD4,0x9A, - 0xB6,0x98,0xA0,0xA6,0xB6,0xD0,0xAA,0xCC,0xC6,0xF6, - 0xE8,0xDC,0xDA,0xE6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xEA,0xFF,0xF6,0xFF,0xEA,0xE4,0xF6,0xF8,0xD4,0xD2, - 0xDA,0xDA,0xFE,0xF4,0xD8,0xD0,0xDA,0xBE,0xF2,0xE0, - 0xDA,0xBA,0xDE,0xD6,0xC6,0xFF,0xC6,0xE2,0xB6,0xB6, - 0x9E,0xB8,0xA8,0xB8,0x70,0xBA,0x96,0xDE,0xB6,0xA6, - 0x8E,0x9A,0x82,0x5E,0x42,0x74,0x64,0x6C,0xA4,0x68, - 0x7A,0x74,0x6E,0x56,0x00,0x22,0x50,0x4E,0x3E,0x5C, - 0x62,0x4C,0x30,0x12,0x00,0x34,0x00,0x00,0x0A,0x0E, - 0x1C,0x44,0x3C,0x5A,0x2E,0x3E,0x06,0x20,0x00,0x0E, - 0x12,0x30,0x36,0x00,0x0A,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x2E,0x30,0x5C,0x48,0x20,0x4C,0x28, - 0x0E,0x46,0x26,0x4C,0x2A,0x2C,0x54,0x40,0x26,0x00, - 0x34,0x58,0x64,0x40,0x62,0x18,0x46,0x58,0x3A,0x5A, - 0x2A,0x9A,0x6E,0x74,0xAC,0xBA,0xC8,0x9A,0xA0,0x98, - 0xB8,0xB4,0xCE,0xB6,0xD2,0x86,0xC0,0xA6,0xB6,0xDA, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xD0,0xBA,0xAA,0xF4,0xFA, - 0xDE,0xC4,0xDE,0xCA,0xEA,0xF2,0xFF,0xF6,0xE8,0xFF, - 0xFF,0xE8,0xE8,0xDC,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFC,0xFF,0xE6,0xFF,0xEA,0xD8, - 0xCA,0xCA,0xC6,0xC2,0xE6,0xA0,0xC2,0x96,0x7E,0xAE, - 0x58,0x8A,0x5E,0x6A,0x82,0x84,0x44,0x5C,0x86,0x5C, - 0x8C,0x9A,0x80,0x86,0x86,0x4C,0x60,0x7E,0x50,0x4C, - 0x36,0x6E,0x44,0x40,0x1C,0x3A,0x14,0x02,0x20,0x1A, - 0x3C,0x3A,0x04,0x2C,0x0A,0x1E,0x26,0x00,0x00,0x02, - 0x00,0x00,0x02,0x00,0x00,0x14,0x0C,0x10,0x00,0x00, - 0x00,0x16,0x1A,0x24,0x40,0x50,0x6A,0x44,0x2E,0x2C, - 0x38,0x28,0x38,0x38,0x6E,0x6A,0x5C,0x7E,0x40,0x44, - 0x34,0x2E,0x28,0x74,0x44,0x2A,0x3A,0x5C,0x66,0x84, - 0x88,0x74,0x78,0x9E,0x9E,0x9E,0x82,0x9A,0x82,0xA6, - 0x66,0xB0,0x9A,0xA2,0xA6,0xEE,0xB8,0xD4,0xD6,0x96, - 0xC6,0xB8,0xB4,0xA8,0xE2,0xB0,0xC8,0xA6,0xD2,0xD2, - 0xD4,0xDE,0xF6,0xCA,0xD0,0xBA,0xB4,0xC0,0xB6,0xB6, - 0xC6,0x9C,0xD4,0xDA,0xC0,0xA6,0xC2,0xC0,0xD2,0xA8, - 0xBC,0xB2,0x98,0xCA,0x80,0xCA,0xB2,0xF6,0xE2,0xC2, - 0xBC,0xD6,0xAE,0x86,0xB8,0x8E,0xBA,0xB0,0x80,0x92, - 0x58,0x9C,0x7E,0x82,0x74,0x72,0x82,0x6C,0x8A,0x7C, - 0x9A,0x7E,0x7A,0x7C,0x92,0x7C,0x78,0x96,0x80,0x7E, - 0x64,0x54,0x5A,0x4C,0x62,0x64,0x70,0x3E,0x68,0x6E, - 0x78,0x7A,0x76,0x58,0x4C,0x46,0x40,0x3C,0x2E,0x38, - 0x34,0x44,0x4C,0x28,0x52,0x50,0x46,0x48,0x64,0x4E, - 0x4E,0x50,0x62,0x32,0x46,0x66,0x60,0x66,0x80,0x7E, - 0x60,0x60,0x7E,0x52,0x6A,0x66,0x60,0x48,0x5A,0x50, - 0x66,0x5C,0x6A,0x4E,0x52,0x48,0x54,0x72,0x60,0x7A, - 0x72,0x7A,0x76,0x78,0x7C,0x7C,0x64,0x8A,0x6E,0x78, - 0x84,0x8E,0x98,0xB6,0x98,0xB8,0x92,0xA2,0x8E,0x86, - 0x72,0x80,0x82,0x88,0x84,0x96,0x78,0x88,0x7E,0x8A, - 0x8E,0x76,0x9C,0x98,0x98,0x7E,0x90,0x70,0x76,0x8C, - 0xA2,0xA6,0x8C,0xB2,0xA0,0xAE,0x92,0xA6,0x90,0x88, - 0x9C,0xAE,0xA8,0xBA,0xBA,0xA4,0xBC,0x9E,0x7E,0x7E, - 0x7E,0x86,0x96,0x72,0xA0,0x86,0x84,0xB6,0x8E,0x96, - 0x8E,0x9A,0xA2,0x8A,0x8E,0x80,0x76,0x82,0x8A,0x7A, - 0x80,0x64,0x80,0x96,0xA2,0x9E,0xAA,0xAC,0xA4,0xA4, - 0xA2,0x80,0x74,0x74,0x6A,0x78,0x6A,0x74,0x7C,0x7A, - 0x7E,0x60,0x80,0x72,0x6A,0x76,0x7E,0x80,0x5A,0x78, - 0x74,0x66,0x72,0x76,0x8A,0x6A,0x66,0x78,0x6C,0x68, - 0x80,0x86,0x68,0x86,0x92,0x8E,0x88,0x74,0x64,0x38, - 0x4A,0x4E,0x54,0x6E,0x5E,0x82,0x6E,0x7A,0x6A,0x9C, - 0x6C,0x80,0x74,0x78,0x90,0x82,0x7A,0x78,0x60,0x5E, - 0x5E,0x70,0x72,0x62,0x64,0x74,0x68,0x86,0x7A,0x9A, - 0x78,0x9C,0x80,0x9E,0x7C,0x5A,0x66,0x96,0x7A,0x88, - 0x88,0x9A,0x70,0x86,0x6C,0x6A,0x7A,0x64,0x8E,0x80, - 0x84,0x7A,0x84,0x82,0x92,0x9A,0x9E,0x8A,0xA0,0x9E, - 0x84,0x90,0x98,0x6E,0x7A,0x74,0x82,0x86,0x80,0x8E, - 0x92,0x84,0x84,0x7A,0x92,0x94,0x94,0xAC,0x8C,0x8E, - 0x7C,0x8C,0x94,0x80,0x88,0x68,0x7E,0x74,0x8C,0x8E, - 0x74,0x92,0x92,0x8E,0x94,0x72,0x92,0x8E,0x72,0x88, - 0x8A,0x84,0x88,0x8A,0x96,0x82,0x8C,0x84,0x84,0x9A, - 0x70,0x68,0x80,0x7A,0x66,0x82,0x7C,0x78,0x78,0x7C, - 0x74,0x6E,0x72,0x78,0x7A,0x88,0x7E,0x82,0x84,0x80, - 0x84,0x7C,0x8A,0x72,0x76,0x80,0x7C,0x80,0x82,0x82, - 0x80,0x8C,0x8C,0x80,0x84,0x76,0x7E,0x6C,0x7A,0x78, - 0x7A,0x7E,0x74,0x70,0x68,0x70,0x72,0x74,0x70,0x76, - 0x74,0x86,0x76,0x98,0x84,0x80,0x7C,0x6E,0x7C,0x82, - 0x7A,0x8E,0x88,0x8A,0x76,0x84,0x7C,0x8E,0x70,0x8C, - 0x8C,0x7E,0x8E,0x82,0x7E,0x84,0x68,0x66,0x78,0x80, - 0x92,0x84,0x82,0x74,0x7E,0x72,0x76,0x6C,0x6A,0x72, - 0x76,0x86,0x8E,0x8E,0x8A,0x86,0x86,0x70,0x84,0x78, - 0x92,0x8E,0x8E,0x90,0x8C,0x8E,0x7E,0x82,0x7C,0x82, - 0x70,0x80,0x74,0x72,0x6C,0x74,0x76,0x70,0x6E,0x7E, - 0x80,0x78,0x7A,0x88,0x82,0x92,0x82,0x8A,0x80,0x7A, - 0x88,0x86,0x7E,0x8A,0x86,0x88,0x96,0x8E,0x82,0x8C, - 0x76,0x8C,0x84,0xA0,0x88,0x86,0x7C,0x8A,0x82,0x7C, - 0x8C,0x60,0x7C,0x82,0x76,0x86,0x80,0x78,0x76,0x72, - 0x7E,0x78,0x78,0x7E,0x80,0x6E,0x7E,0x7E,0x8C,0x9E, - 0x86,0x92,0x8E,0x96,0x7C,0x82,0x78,0x7C,0x8A,0x82, - 0x86,0x76,0x80,0x76,0x80,0x7E,0x82,0x78,0x7C,0x80, - 0x7E,0x88,0x80,0x7E,0x70,0x86,0x7A,0x80,0x7C,0x74, - 0x76,0x7E,0x74,0x6C,0x70,0x7A,0x7A,0x86,0x82,0x86, - 0x8A,0x8A,0x86,0x88,0x78,0x82,0x78,0x82,0x74,0x7A, - 0x7C,0x76,0x84,0x7C,0x7A,0x8A,0x7C,0x84,0x7E,0x7E, - 0x80,0x7E,0x82,0x7A,0x7A,0x7A,0x6E,0x76,0x78,0x6E, - 0x7A,0x7C,0x86,0x78,0x8A,0x82,0x78,0x8E,0x80,0x8A, - 0x86,0x8A,0x8C,0x84,0x94,0x88,0x8E,0x84,0x7A,0x78, - 0x7A,0x84,0x80,0x7E,0x7C,0x86,0x7C,0x86,0x82,0x7C, - 0x7A,0x7A,0x76,0x76,0x7A,0x7E,0x84,0x84,0x80,0x7A, - 0x7C,0x7C,0x80,0x84,0x80,0x8C,0x82,0x86,0x82,0x86, - 0x7E,0x80,0x7C,0x84,0x8A,0x82,0x7E,0x88,0x7C,0x82, - 0x7A,0x86,0x78,0x7C,0x72,0x84,0x7E,0x7C,0x72,0x80, - 0x82,0x82,0x84,0x86,0x82,0x82,0x80,0x80,0x78,0x7A, - 0x7A,0x82,0x7E,0x7A,0x7E,0x72,0x78,0x84,0x82,0x84, - 0x86,0x8E,0x7E,0x78,0x7E,0x78,0x7A,0x7A,0x84,0x8C, - 0x8A,0x86,0x86,0x7E,0x7A,0x74,0x80,0x88,0x7E,0x80, - 0x7E,0x74,0x80,0x80,0x88,0x7A,0x80,0x76,0x7C,0x7E, - 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample12[258]={ - 0x6F,0x77,0x80,0x5F,0x41,0x80,0xE0,0xFF,0x3F,0x01, - 0xC0,0xFF,0x07,0xC0,0xBF,0x00,0xFE,0x07,0xE0,0x3F, - 0xC0,0x3F,0xC0,0x3F,0xE0,0x07,0xFF,0x00,0xFF,0x40, - 0x3F,0xFF,0x00,0xBF,0xE0,0x00,0xFF,0xC0,0x00,0xFF, - 0xF0,0x00,0x80,0xFF,0x20,0x00,0xFF,0xF0,0x00,0x0F, - 0xFF,0xF0,0x00,0x01,0xDF,0xFF,0x80,0x00,0x3F,0xFF, - 0xFC,0x50,0x00,0x3F,0xDF,0xFF,0xA0,0x20,0x03,0x5F, - 0xDF,0xFC,0xB0,0x50,0x2B,0x77,0xC7,0xCC,0x94,0x60, - 0x30,0x1F,0x5F,0xAF,0xC4,0xB0,0x84,0x60,0x30,0x18, - 0x37,0x77,0xA7,0xDB,0xD8,0xB4,0x80,0x54,0x35,0x3F, - 0x5F,0x87,0xAF,0xDB,0xDA,0xC0,0x9A,0x78,0x58,0x42, - 0x47,0x5F,0x80,0x9B,0xBB,0xD6,0xCA,0xB8,0xA0,0x84, - 0x68,0x4C,0x45,0x4D,0x5F,0x73,0x87,0x9F,0xAF,0xC7, - 0xBC,0xA8,0x9C,0x88,0x70,0x58,0x4C,0x4A,0x49,0x53, - 0x69,0x75,0x85,0x97,0xAD,0xB3,0xB2,0xAA,0xA0,0x90, - 0x80,0x70,0x5C,0x51,0x48,0x49,0x49,0x4F,0x5E,0x6B, - 0x7B,0x8D,0x97,0x9F,0xAB,0xB0,0xAE,0xA8,0xA0,0x94, - 0x8B,0x80,0x70,0x65,0x60,0x58,0x53,0x52,0x52,0x57, - 0x5F,0x69,0x6D,0x7D,0x83,0x8F,0x97,0x9E,0xA4,0xA6, - 0xAD,0xA8,0xA5,0xA2,0x9A,0x93,0x8B,0x82,0x79,0x70, - 0x72,0x65,0x60,0x5B,0x55,0x52,0x4F,0x56,0x53,0x57, - 0x5B,0x5F,0x65,0x6F,0x71,0x7B,0x83,0x8B,0x92,0x9B, - 0xA1,0xA7,0xB2,0xB6,0xB5,0xB5,0xB4,0xB0,0xAB,0xA4, - 0x9C,0x94,0x92,0x82,0x81,0x79,0x71,0x77,0x6D,0x68, - 0x67,0x61,0x5C,0x5E,0x59,0x5C,0x5C,0x63,0x69,0x6D, - 0x73,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample13[258]={ - 0x77,0x7B,0x80,0x6F,0x60,0x80,0xAF,0xBF,0x5F,0x40, - 0x9F,0xBF,0x43,0x9F,0x9F,0x40,0xBE,0x43,0xAF,0x5F, - 0x9F,0x5F,0x9F,0x5F,0xAF,0x43,0xBF,0x40,0xBF,0x60, - 0x5F,0xBF,0x40,0x9F,0xAF,0x40,0xBF,0x9F,0x40,0xBF, - 0xB7,0x40,0x80,0xBF,0x50,0x40,0xBF,0xB7,0x40,0x47, - 0xBF,0xB7,0x40,0x40,0xAF,0xBF,0x80,0x40,0x5F,0xBF, - 0xBD,0x68,0x40,0x5F,0xAF,0xBF,0x90,0x50,0x41,0x6F, - 0xAF,0xBD,0x97,0x68,0x55,0x7B,0xA3,0xA5,0x8A,0x70, - 0x58,0x4F,0x6F,0x97,0xA1,0x97,0x82,0x70,0x58,0x4C, - 0x5B,0x7B,0x93,0xAD,0xAB,0x99,0x80,0x6A,0x5A,0x5F, - 0x6F,0x83,0x97,0xAD,0xAC,0x9F,0x8D,0x7C,0x6C,0x61, - 0x63,0x6F,0x80,0x8D,0x9D,0xAA,0xA4,0x9B,0x90,0x82, - 0x74,0x66,0x62,0x66,0x6F,0x79,0x83,0x8F,0x97,0xA3, - 0x9D,0x93,0x8E,0x84,0x78,0x6C,0x66,0x65,0x64,0x69, - 0x74,0x7A,0x82,0x8B,0x96,0x99,0x98,0x94,0x90,0x88, - 0x80,0x78,0x6E,0x68,0x64,0x64,0x64,0x67,0x6F,0x75, - 0x7D,0x86,0x8B,0x8F,0x95,0x97,0x96,0x93,0x90,0x8A, - 0x85,0x80,0x78,0x72,0x70,0x6C,0x69,0x69,0x69,0x6B, - 0x6F,0x74,0x76,0x7E,0x81,0x87,0x8B,0x8F,0x91,0x92, - 0x96,0x93,0x92,0x90,0x8D,0x89,0x85,0x81,0x7C,0x78, - 0x79,0x72,0x70,0x6D,0x6A,0x69,0x67,0x6B,0x69,0x6B, - 0x6D,0x6F,0x72,0x77,0x78,0x7D,0x81,0x85,0x89,0x8D, - 0x90,0x93,0x98,0x9A,0x9A,0x9A,0x99,0x97,0x95,0x91, - 0x8E,0x8A,0x89,0x81,0x80,0x7C,0x78,0x7B,0x76,0x74, - 0x73,0x70,0x6E,0x6F,0x6C,0x6E,0x6E,0x71,0x74,0x76, - 0x79,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample14[451]={ - 0x96,0x9E,0x00,0xEE,0x78,0xFF,0xFF,0xFF,0x00,0xFF, - 0x7E,0xF6,0xD2,0x16,0x78,0xA0,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08, - 0x5A,0x64,0xA6,0xAA,0xE6,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFC,0xD6,0xAE,0x7C,0x4C,0x1A,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x0C,0x3A,0x5C,0x82,0xAE,0xE8,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xE4,0xDE,0xBE,0xA6,0x70,0x5E,0x36,0x12,0x04, - 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x0E, - 0x28,0x2C,0x46,0x66,0x76,0x7C,0x72,0x82,0x9A,0xAA, - 0xAA,0xB4,0xCA,0xDA,0xEC,0xF4,0xF8,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFE,0xF8,0xD6,0xD8,0xD4,0xC8,0xB6, - 0xBA,0xA2,0x8C,0x8C,0x76,0x62,0x5E,0x56,0x38,0x24, - 0x20,0x20,0x0E,0x02,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02, - 0x06,0x0C,0x1C,0x1E,0x2E,0x3E,0x4A,0x5A,0x5E,0x74, - 0x82,0x8C,0xA0,0xAA,0xB8,0xBA,0xBE,0xC8,0xD2,0xD0, - 0xF6,0xE6,0xEE,0xFC,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFA,0xFF,0xFA,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFE,0xFF,0xF8,0xEC,0xFF,0xF0,0xF4,0xCE, - 0xD4,0xCA,0xCC,0xCE,0xBA,0xAA,0xB4,0x9E,0xAA,0x7A, - 0xBC,0x96,0xAC,0x9A,0x6E,0x84,0x80,0x72,0x6C,0x6A, - 0x72,0x6C,0x5A,0x58,0x68,0x4A,0x46,0x52,0x3A,0x3A, - 0x36,0x3E,0x36,0x30,0x24,0x24,0x0C,0x1E,0x02,0x16, - 0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x02,0x1A,0x16,0x22,0x28, - 0x38,0x52,0x5E,0x66,0x7E,0x7E,0x92,0x8E,0xA6,0xA2, - 0xAE,0xB0,0xBE,0xC0,0xC8,0xBC,0xCC,0xC6,0xC6,0xC8, - 0xCA,0xD0,0xC8,0xD6,0xC6,0xC6,0xD0,0xCE,0xD0,0xCE, - 0xCA,0xCE,0xCA,0xBC,0xC8,0xC4,0xC4,0xC4,0xBA,0xBC, - 0xB0,0xA6,0xBE,0xAE,0xC2,0x9A,0xB4,0x98,0x88,0xA0, - 0xA0,0xA2,0x9A,0x90,0xA6,0x9A,0x98,0x7E,0x80,0x8C, - 0x90,0x7E,0x86,0x84,0x78,0x6C,0x6A,0x6A,0x64,0x78, - 0x84,0x5C,0x82,0x72,0x7A,0x62,0x84,0x80,0x94,0x96, - 0x8E,0x96,0x94,0x92,0xAE,0x90,0xB0,0x92,0xB6,0xA2, - 0x9C,0x88,0x96,0x86,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,}; -static ymu8 sample15[1795]={ - 0x80,0x80,0x7A,0x80,0x7C,0xD4,0xFF,0xCE,0x44,0x00, - 0x00,0x00,0x7C,0x0A,0xFF,0xDE,0xDE,0xFF,0xFF,0xA4, - 0x82,0xDE,0xCE,0x08,0x72,0x00,0x94,0x98,0x00,0x00, - 0x12,0x00,0x42,0x2A,0x5E,0x38,0x9A,0xEE,0x5E,0x72, - 0xE6,0xFF,0xFF,0xFF,0xFF,0xEE,0x7A,0x0E,0x00,0x00, - 0x00,0x3A,0x1A,0x00,0x12,0x10,0x46,0xE6,0xE8,0xFF, - 0xF0,0xFF,0xFF,0xF6,0x94,0xAA,0x68,0x32,0x00,0x00, - 0x4E,0x6C,0x32,0x7E,0xB2,0x72,0x5C,0x10,0x00,0x22, - 0x86,0xB8,0xFF,0x96,0xFF,0xFF,0x58,0xDE,0xFA,0xFF, - 0xFF,0x88,0x1C,0x00,0x00,0x00,0xA6,0x44,0x16,0x14, - 0x8A,0x3C,0xA4,0x62,0xFF,0xFF,0xFF,0xFF,0xB0,0x68, - 0x52,0x7A,0x6C,0x9C,0x4E,0xB6,0x94,0x3C,0x00,0x00, - 0x00,0x04,0x74,0xC6,0xBA,0x6C,0x44,0x4A,0xC2,0xF2, - 0xFF,0xD6,0xFF,0xF6,0xD8,0xFF,0xB2,0x80,0x48,0x00, - 0x00,0x00,0x00,0x00,0x0E,0x82,0xF8,0xD6,0xB2,0xCE, - 0x5E,0x9E,0xFE,0xFF,0xCA,0xC6,0x9C,0x7C,0x5A,0x62, - 0x04,0x00,0x6C,0x78,0x9A,0x80,0x44,0x12,0x3A,0x06, - 0x50,0x4C,0x7C,0xC0,0xEC,0xC4,0x76,0xFF,0xFF,0xFF, - 0xEA,0xB8,0x76,0x44,0x76,0x2C,0x42,0x00,0x1E,0x00, - 0x0E,0x4C,0x84,0x72,0x34,0x88,0xBA,0xFA,0xF2,0xFF, - 0xF6,0xAE,0xD6,0xB4,0x72,0x68,0x72,0x0A,0x32,0x94, - 0x90,0x54,0x5A,0x00,0x14,0x0E,0x3E,0x76,0x94,0x84, - 0x9A,0x9E,0xA4,0xE6,0xA4,0xEC,0xDE,0xFF,0xFF,0xA0, - 0xA6,0x3A,0x24,0x14,0x00,0x00,0x00,0x18,0x3C,0x82, - 0xCC,0xD4,0xD0,0xA8,0xA8,0xB8,0xD6,0xDC,0x90,0x86, - 0x84,0x58,0x4E,0x54,0x9A,0x9E,0x8A,0xAE,0x52,0x26, - 0x58,0x36,0x24,0x12,0x0A,0x66,0xAE,0xF2,0xD8,0xFF, - 0xD8,0x96,0x92,0x3C,0x7E,0xAE,0x88,0x8A,0x7E,0x82, - 0x94,0x22,0x28,0x18,0x04,0x22,0x18,0x92,0x60,0xA6, - 0xA6,0x9C,0xAA,0xFF,0xF0,0xE4,0xE0,0x7A,0x96,0x84, - 0x52,0x1A,0x00,0x00,0x32,0x06,0x82,0xA2,0x8C,0x52, - 0x9A,0x72,0x9E,0xA6,0xE6,0xE2,0xE8,0x60,0x72,0x90, - 0x7A,0x92,0x80,0x78,0xAE,0xC0,0x7C,0x5E,0x1A,0x00, - 0x0E,0x26,0x18,0x58,0x94,0xD4,0xFF,0xFF,0xFE,0xDE, - 0x1C,0x30,0x4C,0xD0,0x92,0x90,0x14,0x40,0x70,0xFF, - 0xBC,0x9A,0x6E,0x32,0x56,0x44,0x1C,0x6E,0x8E,0x96, - 0x98,0x62,0x3A,0xA4,0x84,0xD6,0xD8,0x8E,0xC0,0xE2, - 0xCA,0xE2,0x6E,0x38,0x12,0x00,0x52,0x52,0x5A,0x12, - 0x3A,0x86,0x8C,0x92,0x7A,0xA4,0x82,0xD2,0xC0,0x80, - 0x98,0xD8,0xD8,0x78,0x78,0xAA,0x86,0x2E,0x54,0x4A, - 0x32,0x0C,0x72,0x62,0x22,0x58,0x62,0xBC,0xE0,0xB4, - 0x86,0xC2,0xD8,0xF0,0xFF,0xC4,0xB2,0xA4,0x84,0x08, - 0x00,0x00,0x00,0x08,0x50,0x5E,0xDE,0xFF,0xE2,0xA0, - 0x90,0x9A,0x80,0xB0,0xAC,0x9E,0xBA,0xD4,0x4A,0x24, - 0x00,0x00,0x36,0x9E,0xBC,0xB4,0xA8,0xAA,0x82,0x00, - 0x0C,0xA4,0xB2,0x8A,0x90,0x80,0x60,0x54,0xB4,0xEE, - 0xFC,0xA2,0x76,0x8A,0x6A,0xCE,0x76,0x3E,0x00,0x00, - 0x00,0x34,0x86,0xDC,0xFF,0xEE,0xDA,0xE6,0x4C,0x44, - 0xE0,0xB8,0xFF,0xBC,0x56,0x38,0x3C,0x40,0x26,0x32, - 0x00,0x00,0x34,0x1E,0x4A,0x84,0xB6,0xFF,0xFC,0xEE, - 0xE6,0xD0,0x84,0x80,0xCE,0xBA,0xAA,0xAA,0x5C,0x4E, - 0x32,0x00,0x10,0x00,0x2C,0x52,0x54,0x86,0x5E,0x8A, - 0xA2,0xFF,0xFF,0xBC,0xBE,0xE6,0x74,0xAE,0x94,0xBA, - 0x56,0x00,0x36,0x72,0x56,0x3E,0x30,0x3A,0x78,0xBA, - 0xC6,0x56,0x7A,0xC0,0x62,0x74,0xE4,0xC2,0xC8,0x80, - 0x44,0x7C,0xFF,0xFF,0x6C,0x4E,0x00,0x28,0x0C,0x00, - 0x1C,0x8E,0xB0,0xFF,0xF0,0x4C,0x7A,0xA0,0xB4,0xA6, - 0x70,0xAC,0x9A,0xA6,0x88,0x6E,0x2E,0x42,0x06,0x00, - 0x1C,0x7C,0xC6,0xCE,0xDA,0x82,0x56,0x76,0x9E,0xAE, - 0xAE,0xFF,0xFE,0x80,0x5C,0x2E,0x42,0x9E,0x82,0x38, - 0x00,0x04,0x62,0x62,0x74,0x58,0x80,0x50,0xA8,0x96, - 0xEE,0xFF,0xFF,0xE6,0x88,0x48,0x38,0x40,0x62,0x1E, - 0x2C,0x58,0x5A,0x48,0x52,0x26,0x80,0x7A,0x76,0x6E, - 0xEE,0xFF,0xD0,0xC6,0x7A,0xD6,0xE0,0xC2,0xAA,0x58, - 0x1A,0x68,0x5C,0x20,0x3A,0x46,0x26,0x30,0x26,0x3A, - 0x52,0x9A,0x9A,0xA8,0xFF,0xFF,0xFF,0xFF,0xB8,0x56, - 0x66,0x60,0x26,0x02,0x00,0x00,0x0A,0x4A,0x9E,0x4E, - 0x6C,0x90,0xB2,0xCC,0xC4,0x8A,0xB2,0xA6,0xB8,0xCC, - 0xCA,0x66,0x72,0x86,0x4E,0x12,0x4C,0x70,0x34,0x34, - 0x8A,0xC2,0xE0,0xD6,0x1E,0x00,0x2A,0x82,0xB6,0xE2, - 0xFF,0xFF,0xD4,0x6A,0x2A,0x6E,0x7A,0x6A,0x5E,0x1A, - 0x00,0x0A,0x72,0x96,0xA8,0xDC,0xD8,0xA0,0x84,0x76, - 0x9E,0x7E,0x70,0x62,0x9A,0xB6,0x8A,0x76,0x32,0x66, - 0x42,0x60,0x72,0x6E,0x6C,0xA0,0xA0,0xAC,0xB2,0x86, - 0x8A,0x5C,0x7C,0x5C,0x70,0x88,0xA0,0xB4,0xA0,0x86, - 0x84,0x6C,0x72,0x5C,0x2C,0x54,0x56,0x6A,0x7C,0x80, - 0x84,0x98,0xC0,0xBC,0xA2,0x86,0xA6,0x82,0x72,0x64, - 0x40,0x80,0x6E,0x4C,0x6E,0x8E,0x9A,0xA8,0x72,0x5A, - 0x6C,0x9C,0xA0,0x86,0x68,0x60,0x74,0x7C,0x90,0xAA, - 0x78,0x50,0x54,0x60,0xAC,0xE0,0xA2,0x96,0x5A,0x56, - 0x58,0x92,0x82,0x3A,0x44,0x76,0x90,0xAE,0xA4,0xC4, - 0x90,0x8A,0x6A,0x46,0x46,0x54,0x8A,0x9A,0x8C,0x80, - 0x5C,0x6E,0x78,0x80,0xA8,0xB6,0xAA,0x9E,0x62,0x5C, - 0x46,0x6C,0x58,0x84,0x74,0x64,0x8A,0x92,0xAA,0x7A, - 0xA0,0xBC,0x54,0x44,0x84,0xA0,0xD2,0x8A,0x16,0x2C, - 0x84,0xBE,0x8C,0x88,0x7C,0x6E,0x8C,0xA2,0xA4,0x6A, - 0x46,0x4A,0x56,0x54,0x8A,0xA4,0xC2,0x9E,0x7C,0x7E, - 0x9C,0xB2,0xA8,0x86,0x6C,0x68,0x7A,0x62,0x4C,0x44, - 0x36,0x4C,0x6E,0xAC,0xA0,0xBA,0xB6,0x9A,0x88,0x86, - 0x88,0x8E,0x52,0x6A,0x74,0x6A,0x7A,0x7E,0x9C,0x88, - 0x4C,0x50,0x86,0xA2,0xC0,0x7C,0x62,0x4C,0x40,0x80, - 0xA2,0x84,0x5C,0x82,0x9A,0x7A,0xAC,0xAA,0x84,0x7A, - 0x9A,0x98,0x7E,0x60,0x52,0x70,0x58,0x4A,0x52,0x6C, - 0x94,0xA2,0x9C,0xB2,0xAE,0xA8,0x98,0x72,0x64,0x50, - 0x68,0x8C,0x8C,0x6E,0x64,0x70,0x82,0x8E,0x74,0x6E, - 0x80,0x6C,0x80,0x82,0x94,0xA2,0x60,0x4C,0x58,0x70, - 0x9A,0x8E,0x92,0x8C,0x86,0xA0,0xAA,0x9E,0x8E,0x58, - 0x44,0x36,0x50,0x52,0x7A,0x94,0x7E,0x9C,0x9E,0xB8, - 0x96,0x8A,0x5C,0x60,0x86,0x9A,0x94,0x8A,0x70,0x48, - 0x58,0x62,0x64,0x8A,0x9E,0x98,0xA8,0x94,0x90,0x6A, - 0x62,0x54,0x5E,0x90,0xAE,0x8E,0x6A,0x7E,0x82,0x6C, - 0x68,0x8E,0x92,0x88,0x6C,0x76,0x88,0x64,0x7C,0x70, - 0x80,0x66,0x8C,0x80,0x76,0x90,0x94,0x98,0x8C,0x76, - 0x76,0x68,0x68,0x6C,0x82,0x92,0x72,0x8A,0x7C,0x72, - 0x6C,0x48,0x7E,0xAA,0xAE,0xAC,0x86,0x80,0x64,0x5E, - 0x6A,0x88,0x70,0x72,0x94,0xAA,0xAA,0x8C,0x70,0x5E, - 0x5A,0x6C,0x70,0x84,0x90,0x7A,0x7C,0x60,0x6C,0x80, - 0x8A,0x7A,0x8A,0x92,0x96,0x90,0x8A,0x80,0x74,0x6E, - 0x60,0x66,0x7C,0x80,0x82,0x70,0x70,0x5C,0x7C,0x98, - 0x90,0x94,0x8A,0x8C,0x84,0x88,0x80,0x6C,0x58,0x7A, - 0x7E,0x78,0x86,0x90,0xA2,0xA2,0x96,0x7E,0x50,0x44, - 0x54,0x62,0x72,0x96,0xB2,0x94,0x92,0x68,0x60,0x84, - 0x88,0x90,0x94,0x7C,0x82,0x82,0x76,0x6A,0x6E,0x82, - 0x84,0x80,0x6C,0x74,0x6E,0x76,0x76,0x86,0x84,0x86, - 0x7C,0x7A,0x76,0x88,0x9C,0x76,0x8A,0x88,0x8E,0x8A, - 0x80,0x86,0x88,0x5E,0x50,0x40,0x6C,0x96,0x9E,0x94, - 0x7E,0x7A,0x86,0x7A,0x80,0x76,0x88,0x90,0x78,0x78, - 0x6C,0x80,0x8A,0x98,0x74,0x7C,0x72,0x60,0x8A,0x90, - 0x6C,0x70,0x78,0x78,0x92,0x92,0x7E,0x74,0x8A,0x84, - 0x6C,0x74,0x7E,0x7A,0x88,0x82,0x86,0x78,0x7C,0x80, - 0x72,0x80,0x82,0x76,0x7C,0x68,0x62,0x64,0x8C,0x9C, - 0x90,0xA0,0x92,0x72,0x6C,0x6C,0x7E,0x92,0x7A,0x76, - 0x68,0x74,0x8C,0x90,0x72,0x5C,0x74,0x94,0x9E,0x8E, - 0x7A,0x90,0x80,0x68,0x72,0x7E,0x7E,0x7C,0x74,0x68, - 0x76,0x7C,0x80,0x94,0x8C,0x98,0x8C,0x84,0x5E,0x60, - 0x7E,0x80,0x64,0x7A,0x90,0x8E,0x80,0x78,0x76,0x70, - 0x76,0x76,0x7C,0x94,0x82,0x7C,0x76,0x7C,0x68,0x80, - 0x72,0x80,0x7E,0x7A,0x8A,0x84,0x86,0x96,0x94,0x7E, - 0x62,0x62,0x70,0x80,0x76,0x86,0x70,0x80,0x88,0x6C, - 0x84,0x80,0x84,0x8A,0x86,0x8A,0x80,0x8E,0x80,0x76, - 0x6E,0x70,0x7A,0x7A,0x78,0x7E,0x7E,0x84,0x7A,0x84, - 0x92,0x7C,0x7A,0x80,0x86,0x76,0x7A,0x72,0x72,0x78, - 0x7E,0x80,0x7C,0x74,0x72,0x84,0x94,0x8E,0x88,0x78, - 0x64,0x72,0x7A,0x72,0x7A,0x80,0x7A,0x7A,0x7E,0x80, - 0x84,0xA0,0x8C,0x82,0x7C,0x78,0x78,0x78,0x7E,0x76, - 0x76,0x72,0x8E,0x8A,0x84,0x82,0x7C,0x7C,0x72,0x76, - 0x80,0x78,0x84,0x86,0x86,0x82,0x86,0x88,0x8C,0x82, - 0x6C,0x68,0x76,0x70,0x76,0x80,0x98,0x8A,0x80,0x6E, - 0x68,0x7A,0x82,0x82,0x84,0x80,0x8A,0x88,0x76,0x74, - 0x76,0x86,0x88,0x7E,0x7C,0x76,0x80,0x90,0x7A,0x74, - 0x6E,0x78,0x84,0x86,0x8E,0x88,0x82,0x78,0x80,0x82, - 0x7C,0x80,0x82,0x78,0x7A,0x80,0x80,0x82,0x7C,0x76, - 0x7C,0x78,0x80,0x88,0x82,0x8A,0x8A,0x84,0x72,0x6C, - 0x6C,0x6E,0x72,0x84,0x9A,0x90,0x88,0x82,0x70,0x66, - 0x68,0x82,0x84,0x80,0x80,0x7E,0x80,0x82,0x80,0x80, - 0x84,0x78,0x78,0x7C,0x84,0x88,0x7A,0x7A,0x7A,0x7E, - 0x7E,0x8A,0x86,0x82,0x78,0x80,0x84,0x74,0x72,0x78, - 0x86,0x8C,0x82,0x7C,0x84,0x82,0x7A,0x70,0x72,0x88, - 0x88,0x86,0x76,0x6E,0x78,0x90,0x80,0x70,0x78,0x74, - 0x84,0x7C,0x80,0x82,0x78,0x7E,0x82,0x82,0x7A,0x7E, - 0x80,0x80,0x78,0x7E,0x78,0x76,0x84,0x7E,0x78,0x7A, - 0x82,0x82,0x80,0x8A,0x84,0x82,0x84,0x7A,0x78,0x78, - 0x78,0x7E,0x86,0x82,0x7A,0x7E,0x7E,0x78,0x78,0x7C, - 0x82,0x86,0x80,0x80,0x80,0x84,0x80,0x76,0x7A,0x74, - 0x7A,0x7C,0x82,0x88,0x82,0x7A,0x7A,0x76,0x7A,0x7E, - 0x80,0x86,0x7C,0x78,0x74,0x84,0x82,0x7E,0x7C,0x7A, - 0x7E,0x78,0x7C,0x88,0x8E,0x82,0x7A,0x7A,0x7A,0x74, - 0x7C,0x84,0x84,0x7C,0x80,0x80,0x78,0x72,0x78,0x88, - 0x88,0x84,0x82,0x76,0x72,0x7A,0x82,0x84,0x94,0x88, - 0x76,0x6E,0x68,0x74,0x84,0x8A,0x82,0x80,0x7A,0x72, - 0x78,0x80,0x84,0x7C,0x88,0x82,0x7E,0x76,0x74,0x7A, - 0x7E,0x7E,0x80,0x80,0x7E,0x82,0x82,0x80,0x7A,0x78, - 0x80,0x78,0x7C,0x80,0x86,0x82,0x82,0x7E,0x7C,0x86, - 0x7C,0x7C,0x7A,0x82,0x88,0x7E,0x7A,0x70,0x76,0x7E, - 0x84,0x84,0x7E,0x82,0x7E,0x80,0x76,0x7A,0x78,0x82, - 0x86,0x7C,0x7C,0x80,0x82,0x7C,0x7A,0x7C,0x74,0x7C, - 0x86,0x82,0x7E,0x7C,0x7E,0x7E,0x7C,0x86,0x80,0x84, - 0x84,0x7E,0x7C,0x7E,0x7C,0x7A,0x7C,0x7E,0x7C,0x82, - 0x82,0x7E,0x7A,0x7C,0x7E,0x80,0x7E,0x7A,0x7E,0x7C, - 0x80,0x86,0x7C,0x74,0x7E,0x7E,0x7E,0x84,0x80,0x7E, - 0x7C,0x74,0x78,0x7E,0x86,0x82,0x7A,0x76,0x7A,0x84, - 0x7C,0x80,0x84,0x84,0x82,0x78,0x78,0x7A,0x84,0x84, - 0x76,0x7E,0x78,0x7E,0x80,0x80,0x7C,0x7E,0x78,0x7E, - 0x7C,0x78,0x82,0x88,0x80,0x7A,0x72,0x7A,0x80,0x7E, - 0x86,0x82,0x84,0x82,0x78,0x78,0x78,0x72,0x7A,0x8A, - 0x86,0x7E,0x7C,0x7A,0x7C,0x7C,0x82,0x84,0x82,0x80, - 0x74,0x76,0x7A,0x82,0x80,0x7E,0x80,0x7C,0x7E,0x82, - 0x80,0x80,0x7E,0x80,0x7C,0x7C,0x7E,0x7C,0x80,0x84, - 0x80,0x7E,0x7A,0x7C,0x78,0x7A,0x84,0x84,0x80,0x80, - 0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample16[271]={ - 0x6A,0x1E,0x20,0x00,0x00,0x14,0x5A,0x9A,0xAA,0xBC, - 0xFF,0xFF,0xFF,0xFF,0xFE,0xBE,0xFF,0xFF,0x00,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0x9A,0x34,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x38,0x6C,0xB8,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xDA,0xA2,0x40,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x42,0x6C,0xA6, - 0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xE4,0xC4,0xBE,0xC4,0x9E,0x92,0x86, - 0x74,0x64,0x4E,0x2C,0x18,0x1A,0x06,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x10,0x0C,0x24,0x40,0x42,0x54,0x54,0x5C, - 0x70,0x76,0x86,0x88,0x92,0x98,0x96,0x98,0xA6,0xC4, - 0xB4,0xC2,0xBC,0xB6,0xD0,0xCA,0xBE,0xB6,0xC4,0xB6, - 0xAE,0xAA,0xB6,0xAC,0x9E,0x94,0x8E,0x96,0x8E,0x8E, - 0x8E,0x8A,0x94,0x8A,0x94,0x94,0x9A,0xA2,0x9E,0xAC, - 0xA4,0xB2,0xB8,0xBC,0xBE,0xCC,0xCC,0xDE,0xCC,0xD2, - 0xDE,0xDC,0xDC,0xCC,0xD6,0xEE,0xE2,0xDA,0xD8,0xDA, - 0xC8,0xC8,0xB8,0xC4,0xBC,0xA6,0x9E,0x94,0x8E,0x86, - 0x82,0x6C,0x70,0x66,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,}; -static ymu8 sample17[633]={ - 0x34,0x14,0x92,0xCE,0xFF,0xFF,0xCC,0xFF,0x00,0xFF, - 0xFF,0xFF,0xF0,0x00,0x56,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x32,0x00,0x20,0x60,0x7C,0xD0,0xEE, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCE, - 0x94,0x02,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0xD8,0xB0,0xE6,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0x8A,0x82,0x58,0x10,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x2A,0x50,0xA2,0x66,0xFF, - 0xFF,0xB2,0xFF,0xE4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xEC,0xFF,0xB2,0x96,0x36,0x1A,0x12,0x00,0x0E, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5E, - 0x00,0xE2,0x3C,0xFF,0xFF,0xFF,0xC8,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xD2,0xF4,0x64,0x64,0x9E,0x06, - 0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42, - 0x00,0x5E,0x0A,0xFF,0xAC,0xFF,0xFF,0xFF,0xF6,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xCE,0xFF,0xF4,0xAA,0x8C, - 0x70,0x48,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x76,0x00,0x00,0x6E,0x70,0xC6,0xFF,0xFF, - 0xFF,0xAC,0xB8,0xFF,0xFF,0xFF,0xFF,0x42,0x70,0xFF, - 0xAE,0x00,0x78,0x86,0x00,0x00,0xA6,0x20,0x98,0x00, - 0x00,0xFF,0x24,0x00,0x12,0x00,0xA4,0x24,0x00,0x48, - 0xEA,0xF8,0xB6,0xC4,0xFF,0xFF,0xF4,0xC8,0xFF,0x8A, - 0xB6,0x8C,0xA8,0x6A,0xA2,0xA8,0x94,0xA0,0x54,0x72, - 0xF6,0x00,0x00,0xB0,0x6C,0x00,0x00,0x34,0x76,0x0E, - 0xE4,0x3C,0xC8,0x72,0x74,0xF4,0x3C,0x42,0xFF,0x84, - 0x90,0x8E,0xEC,0x84,0xE6,0xAC,0x48,0x78,0xFF,0x10, - 0x82,0xFA,0x58,0xC2,0xF2,0x82,0x1A,0x00,0x88,0xF6, - 0xEE,0xA4,0x64,0x38,0x44,0x3E,0xB6,0x2C,0x20,0x94, - 0x2E,0x12,0x82,0xA4,0x2C,0x5E,0xD2,0xF0,0x26,0x82, - 0xFF,0xB6,0xA2,0xB0,0x50,0xFF,0xFF,0x90,0xFF,0x94, - 0x38,0x74,0x82,0x32,0x70,0xE8,0x82,0x9E,0x2A,0x00, - 0x34,0x32,0x4C,0x48,0x40,0x30,0x14,0x70,0x86,0xBA, - 0x18,0x74,0xFF,0x74,0x14,0xF0,0x60,0x5E,0xB0,0x9C, - 0xC6,0xFF,0xDC,0x84,0xC0,0x94,0xB8,0x6E,0xA6,0xC8, - 0x8A,0x94,0x94,0xFF,0x32,0x78,0x36,0x80,0x2A,0x52, - 0x10,0x48,0x3A,0x00,0x5C,0x78,0x84,0x74,0x78,0x62, - 0x40,0xBE,0xC8,0xCE,0xFF,0x8E,0xC2,0xB0,0x8E,0xFF, - 0x54,0x6A,0xD2,0xFF,0xA0,0x32,0x38,0xBE,0x4A,0x14, - 0x2A,0x2A,0x74,0x3C,0x66,0x00,0x00,0x0C,0x4A,0x82, - 0x52,0x84,0xC8,0xC2,0x80,0xA2,0xBA,0x9E,0xF4,0xCC, - 0x90,0xD2,0xBC,0xE8,0xD8,0xC8,0xB0,0x32,0x98,0x6A, - 0x0A,0x88,0x78,0x52,0x66,0x00,0x46,0x6E,0x0A,0x5A, - 0x2A,0x60,0x70,0x64,0x2C,0xBA,0x6E,0x56,0xA6,0x9C, - 0x96,0xA8,0x9C,0x76,0x9C,0xD2,0x24,0xB8,0x90,0xBA, - 0x50,0xDA,0x84,0x94,0x6E,0x64,0xF4,0x78,0x5C,0x90, - 0x90,0x44,0x70,0x66,0x20,0x40,0xC2,0x14,0x38,0x94, - 0x5C,0xB6,0x4A,0x7C,0x78,0x42,0x40,0x5C,0xBC,0x72, - 0x8C,0xF4,0x74,0xB6,0x98,0x94,0xD0,0xA0,0x78,0xEA, - 0x84,0xF8,0x76,0x5C,0xB0,0x92,0x7E,0x5A,0x58,0xA8, - 0x6C,0x24,0x0C,0x52,0x40,0x74,0x8C,0x20,0x00,0x44, - 0x46,0x92,0x44,0x90,0x96,0x3C,0xDC,0xA8,0x62,0xC2, - 0xBC,0xDC,0xD0,0xB8,0xA4,0xA0,0xBE,0xE6,0x9A,0x42, - 0x2C,0x54,0xA2,0xAA,0xB0,0x7A,0x00,0x88,0x74,0x32, - 0x22,0x94,0x1A,0x46,0x56,0x9A,0x8A,0x00,0x7E,0x76, - 0x7A,0x56,0x6C,0x9C,0xE2,0x4C,0xD8,0xC8,0x84,0xC0, - 0xD2,0x9A,0xF2,0xAC,0xCA,0x9C,0x80,0xC6,0xC8,0x18, - 0x7E,0x82,0x34,0x62,0x4E,0x5E,0x38,0x7A,0x8E,0x3A, - 0x4C,0x2E,0x36,0x78,0x54,0x24,0x5C,0x46,0x80,0x96, - 0x54,0x8A,0xA2,0xC0,0xE6,0x9E,0xA0,0xEE,0xE0,0xE2, - 0x8E,0xFF,0x6E,0xE0,0x70,0x82,0xBC,0x40,0x70,0x3C, - 0x90,0x06,0x34,0x7A,0x4A,0x52,0x38,0x48,0x76,0x48, - 0x70,0x00,0x50,0x7E,0x8C,0x6E,0x80,0x80,0x80,0x80, - 0x80,0x80,0x80,}; -static ymu8 sample18[1379]={ - 0xF4,0xFF,0xFF,0xFF,0xFF,0xEA,0x00,0x4A,0x00,0x00, - 0x00,0x84,0x00,0xB4,0xA6,0xD8,0xFF,0xEA,0x82,0x0C, - 0x00,0x00,0x00,0x00,0x00,0x00,0x2E,0x74,0x44,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14, - 0x10,0xAA,0xF4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xEC,0xD2,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x14,0x82,0xE8,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xBA,0x9E,0x3A,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xBC,0x2E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x40,0x50,0xB0,0xE2,0xBC,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x5C,0x14, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A, - 0x52,0xB6,0xD6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xD2,0x82,0x20,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x64,0xBA,0xF6, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB8, - 0xD4,0x78,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x32,0x22,0x36,0xD2,0xBC,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE2,0x7E,0x20, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x42,0x7A,0xD0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xD6,0xEA,0x50,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x84,0x8A, - 0xC6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF4, - 0xC8,0xC0,0x94,0x36,0x04,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x04,0x26,0x7C,0x98,0xC2, - 0xFF,0xFF,0xFF,0xE8,0xF4,0xA4,0xC2,0xAC,0xB0,0x94, - 0xE4,0x82,0xB4,0xA4,0x98,0x72,0x86,0x60,0x46,0x64, - 0x2C,0x00,0x0A,0x00,0x00,0x0C,0x24,0x00,0x42,0x5E, - 0x9A,0xAA,0xC0,0xFF,0xC0,0xF6,0xA0,0xC4,0xAA,0xA4, - 0x98,0xB8,0xB8,0xDE,0xDE,0xAC,0x8E,0x96,0x58,0x4A, - 0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A, - 0x64,0xB0,0xCE,0xD8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xF2,0xE6,0xC2,0x7C,0x74,0x52,0x24,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x3A, - 0x92,0xBA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xCE,0xBC,0x6C,0x4C,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x48,0x42, - 0x84,0xB2,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF2, - 0xF8,0xC6,0xCC,0xA6,0x5A,0x44,0x3C,0x18,0x0E,0x10, - 0x00,0x00,0x00,0x00,0x0C,0x1C,0x38,0x56,0x64,0x40, - 0x6C,0x4A,0x72,0x62,0x96,0xBC,0xC8,0xDA,0xAE,0xB6, - 0x98,0xA6,0xA8,0xBC,0x94,0xA4,0xBE,0xBC,0xA2,0xA0, - 0x7A,0x32,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x08,0x00,0x36,0x46,0x92,0x7C,0xB4,0xB4,0xD2,0xF4, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE2,0xF8,0xDC,0x96, - 0x8C,0x76,0x24,0x30,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x02,0x0E,0x2C,0x38,0x58,0x80,0xA4,0xD6,0xDE, - 0xFF,0xE0,0xFF,0xFF,0xFF,0xFC,0xDC,0xBA,0x80,0x94, - 0x12,0x46,0x30,0x28,0x2A,0x50,0x3E,0x48,0x34,0x2A, - 0x38,0x2A,0x1C,0x58,0x3A,0x38,0x44,0x56,0x4C,0x68, - 0x84,0x78,0x9A,0x8C,0xB8,0xB8,0xAA,0xB0,0xB2,0xA4, - 0xA2,0x8E,0x88,0x60,0x84,0x7A,0x78,0x8E,0x64,0x7C, - 0x46,0x34,0x44,0x32,0x34,0x36,0x38,0x6A,0x22,0x44, - 0x54,0x50,0x5A,0x50,0x3C,0x42,0x5C,0x7C,0x8A,0xB2, - 0xC8,0xD8,0xFE,0xE0,0xF0,0xE2,0xB4,0xC0,0xBC,0xA0, - 0x9E,0x6E,0x8A,0x54,0x70,0x48,0x34,0x00,0x00,0x00, - 0x00,0x00,0x00,0x10,0x34,0x5E,0x64,0xB4,0xA6,0xD8, - 0xC8,0xFF,0xD8,0xFF,0xE8,0xFF,0xDC,0xD0,0xDC,0xA4, - 0x8E,0x7C,0x7E,0x6E,0x3E,0x10,0x10,0x02,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x2E,0x3A,0x7C,0x88, - 0x9A,0xD0,0xDE,0xF8,0xFF,0xFF,0xFF,0xFF,0xDE,0xA4, - 0x8A,0x78,0x26,0x2A,0x14,0x08,0x00,0x00,0x02,0x08, - 0x20,0x04,0x48,0x56,0x8C,0xA8,0xA2,0xB6,0xF2,0xF0, - 0xF2,0xE2,0xFF,0xEA,0xEE,0xAC,0x98,0x6A,0x32,0x0C, - 0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x66,0x74,0xB4, - 0xAA,0xEA,0xD6,0xB2,0xCC,0xB2,0xB2,0xB0,0xA2,0xC2, - 0xD4,0xCE,0xDC,0xDA,0x9A,0x90,0x66,0x2E,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x5E,0x88,0xA0, - 0xE0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xEE,0xBE, - 0x7A,0x76,0x18,0x08,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x32,0x4C,0x84,0xA8,0xC8,0xDA,0xFF,0xFA, - 0xFF,0xEC,0xEC,0xB8,0xDE,0xA2,0x8A,0x80,0x54,0x28, - 0x28,0x04,0x00,0x00,0x00,0x00,0x00,0x3E,0x4A,0x72, - 0x90,0xB8,0xBE,0xF0,0xD8,0xFF,0xFE,0xFF,0xFF,0xFF, - 0xC8,0x96,0x7E,0x62,0x30,0x10,0x06,0x00,0x00,0x00, - 0x00,0x00,0x00,0x16,0x3C,0x56,0x88,0x96,0xD4,0xDE, - 0xD8,0xFF,0xFF,0xFF,0xF4,0xD2,0xD0,0xA0,0x74,0x58, - 0x28,0x28,0x0C,0x08,0x00,0x00,0x00,0x00,0x28,0x0C, - 0x32,0x2E,0x4E,0xA0,0x8A,0x8A,0xC6,0x8A,0xB6,0x8C, - 0xA4,0x8C,0xB4,0x6E,0xA0,0x62,0x94,0x72,0x5A,0x40, - 0x2C,0x6C,0x0E,0x4C,0x2A,0x60,0x5C,0x66,0x72,0xB0, - 0x92,0x8A,0xBC,0x86,0xA6,0x76,0x8A,0x6C,0x86,0x86, - 0x9A,0xA4,0x9A,0xAE,0xA2,0x76,0x92,0x66,0x4E,0x02, - 0x24,0x24,0x32,0x26,0x66,0x74,0x82,0x94,0xA4,0xE6, - 0xC6,0xEA,0xA4,0x94,0x6E,0x50,0x5C,0x42,0x1C,0x4C, - 0x1C,0x42,0x54,0x54,0x64,0x56,0x6E,0x6A,0x8E,0x80, - 0xA0,0x96,0xC2,0xB0,0xE2,0xDA,0xBA,0x98,0xB0,0x7E, - 0x66,0x64,0x4C,0x28,0x30,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x16,0x36,0x64,0x64,0x94,0xBA,0xD0,0xEE, - 0xDC,0xE2,0xFF,0xEE,0xCC,0xF0,0xB8,0x94,0x86,0x56, - 0x4E,0x1A,0x04,0x0E,0x00,0x00,0x00,0x08,0x00,0x02, - 0x5E,0x5E,0x82,0x90,0xB2,0xD6,0xF6,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFA,0xD6,0x9C,0xA4,0x4C,0x44,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x6C,0x90, - 0xA6,0xD4,0xF2,0xFF,0xFF,0xFF,0xFF,0xE8,0xF0,0x9E, - 0x9A,0x76,0x44,0x32,0x1C,0x0C,0x04,0x0C,0x10,0x16, - 0x42,0x3C,0x6E,0x64,0x86,0x74,0x9A,0x68,0x78,0x74, - 0x82,0x94,0x98,0x94,0x8E,0xB8,0x92,0x8C,0x7E,0x58, - 0x60,0x48,0x2E,0x42,0x2A,0x32,0x22,0x44,0x3A,0x58, - 0x5A,0x6C,0x6A,0x90,0x98,0xB2,0xBA,0xD4,0xCE,0xCA, - 0xB8,0xA2,0xBA,0xA2,0x9A,0x8E,0x66,0x68,0x2A,0x2A, - 0x12,0x0C,0x10,0x22,0x2C,0x42,0x52,0x72,0x72,0x88, - 0xAE,0xA4,0xC4,0xC6,0xCA,0xC6,0xC6,0xAE,0xA4,0xA2, - 0x8E,0x78,0x70,0x42,0x5A,0x34,0x36,0x32,0x28,0x38, - 0x2C,0x3C,0x56,0x58,0x7C,0x7E,0x98,0x8A,0xAA,0xA0, - 0x98,0x9E,0x9E,0x8E,0x92,0x70,0x72,0x68,0x62,0x50, - 0x52,0x52,0x4E,0x48,0x4C,0x48,0x4C,0x50,0x4E,0x46, - 0x62,0x54,0x60,0x74,0x7A,0x84,0x98,0x80,0x92,0x8A, - 0x86,0x86,0x7C,0x78,0x76,0x80,0x86,0x6E,0x84,0x74, - 0x72,0x7C,0x6A,0x80,0x76,0x8E,0x7A,0x84,0x7A,0x86, - 0x7A,0x82,0x80,0x86,0x70,0x76,0x6E,0x78,0x66,0x70, - 0x64,0x6C,0x64,0x6A,0x66,0x7A,0x78,0x7E,0x82,0x84, - 0x88,0x8C,0x82,0x88,0x88,0x8A,0x88,0x8C,0x94,0x7A, - 0x92,0x72,0x76,0x66,0x5C,0x54,0x5C,0x56,0x60,0x52, - 0x5C,0x52,0x5C,0x60,0x70,0x60,0x6E,0x6E,0x76,0x7A, - 0x88,0x74,0x78,0x6A,0x66,0x62,0x6C,0x6E,0x7C,0x7C, - 0x6A,0x76,0x6E,0x6C,0x60,0x6E,0x62,0x60,0x64,0x64, - 0x64,0x6C,0x5A,0x60,0x5C,0x62,0x62,0x66,0x6E,0x68, - 0x6A,0x74,0x7A,0x84,0x88,0x8E,0x90,0x9C,0xA6,0xA0, - 0xA8,0x9E,0xA6,0x94,0x98,0x88,0x86,0x74,0x78,0x5C, - 0x62,0x52,0x52,0x4E,0x4E,0x46,0x3A,0x4E,0x4C,0x48, - 0x5A,0x5E,0x62,0x78,0x74,0x88,0x8E,0xA2,0x9C,0x98, - 0xAE,0xA2,0xAE,0xA0,0xA2,0x98,0x88,0x92,0x7E,0x76, - 0x6E,0x5C,0x60,0x4C,0x40,0x36,0x36,0x2A,0x34,0x26, - 0x3E,0x34,0x40,0x48,0x50,0x6A,0x68,0x70,0x84,0x90, - 0x94,0x92,0x9E,0xAA,0xA4,0xA4,0x90,0x92,0x7E,0x7E, - 0x72,0x6A,0x56,0x50,0x42,0x40,0x30,0x2E,0x2E,0x2E, - 0x3C,0x38,0x50,0x5E,0x6A,0x7C,0x8A,0x92,0xAE,0xB0, - 0xB2,0xBA,0xBE,0xC0,0xB8,0xB6,0xB2,0xA2,0x9A,0x94, - 0x80,0x78,0x70,0x60,0x56,0x4A,0x3E,0x3E,0x2A,0x40, - 0x3C,0x44,0x46,0x52,0x56,0x64,0x6E,0x7A,0x86,0x8C, - 0x8E,0x92,0x9E,0x96,0x9A,0x9E,0x98,0x9C,0x94,0x8E, - 0x8C,0x82,0x6E,0x6A,0x60,0x5C,0x48,0x48,0x44,0x3A, - 0x4C,0x34,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample19[147]={ - 0x8E,0x71,0x59,0x3C,0x25,0x10,0x04,0x0A,0x16,0x14, - 0x24,0x4A,0x70,0x96,0xC1,0xEA,0xFE,0xFC,0xFD,0xFC, - 0xFD,0xFC,0xFD,0xFC,0xEF,0xC1,0x89,0x53,0x25,0x07, - 0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x01,0x01,0x0C, - 0x36,0x4A,0x73,0xAA,0xE2,0xFD,0xFC,0xFD,0xFC,0xFD, - 0xFC,0xFD,0xFC,0xFC,0xFC,0xFD,0xF9,0xD6,0xAB,0x7D, - 0x58,0x44,0x18,0x02,0x01,0x01,0x01,0x01,0x01,0x01, - 0x01,0x01,0x01,0x01,0x00,0x0D,0x34,0x5E,0x89,0xB2, - 0xDC,0xF5,0xFC,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFC, - 0xFD,0xFC,0xFD,0xFC,0xFD,0xED,0xC7,0xA1,0x79,0x52, - 0x2A,0x08,0x00,0x02,0x01,0x02,0x01,0x02,0x01,0x02, - 0x02,0x02,0x02,0x02,0x01,0x01,0x14,0x36,0x5A,0x80, - 0xA5,0xC8,0xE9,0xFE,0xFC,0xFD,0xFC,0xFD,0xFC,0xFD, - 0xFC,0xFD,0xFC,0xFD,0xFC,0xFD,0xFC,0xF8,0xDD,0xC4, - 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample20[139]={ - 0x83,0x97,0x7A,0xC9,0x3D,0x49,0xC5,0x94,0x58,0x17, - 0x3F,0x8A,0xEA,0x9E,0x3A,0x27,0xB6,0x9F,0x42,0x9C, - 0x92,0x8E,0x49,0x70,0x5E,0x9B,0xA7,0x78,0x42,0x6E, - 0x9F,0x88,0x77,0x5A,0x8D,0x85,0x79,0x7D,0x7E,0x7A, - 0x69,0x84,0x89,0x84,0x41,0xDE,0x8A,0x11,0x5D,0xC6, - 0xCE,0x51,0x22,0xA3,0xB0,0x00,0xB0,0xCE,0x71,0x0F, - 0x9B,0xB2,0x34,0xAA,0x99,0x98,0x50,0x3E,0x96,0xA3, - 0x67,0x7A,0x94,0x6B,0x6A,0x95,0x8F,0x69,0x58,0x80, - 0xB1,0x83,0x53,0x80,0x8C,0x77,0x7C,0x77,0x9B,0x78, - 0x68,0x7A,0xA4,0x4D,0x5B,0x89,0x8B,0x70,0xCB,0xC1, - 0x38,0x38,0xCD,0xD6,0xA8,0x35,0x38,0xEF,0x72,0x1A, - 0x7C,0xD4,0xC1,0x51,0x2B,0xBC,0xAA,0x41,0x67,0xAB, - 0x89,0x4C,0x9B,0x90,0x63,0x66,0x83,0xA0,0x77,0x65, - 0x62,0xB6,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample21[85]={ - 0x76,0xAE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x26,0x5E,0x9A,0xCA,0xFA,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xD6,0x98,0x74,0x32,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x12,0x4A,0x86,0xB4,0xEA,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xBC,0x80,0x80, - 0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample22[150]={ - 0xAD,0x92,0x5F,0xB2,0x56,0x52,0x65,0xBD,0x80,0x84, - 0x80,0xB1,0xC2,0x9A,0x98,0x80,0x9D,0xDD,0x89,0xB8, - 0x64,0x9A,0x22,0xB1,0xB2,0x7A,0xB0,0x52,0xB9,0x9E, - 0xA5,0x52,0x68,0xC8,0x64,0xD4,0x44,0xA0,0x72,0x63, - 0x8B,0x76,0x9D,0x7E,0x82,0x79,0xB6,0x81,0x64,0xAF, - 0x90,0xA8,0x72,0xA3,0xA5,0xA1,0xA4,0x9E,0xBD,0x96, - 0xA9,0x8A,0x96,0x98,0x9A,0xB1,0x5B,0x90,0x4A,0x6C, - 0x93,0x8D,0x9D,0x83,0x9D,0x7D,0xAE,0x8D,0x89,0x88, - 0x64,0xC8,0x7E,0x88,0x74,0x94,0x87,0x88,0x93,0x75, - 0x62,0x70,0x98,0x8B,0xC0,0x93,0x8F,0x81,0x7B,0x92, - 0x95,0x60,0xA4,0x90,0xA8,0x64,0x9A,0x9E,0x5B,0x63, - 0x82,0xA8,0x9B,0x7B,0xA5,0x93,0x97,0x7D,0xA6,0x91, - 0x83,0x9F,0xB7,0x92,0x73,0x99,0x8D,0x81,0x86,0x9F, - 0x9C,0x7D,0x9E,0x87,0xA1,0xA0,0x81,0x75,0xA2,0x74, - 0xA7,0x80,0x95,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample23[507]={ - 0x77,0x83,0x29,0x08,0x7D,0xF8,0xE2,0xEF,0xE7,0xEF, - 0x79,0x49,0x37,0x2D,0x14,0x0E,0x13,0x0E,0x16,0x06, - 0x56,0xB5,0xE4,0xF6,0xE6,0xF7,0xE3,0xFF,0xBC,0xD2, - 0xB5,0xBC,0xE2,0xDE,0x9D,0xB1,0xC7,0x83,0x23,0x0A, - 0x15,0x0E,0x13,0x0E,0x13,0x0E,0x14,0x0D,0x1A,0x5A, - 0xCD,0xF6,0xEA,0xF1,0xEB,0xF0,0xEC,0xF0,0xEC,0xF1, - 0xEB,0xF2,0xE1,0xBF,0xAC,0x48,0x5A,0x27,0x13,0x11, - 0x10,0x12,0x0F,0x13,0x0E,0x15,0x0A,0x33,0x65,0x86, - 0xF6,0xE7,0xF3,0xEA,0xF1,0xEB,0xF0,0xEC,0xF0,0xEB, - 0xF2,0xE2,0xA0,0xC0,0x9B,0x8F,0x63,0x20,0x22,0x08, - 0x17,0x0C,0x15,0x0D,0x15,0x0D,0x15,0x0C,0x1A,0x55, - 0xB0,0xCA,0xE8,0xEE,0xED,0xEE,0xEE,0xEE,0xED,0xF0, - 0xCE,0xBF,0xA7,0x98,0x59,0x54,0x20,0x10,0x15,0x0E, - 0x13,0x0E,0x14,0x10,0x3C,0x54,0x6C,0x55,0x73,0xB0, - 0xB4,0xA3,0xDE,0xEF,0xEE,0xED,0xF0,0xE8,0xD4,0xF6, - 0xE7,0xF3,0xBB,0xB1,0x9D,0xA4,0x91,0x4E,0x43,0x1D, - 0x27,0x12,0x2E,0x17,0x19,0x14,0x1A,0x11,0x17,0x3C, - 0x5D,0xA3,0xCC,0xE8,0xF0,0xED,0xF0,0xEC,0xF0,0xEC, - 0xF0,0x99,0x78,0x5A,0x52,0x3B,0x4F,0x44,0x32,0x07, - 0x1A,0x0C,0x20,0x10,0x17,0x14,0x21,0x37,0x5C,0x84, - 0xA9,0x8A,0xA9,0xB6,0xC7,0xC2,0xE4,0xE9,0xC3,0xD2, - 0xA6,0xBD,0x9F,0x96,0xA1,0x8B,0x81,0x5D,0x52,0x35, - 0x2B,0x0F,0x11,0x23,0x20,0x20,0x29,0x38,0x3E,0x61, - 0x81,0x93,0x99,0xAD,0xC6,0xE1,0xEE,0xE7,0xE9,0xE3, - 0xD5,0xAC,0x97,0x7D,0x76,0x5C,0x5E,0x60,0x41,0x41, - 0x59,0x63,0x36,0x5B,0x2E,0x37,0x47,0x57,0x4D,0x67, - 0x7D,0xA8,0xB4,0xCF,0xE8,0xD5,0xCA,0xBC,0xBD,0xA8, - 0x97,0x95,0x94,0x9D,0xA0,0xB2,0xA6,0x9C,0x79,0x6E, - 0x55,0x43,0x32,0x34,0x37,0x32,0x3A,0x45,0x63,0x81, - 0x9B,0xB3,0xA9,0xAD,0x96,0x98,0x7A,0x80,0x77,0x95, - 0xAB,0xC2,0xDD,0xC5,0xC8,0xAD,0x95,0x6E,0x60,0x63, - 0x38,0x30,0x4B,0x37,0x35,0x54,0x52,0x60,0x68,0x6D, - 0x78,0x75,0x78,0x8A,0x8D,0xA0,0x8F,0x97,0xA0,0xAE, - 0x94,0xA1,0xAB,0xA3,0x98,0x95,0x91,0x82,0x69,0x74, - 0x6C,0x79,0x5B,0x5E,0x52,0x5D,0x5C,0x6B,0x65,0x7A, - 0x60,0x6E,0x7B,0x7B,0x6D,0x78,0x60,0x69,0x71,0x77, - 0x9A,0x96,0xA5,0xB1,0xA2,0xA4,0xAE,0xA5,0xA7,0x86, - 0x7B,0x70,0x70,0x67,0x55,0x5E,0x59,0x59,0x53,0x5D, - 0x57,0x62,0x6C,0x5E,0x6B,0x74,0x83,0x8F,0xA0,0xA5, - 0xB1,0xAD,0xB9,0xB2,0xAF,0xA7,0x96,0x91,0x8D,0x80, - 0x7E,0x80,0x73,0x6D,0x69,0x65,0x63,0x5E,0x68,0x6B, - 0x6C,0x6E,0x67,0x71,0x75,0x70,0x7D,0x72,0x7D,0x7B, - 0x71,0x8C,0x98,0x8D,0xA3,0xAC,0x9F,0xAA,0xB1,0xAA, - 0xA2,0x92,0x8C,0x80,0x77,0x6D,0x55,0x5C,0x61,0x50, - 0x4F,0x59,0x5E,0x5C,0x5E,0x73,0x72,0x7B,0x87,0x93, - 0x92,0xA4,0xA1,0xA1,0x95,0x93,0x8C,0x8A,0x87,0x89, - 0x82,0x92,0x8D,0x88,0x85,0x85,0x82,0x80,0x70,0x6C, - 0x6E,0x58,0x64,0x62,0x6A,0x74,0x77,0x80,0x74,0x86, - 0x7B,0x80,0x77,0x75,0x72,0x7E,0x86,0x80,0x95,0x8B, - 0x98,0xA1,0xAA,0x8E,0x8E,0x90,0x7D,0x83,0x71,0x74, - 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample24[230]={ - 0xA0,0x66,0xA6,0xAA,0xC8,0xC4,0xCC,0xD8,0xEC,0xEE, - 0xFF,0xFF,0xFF,0xFF,0xBE,0xAE,0x5A,0x62,0x26,0x10, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x26,0x3E,0x4E, - 0x7A,0xAE,0xB8,0xE4,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xCA,0xC0,0xAE,0x9A,0x4E,0x40,0x58, - 0x5A,0x60,0x50,0x5A,0x62,0xA6,0x64,0x78,0x44,0x62, - 0x9E,0xB8,0xB4,0xA4,0x80,0x64,0x62,0x50,0x46,0x4E, - 0x34,0x48,0x4C,0x5C,0x5C,0x5C,0x76,0x86,0x64,0x4C, - 0x52,0x3E,0x6A,0x8A,0xBA,0xD0,0xF6,0xFF,0xFF,0xFF, - 0xFF,0xEA,0xE0,0xB2,0xA4,0x86,0x92,0x9A,0x90,0x70, - 0x5A,0x44,0x4C,0x44,0x56,0x72,0x62,0x68,0x52,0x56, - 0x64,0x56,0x6E,0x3A,0x3C,0x40,0x64,0x54,0x66,0x5C, - 0x82,0xAC,0xA8,0xCA,0xC4,0xE2,0xC2,0xC0,0x94,0xB4, - 0x96,0xC8,0xBE,0xB0,0xC6,0xB2,0xD4,0xD2,0xCA,0xC2, - 0xA0,0x8E,0x7C,0x5E,0x42,0x2A,0x0C,0x00,0x00,0x00, - 0x00,0x1A,0x2E,0x34,0x52,0x72,0x7E,0x9A,0x8E,0xA2, - 0xB0,0xB2,0xBC,0xAE,0x96,0x6E,0x44,0x38,0x58,0x6E, - 0xAA,0xD6,0xFF,0xFA,0xF2,0xD4,0xD0,0xC0,0xC0,0xC8, - 0xBA,0x96,0x8E,0x70,0x70,0x82,0x90,0xAC,0xBE,0xB8, - 0xB4,0x92,0x82,0x80,0x72,0x6E,0x60,0x4C,0x42,0x22, - 0x1C,0x12,0x00,0x16,0x3E,0x54,0x86,0xA4,0xD0,0xDE, - 0xEA,0xD4,0xC8,0xAC,0xA6,0x9A,0xAC,0xAE,0xAC,0xAA, - 0x94,0x84,0x7E,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample25[120]={ - 0x84,0x6E,0x52,0xA4,0x62,0x78,0xEC,0x28,0x7A,0x68, - 0x5A,0x8E,0x68,0x30,0x3E,0x40,0x6E,0xA2,0x7A,0xAE, - 0xFC,0xAE,0xB0,0xA6,0x8A,0x94,0x54,0xA2,0x6E,0x56, - 0x64,0x7E,0x62,0x46,0x52,0x32,0x7C,0x50,0xA2,0x5E, - 0xB0,0x7A,0x86,0xB2,0x78,0x7C,0x84,0x9A,0x62,0x90, - 0x82,0xB0,0x9A,0x5E,0x72,0x24,0x62,0x68,0x22,0x68, - 0x46,0x8A,0x58,0xB8,0x9C,0xCC,0x94,0xCE,0x5C,0x5A, - 0x60,0x3A,0x80,0x5A,0x74,0x6A,0xA6,0x8E,0x80,0x9A, - 0x80,0x62,0x52,0x60,0x58,0x84,0x3C,0x74,0x4E,0x6E, - 0x9E,0x50,0x92,0x96,0x72,0x94,0x5A,0x78,0x6E,0x70, - 0x6A,0x92,0x66,0x86,0x6C,0x74,0x6E,0x64,0x8E,0x8C, - 0x90,0xAA,0x8C,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample26[271]={ - 0x56,0x78,0x70,0x70,0x66,0x6E,0x54,0x64,0x62,0x36, - 0x52,0x00,0xCE,0x28,0x1A,0xE6,0x00,0xF4,0x5E,0x90, - 0xD4,0x00,0xFF,0x00,0x3A,0x00,0x00,0x00,0x00,0x24, - 0xE6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xA2,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x0C,0x9C,0xEC,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xD0,0x30,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x3E,0xD4,0xC4,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xE6,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x0A,0x5A,0x00,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xF6,0xF0,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x08,0x92,0xEE, - 0x36,0xFF,0xBE,0xFF,0xF6,0xFF,0xF8,0xFF,0xBC,0xD2, - 0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0xCC,0x00,0xFF,0x60,0xB0,0xFF,0xE0,0xFF, - 0xA0,0xFF,0xBC,0xFF,0xFF,0x44,0xAA,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x7C, - 0x1E,0xF6,0x00,0xFF,0x44,0xF8,0xCA,0xFF,0xEC,0xFF, - 0xB8,0xFF,0xBC,0xB4,0xE2,0x00,0x66,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xD0,0x00, - 0xE6,0x00,0xFC,0x2C,0xF4,0x94,0x94,0xD6,0x7C,0xDE, - 0x62,0xFF,0x7A,0xFF,0xD2,0xFF,0x1C,0xFF,0x00,0xEE, - 0x00,0x42,0x00,0x1A,0x00,0x8A,0x00,0xE4,0x00,0xD8, - 0x42,0x7E,0x84,0x32,0xD2,0x1C,0xFF,0x14,0xFC,0x58, - 0xFF,0xCC,0xC4,0x92,0xC2,0x70,0xFF,0x44,0xC8,0x72, - 0xBA,0x50,0xC0,0x48,0x2A,0x7E,0x00,0x32,0x00,0x22, - 0x00,0x14,0x36,0x00,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,}; -static ymu8 sample27[293]={ - 0x80,0x80,0x9F,0x80,0x9F,0x9F,0x5F,0x80,0x80,0x9F, - 0xCA,0x80,0x80,0xDF,0xBE,0xBF,0x80,0x88,0xBF,0x3F, - 0xDE,0x20,0x80,0xC6,0x6F,0x02,0x5F,0x9E,0x3F,0x00, - 0x9F,0x07,0x3F,0x80,0xDF,0x14,0x9F,0xB7,0xFF,0x3F, - 0xFE,0xFF,0xFE,0xFF,0xFF,0xCF,0xFF,0xFF,0xBF,0x93, - 0xCF,0xD7,0x12,0x4F,0x93,0x3A,0x1F,0x04,0x00,0x00, - 0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x10,0x16,0x77,0x0A,0xFD,0x80,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xEF,0xDF,0xFA,0xC9,0x5A,0x5B,0x31,0x1F,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x1E,0x68,0xA6, - 0xAD,0xFF,0xF7,0xEE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xF8,0xE3,0xDD,0xE5,0xC8,0x86,0x86, - 0x6A,0x43,0x28,0x1D,0x15,0x00,0x09,0x1F,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x3E,0x00, - 0x0F,0x0A,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x04,0x00,0x14,0x23,0x22,0x4A,0x58,0x8D,0xA5,0xA6, - 0xC9,0xD0,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xF7,0xE6,0xB5,0xA4, - 0x65,0x3A,0x54,0x37,0x06,0x07,0x0D,0x00,0x0E,0x00, - 0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x05,0x00,0x04, - 0x1F,0x00,0x0F,0x2B,0x24,0x10,0x04,0x15,0x07,0x08, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E, - 0x25,0x3A,0x44,0x61,0x6C,0x91,0x80,0x80,0x80,0x80, - 0x80,0x80,0x80,}; -static ymu8 sample28[391]={ - 0x8B,0x8E,0x8F,0x8C,0x8D,0x8E,0x91,0x93,0x97,0xB0, - 0xDF,0xFF,0xFF,0xDE,0x00,0x3F,0x3F,0x97,0x80,0x00, - 0x00,0x08,0xBF,0xBF,0xBF,0xBF,0xBF,0x9E,0xA6,0xFF, - 0xE8,0xF3,0x1C,0x00,0x00,0x00,0x5E,0x15,0x00,0x00, - 0x1F,0xBE,0xFF,0x10,0x00,0x37,0x2F,0x00,0x1C,0x3F, - 0x5E,0x4F,0x80,0xFF,0xFF,0xFF,0xFF,0xF6,0xFF,0xE3, - 0xFF,0x80,0x5F,0x94,0xFF,0xFF,0xFF,0x7E,0x3F,0xDF, - 0x87,0x3A,0x00,0x00,0x2B,0x00,0x00,0x0E,0x9C,0xE7, - 0x9E,0xEF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0x00, - 0x14,0x18,0x3F,0x23,0x56,0x00,0x00,0x65,0x4B,0x60, - 0x2F,0x08,0x8E,0x2F,0xA7,0xD3,0xA3,0xFF,0xF7,0xEF, - 0xFF,0xFF,0xFF,0xC3,0x8B,0x28,0x5F,0x34,0x2F,0x10, - 0x00,0x00,0x00,0x1F,0x46,0xB3,0xE3,0xA7,0xCF,0xDE, - 0xE2,0xB6,0x9C,0x5D,0x53,0x77,0x84,0x47,0x56,0x7E, - 0xDA,0xF7,0xAC,0xDE,0x55,0x73,0x42,0x0F,0x3F,0x00, - 0x00,0x00,0x0C,0x00,0x8F,0x00,0xCB,0xD6,0xCF,0xFF, - 0xFF,0xE0,0xA6,0x75,0x9F,0x3F,0x00,0x16,0x36,0x66, - 0x18,0x3F,0x85,0xC7,0xEE,0x88,0x3E,0x80,0xB8,0x45, - 0x37,0x2F,0x2B,0x27,0x38,0x90,0xDB,0xE6,0xEE,0x8C, - 0xBF,0x6F,0x66,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F, - 0x54,0xBF,0xDE,0xFF,0xE5,0xFA,0xBE,0x93,0xCF,0x6B, - 0xAE,0x80,0xC7,0x86,0x97,0xD3,0xC7,0xC1,0xD7,0xAA, - 0x75,0x6F,0x6D,0x80,0x18,0x0A,0x0D,0x1F,0x6A,0x6F, - 0xE3,0xDF,0xE6,0xEE,0xF6,0xFB,0xEF,0xC4,0x56,0x89, - 0x3F,0x3F,0x38,0x77,0x6B,0x9F,0x4B,0x95,0x66,0x6A, - 0x96,0x72,0x87,0x57,0x73,0x60,0x67,0x8F,0x97,0xD6, - 0x97,0xD9,0xDB,0xE7,0x9E,0xBB,0x3F,0x68,0x17,0x24, - 0x16,0x1F,0x6F,0x27,0x3F,0x47,0x9F,0x82,0x7D,0x70, - 0x45,0x5F,0x5F,0x87,0x20,0x58,0x5F,0x33,0xA6,0xCC, - 0x6F,0xC1,0x80,0x79,0x9A,0x9A,0x71,0x33,0x3F,0x0C, - 0x16,0x29,0x2E,0x57,0x3B,0xCF,0xBB,0xDE,0xEE,0xF0, - 0xD9,0xB9,0x8B,0x27,0x8D,0x87,0x75,0x2E,0x6E,0x63, - 0x4A,0x6B,0x79,0xAE,0xAE,0x9F,0xBB,0xAB,0xAF,0xA6, - 0xAA,0x4D,0x28,0x5A,0x56,0x9E,0x9C,0x7B,0xA9,0xA9, - 0x4D,0x87,0x84,0x92,0x7D,0x9F,0x4B,0xA7,0x9F,0xB5, - 0x83,0xA5,0xBA,0xC9,0xE7,0xB1,0x9D,0x66,0x4D,0x6D, - 0x2F,0x52,0x77,0x5D,0x4F,0x5B,0x9C,0xBC,0xD5,0xCF, - 0x97,0xA2,0x91,0xA0,0x60,0x56,0x61,0x4B,0x51,0x88, - 0x8B,0x8C,0xC6,0xBF,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,}; -static ymu8 sample29[391]={ - 0x86,0x88,0x89,0x87,0x88,0x88,0x8A,0x8B,0x8E,0x9D, - 0xBB,0xCF,0xCF,0xBA,0x30,0x57,0x57,0x8E,0x80,0x30, - 0x30,0x35,0xA7,0xA7,0xA7,0xA7,0xA7,0x92,0x97,0xCF, - 0xC0,0xC7,0x41,0x30,0x30,0x30,0x6A,0x3D,0x30,0x30, - 0x43,0xA6,0xCF,0x3A,0x30,0x52,0x4D,0x30,0x41,0x57, - 0x6A,0x61,0x80,0xCF,0xCF,0xCF,0xCF,0xC9,0xCF,0xBD, - 0xCF,0x80,0x6B,0x8C,0xCF,0xCF,0xCF,0x7E,0x57,0xBB, - 0x84,0x54,0x30,0x30,0x4A,0x30,0x30,0x38,0x91,0xC0, - 0x92,0xC5,0xB1,0xCF,0xCF,0xCF,0xCF,0xCF,0xBB,0x30, - 0x3C,0x3F,0x57,0x45,0x65,0x30,0x30,0x6F,0x5E,0x6C, - 0x4D,0x35,0x88,0x4D,0x98,0xB3,0x95,0xCF,0xCA,0xC5, - 0xCF,0xCF,0xCF,0xA9,0x86,0x49,0x6B,0x50,0x4D,0x3A, - 0x30,0x30,0x30,0x43,0x5B,0x9F,0xBD,0x98,0xB1,0xBA, - 0xBD,0xA1,0x91,0x6A,0x63,0x7A,0x82,0x5C,0x65,0x7E, - 0xB8,0xCA,0x9B,0xBA,0x65,0x77,0x59,0x39,0x57,0x30, - 0x30,0x30,0x37,0x30,0x89,0x30,0xAE,0xB5,0xB1,0xCF, - 0xCF,0xBB,0x97,0x79,0x93,0x57,0x30,0x3D,0x51,0x6F, - 0x3F,0x57,0x83,0xAC,0xC4,0x84,0x56,0x80,0xA2,0x5B, - 0x52,0x4D,0x4A,0x48,0x53,0x89,0xB8,0xBF,0xC4,0x87, - 0xA7,0x75,0x6F,0x57,0x30,0x30,0x30,0x30,0x30,0x57, - 0x64,0xA7,0xBA,0xCF,0xBF,0xCC,0xA6,0x8B,0xB1,0x72, - 0x9C,0x80,0xAC,0x83,0x8E,0xB3,0xAC,0xA8,0xB6,0x9A, - 0x79,0x75,0x74,0x80,0x3F,0x36,0x38,0x43,0x72,0x75, - 0xBD,0xBB,0xBF,0xC4,0xC9,0xCC,0xC5,0xAA,0x65,0x85, - 0x57,0x57,0x53,0x7A,0x72,0x93,0x5E,0x8D,0x6F,0x72, - 0x8D,0x77,0x84,0x66,0x77,0x6C,0x70,0x89,0x8E,0xB5, - 0x8E,0xB7,0xB8,0xC0,0x92,0xA4,0x57,0x71,0x3E,0x46, - 0x3D,0x43,0x75,0x48,0x57,0x5C,0x93,0x81,0x7E,0x76, - 0x5B,0x6B,0x6B,0x84,0x44,0x67,0x6B,0x4F,0x97,0xAF, - 0x75,0xA8,0x80,0x7B,0x90,0x90,0x76,0x4F,0x57,0x37, - 0x3D,0x49,0x4C,0x66,0x54,0xB1,0xA4,0xBA,0xC4,0xC5, - 0xB7,0xA3,0x86,0x48,0x88,0x84,0x79,0x4C,0x74,0x6D, - 0x5E,0x72,0x7B,0x9C,0x9C,0x93,0xA4,0x9A,0x9D,0x97, - 0x9A,0x60,0x49,0x68,0x65,0x92,0x91,0x7C,0x99,0x99, - 0x60,0x84,0x82,0x8B,0x7E,0x93,0x5E,0x98,0x93,0xA1, - 0x81,0x97,0xA4,0xAD,0xC0,0x9E,0x92,0x6F,0x60,0x74, - 0x4D,0x63,0x7A,0x6A,0x61,0x68,0x91,0xA5,0xB5,0xB1, - 0x8E,0x95,0x8A,0x93,0x6C,0x65,0x6C,0x5E,0x62,0x84, - 0x86,0x87,0xAB,0xA7,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,}; -static ymu8 sample30[391]={ - 0x84,0x85,0x85,0x84,0x85,0x85,0x86,0x87,0x89,0x92, - 0xA5,0xB2,0xB2,0xA5,0x4D,0x66,0x66,0x89,0x80,0x4D, - 0x4D,0x50,0x98,0x98,0x98,0x98,0x98,0x8B,0x8F,0xB2, - 0xA9,0xAD,0x58,0x4D,0x4D,0x4D,0x72,0x55,0x4D,0x4D, - 0x59,0x98,0xB2,0x53,0x4D,0x63,0x5F,0x4D,0x58,0x66, - 0x72,0x6C,0x80,0xB2,0xB2,0xB2,0xB2,0xAE,0xB2,0xA7, - 0xB2,0x80,0x72,0x87,0xB2,0xB2,0xB2,0x80,0x66,0xA5, - 0x82,0x64,0x4D,0x4D,0x5E,0x4D,0x4D,0x52,0x8B,0xA8, - 0x8B,0xAB,0x9F,0xB2,0xB2,0xB2,0xB2,0xB2,0xA5,0x4D, - 0x55,0x56,0x66,0x5B,0x6F,0x4D,0x4D,0x75,0x6B,0x73, - 0x5F,0x50,0x85,0x5F,0x8F,0xA0,0x8D,0xB2,0xAF,0xAB, - 0xB2,0xB2,0xB2,0x9A,0x84,0x5D,0x72,0x61,0x5F,0x53, - 0x4D,0x4D,0x4D,0x59,0x69,0x94,0xA7,0x8F,0x9F,0xA5, - 0xA6,0x95,0x8B,0x72,0x6E,0x7C,0x81,0x69,0x6F,0x80, - 0xA3,0xAF,0x91,0xA5,0x6E,0x7A,0x67,0x53,0x66,0x4D, - 0x4D,0x4D,0x52,0x4D,0x85,0x4D,0x9D,0xA2,0x9F,0xB2, - 0xB2,0xA5,0x8F,0x7B,0x8C,0x66,0x4D,0x56,0x62,0x75, - 0x56,0x66,0x81,0x9C,0xAB,0x83,0x65,0x80,0x96,0x68, - 0x63,0x5F,0x5E,0x5C,0x63,0x86,0xA3,0xA8,0xAB,0x84, - 0x98,0x79,0x75,0x66,0x4D,0x4D,0x4D,0x4D,0x4D,0x66, - 0x6E,0x98,0xA5,0xB2,0xA7,0xB0,0x98,0x87,0x9F,0x77, - 0x92,0x80,0x9C,0x82,0x89,0xA0,0x9C,0x99,0xA2,0x90, - 0x7B,0x79,0x78,0x80,0x56,0x51,0x52,0x59,0x77,0x79, - 0xA7,0xA5,0xA8,0xAB,0xAE,0xB0,0xAB,0x9A,0x6F,0x83, - 0x66,0x66,0x63,0x7C,0x77,0x8C,0x6B,0x88,0x75,0x77, - 0x88,0x7A,0x82,0x6F,0x7A,0x73,0x76,0x85,0x89,0xA2, - 0x89,0xA3,0xA3,0xA8,0x8B,0x97,0x66,0x76,0x56,0x5B, - 0x56,0x59,0x79,0x5C,0x66,0x69,0x8C,0x80,0x7E,0x79, - 0x68,0x72,0x72,0x82,0x5A,0x70,0x72,0x61,0x8F,0x9E, - 0x79,0x99,0x80,0x7D,0x8A,0x8A,0x7A,0x61,0x66,0x52, - 0x56,0x5D,0x5F,0x6F,0x64,0x9F,0x97,0xA5,0xAB,0xAC, - 0xA3,0x96,0x84,0x5C,0x85,0x82,0x7B,0x5F,0x78,0x74, - 0x6A,0x77,0x7D,0x92,0x92,0x8C,0x97,0x91,0x92,0x8F, - 0x90,0x6B,0x5D,0x70,0x6F,0x8B,0x8B,0x7E,0x90,0x90, - 0x6B,0x82,0x81,0x87,0x7E,0x8C,0x6B,0x8F,0x8C,0x94, - 0x81,0x8E,0x96,0x9C,0xA8,0x93,0x8B,0x75,0x6B,0x78, - 0x5F,0x6D,0x7C,0x72,0x6C,0x71,0x8B,0x97,0xA1,0x9F, - 0x89,0x8D,0x86,0x8C,0x73,0x6F,0x73,0x6B,0x6D,0x83, - 0x84,0x84,0x9B,0x98,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,}; -static ymu8 sample31[407]={ - 0x72,0x7A,0x84,0x96,0xB0,0xBC,0xB4,0xA6,0x9A,0xBA, - 0x36,0xFF,0x76,0x00,0x00,0x4E,0xE4,0xFF,0xFF,0xFF, - 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, - 0xFF,0xFF,0xFF,0x4A,0x12,0x00,0x00,0x00,0x6C,0xE2, - 0x62,0xFF,0xFF,0xFF,0xAC,0x42,0xFF,0xBE,0x96,0x4E, - 0x48,0x00,0x00,0x00,0x00,0x00,0x32,0x62,0xC6,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00, - 0x1A,0x00,0x76,0x8A,0xAC,0x16,0x00,0x00,0x00,0x00, - 0x00,0x26,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xA4,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x76,0x90,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBA,0xFF,0xB4,0xB4, - 0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0xFF,0x8C,0x00, - 0x00,0x00,0x96,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6, - 0x5A,0x88,0x00,0x0E,0x58,0x6A,0x24,0x82,0x38,0xD8, - 0xFF,0xFF,0xCC,0x6A,0x02,0x00,0x00,0x00,0x00,0x92, - 0xFF,0xF2,0xF4,0x66,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x0A,0xD6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3C,0x66,0x26, - 0x00,0x00,0x00,0x04,0x1C,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8C, - 0x68,0x64,0x66,0xFF,0xE4,0xFF,0x7A,0x06,0x00,0x00, - 0x00,0x00,0x00,0x0E,0x50,0x80,0xC6,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xF6,0xFF,0xFF,0xFF,0x8C,0x44,0x4A, - 0x2A,0x00,0x00,0x32,0x00,0x4A,0xC2,0xBC,0xB0,0x2E, - 0x00,0x00,0x00,0x00,0x00,0xE6,0xFF,0xEA,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xC6,0x8A,0x38,0x00,0x00,0x00,0x08, - 0x16,0xB2,0xD8,0xFF,0xD2,0xFF,0x66,0xD4,0x44,0x70, - 0x64,0x9E,0xAC,0xEA,0xFA,0xF0,0xFF,0xF4,0x7A,0xC4, - 0x4C,0x6C,0x6C,0x68,0x1C,0x16,0x60,0x5E,0x38,0x2A, - 0x02,0x00,0x00,0x16,0x02,0x40,0x7C,0x4E,0x2A,0x86, - 0xB8,0x66,0x56,0x86,0x8C,0xBC,0x92,0xC6,0xEC,0xF4, - 0x9E,0x16,0x34,0x40,0x8E,0xAC,0xA6,0xD0,0xD2,0xB6, - 0xEC,0xFF,0xF6,0xFF,0xFF,0xFF,0xFF,0x74,0x96,0x46, - 0x6C,0x42,0x50,0x22,0x00,0x30,0x30,0x24,0x92,0x98, - 0x2E,0x66,0x7C,0x66,0x78,0x62,0x1C,0xA8,0x5A,0xD4, - 0xFF,0xFF,0xD0,0x4C,0x2E,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x5E,0x72,0xA4,0x8A,0xFF,0x96,0x88,0x40, - 0x40,0x2E,0x4C,0xB4,0xE0,0xFF,0xEA,0xFF,0xFE,0xD8, - 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample32[407]={ - 0x77,0x7C,0x82,0x8D,0x9D,0xA5,0xA0,0x97,0x90,0xA4, - 0x51,0xCF,0x79,0x30,0x30,0x60,0xBE,0xCF,0xCF,0xCF, - 0xCF,0x30,0x30,0x30,0x30,0x30,0x30,0xCF,0xCF,0xCF, - 0xCF,0xCF,0xCF,0x30,0x30,0x30,0x30,0x30,0x30,0xCF, - 0xCF,0xCF,0xCF,0x5E,0x3B,0x30,0x30,0x30,0x73,0xBD, - 0x6D,0xCF,0xCF,0xCF,0x9B,0x59,0xCF,0xA6,0x8D,0x60, - 0x5D,0x30,0x30,0x30,0x30,0x30,0x4F,0x6D,0xAB,0xCF, - 0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0x30,0x30,0x30,0x30, - 0x40,0x30,0x79,0x86,0x9B,0x3D,0x30,0x30,0x30,0x30, - 0x30,0x47,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF, - 0x96,0x64,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x79,0x89,0xCF,0xCF,0xCF, - 0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xA4,0xCF,0xA0,0xA0, - 0x30,0x30,0x30,0x30,0x30,0x30,0xB1,0xCF,0x87,0x30, - 0x30,0x30,0x8D,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xAB, - 0x68,0x84,0x30,0x38,0x67,0x72,0x46,0x81,0x53,0xB6, - 0xCF,0xCF,0xAF,0x72,0x31,0x30,0x30,0x30,0x30,0x8B, - 0xCF,0xC7,0xC8,0x6F,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x36,0xB5,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF, - 0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0x55,0x6F,0x47, - 0x30,0x30,0x30,0x32,0x41,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0x87, - 0x71,0x6E,0x6F,0xCF,0xBE,0xCF,0x7C,0x33,0x30,0x30, - 0x30,0x30,0x30,0x38,0x62,0x80,0xAB,0xCF,0xCF,0xCF, - 0xCF,0xCF,0xCF,0xC9,0xCF,0xCF,0xCF,0x87,0x5A,0x5E, - 0x4A,0x30,0x30,0x4F,0x30,0x5E,0xA9,0xA5,0x9D,0x4C, - 0x30,0x30,0x30,0x30,0x30,0xBF,0xCF,0xC2,0xCF,0xCF, - 0xCF,0xCF,0xCF,0xAB,0x86,0x53,0x30,0x30,0x30,0x35, - 0x3D,0x9F,0xB6,0xCF,0xB3,0xCF,0x6F,0xB4,0x5A,0x76, - 0x6E,0x92,0x9B,0xC2,0xCC,0xC5,0xCF,0xC8,0x7C,0xAA, - 0x5F,0x73,0x73,0x71,0x41,0x3D,0x6C,0x6A,0x53,0x4A, - 0x31,0x30,0x30,0x3D,0x31,0x58,0x7D,0x60,0x4A,0x83, - 0xA2,0x6F,0x65,0x83,0x87,0xA5,0x8B,0xAB,0xC3,0xC8, - 0x92,0x3D,0x50,0x58,0x88,0x9B,0x97,0xB1,0xB3,0xA1, - 0xC3,0xCF,0xC9,0xCF,0xCF,0xCF,0xCF,0x78,0x8D,0x5B, - 0x73,0x59,0x62,0x45,0x30,0x4E,0x4E,0x46,0x8B,0x8E, - 0x4C,0x6F,0x7D,0x6F,0x7B,0x6D,0x41,0x98,0x68,0xB4, - 0xCF,0xCF,0xB1,0x5F,0x4C,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x6A,0x77,0x96,0x86,0xCF,0x8D,0x84,0x58, - 0x58,0x4C,0x5F,0xA0,0xBB,0xCF,0xC2,0xCF,0xCE,0xB6, - 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample33[407]={ - 0x7B,0x7E,0x81,0x86,0x8F,0x92,0x90,0x8C,0x88,0x92, - 0x68,0xA8,0x7C,0x57,0x57,0x70,0x9F,0xA8,0xA8,0xA8, - 0xA8,0x57,0x57,0x57,0x57,0x57,0x57,0xA8,0xA8,0xA8, - 0xA8,0xA8,0xA8,0x57,0x57,0x57,0x57,0x57,0x57,0xA8, - 0xA8,0xA8,0xA8,0x6E,0x5D,0x57,0x57,0x57,0x79,0x9F, - 0x76,0xA8,0xA8,0xA8,0x8D,0x6C,0xA8,0x93,0x86,0x70, - 0x6E,0x57,0x57,0x57,0x57,0x57,0x67,0x76,0x96,0xA8, - 0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0x57,0x57,0x57,0x57, - 0x5F,0x57,0x7C,0x83,0x8D,0x5E,0x57,0x57,0x57,0x57, - 0x57,0x63,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8, - 0x8B,0x72,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57, - 0x57,0x57,0x57,0x57,0x57,0x7C,0x85,0xA8,0xA8,0xA8, - 0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0x92,0xA8,0x90,0x90, - 0x57,0x57,0x57,0x57,0x57,0x57,0x99,0xA8,0x83,0x57, - 0x57,0x57,0x86,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0x96, - 0x73,0x82,0x57,0x5B,0x73,0x79,0x62,0x80,0x69,0x9B, - 0xA8,0xA8,0x98,0x79,0x58,0x57,0x57,0x57,0x57,0x85, - 0xA8,0xA4,0xA4,0x77,0x57,0x57,0x57,0x57,0x57,0x57, - 0x57,0x5A,0x9B,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8, - 0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0x6A,0x77,0x63, - 0x57,0x57,0x57,0x58,0x60,0x57,0x57,0x57,0x57,0x57, - 0x57,0x57,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0x83, - 0x78,0x77,0x77,0xA8,0x9F,0xA8,0x7E,0x59,0x57,0x57, - 0x57,0x57,0x57,0x5B,0x70,0x80,0x96,0xA8,0xA8,0xA8, - 0xA8,0xA8,0xA8,0xA5,0xA8,0xA8,0xA8,0x83,0x6D,0x6E, - 0x64,0x57,0x57,0x67,0x57,0x6E,0x94,0x92,0x8F,0x66, - 0x57,0x57,0x57,0x57,0x57,0xA0,0xA8,0xA1,0xA8,0xA8, - 0xA8,0xA8,0xA8,0x96,0x83,0x69,0x57,0x57,0x57,0x5A, - 0x5E,0x8F,0x9B,0xA8,0x99,0xA8,0x77,0x9A,0x6D,0x7A, - 0x77,0x89,0x8D,0xA1,0xA6,0xA3,0xA8,0xA4,0x7E,0x95, - 0x6F,0x79,0x79,0x78,0x60,0x5E,0x75,0x75,0x69,0x64, - 0x58,0x57,0x57,0x5E,0x58,0x6B,0x7E,0x70,0x64,0x81, - 0x91,0x77,0x72,0x81,0x83,0x92,0x85,0x96,0xA2,0xA4, - 0x89,0x5E,0x67,0x6B,0x84,0x8D,0x8C,0x99,0x99,0x91, - 0xA2,0xA8,0xA5,0xA8,0xA8,0xA8,0xA8,0x7C,0x86,0x6D, - 0x79,0x6C,0x70,0x62,0x57,0x66,0x66,0x62,0x85,0x87, - 0x66,0x77,0x7E,0x77,0x7D,0x76,0x60,0x8C,0x73,0x9A, - 0xA8,0xA8,0x99,0x6F,0x66,0x57,0x57,0x57,0x57,0x57, - 0x57,0x57,0x75,0x7B,0x8B,0x83,0xA8,0x86,0x82,0x6B, - 0x6B,0x66,0x6F,0x90,0x9E,0xA8,0xA1,0xA8,0xA7,0x9B, - 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample34[317]={ - 0x80,0x80,0x86,0x8A,0x88,0x9C,0xD0,0x78,0xB6,0xBA, - 0xCA,0xBC,0xBA,0xEA,0x82,0xB8,0x8A,0xB2,0x70,0x82, - 0x7C,0x6A,0x3C,0x10,0x00,0x54,0x14,0x00,0xFF,0x00, - 0x7E,0x00,0x00,0x00,0x00,0x16,0x28,0x38,0x44,0x4E, - 0x58,0x60,0x66,0x00,0x00,0x00,0x00,0x00,0x2C,0x8A, - 0xE4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xE0,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x2A,0x38,0x4C,0x5C,0x6C,0x7E, - 0x8A,0x98,0x90,0x90,0xA6,0x9E,0xAA,0xBC,0x9A,0xC8, - 0xC4,0x8A,0x9E,0xCA,0xD8,0xDA,0xF8,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xE2,0xC4,0xA2,0x76,0x44,0x2E,0x08,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x4A,0x6E, - 0x94,0xBE,0xE8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFE,0xD8,0xB6,0x90,0x7A,0x5C,0x46,0x30,0x1E, - 0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x02,0x12,0x1E,0x2C,0x3C,0x44,0x52,0x66,0x6E,0x7A, - 0x7E,0x88,0x8C,0x90,0x8C,0x8E,0x8C,0x88,0x80,0x7A, - 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample35[407]={ - 0x7E,0x80,0x80,0x7C,0x74,0x74,0x7E,0x84,0x8A,0xA2, - 0x5A,0x3C,0x02,0x28,0xFF,0xFF,0xFF,0xF2,0x88,0x00, - 0x00,0x00,0x00,0x00,0x3C,0xEE,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0x34,0x26,0x00,0x02,0x5C,0xAC,0x8E,0x00, - 0x00,0x00,0x00,0x00,0x40,0x82,0xFC,0xE0,0xEE,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xE6,0xDE,0x92,0x56,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x5C,0x78, - 0xD6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0x8C,0x52,0x00,0x06,0x1E,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x06,0x66,0xB0,0xEE,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCA,0xBC,0xC0,0x38, - 0x46,0x7C,0x64,0x0C,0x00,0x38,0x0E,0x00,0x00,0x00, - 0x5A,0x48,0x8E,0xC0,0x62,0xC4,0xFF,0xFF,0xFF,0xB8, - 0x76,0xB8,0xCE,0xFF,0x94,0x40,0x7C,0x0E,0x4C,0x48, - 0x68,0x24,0x9A,0x3C,0x0C,0x00,0x20,0x58,0xFC,0x90, - 0x98,0xFF,0xBE,0xB2,0xBE,0xA2,0xBC,0x26,0x5E,0x7C, - 0xAE,0xEA,0xA8,0x78,0x66,0xB4,0x7E,0xC4,0xFF,0x00, - 0x00,0x3E,0x70,0x66,0x00,0x56,0xEA,0x00,0x9E,0xFF, - 0x3E,0x00,0x7C,0xFF,0x6C,0x28,0xFF,0xFF,0x7C,0x78, - 0xFF,0x96,0x04,0x9E,0xDC,0xFF,0x0E,0x00,0x54,0x14, - 0xA0,0xDC,0x50,0x84,0x82,0x00,0x00,0x70,0xC4,0x00, - 0x5E,0xF8,0x00,0x26,0xFF,0xEA,0xCA,0x84,0x9A,0x7E, - 0xFF,0xE2,0xC2,0x64,0xA6,0x32,0x0A,0xC2,0x22,0x3C, - 0x18,0xA6,0x62,0x10,0x02,0x7A,0x00,0x4C,0xD0,0x5A, - 0xFE,0xE0,0x80,0x5C,0x9C,0xFF,0xFF,0xB6,0x92,0x44, - 0x96,0x76,0x0E,0xB0,0x40,0xCC,0xA6,0x48,0x06,0x0E, - 0x90,0x00,0x00,0xC0,0xC6,0x82,0x4E,0xB4,0xFF,0x92, - 0xAC,0x60,0x62,0xA2,0x98,0xFF,0xB6,0xEE,0x68,0x54, - 0xA2,0x52,0x86,0x2A,0x92,0x4A,0x74,0x9A,0x68,0x0C, - 0xE0,0x8E,0x2A,0x5C,0x4C,0x38,0x40,0x88,0x52,0x94, - 0xBA,0xD2,0xBE,0xE8,0x56,0x16,0x42,0x80,0x54,0xFF, - 0xBA,0xAA,0xB6,0x64,0x74,0xD0,0xAE,0x66,0x68,0x8A, - 0x70,0x36,0x16,0x28,0x2A,0x82,0x88,0xAE,0x94,0x52, - 0x72,0x86,0x5A,0x94,0xB6,0xFF,0xA4,0x78,0xB8,0xD2, - 0x70,0x6E,0xE2,0x72,0xA4,0x7E,0x5A,0x42,0x3E,0x64, - 0x68,0x76,0x0A,0x4A,0x00,0x42,0x24,0x56,0x80,0x50, - 0x7E,0xB2,0xBC,0xB2,0xCE,0xD4,0xDE,0xCE,0xFF,0x7A, - 0xBE,0x9A,0x8C,0x8E,0x68,0x00,0x2A,0x36,0x3C,0x88, - 0xA6,0x7C,0x7C,0x7A,0x5C,0x96,0x5C,0x08,0x8A,0x7A, - 0x88,0xB2,0xF4,0xCC,0x6C,0xF0,0xC2,0x9C,0xDC,0x9A, - 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample36[311]={ - 0x82,0xA0,0x78,0x88,0xA6,0xAC,0x72,0xBC,0x2C,0xC4, - 0x52,0x86,0xA4,0x28,0xFF,0x00,0xFF,0x2A,0x7A,0xFF, - 0x00,0xFF,0x64,0x3A,0x8C,0x38,0xB6,0x26,0xFF,0x00, - 0xFF,0x00,0xCE,0x44,0x5C,0x6A,0x50,0x6E,0x20,0x58, - 0x86,0x66,0x00,0xBA,0x10,0xB8,0x5E,0x26,0xDA,0x32, - 0xFA,0xB6,0xFF,0xD8,0xFF,0xE2,0xFF,0xDC,0xFF,0xF0, - 0xFF,0xDE,0xC8,0xFF,0xB4,0x8E,0x96,0x68,0xA2,0x1A, - 0xB6,0x00,0x72,0x24,0x36,0x04,0x28,0x08,0x0E,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x0E,0x0A,0x1E,0x40,0x5C,0x6E,0x6C,0x70, - 0xB0,0x7E,0xD6,0xE0,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF4,0xE0,0xA2, - 0xD4,0x64,0xB8,0x60,0x18,0x3E,0x22,0x00,0x18,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x1A,0x24,0x34, - 0x48,0x40,0x7A,0x60,0xA8,0x98,0xCE,0xDA,0xD0,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, - 0xB4,0xB2,0x92,0x8A,0x62,0x50,0x42,0x1C,0x16,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x12,0x18,0x34,0x3E,0x58,0x7A,0x88,0x94,0xC4, - 0xD2,0xF2,0xF2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEC,0xE0,0xCE,0xC8, - 0xA6,0xAA,0x74,0x90,0x80,0x80,0x80,0x80,0x80,0x80, - 0x80,}; -static ymu8 sample37[459]={ - 0x81,0x82,0x85,0x85,0x81,0x7E,0x7A,0x77,0x30,0x00, - 0x4B,0x94,0xEF,0xDF,0xC2,0xFF,0x00,0xFF,0xFF,0xFF, - 0xFF,0x00,0x6D,0x0F,0x17,0x00,0x10,0x00,0x00,0x00, - 0x00,0x30,0x08,0x00,0x84,0x6F,0xE9,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAF,0x04, - 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x1F,0x00,0x00,0xFF,0xE6,0xEF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD4, - 0x5E,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x13,0x30,0x86,0xCF,0xEE,0xFF,0xEE, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xF5,0xC3,0x71,0x48,0x21,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x3A,0x78, - 0xAD,0xF5,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xCF,0xF7,0xBE,0x98,0x1A,0x47,0x07,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C, - 0xB0,0xAB,0xC7,0xFA,0xF9,0xFF,0xF9,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xE6,0xFF,0xE3,0xCE,0xA2,0xAD,0x1A, - 0x41,0x16,0x00,0x04,0x04,0x22,0x00,0x00,0x00,0x00, - 0x04,0x25,0x75,0x4B,0x87,0xCB,0xEB,0xFF,0xF7,0xFF, - 0xFF,0xE8,0x8E,0xFA,0xFF,0xE3,0xFE,0x44,0x86,0xEF, - 0x75,0x21,0x59,0xC8,0x3B,0x07,0x32,0x37,0xB0,0x18, - 0x05,0xCE,0x4A,0x18,0x13,0x50,0x73,0x95,0x07,0x9D, - 0xC6,0xE5,0xC8,0xEE,0xCE,0xB0,0x8D,0x85,0xB5,0xA0, - 0x9A,0x86,0xEF,0xA5,0x8A,0xA9,0x83,0xF6,0x8B,0x60, - 0x80,0x16,0x02,0x8E,0x33,0x07,0x77,0x92,0x4C,0x08, - 0x98,0x70,0x70,0x55,0x4B,0xBE,0x78,0x2F,0xB9,0x56, - 0xBB,0x66,0xA5,0x83,0xBB,0xA8,0xD7,0x5E,0xE7,0x89, - 0xBD,0xEA,0xB7,0xB7,0xB4,0x57,0x82,0x83,0x68,0x7A, - 0xA4,0x61,0x4E,0x2A,0x3E,0x22,0x6E,0x46,0x1E,0x7B, - 0x23,0x88,0x91,0x75,0xA1,0xCF,0x80,0xC3,0x60,0x8C, - 0xB3,0x88,0xD3,0xB1,0x75,0xA5,0xD7,0xDD,0xD2,0x78, - 0x4C,0x62,0x74,0x34,0x86,0xC6,0x7B,0x58,0x03,0x5B, - 0x93,0x29,0x5B,0x4F,0x3C,0xA6,0x6A,0x56,0x8D,0x9E, - 0x5F,0x6B,0xCB,0x6C,0x5C,0xC9,0x8C,0x87,0x95,0x5D, - 0x9C,0xE2,0xDA,0x79,0xA9,0x87,0x96,0x99,0x8B,0x60, - 0xA6,0xA3,0x8C,0xB2,0x60,0x92,0x63,0x94,0x0F,0x7D, - 0x32,0x3F,0x6D,0x3A,0x66,0x5E,0x81,0x85,0x8E,0x77, - 0x53,0x7B,0xD5,0xA9,0xC3,0x9F,0x97,0xBC,0x9C,0xAA, - 0xA5,0x6F,0xB0,0xB6,0x96,0x51,0x46,0x76,0x76,0x4C, - 0x44,0x3D,0x70,0x3B,0x4C,0x3C,0x42,0x51,0x91,0x9B, - 0x65,0xBA,0x99,0x96,0x69,0x6F,0x9C,0xA0,0xA6,0xCA, - 0x80,0x9B,0x93,0xC1,0x8F,0x8A,0xAD,0x70,0x73,0x95, - 0x47,0xA2,0xAB,0x54,0x8D,0x4F,0x7A,0x7D,0x6D,0x87, - 0x48,0x80,0x69,0x69,0x5F,0x7C,0x5E,0x72,0x5C,0x8E, - 0x59,0x93,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample38[329]={ - 0xAE,0xAC,0x84,0x7A,0x52,0x5C,0x5C,0x24,0xFF,0xFF, - 0x8E,0x00,0x00,0x76,0xFF,0xFF,0xFF,0xFF,0xDE,0x5A, - 0x00,0x00,0x7A,0xCC,0xFF,0xFF,0x00,0x3A,0x00,0x00, - 0x00,0x02,0x70,0xFF,0xDA,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xB6,0x14,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0xC8,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC, - 0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x34,0xF4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0xA0,0x5C, - 0x52,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x8A,0xBC, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBC,0x46,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x02,0x3E,0xDE,0xF8,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF6,0xFA,0xD2, - 0xEE,0xDC,0xBC,0xA2,0xA0,0xE2,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xCC,0x90,0x50,0x12, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x26,0x56,0x66,0x6C,0x70,0x74,0x90, - 0xB6,0xE6,0xFF,0xFF,0xFF,0xFC,0xE6,0xCC,0xB4,0xB8, - 0xB4,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xE6,0xA6,0x64,0x42,0x2E, - 0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x1E,0x4C, - 0x4A,0x68,0x84,0x96,0x9E,0xC4,0xE2,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xE4,0xD4,0xB2,0x88,0x74, - 0x4E,0x42,0x2E,0x1E,0x22,0x1C,0x32,0x30,0x28,0x1E, - 0x20,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x32, - 0x6E,0x88,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; -static ymu8 sample39[656]={ - 0x8A,0x42,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x3C, - 0x7A,0xC0,0xDC,0xCE,0xFF,0xFF,0xBC,0xFF,0xFF,0xF4, - 0xFF,0xFF,0xE4,0xC8,0x6E,0x28,0x44,0x00,0x08,0x00, - 0x00,0x00,0x00,0x00,0x60,0x64,0x22,0x8E,0xFF,0xE8, - 0xBA,0xB0,0xFA,0xFF,0xFF,0xFF,0xFF,0xFF,0xEC,0xB6, - 0x84,0x5C,0x60,0x26,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x9A,0x02,0x44,0x34,0x98,0x3E,0x5A,0xFF, - 0xF0,0xFF,0xFF,0xFF,0xFF,0x9A,0x46,0x2A,0x00,0x00, - 0x00,0x00,0x4C,0x3E,0xC2,0x66,0x00,0x00,0x1E,0x7A, - 0xF4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xE4,0x54,0x32,0x4E,0x0A,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x22,0x60,0x34,0x82,0x8E,0xCE, - 0xE4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0x78, - 0x00,0x00,0x58,0x36,0x32,0x10,0x00,0x20,0x00,0x00, - 0x0E,0x00,0x22,0xA4,0xB2,0xFF,0xCC,0xF4,0xB0,0xEA, - 0x74,0xCE,0xA6,0xCE,0x78,0x34,0x00,0x1A,0x24,0x00, - 0x00,0x00,0xF2,0x50,0x60,0x1E,0x72,0x8C,0x84,0x4E, - 0xEC,0xCE,0xFF,0xFF,0xFF,0xFF,0xF8,0x74,0xA2,0xE6, - 0xC2,0x16,0x10,0x9A,0x9E,0x2A,0x96,0x70,0x06,0x0E, - 0x00,0x00,0x00,0x00,0x00,0x22,0x00,0x00,0x72,0x9E, - 0x94,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD6, - 0x86,0x14,0x68,0x12,0x00,0x40,0x4E,0x00,0x00,0x96, - 0x00,0x22,0x4E,0x4A,0x90,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0x56,0xAA,0xE2,0x9A,0x32,0xDC,0x00,0x60,0xA8, - 0x2A,0x00,0x76,0x00,0x64,0x80,0x74,0x00,0x82,0x28, - 0x98,0x46,0xAC,0x70,0xAA,0xD8,0xF2,0xA8,0x8E,0x8C, - 0x82,0xC2,0x44,0xC0,0x8E,0x6E,0xBC,0x26,0xE0,0x4C, - 0x5C,0x6E,0x26,0x46,0x00,0x32,0x00,0x9A,0x68,0x38, - 0xD8,0x5C,0xDC,0xCA,0xD8,0xF8,0x9C,0xFE,0xFF,0xEE, - 0xFF,0xBE,0xC8,0x34,0x6E,0x26,0x00,0x04,0x00,0x7A, - 0x0A,0x78,0x10,0x5C,0x44,0x88,0xB2,0x90,0xFF,0xDE, - 0xFF,0xFF,0xFF,0xEA,0xC6,0xC4,0xB4,0x76,0x50,0x08, - 0x6E,0x5E,0x44,0x9A,0x54,0x3C,0x8E,0x2C,0x5C,0x52, - 0x44,0x1C,0xA0,0x7E,0xFF,0xD8,0xC8,0xFF,0xF6,0x9E, - 0xA4,0x88,0xC8,0x62,0xBA,0x26,0x42,0x00,0x48,0x2C, - 0x6C,0x24,0x92,0x36,0x44,0x92,0xF2,0x80,0x84,0xA6, - 0xD8,0x88,0xD8,0x90,0xA0,0xC0,0xAC,0xEC,0x8A,0xB4, - 0xC8,0xA6,0x5C,0x88,0x4A,0x4E,0x6A,0x76,0x6C,0xCA, - 0x30,0x3C,0x7E,0x2E,0x50,0x00,0x7C,0x66,0x5E,0x9A, - 0x9C,0xFF,0xD2,0xFF,0xDE,0x9E,0xDE,0x80,0xEE,0xB8, - 0x64,0x46,0x8A,0x0A,0x22,0x58,0x48,0x58,0x2A,0x72, - 0x3E,0xA8,0x54,0x46,0xD6,0x5C,0xFC,0xA8,0xC8,0xE0, - 0xC0,0xA6,0x5C,0x80,0x24,0x34,0x7E,0x4C,0x9A,0x62, - 0x64,0x68,0x94,0x62,0x42,0x72,0xCE,0x72,0xB0,0xAC, - 0xB8,0x9A,0x8E,0x80,0x30,0x24,0x1E,0x70,0x14,0x50, - 0x86,0x64,0xA2,0xB2,0xBC,0xBE,0xDA,0xCE,0xDC,0xFA, - 0xB4,0x7A,0x92,0x38,0x58,0x0E,0x5E,0x56,0x56,0x54, - 0x34,0x80,0x54,0x78,0x46,0x38,0xA2,0x94,0x90,0xB0, - 0xB8,0xAE,0xEA,0x90,0x78,0x92,0x96,0x58,0x8C,0x4A, - 0x56,0x50,0x40,0x66,0x68,0x66,0x80,0x72,0x62,0x64, - 0x9C,0x58,0x6E,0x62,0xE2,0x72,0xD0,0xC4,0x7E,0xAE, - 0x64,0x8A,0x5C,0x52,0x66,0x5A,0x90,0x6E,0x70,0xA4, - 0xFF,0x6C,0xBA,0x74,0xE0,0x56,0x7A,0xAE,0x4A,0x70, - 0x80,0x80,0x9A,0x86,0x5E,0xAC,0x90,0xA0,0xA8,0x74, - 0x9C,0xB0,0x7A,0xA4,0x66,0x7A,0xB6,0x6A,0x5E,0x7E, - 0x74,0x52,0x72,0x58,0x5E,0x5C,0xA2,0x68,0x88,0x96, - 0xBE,0xD2,0xAA,0xB2,0x6A,0x66,0x6C,0x6E,0x56,0x68, - 0x70,0x52,0x48,0x70,0x7A,0x32,0x82,0x9A,0x62,0x56, - 0xAC,0x84,0xAA,0x92,0xE0,0xE2,0xCC,0xC2,0xAA,0x72, - 0x74,0x6C,0x4C,0x46,0x54,0x68,0x42,0x6E,0x5E,0x74, - 0x8E,0x6E,0x98,0xC4,0x76,0x98,0xBE,0x92,0xAA,0xA8, - 0xB2,0x9C,0xA4,0x82,0xC0,0x88,0x6E,0x52,0x70,0x2E, - 0x28,0x54,0x4E,0x5A,0xAC,0x62,0x8C,0xC0,0x7E,0x74, - 0x92,0x8A,0xB2,0xA4,0x8A,0x7A,0x9E,0x62,0x7E,0x92, - 0x74,0xA8,0x7A,0x8A,0x94,0x50,0x9C,0x90,0x80,0x80, - 0x80,0x80,0x80,0x80,0x80,0x80,}; -/***********************************************************/ - -ymu8 *sampleAdress[MAX_DIGIDRUM] = { - sample00,sample01,sample02,sample03,sample04,sample05,sample06,sample07, - sample08,sample09,sample10,sample11,sample12,sample13,sample14,sample15, - sample16,sample17,sample18,sample19,sample20,sample21,sample22,sample23, - sample24,sample25,sample26,sample27,sample28,sample29,sample30,sample31, - sample32,sample33,sample34,sample35,sample36,sample37,sample38,sample39,}; - -/***********************************************************/ - -ymu32 sampleLen[MAX_DIGIDRUM] = { - 631, 631, 490, 490, 699, 505, 727, 480, - 2108, 4231, 378, 1527, 258, 258, 451, 1795, - 271, 633, 1379, 147, 139, 85, 150, 507, - 230, 120, 271, 293, 391, 391, 391, 407, - 407, 407, 317, 407, 311, 459, 329, 656,}; - -/*********************** END OF FILE ***********************/ diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/digidrum.h 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/digidrum.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/digidrum.h 2010-04-25 12:01:42.190581449 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/digidrum.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -/*----------------------------------------------------------------------------- - - ST-Sound ( YM files player library ) - - Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) - - Sample datas of some common YM music. ( YM2 format ) - YM3 or greater uses sample data inside the music file. - ------------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - - This file is part of ST-Sound - - ST-Sound is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - ST-Sound is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with ST-Sound; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ------------------------------------------------------------------------------*/ - -#ifndef __DIGIDRUM__ -#define __DIGIDRUM__ - -#define MAX_DIGIDRUM 40 - -extern ymu8 * sampleAdress[]; -extern ymu32 sampleLen[]; - -#endif - diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/lzh/lzh.h 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/lzh/lzh.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/lzh/lzh.h 2010-04-25 12:01:42.177602948 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/lzh/lzh.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,158 +0,0 @@ -/*----------------------------------------------------------------------------- - - ST-Sound ( YM files player library ) - - Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) - - LZH depacking routine - Original LZH code by Haruhiko Okumura (1991) and Kerwin F. Medina (1996) - - I changed to C++ object to remove global vars, so it should be thread safe now. - ------------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - - This file is part of ST-Sound - - ST-Sound is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - ST-Sound is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with ST-Sound; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ------------------------------------------------------------------------------*/ - - -#ifndef LZH_H -#define LZH_H - - -#define BUFSIZE (1024 * 4) - -#if defined(_WIN32) || defined(_WIN64) - -typedef unsigned char lzh_uchar; /* 8 bits or more */ -typedef unsigned int lzh_uint; /* 16 bits or more */ -typedef unsigned short lzh_ushort; /* 16 bits or more */ -typedef unsigned long lzh_ulong; /* 32 bits or more */ - -#else - -#ifdef HAVE_INTTYPES_H -#include -#endif - -#ifdef HAVE_STDINT_H -#include -#endif - -typedef uint8_t lzh_uchar; -typedef uint16_t lzh_ushort; -typedef uint_fast32_t lzh_uint; -typedef uint_fast32_t lzh_ulong; - -#endif - -#ifndef CHAR_BIT - #define CHAR_BIT 8 -#endif - -#ifndef UCHAR_MAX - #define UCHAR_MAX 255 -#endif - -typedef lzh_ushort BITBUFTYPE; - -#define BITBUFSIZ (CHAR_BIT * sizeof (BITBUFTYPE)) -#define DICBIT 13 /* 12(-lh4-) or 13(-lh5-) */ -#define DICSIZ (1U << DICBIT) -#define MAXMATCH 256 /* formerly F (not more than UCHAR_MAX + 1) */ -#define THRESHOLD 3 /* choose optimal value */ -#define NC (UCHAR_MAX + MAXMATCH + 2 - THRESHOLD) /* alphabet = {0, 1, 2, ..., NC - 1} */ -#define CBIT 9 /* $\lfloor \log_2 NC \rfloor + 1$ */ -#define CODE_BIT 16 /* codeword length */ - -#define MAX_HASH_VAL (3 * DICSIZ + (DICSIZ / 512 + 1) * UCHAR_MAX) - -#define NP (DICBIT + 1) -#define NT (CODE_BIT + 3) -#define PBIT 4 /* smallest integer such that (1U << PBIT) > NP */ -#define TBIT 5 /* smallest integer such that (1U << TBIT) > NT */ -#if NT > NP - #define NPT NT -#else - #define NPT NP -#endif - - -class CLzhDepacker -{ -public: - - bool LzUnpack(void *pSrc,int srcSize,void *pDst,int dstSize); - -private: - - //---------------------------------------------- - // New stuff to handle memory IO - //---------------------------------------------- - lzh_uchar * m_pSrc; - int m_srcSize; - lzh_uchar * m_pDst; - int m_dstSize; - - int DataIn(void *pBuffer,int nBytes); - int DataOut(void *pOut,int nBytes); - - - - //---------------------------------------------- - // Original Lzhxlib static func - //---------------------------------------------- - void fillbuf (int n); - lzh_ushort getbits (int n); - void init_getbits (void); - int make_table (int nchar, lzh_uchar *bitlen,int tablebits, lzh_ushort *table); - void read_pt_len (int nn, int nbit, int i_special); - void read_c_len (void); - lzh_ushort decode_c(void); - lzh_ushort decode_p(void); - void huf_decode_start (void); - void decode_start (void); - void decode (lzh_uint count, lzh_uchar buffer[]); - - - //---------------------------------------------- - // Original Lzhxlib static vars - //---------------------------------------------- - int fillbufsize; - lzh_uchar buf[BUFSIZE]; - lzh_uchar outbuf[DICSIZ]; - lzh_ushort left [2 * NC - 1]; - lzh_ushort right[2 * NC - 1]; - BITBUFTYPE bitbuf; - lzh_uint subbitbuf; - int bitcount; - int decode_j; /* remaining bytes to copy */ - lzh_uchar c_len[NC]; - lzh_uchar pt_len[NPT]; - lzh_uint blocksize; - lzh_ushort c_table[4096]; - lzh_ushort pt_table[256]; - int with_error; - - lzh_uint fillbuf_i; // NOTE: these ones are not initialized at constructor time but inside the fillbuf and decode func. - lzh_uint decode_i; -}; - - -#endif /* ifndef LZH_H */ diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/lzh/lzhlib.cpp 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/lzh/lzhlib.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/lzh/lzhlib.cpp 2010-04-25 12:01:42.165611054 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/lzh/lzhlib.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,435 +0,0 @@ -/*----------------------------------------------------------------------------- - - ST-Sound ( YM files player library ) - - Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) - - LZH depacking routine - Original LZH code by Haruhiko Okumura (1991) and Kerwin F. Medina (1996) - - I changed to C++ object to remove global vars, so it should be thread safe now. - ------------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - - This file is part of ST-Sound - - ST-Sound is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - ST-Sound is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with ST-Sound; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ------------------------------------------------------------------------------*/ - -#include "config.h" -#include -#include "lzh.h" - -/* - * Additions - */ - - - -int CLzhDepacker::DataIn(void *pBuffer,int nBytes) -{ - const int np = (nBytes <= m_srcSize) ? nBytes : m_srcSize; - if (np > 0) - { - memcpy(pBuffer,m_pSrc,np); - m_pSrc += np; - m_srcSize -= np; - } - return np; -} - -int CLzhDepacker::DataOut(void *pBuffer,int nBytes) -{ - const int np = (nBytes <= m_dstSize) ? nBytes : m_dstSize; - if (np > 0) - { - memcpy(m_pDst,pBuffer,np); - m_pDst += np; - m_dstSize -= np; - } - return np; -} - - - -/* - * io.c - */ - - -/** Shift bitbuf n bits left, read n bits */ -void CLzhDepacker::fillbuf (int n) -{ - bitbuf = (bitbuf << n) & 0xffff; - while (n > bitcount) - { - bitbuf |= subbitbuf << (n -= bitcount); - if (fillbufsize == 0) - { - fillbuf_i = 0; - fillbufsize = DataIn(buf, BUFSIZE - 32); - } - if (fillbufsize > 0) - fillbufsize--, subbitbuf = buf[fillbuf_i++]; - else - subbitbuf = 0; - bitcount = CHAR_BIT; - } - bitbuf |= subbitbuf >> (bitcount -= n); -} - -lzh_ushort CLzhDepacker::getbits (int n) -{ - lzh_ushort x; - x = bitbuf >> (BITBUFSIZ - n); - fillbuf (n); - return x; -} - -void CLzhDepacker::init_getbits (void) -{ - bitbuf = 0; - subbitbuf = 0; - bitcount = 0; - fillbuf (BITBUFSIZ); -} - -/* - * maketbl.c - */ - -int CLzhDepacker::make_table (int nchar, lzh_uchar *bitlen, - int tablebits, lzh_ushort *table) -{ - lzh_ushort count[17], weight[17], start[18], *p; - lzh_uint jutbits, avail, mask; - int i,ch,len,nextcode; - - for (i = 1; i <= 16; i++) - count[i] = 0; - for (i = 0; i < nchar; i++) - count[bitlen[i]]++; - - start[1] = 0; - for (i = 1; i <= 16; i++) - start[i + 1] = start[i] + (count[i] << (16 - i)); - if (start[17] != (lzh_ushort) (1U << 16)) - return (1); /* error: bad table */ - - jutbits = 16 - tablebits; - for (i = 1; i <= tablebits; i++) - { - start[i] >>= jutbits; - weight[i] = 1U << (tablebits - i); - } - while (i <= 16) - { - weight[i] = 1U << (16 - i); - i++; - } - - i = start[tablebits + 1] >> jutbits; - if (i != (lzh_ushort) (1U << 16)) - { - int k = 1U << tablebits; - while (i != k) - table[i++] = 0; - } - - avail = nchar; - mask = 1U << (15 - tablebits); - for (ch = 0; ch < nchar; ch++) - { - if ((len = bitlen[ch]) == 0) - continue; - nextcode = start[len] + weight[len]; - if (len <= tablebits) - { - for (i = start[len]; i < nextcode; i++) - table[i] = ch; - } - else - { - lzh_uint k = start[len]; - p = &table[k >> jutbits]; - i = len - tablebits; - while (i != 0) - { - if (*p == 0) - { - right[avail] = left[avail] = 0; - *p = avail++; - } - if (k & mask) - p = &right[*p]; - else - p = &left[*p]; - k <<= 1; - i--; - } - *p = ch; - } - start[len] = nextcode; - } - return (0); -} - -/* - * huf.c - */ - - -void CLzhDepacker::read_pt_len (int nn, int nbit, int i_special) -{ - int i, n; - short c; - lzh_ushort mask; - - n = getbits (nbit); - if (n == 0) - { - c = getbits (nbit); - for (i = 0; i < nn; i++) - pt_len[i] = 0; - for (i = 0; i < 256; i++) - pt_table[i] = c; - } - else - { - i = 0; - while (i < n) - { - c = bitbuf >> (BITBUFSIZ - 3); - if (c == 7) - { - mask = 1U << (BITBUFSIZ - 1 - 3); - while (mask & bitbuf) - { - mask >>= 1; - c++; - } - } - fillbuf ((c < 7) ? 3 : c - 3); - pt_len[i++] = lzh_uchar(c); - if (i == i_special) - { - c = getbits (2); - while (--c >= 0) - pt_len[i++] = 0; - } - } - while (i < nn) - pt_len[i++] = 0; - make_table (nn, pt_len, 8, pt_table); - } -} - -void CLzhDepacker::read_c_len (void) -{ - short i, c, n; - lzh_ushort mask; - - n = getbits (CBIT); - if (n == 0) - { - c = getbits (CBIT); - for (i = 0; i < NC; i++) - c_len[i] = 0; - for (i = 0; i < 4096; i++) - c_table[i] = c; - } - else - { - i = 0; - while (i < n) - { - c = pt_table[bitbuf >> (BITBUFSIZ - 8)]; - if (c >= NT) - { - mask = 1U << (BITBUFSIZ - 1 - 8); - do - { - if (bitbuf & mask) - c = right[c]; - else - c = left[c]; - mask >>= 1; - } while (c >= NT); - } - fillbuf (pt_len[c]); - if (c <= 2) - { - if (c == 0) - c = 1; - else if (c == 1) - c = getbits (4) + 3; - else - c = getbits (CBIT) + 20; - while (--c >= 0) - c_len[i++] = 0; - } - else - c_len[i++] = c - 2; - } - while (i < NC) - c_len[i++] = 0; - make_table (NC, c_len, 12, c_table); - } -} - -lzh_ushort CLzhDepacker::decode_c (void) -{ - lzh_ushort j, mask; - - if (blocksize == 0) - { - blocksize = getbits (16); - read_pt_len (NT, TBIT, 3); - read_c_len (); - read_pt_len (NP, PBIT, -1); - } - blocksize--; - j = c_table[bitbuf >> (BITBUFSIZ - 12)]; - if (j >= NC) - { - mask = 1U << (BITBUFSIZ - 1 - 12); - do - { - if (bitbuf & mask) - j = right[j]; - else - j = left[j]; - mask >>= 1; - } - while (j >= NC); - } - fillbuf (c_len[j]); - return j; -} - -lzh_ushort CLzhDepacker::decode_p (void) -{ - lzh_ushort j, mask; - - j = pt_table[bitbuf >> (BITBUFSIZ - 8)]; - if (j >= NP) - { - mask = 1U << (BITBUFSIZ - 1 - 8); - do - { - if (bitbuf & mask) - j = right[j]; - else - j = left[j]; - mask >>= 1; - } while (j >= NP); - } - fillbuf (pt_len[j]); - if (j != 0) - j = (1U << (j - 1)) + getbits (j - 1); - return j; -} - -void CLzhDepacker::huf_decode_start (void) -{ - init_getbits (); - blocksize = 0; -} - -/* - * decode.c - */ - - -void CLzhDepacker::decode_start (void) -{ - fillbufsize = 0; - huf_decode_start (); - decode_j = 0; -} - -/* - * The calling function must keep the number of bytes to be processed. This - * function decodes either 'count' bytes or 'DICSIZ' bytes, whichever is - * smaller, into the array 'buffer[]' of size 'DICSIZ' or more. Call - * decode_start() once for each new file before calling this function. - */ -void CLzhDepacker::decode (lzh_uint count, lzh_uchar buffer[]) -{ - lzh_uint r, c; - - r = 0; - while (--decode_j >= 0) - { - buffer[r] = buffer[decode_i]; - decode_i = (decode_i + 1) & (DICSIZ - 1); - if (++r == count) - return; - } - for (;;) - { - c = decode_c (); - if (c <= UCHAR_MAX) - { - buffer[r] = c; - if (++r == count) - return; - } - else - { - decode_j = c - (UCHAR_MAX + 1 - THRESHOLD); - decode_i = (r - decode_p () - 1) & (DICSIZ - 1); - while (--decode_j >= 0) - { - buffer[r] = buffer[decode_i]; - decode_i = (decode_i + 1) & (DICSIZ - 1); - if (++r == count) - return; - } - } - } -} - -bool CLzhDepacker::LzUnpack(void *pSrc,int srcSize,void *pDst,int dstSize) -{ - - with_error = 0; - - m_pSrc = (lzh_uchar*)pSrc; - m_srcSize = srcSize; - m_pDst = (lzh_uchar*)pDst; - m_dstSize = dstSize; - - decode_start (); - - lzh_uint origsize = dstSize; - while (origsize != 0) - { - lzh_uint n = (lzh_uint) ((origsize > DICSIZ) ? DICSIZ : origsize); - decode (n, outbuf); - if (with_error) - break; - - DataOut(outbuf,n); - origsize -= n; - if (with_error) - break; - } - - return (0 == with_error); -} diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/lzh/lzhlib.txt 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/lzh/lzhlib.txt --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/lzh/lzhlib.txt 2010-04-25 12:01:42.190581449 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/lzh/lzhlib.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,132 +0,0 @@ -LZHLIB.TXT - -Copyright(c) 1996 Kerwin F. Medina -Kerwin F. Medina -kerwin@infoserve.net -kerwin@digi.co.jp - -I took the source of Haruhiko Okumura's "ar" and extracted only the -necessary codes to create a compression library so an application can -make use of compression through a function call and without having to -spawn an external compression program. - -The library has only two API functions: "lzh_freeze" (to compress) and -"lzh_melt" (to decompress). In both cases, the caller only has to -provide the I/O functions and memory allocation functions. The -following is an example of a minimal compressor and decompressor. - - Sample Compressor: - - #ifdef __TURBOC__ - #include - #include - #else - #include - #endif - #include - - /* My I/O functions */ - int read0 (void far *p, int n) {return read (0, p, n);} - int write1 (void far *p, int n) {return write (1, p, n);} - - /* My Memory functions */ - void *mymalloc (unsigned n) {return malloc (n);} - void myfree (void far *p) {free (p);} - - void main (void) - { - long n; - #ifdef __TURBOC__ - setmode (0, O_BINARY); setmode (1, O_BINARY); - #endif - /* Get the length of the input file */ - n = lseek (0, 0, 2); - lseek (0, 0, 0); - - /* Write this length to the output file */ - write (1, &n, sizeof (n)); - - /* Now, Call the compression function */ - lzh_freeze (read0, write1, mymalloc, myfree); - } - - Sample Decompressor: - - #ifdef __TURBOC__ - #include - #include - #else - #include - #endif - #include - - /* My I/O functions */ - int read0 (void far *p, int n) {return read (0, p, n);} - int write1 (void far *p, int n) {return write (1, p, n);} - - /* My Memory functions */ - void *mymalloc (unsigned n) {return malloc (n);} - void myfree (void far *p) {free (p);} - - void main (void) - { - long n; - #ifdef __TURBOC__ - setmode (0, O_BINARY); setmode (1, O_BINARY); - #endif - /* Get the original file length */ - read (0, &n, sizeof (n)); - - /* Now, Call the decompression function */ - lzh_melt (read0, write1, malloc, free, n); - } - -The description of the library API is given in more detail below: - - Prototypes: - - int lzh_freeze (type_fnc_read pfnc_read, - type_fnc_write pfnc_write, - type_fnc_malloc pfnc_malloc, - type_fnc_free pfnc_free); - - int lzh_melt (type_fnc_read pfnc_read, - type_fnc_write pfnc_write, - type_fnc_malloc pfnc_malloc, - type_fnc_free pfnc_free, - unsigned long origsize); - - Remarks: "lzh_freeze" will perform an LZH compression on input - data that the caller provides through the - "fnc_read" callback function, and will output the - compressed result through a call to "fnc_write". - - "lzh_melt" will perform decompression of input - data that the caller provides through the - "fnc_read" callback function, and will output the - decompressed result through a call to "fnc_write". - - Argumets What it does - -------- ------------ - - fnc_read a callback function that library will call when - needing input data. "fnc_read" must return the - number of input bytes or -1 if there is an error. - - fnc_write a callback function that library will call when - needing to output data. "fnc_write" must return - the number of outputed bytes (or -1 if there is an - error). - - fnc_malloc a callback function that library will call when - needing to allocate memory. "fnc_malloc" must - return the address of the allocated memory or NULL - if there is an error. - - fnc_free a callback function that library will call when - needing to free a memory that was allocated using - "fnc_malloc". - - origsize the original number of bytes of the uncompressed - data. - diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/lzh/Makefile 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/lzh/Makefile --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/lzh/Makefile 2010-04-25 12:53:35.586305552 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/lzh/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,15 +0,0 @@ -TOPDIR=../../.. -include $(TOPDIR)/Rules.make - -all: liblzh.a - -liblzh.a: lzhlib.o - $(AR) liblzh.a lzhlib.o - -lzhlib.o: lzhlib.cpp lzh.h $(TOPDIR)/config.h - $(CXX) $(CXXFLAGS) -c lzhlib.cpp - -clean: - $(RM) *~ *.o *.a - -dist: diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/Makefile 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/Makefile --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/Makefile 2010-04-25 12:56:00.337649327 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -TOPDIR=../.. -include $(TOPDIR)/Rules.make - -LIB = digidrum.o Ymload.o Ym2149Ex.o YmMusic.o YmUserInterface.o - -all: libym.a - -libym.a: $(LIB) - $(AR) libym.a $(LIB) - -digidrum.o: digidrum.cpp YmTypes.h $(TOPDIR)/config.h - $(CXX) $(CXXFLAGS) -c digidrum.cpp - -Ym2149Ex.o: Ym2149Ex.cpp Ym2149Ex.h YmTypes.h $(TOPDIR)/config.h - $(CXX) $(CXXFLAGS) -c Ym2149Ex.cpp - -Ymload.o: Ymload.cpp YmMusic.h lzh/lzh.h $(TOPDIR)/config.h - $(CXX) $(CXXFLAGS) -c Ymload.cpp - -YmMusic.o: YmMusic.cpp YmMusic.h $(TOPDIR)/config.h - $(CXX) $(CXXFLAGS) -c YmMusic.cpp - -YmUserInterface.o: YmUserInterface.cpp StSoundLibrary.h YmMusic.h $(TOPDIR)/config.h - $(CXX) $(CXXFLAGS) -c YmUserInterface.cpp - -clean: - $(RM) *~ *.o *.a - -dist: diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/StSoundLibrary.h 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/StSoundLibrary.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/StSoundLibrary.h 2010-04-25 12:01:42.165611054 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/StSoundLibrary.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,74 +0,0 @@ -/*----------------------------------------------------------------------------- - - ST-Sound ( YM files player library ) - - Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) - - Main header to use the StSound "C" like API in your production. - ------------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - - This file is part of ST-Sound - - ST-Sound is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - ST-Sound is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with ST-Sound; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ------------------------------------------------------------------------------*/ - - -#ifndef __STSOUNDLIBRARY__ -#define __STSOUNDLIBRARY__ - -#include "YmTypes.h" - -typedef void YMMUSIC; - -typedef struct -{ - ymchar * pSongName; - ymchar * pSongAuthor; - ymchar * pSongComment; - ymchar * pSongType; - ymchar * pSongPlayer; - yms32 musicTimeInSec; // keep for compatibility - yms32 musicTimeInMs; -} ymMusicInfo_t; - -// Create object -extern YMMUSIC * ymMusicCreate(); - -// Release object -extern void ymMusicDestroy(YMMUSIC *pMusic); - -// Functions -extern ymbool ymMusicLoad(YMMUSIC *pMusic,const char *fName); // Method 1 : Load file using stdio library (fopen/fread, etc..) -extern ymbool ymMusicLoadMemory(YMMUSIC *pMusic,void *pBlock,ymu32 size); // Method 2 : Load file from a memory block - -extern ymbool ymMusicCompute(YMMUSIC *pMusic,ymsample *pBuffer,ymint nbSample); // Render nbSample samples of current YM tune into pBuffer PCM 16bits mono sample buffer. - -extern void ymMusicSetLoopMode(YMMUSIC *pMusic,ymbool bLoop); -extern const char * ymMusicGetLastError(YMMUSIC *pMusic); -extern int ymMusicGetRegister(YMMUSIC *pMusic,ymint reg); -extern void ymMusicGetInfo(YMMUSIC *pMusic,ymMusicInfo_t *pInfo); -extern void ymMusicPlay(YMMUSIC *pMusic); -extern void ymMusicPause(YMMUSIC *pMusic); -extern void ymMusicStop(YMMUSIC *pMusic); - -extern ymbool ymMusicIsSeekable(YMMUSIC *pMusic); -extern ymu32 ymMusicGetPos(YMMUSIC *pMusic); -extern void ymMusicSeek(YMMUSIC *pMusic,ymu32 timeInMs); - -#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/Ym2149Ex.cpp 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/Ym2149Ex.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/Ym2149Ex.cpp 2010-04-25 12:01:42.209632131 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/Ym2149Ex.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,567 +0,0 @@ -/*----------------------------------------------------------------------------- - - ST-Sound ( YM files player library ) - - Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) - - Extended YM-2149 Emulator, with ATARI music demos effects. - (SID-Like, Digidrum, Sync Buzzer, Sinus SID and Pattern SID) - ------------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - - This file is part of ST-Sound - - ST-Sound is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - ST-Sound is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with ST-Sound; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ------------------------------------------------------------------------------*/ - -#include "config.h" -#include "YmTypes.h" -#include -#include -#include -#include -#include "Ym2149Ex.h" - -//------------------------------------------------------------------- -// env shapes. -//------------------------------------------------------------------- -static const ymint Env00xx[8]={ 1,0,0,0,0,0,0,0 }; -static const ymint Env01xx[8]={ 0,1,0,0,0,0,0,0 }; -static const ymint Env1000[8]={ 1,0,1,0,1,0,1,0 }; -static const ymint Env1001[8]={ 1,0,0,0,0,0,0,0 }; -static const ymint Env1010[8]={ 1,0,0,1,1,0,0,1 }; -static const ymint Env1011[8]={ 1,0,1,1,1,1,1,1 }; -static const ymint Env1100[8]={ 0,1,0,1,0,1,0,1 }; -static const ymint Env1101[8]={ 0,1,1,1,1,1,1,1 }; -static const ymint Env1110[8]={ 0,1,1,0,0,1,1,0 }; -static const ymint Env1111[8]={ 0,1,0,0,0,0,0,0 }; -static const ymint * EnvWave[16] = { Env00xx,Env00xx,Env00xx,Env00xx, - Env01xx,Env01xx,Env01xx,Env01xx, - Env1000,Env1001,Env1010,Env1011, - Env1100,Env1101,Env1110,Env1111}; - -static ymint ymVolumeTable[16] = -{ 62,161,265,377,580,774,1155,1575,2260,3088,4570,6233,9330,13187,21220,32767}; - - -//---------------------------------------------------------------------- -// Very cool and fast DC Adjuster ! This is the *new* stuff of that -// package coz I get that idea working on SainT in 2004 ! -// ( almost everything here is from 1995 !) -//---------------------------------------------------------------------- -CDcAdjuster::CDcAdjuster() -{ - Reset(); -} - -void CDcAdjuster::Reset(void) -{ - for (ymint i=0;i>2)&1); - rndRack = (rndRack>>1) | (rBit<<16); - return (rBit ? 0 : 0xffff); -} - -ymu32 CYm2149Ex::envStepCompute(ymu8 rHigh,ymu8 rLow) -{ - - - ymint per = rHigh; - per = (per<<8)+rLow; - if (per<3) - return 0; - -#ifdef YM_INTEGER_ONLY - yms64 step = internalClock; - step <<= (16+16-9); - step /= (per * replayFrequency); -#else - ymfloat step = internalClock; - step /= ((ymfloat)per*512.0*(ymfloat)replayFrequency); - step *= 65536.0*65536.0; -#endif - - return (ymu32)step; -} - - -void CYm2149Ex::reset(void) -{ - - for (int i=0;i<14;i++) - writeRegister(i,0); - - writeRegister(7,0xff); - - currentNoise = 0xffff; - rndRack = 1; - sidStop(0); - sidStop(1); - sidStop(2); - - envShape = 0; - envPhase = 0; - envPos = 0; - - m_dcAdjust.Reset(); - - memset(specialEffect,0,sizeof(specialEffect)); - - syncBuzzerStop(); - - m_lowPassFilter[0] = 0; - m_lowPassFilter[1] = 0; - -} - - -void CYm2149Ex::sidVolumeCompute(ymint voice,ymint *pVol) -{ - - struct YmSpecialEffect *pVoice = specialEffect+voice; - - if (pVoice->bSid) - { - if (pVoice->sidPos & (1<<31)) - writeRegister(8+voice,pVoice->sidVol); - else - writeRegister(8+voice,0); - } - else if (pVoice->bDrum) - { -// writeRegister(8+voice,pVoice->drumData[pVoice->drumPos>>DRUM_PREC]>>4); - - *pVol = (pVoice->drumData[pVoice->drumPos>>DRUM_PREC] * 255) / 6; - - switch (voice) - { - case 0: - pVolA = &volA; - mixerTA = 0xffff; - mixerNA = 0xffff; - break; - case 1: - pVolB = &volB; - mixerTB = 0xffff; - mixerNB = 0xffff; - break; - case 2: - pVolC = &volC; - mixerTC = 0xffff; - mixerNC = 0xffff; - break; - } - - pVoice->drumPos += pVoice->drumStep; - if ((pVoice->drumPos>>DRUM_PREC) >= pVoice->drumSize) - { - pVoice->bDrum = YMFALSE; - } - - } -} - -int CYm2149Ex::LowPassFilter(int in) -{ - const int out = (m_lowPassFilter[0]>>2) + (m_lowPassFilter[1]>>1) + (in>>2); - m_lowPassFilter[0] = m_lowPassFilter[1]; - m_lowPassFilter[1] = in; - return out; -} - -ymsample CYm2149Ex::nextSample(void) -{ -ymint vol; -ymint bt,bn; - - if (noisePos&0xffff0000) - { - currentNoise ^= rndCompute(); - noisePos &= 0xffff; - } - bn = currentNoise; - - volE = ymVolumeTable[envData[envShape][envPhase][envPos>>(32-5)]]; - - sidVolumeCompute(0,&volA); - sidVolumeCompute(1,&volB); - sidVolumeCompute(2,&volC); - - //--------------------------------------------------- - // Tone+noise+env+DAC for three voices ! - //--------------------------------------------------- - bt = ((((yms32)posA)>>31) | mixerTA) & (bn | mixerNA); - vol = (*pVolA)&bt; - bt = ((((yms32)posB)>>31) | mixerTB) & (bn | mixerNB); - vol += (*pVolB)&bt; - bt = ((((yms32)posC)>>31) | mixerTC) & (bn | mixerNC); - vol += (*pVolC)&bt; - - //--------------------------------------------------- - // Inc - //--------------------------------------------------- - posA += stepA; - posB += stepB; - posC += stepC; - noisePos += noiseStep; - envPos += envStep; - if (0 == envPhase) - { - if (envPos=0) && (reg<=13)) return registers[reg]; - else return -1; -} - -void CYm2149Ex::writeRegister(ymint reg,ymint data) -{ - - switch (reg) - { - case 0: - registers[0] = data&255; - stepA = toneStepCompute(registers[1],registers[0]); - if (!stepA) posA = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) - break; - - case 2: - registers[2] = data&255; - stepB = toneStepCompute(registers[3],registers[2]); - if (!stepB) posB = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) - break; - - case 4: - registers[4] = data&255; - stepC = toneStepCompute(registers[5],registers[4]); - if (!stepC) posC = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) - break; - - case 1: - registers[1] = data&15; - stepA = toneStepCompute(registers[1],registers[0]); - if (!stepA) posA = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) - break; - - case 3: - registers[3] = data&15; - stepB = toneStepCompute(registers[3],registers[2]); - if (!stepB) posB = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) - break; - - case 5: - registers[5] = data&15; - stepC = toneStepCompute(registers[5],registers[4]); - if (!stepC) posC = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) - break; - - case 6: - registers[6] = data&0x1f; - noiseStep = noiseStepCompute(registers[6]); - if (!noiseStep) - { - noisePos = 0; - currentNoise = 0xffff; - } - break; - - case 7: - registers[7] = data&255; - mixerTA = (data&(1<<0)) ? 0xffff : 0; - mixerTB = (data&(1<<1)) ? 0xffff : 0; - mixerTC = (data&(1<<2)) ? 0xffff : 0; - mixerNA = (data&(1<<3)) ? 0xffff : 0; - mixerNB = (data&(1<<4)) ? 0xffff : 0; - mixerNC = (data&(1<<5)) ? 0xffff : 0; - break; - - case 8: - registers[8] = data&31; - volA = ymVolumeTable[data&15]; - if (data&0x10) - pVolA = &volE; - else - pVolA = &volA; - break; - - case 9: - registers[9] = data&31; - volB = ymVolumeTable[data&15]; - if (data&0x10) - pVolB = &volE; - else - pVolB = &volB; - break; - - case 10: - registers[10] = data&31; - volC = ymVolumeTable[data&15]; - if (data&0x10) - pVolC = &volE; - else - pVolC = &volC; - break; - - case 11: - registers[11] = data&255; - envStep = envStepCompute(registers[12],registers[11]); - break; - - case 12: - registers[12] = data&255; - envStep = envStepCompute(registers[12],registers[11]); - break; - - case 13: - registers[13] = data&0xf; - envPos = 0; - envPhase = 0; - envShape = data&0xf; - break; - - } -} - -void CYm2149Ex::update(ymsample *pSampleBuffer,ymint nbSample) -{ - - ymsample *pBuffer = pSampleBuffer; - if (nbSample>0) - { - do - { - *pBuffer++ = nextSample(); - } - while (--nbSample); - } - -} - -void CYm2149Ex::drumStart(ymint voice,ymu8 *pDrumBuffer,ymu32 drumSize,ymint drumFreq) -{ - specialEffect[voice].drumData = pDrumBuffer; - specialEffect[voice].drumPos = 0; - specialEffect[voice].drumSize = drumSize; - specialEffect[voice].drumStep = (drumFreq< -#include -#include -#include "YmMusic.h" -#ifdef HAVE_LZH -#include "lzh/lzh.h" -#endif - -static ymu16 ymVolumeTable[16] = -{ 62,161,265,377,580,774,1155,1575,2260,3088,4570,6233,9330,13187,21220,32767}; - - -static void signeSample(ymu8 *ptr,yms32 size) -{ - - if (size>0) - { - do - { - *ptr++ ^= 0x80; - } - while (--size); - } -} - -void myFree(void **pPtr) -{ - if (*pPtr) free(*pPtr); - *pPtr = NULL; -} - -char *mstrdup(const char *in) -{ - char *out = (char*)malloc(strlen(in)+1); - if (out) strcpy(out,in); - return out; -} - -ymu32 readMotorolaDword(ymu8 **ptr, ymint *ptr_size) -{ -ymu32 n = 0; -ymu8 *p = *ptr; - if (*ptr_size>=4) - { - n = (p[0]<<24)|(p[1]<<16)|(p[2]<<8)|p[3]; - p+=4; - *ptr = p; - } - (*ptr_size)+=4; - return n; -} - -ymu16 readMotorolaWord(ymu8 **ptr, ymint *ptr_size) -{ -ymu16 n = 0; -ymu8 *p = *ptr; - if (*ptr_size>=2) - { - n = (p[0]<<8)|p[1]; - p+=2; - *ptr = p; - } - (*ptr_size)+=2; - return n; -} - -ymchar *readNtString(ymchar **ptr, ymint *ptr_size) -{ -ymchar *p; -ymint len = 0; - - if (*ptr_size<=0) - { - (*ptr_size)-=1; - return mstrdup(""); - } - p=*ptr; - while(*p) - { - p++; - (*ptr_size)--; - len++; - if (*ptr_size==0) - { - (*ptr_size)-=1; - return mstrdup(""); - } - } - - p = mstrdup(*ptr); - (*ptr) += len+1; - return p; -} - -yms32 ReadLittleEndian32(ymu8 *pLittle, ymint ptr_size) -{ - yms32 v = 0; - if (ptr_size>=4) - { - v = ( (pLittle[0]<<0) | - (pLittle[1]<<8) | - (pLittle[2]<<16) | - (pLittle[3]<<24)); - } - return v; -} - -yms32 ReadBigEndian32(ymu8 *pBig, ymint ptr_size) -{ - yms32 v = 0; - if (ptr_size>=4) - { - v = ( (pBig[0]<<24) | - (pBig[1]<<16) | - (pBig[2]<<8) | - (pBig[3]<<0)); - } - return v; -} - -unsigned char *CYmMusic::depackFile(void) - { -#ifndef HAVE_LZH - return pBigMalloc; -#else - lzhHeader_t *pHeader; - ymu8 *pNew; - ymu8 *pSrc; - ymint ptr_left = fileSize; - ymint dummy; - - if (ptr_left < (ymint)sizeof(lzhHeader_t)) - { - return pBigMalloc; - } - - pHeader = (lzhHeader_t*)pBigMalloc; - - if ((pHeader->size==0) || // NOTE: Endianness works because value is 0 - (strncmp(pHeader->id,"-lh5-",5))) - { // Le fichier n'est pas compresse, on retourne l'original. - return pBigMalloc; - } - - if (pHeader->level != 0) // NOTE: Endianness works because value is 0 - { // Compression LH5, header !=0 : Error. - free(pBigMalloc); - pBigMalloc = NULL; - setLastError("LHARC Header must be 0 !"); - return NULL; - } - - dummy = 4; - fileSize = ReadLittleEndian32((ymu8*)&pHeader->original, dummy); - pNew = (ymu8*)malloc(fileSize); - if (!pNew) - { - setLastError("MALLOC Failed !"); - free(pBigMalloc); - pBigMalloc = NULL; - return NULL; - } - - pSrc = pBigMalloc+sizeof(lzhHeader_t)+pHeader->name_lenght; // NOTE: Endianness works because name_lenght is a byte - ptr_left -= sizeof(lzhHeader_t)+pHeader->name_lenght; - - pSrc += 2; // skip CRC16 - ptr_left -= 2; - - dummy = 4; - const int packedSize = ReadLittleEndian32((ymu8*)&pHeader->packed, dummy); - - if (packedSize > ptr_left) - { - setLastError("File too small"); - free(pNew); - return pBigMalloc; - } - - // alloc space for depacker and depack data - CLzhDepacker *pDepacker = new CLzhDepacker; - const bool bRet = pDepacker->LzUnpack(pSrc,packedSize,pNew,fileSize); - delete pDepacker; - - // Free up source buffer, whatever depacking fail or success - free(pBigMalloc); - - if (!bRet) - { // depacking error - setLastError("LH5 Depacking Error !"); - free(pNew); - pNew = NULL; - } - - return pNew; -#endif - } - - - - - -static ymint fileSizeGet(FILE *h) - { - ymint size; - ymint old; - - old = ftell(h); - fseek(h,0,SEEK_END); - size = ftell(h); - fseek(h,old,SEEK_SET); - return size; - } - - -ymbool CYmMusic::deInterleave(void) - { - yms32 nextPlane[32]; - ymu8 *pW,*tmpBuff; - yms32 j,k; - - - if (attrib&A_STREAMINTERLEAVED) - { - - tmpBuff = (ymu8*)malloc(nbFrame*streamInc); - if (!tmpBuff) - { - setLastError("Malloc error in deInterleave()\n"); - return YMFALSE; - } - - // Precalcul les offsets. - for (j=0;j0) - { - pDrumTab=(digiDrum_t*)calloc(nbDrum, sizeof(digiDrum_t)); - for (i=0;i= 0x80000000) - { - setLastError("To big drumtab"); - goto error_out; - } - if (ptr_size<(ymint)pDrumTab[i].size) - { - setLastError("File too small"); - goto error_out; - } - pDrumTab[i].pData = (ymu8*)malloc(pDrumTab[i].size); - memcpy(pDrumTab[i].pData,ptr,pDrumTab[i].size); - if (attrib&A_DRUM4BITS) - { - ymu32 j; - ymu8 *pw = pDrumTab[i].pData; - for (j=0;j>7; - pw++; - } - } - ptr += pDrumTab[i].size; - ptr_size -= pDrumTab[i].size; - } - } - attrib &= (~A_DRUM4BITS); - } - pSongName = readNtString((char**)&ptr, &ptr_size); - pSongAuthor = readNtString((char**)&ptr, &ptr_size); - pSongComment = readNtString((char**)&ptr, &ptr_size); - if (ptr_size <= 0) - { - setLastError("File too small"); - goto error_out; - } - songType = YM_V5; - if (id==0x594d3621/*'YM6!'*/) - { - songType = YM_V6; - pSongType = mstrdup("YM 6"); - } - else - { - pSongType = mstrdup("YM 5"); - } - if ((nbFrame >= 0x08000000) || (nbFrame < 0)) - { - setLastError("Too many frames"); - goto error_out; - } - if (ptr_size < (ymint)(nbFrame * 16)) - { - setLastError("File too small"); - goto error_out; - } - pDataStream = ptr; - streamInc = 16; - setAttrib(A_STREAMINTERLEAVED|A_TIMECONTROL); - pSongPlayer = mstrdup("YM-Chip driver."); - break; - - case 0x4d495831 /*'MIX1'*/: // ATARI Remix digit format. - if (ptr_size < 12) - { - setLastError("File too small"); - return YMFALSE; - } - - if (strncmp((const char*)(pBigMalloc+4),"LeOnArD!",8)) - { - setLastError("Not a valid YM format !"); - return YMFALSE; - } - ptr = pBigMalloc+12; - ptr_size -= 12; - songType = YM_MIX1; - tmp = readMotorolaDword(&ptr, &ptr_size); - setAttrib(0); - if (tmp&1) setAttrib(A_DRUMSIGNED); - sampleSize = readMotorolaDword(&ptr, &ptr_size); - nbMixBlock = readMotorolaDword(&ptr, &ptr_size); - if (ptr_size <= 0) - { - setLastError("File too small"); - goto error_out; - } - if (sampleSize <= 0) - { - setLastError("Invalid sampleSize"); - goto error_out; - } - if (nbMixBlock <= 0) - { - setLastError("Invalid number of mixblocks"); - goto error_out; - } - pMixBlock = (mixBlock_t*)malloc(nbMixBlock*sizeof(mixBlock_t)); - for (i=0;i=0x80000000) - { - setLastError("Invalid sampleSize"); - goto error_out; - } - if (ptr_size < (ymint)sampleSize) - { - setLastError("File too small"); - goto error_out; - } - - pBigSampleBuffer = (unsigned char*)malloc(sampleSize); - memcpy(pBigSampleBuffer,ptr,sampleSize); - - if (!(attrib&A_DRUMSIGNED)) - { - signeSample(pBigSampleBuffer,sampleSize); - setAttrib(A_DRUMSIGNED); - } - - mixPos = -1; // numero du block info. - pSongType = mstrdup("MIX1"); - pSongPlayer = mstrdup("Digi-Mix driver."); - - break; - - case 0x594d5431 /*'YMT1'*/: // YM-Tracker - case 0x594d5432 /*'YMT2'*/: // YM-Tracker -/*; -; Format du YM-Tracker-1 -; -; 4 YMT1 -; 8 LeOnArD! -; 2 Nb voice -; 2 Player rate -; 4 Music lenght -; 4 Music loop -; 2 Nb digidrum -; 4 Flags ; Interlace, signed, 8 bits, etc... -; NT Music Name -; NT Music author -; NT Music comment -; nb digi * -*/ - if (ptr_size < 12) - { - setLastError("File too small"); - return YMFALSE; - } - - if (strncmp((const char*)(pBigMalloc+4),"LeOnArD!",8)) - { - setLastError("Not a valid YM format !"); - return YMFALSE; - } - ptr = pBigMalloc+12; - ptr_size -= 12; - songType = YM_TRACKER1; - nbVoice = readMotorolaWord(&ptr, &ptr_size); - setPlayerRate(readMotorolaWord(&ptr, &ptr_size)); - nbFrame= readMotorolaDword(&ptr, &ptr_size); - loopFrame = readMotorolaDword(&ptr, &ptr_size); - nbDrum = readMotorolaWord(&ptr, &ptr_size); - attrib = readMotorolaDword(&ptr, &ptr_size); - pSongName = readNtString((char**)&ptr, &ptr_size); - pSongAuthor = readNtString((char**)&ptr, &ptr_size); - pSongComment = readNtString((char**)&ptr, &ptr_size); - if (ptr_size < 0) - { - setLastError("File too small"); - return YMFALSE; - } - if (nbDrum>0) - { - pDrumTab=(digiDrum_t*)calloc(nbDrum, sizeof(digiDrum_t)); - for (i=0;i<(ymint)nbDrum;i++) - { - pDrumTab[i].size = readMotorolaWord(&ptr, &ptr_size); - if (ptr_size < 0) - { - setLastError("File too small"); - goto error_out; - } - pDrumTab[i].repLen = pDrumTab[i].size; - if (0x594d5432/*'YMT2'*/ == id) - { - pDrumTab[i].repLen = readMotorolaWord(&ptr, &ptr_size); // repLen - readMotorolaWord(&ptr, &ptr_size); // flag - if (ptr_size < 0) - { - setLastError("File too small"); - goto error_out; - } - } - if (pDrumTab[i].repLen>pDrumTab[i].size) - { - pDrumTab[i].repLen = pDrumTab[i].size; - } - - if (pDrumTab[i].size) - { - if (pDrumTab[i].size >= 0x80000000) - { - setLastError("Drumtab to big"); - goto error_out; - } - if (ptr_size<(ymint)pDrumTab[i].size) - { - setLastError("File too small"); - goto error_out; - } - - pDrumTab[i].pData = (ymu8*)malloc(pDrumTab[i].size); - memcpy(pDrumTab[i].pData,ptr,pDrumTab[i].size); - ptr += pDrumTab[i].size; - ptr_size -= pDrumTab[i].size; - } - } - } - - ymTrackerFreqShift = 0; - if (0x594d5432/*'YMT2'*/ == id) - { - ymTrackerFreqShift = (attrib>>28)&15; - attrib &= 0x0fffffff; - pSongType = mstrdup("YM-T2"); - } - else - { - pSongType = mstrdup("YM-T1"); - } - - if ((nbVoice > MAX_VOICE) || (nbVoice < 0)) - { - setLastError("Too many voices"); - goto error_out; - } - if ((nbFrame >= (ymint)(0x80000000 / (MAX_VOICE * (sizeof(ymTrackerLine_t))))) || (nbFrame < 0)) /* ymTrackerLine_t has a 2^N size */ - { - setLastError("Too many frames"); - goto error_out; - } - if (ptr_size < (ymint)(sizeof(ymTrackerLine_t) * nbVoice * nbFrame)) - { - setLastError("File too small"); - goto error_out; - } - - pDataStream = ptr; - ymChip.setClock(ATARI_CLOCK); - - ymTrackerInit(100); // 80% de volume maxi. - streamInc = 16; /* not needed, since this is only used for YMx formats */ - setTimeControl(YMTRUE); - pSongPlayer = mstrdup("Universal Tracker"); - break; - - default: - setLastError("Unknown YM format !"); - return YMFALSE; - break; - } - - if (!deInterleave()) - { - return YMFALSE; - } - - return YMTRUE; -error_out: - for (i=0;i0) - { - myFree((void **)&pDrumTab); - nbDrum=0; - } - myFree((void **)&pSongName); - myFree((void **)&pSongAuthor); - myFree((void **)&pSongComment); - myFree((void **)&pSongType); /* <- never needed, but we keep it for purity */ - myFree((void **)&pSongPlayer); /* <- never needed, but we keep it for purity */ - myFree((void **)&pMixBlock); - myFree((void **)&pBigSampleBuffer); /* <- never needed, but we keep it for purity */ - return YMFALSE; - } - - -ymbool CYmMusic::checkCompilerTypes() -{ - setLastError("Basic types size are not correct (check ymTypes.h)"); - - if (1 != sizeof(ymu8)) return YMFALSE; - if (1 != sizeof(yms8)) return YMFALSE; - if (1 != sizeof(ymchar)) return YMFALSE; - - if (2 != sizeof(ymu16)) return YMFALSE; - if (2 != sizeof(yms16)) return YMFALSE; - if (4 != sizeof(ymu32)) return YMFALSE; - if (4 != sizeof(yms32)) return YMFALSE; - - if (2 != sizeof(ymsample)) return YMFALSE; - -#ifdef YM_INTEGER_ONLY - if (8 != sizeof(yms64)) return YMFALSE; -#endif - - if (sizeof(ymint) < 4) return YMFALSE; // ymint should be at least 32bits - - setLastError(""); - return YMTRUE; -} - - -ymbool CYmMusic::load(const char *fileName) -{ -FILE *in; - - - stop(); - unLoad(); - - if (!checkCompilerTypes()) - return YMFALSE; - - in = fopen(fileName,"rb"); - if (!in) - { - setLastError("File not Found"); - return YMFALSE; - } - - //--------------------------------------------------- - // Allocation d'un buffer pour lire le fichier. - //--------------------------------------------------- - fileSize = fileSizeGet(in); - pBigMalloc = (unsigned char*)malloc(fileSize); - if (!pBigMalloc) - { - setLastError("MALLOC Error"); - fclose(in); - return YMFALSE; - } - - //--------------------------------------------------- - // Chargement du fichier complet. - //--------------------------------------------------- - if (fread(pBigMalloc,1,fileSize,in)!=(size_t)fileSize) - { - free(pBigMalloc); - setLastError("File is corrupted."); - fclose(in); - return YMFALSE; - } - fclose(in); - - //--------------------------------------------------- - // Transforme les donn‚es en donn‚es valides. - //--------------------------------------------------- - pBigMalloc = depackFile(); - if (!pBigMalloc) - { - return YMFALSE; - } - - //--------------------------------------------------- - // Lecture des donn‚es YM: - //--------------------------------------------------- - if (!ymDecode()) - { - free(pBigMalloc); - pBigMalloc = NULL; - return YMFALSE; - } - - ymChip.reset(); - bMusicOk = YMTRUE; - bPause = YMFALSE; - return YMTRUE; - } - -ymbool CYmMusic::loadMemory(void *pBlock,ymu32 size) -{ - - - stop(); - unLoad(); - - if (!checkCompilerTypes()) - return YMFALSE; - - //--------------------------------------------------- - // Allocation d'un buffer pour lire le fichier. - //--------------------------------------------------- - fileSize = size; - pBigMalloc = (unsigned char*)malloc(fileSize); - if (!pBigMalloc) - { - setLastError("MALLOC Error"); - return YMFALSE; - } - - //--------------------------------------------------- - // Chargement du fichier complet. - //--------------------------------------------------- - memcpy(pBigMalloc,pBlock,size); - - //--------------------------------------------------- - // Transforme les donn‚es en donn‚es valides. - //--------------------------------------------------- - pBigMalloc = depackFile(); - if (!pBigMalloc) - { - return YMFALSE; - } - - //--------------------------------------------------- - // Lecture des donn‚es YM: - //--------------------------------------------------- - if (!ymDecode()) - { - free(pBigMalloc); - pBigMalloc = NULL; - return YMFALSE; - } - - ymChip.reset(); - bMusicOk = YMTRUE; - bPause = YMFALSE; - return YMTRUE; - } - -void CYmMusic::unLoad(void) -{ - - bMusicOk = YMFALSE; - bPause = YMTRUE; - bMusicOver = YMFALSE; - myFree((void**)&pSongName); - myFree((void**)&pSongAuthor); - myFree((void**)&pSongComment); - myFree((void**)&pSongType); - myFree((void**)&pSongPlayer); - myFree((void**)&pBigMalloc); - if (nbDrum>0) - { - for (ymint i=0;i -#include -#include "YmMusic.h" - -#define _LINEAR_OVRS // Activate linear oversampling (best quality) Only used for DigiMix and UniversalTracker YM file type - - -// ATARI-ST MFP chip predivisor -static const ymint mfpPrediv[8] = {0,4,10,16,50,64,100,200}; - - - -CYmMusic::CYmMusic(ymint _replayRate) -{ - - pBigMalloc = NULL; - pSongName = NULL; - pSongAuthor = NULL; - pSongComment = NULL; - pSongType = NULL; - pSongPlayer = NULL; - - pBigSampleBuffer = NULL; - pMixBlock = NULL; - - replayRate = _replayRate; - innerSamplePos = 0; - nbDrum = 0; - pDrumTab = NULL; - setLoopMode(YMFALSE); -} - -void CYmMusic::setTimeControl(ymbool bTime) -{ - if (bTime) - attrib |= A_TIMECONTROL; - else - attrib &= (~A_TIMECONTROL); -} - -CYmMusic::~CYmMusic() -{ - stop(); - unLoad(); -} - -void CYmMusic::setLoopMode(ymbool bLoopMode) -{ - bLoop = bLoopMode; -} - -void CYmMusic::setPlayerRate(ymint rate) -{ - playerRate = rate; -} - -ymu32 CYmMusic::getPos() -{ - if (!isSeekable()) return 0; - if ((nbFrame>0) && (playerRate>0)) - { - return ((ymu32)currentFrame*1000)/(ymu32)playerRate; - } - else - return 0; - -} - -ymu32 CYmMusic::getMusicTime(void) -{ - if ((nbFrame>0) && (playerRate>0)) - { - return ((ymu32)nbFrame*1000)/(ymu32)playerRate; - } - else - return 0; - -} - -ymu32 CYmMusic::setMusicTime(ymu32 time) -{ - if (!isSeekable()) return 0; - ymu32 newTime = 0; - - if ((songType>=YM_V2) && (songType=getMusicTime()) newTime = 0; - currentFrame = (newTime*(ymu32)playerRate)/1000; - } - else if ((songType>=YM_TRACKER1) && (songType=getMusicTime()) newTime = 0; - currentFrame = (newTime*(ymu32)playerRate)/1000; - } - - return newTime; -} - -void CYmMusic::getMusicInfo(ymMusicInfo_t *pInfo) -{ - if (pInfo) - { - pInfo->pSongName = pSongName; - pInfo->pSongAuthor = pSongAuthor; - pInfo->pSongComment = pSongComment; - pInfo->pSongType = pSongType; - pInfo->pSongPlayer = pSongPlayer; - - if (playerRate>0) - { - pInfo->musicTimeInMs = (ymu32(nbFrame) * 1000) / (ymu32)playerRate; - pInfo->musicTimeInSec = pInfo->musicTimeInMs / 1000; - } - else - { - pInfo->musicTimeInSec = 0; - pInfo->musicTimeInMs = 0; - } - } -} - - -void CYmMusic::setAttrib(ymint _attrib) -{ - attrib = _attrib; -} - -ymint CYmMusic::getAttrib(void) -{ - return attrib; -} - -ymbool CYmMusic::isSeekable(void) -{ - return getAttrib()&A_TIMECONTROL; -} - -void CYmMusic::setLastError(const char *pError) -{ - pLastError = pError; -} - -const char *CYmMusic::getLastError(void) -{ - return pLastError; -} - -void bufferClear(ymsample *pBuffer,ymint nbSample) -{ - memset((void*)pBuffer,0,nbSample*sizeof(ymsample)); -} - -ymbool CYmMusic::update(ymsample *sampleBuffer,ymint nbSample) -{ -ymint sampleToCompute; -ymint vblNbSample; - - - if ((!bMusicOk) || - (bPause) || - (bMusicOver)) - { - bufferClear(sampleBuffer,nbSample); - if (bMusicOver) - return YMFALSE; - else - return YMTRUE; - } - - if ((songType >= YM_MIX1) && (songType < YM_MIXMAX)) - { - stDigitMix(sampleBuffer,nbSample); - } - else if ((songType >= YM_TRACKER1) && (songTypenbs) sampleToCompute = nbs; - innerSamplePos += sampleToCompute; - if (sampleToCompute>0) - { - ymChip.update(pOut,sampleToCompute); // YM Emulation. - pOut += sampleToCompute; - } - if (innerSamplePos>=vblNbSample) - { - player(); // Lecture de la partition (playerRate Hz) - innerSamplePos -= vblNbSample; - } - nbs -= sampleToCompute; - } - while (nbs>0); - } - - - return YMTRUE; -} - - - -void CYmMusic::readYm6Effect(unsigned char *pReg,ymint code,ymint prediv,ymint count) -{ -ymint voice; -ymint ndrum; - - code = pReg[code]&0xf0; - prediv = (pReg[prediv]>>5)&7; - count = pReg[count]; - - if (code&0x30) - { - ymu32 tmpFreq; - // Ici il y a un effet sur la voie: - - voice = ((code&0x30)>>4)-1; - switch (code&0xc0) - { - case 0x00: // SID - case 0x80: // Sinus-SID - - prediv = mfpPrediv[prediv]; - prediv *= count; - tmpFreq = 0; - if (prediv) - { - tmpFreq = 2457600L / prediv; - if ((code&0xc0)==0x00) - ymChip.sidStart(voice,tmpFreq,pReg[voice+8]&15); - else - ymChip.sidSinStart(voice,tmpFreq,pReg[voice+8]&15); - } - break; - - case 0x40: // DigiDrum - ndrum = pReg[voice+8]&31; - if ((ndrum>=0) && (ndrum0) - { - tmpFreq = 2457600L / prediv; - ymChip.drumStart(voice,pDrumTab[ndrum].pData,pDrumTab[ndrum].size,tmpFreq); - } - } - break; - - case 0xc0: // Sync-Buzzer. - - prediv = mfpPrediv[prediv]; - prediv *= count; - tmpFreq = 0; - if (prediv) - { - tmpFreq = 2457600L / prediv; - ymChip.syncBuzzerStart(tmpFreq,pReg[voice+8]&15); - } - break; - - - } - - } -} - -void CYmMusic::setVolume(ymint volume) -{ -// ymChip.setGlobalVolume(volume); -} - -void CYmMusic::player(void) - { - ymu8 *ptr; - ymu32 prediv; - ymint voice; - ymint ndrum; - - - if (currentFrame<0) currentFrame = 0; - - if (currentFrame>=nbFrame) - { - if (bLoop) - { - currentFrame = loopFrame; - if (currentFrame < 0) - currentFrame = 0; - else if (currentFrame >= nbFrame) - currentFrame = nbFrame - 1; - } - else - { - bMusicOver = YMTRUE; - ymChip.reset(); - return; - } - } - - ptr = pDataStream+currentFrame*streamInc; - - for (ymint i=0;i<=10;i++) - ymChip.writeRegister(i,ptr[i]); - - ymChip.sidStop(0); - ymChip.sidStop(1); - ymChip.sidStop(2); - ymChip.syncBuzzerStop(); - - //--------------------------------------------- - // Check digi-drum - //--------------------------------------------- - if (songType == YM_V2) // MADMAX specific ! - { - if (ptr[13]!=0xff) - { - ymChip.writeRegister(11,ptr[11]); - ymChip.writeRegister(12,0); - ymChip.writeRegister(13,10); // MADMAX specific !! - } - if (ptr[10]&0x80) // bit 7 volume canal C pour annoncer une digi-drum madmax. - { - ymint sampleNum; - ymu32 sampleFrq; - ymChip.writeRegister(7,ymChip.readRegister(7)|0x24) ; // Coupe TONE + NOISE canal C. - sampleNum = ptr[10]&0x7f; // Numero du sample - - if (ptr[12]) - { - if (sampleNum < MAX_DIGIDRUM) - { - sampleFrq = (MFP_CLOCK / ptr[12]); - ymChip.drumStart( 2, // Voice C - sampleAdress[sampleNum], - sampleLen[sampleNum], - sampleFrq); - } - } - } - } - else if (songType >= YM_V3) - { - ymChip.writeRegister(11,ptr[11]); - ymChip.writeRegister(12,ptr[12]); - if (ptr[13]!=0xff) - { - ymChip.writeRegister(13,ptr[13]); - } - - if (songType >= YM_V5) - { - ymint code; - - if (songType == YM_V6) - { - readYm6Effect(ptr,1,6,14); - readYm6Effect(ptr,3,8,15); - } - else - { // YM5 effect decoding - - //------------------------------------------------------ - // Sid Voice !! - //------------------------------------------------------ - code = (ptr[1]>>4)&3; - if (code!=0) - { - ymu32 tmpFreq; - voice = code-1; - prediv = mfpPrediv[(ptr[6]>>5)&7]; - prediv *= ptr[14]; - tmpFreq = 0; - if (prediv) - { - tmpFreq = 2457600L / prediv; - ymChip.sidStart(voice,tmpFreq,ptr[voice+8]&15); - } - } - - //------------------------------------------------------ - // YM5 Digi Drum. - //------------------------------------------------------ - code = (ptr[3]>>4)&3; - if (code!=0) - { // Ici un digidrum demarre sur la voie voice. - voice = code-1; - ndrum = ptr[8+voice]&31; - if ((ndrum>=0) && (ndrum>5)&7]; - prediv *= ptr[15]; - if (prediv) - { - sampleFrq = MFP_CLOCK / prediv; - ymChip.drumStart(voice,pDrumTab[ndrum].pData,pDrumTab[ndrum].size,sampleFrq); - } - } - } - } - } - } - currentFrame++; - } - -/* - - x x x x x x x x r0 - 0 0 0 0 x x x x r1 // Special FX 1a - x x x x x x x x r2 - 0 0 0 0 x x x x r3 // Special FX 2a - x x x x x x x x r4 - 0 0 0 0 x x x x r5 - 0 0 0 x x x x x r6 // Special FX 1b - 0 0 x x x x x x r7 - 0 0 0 x x x x x r8 // Special FX 2b - 0 0 0 x x x x x r9 - 0 0 0 x x x x x r10 - x x x x x x x x r11 - x x x x x x x x r12 - 0 0 0 0 x x x x r13 - 0 0 0 0 0 0 0 0 r14 // Special FX 1c - 0 0 0 0 0 0 0 0 r15 // Special FX 2c - - - Special Fx ?a - 0 0 0 0 : No special FX running - 0 0 0 1 : Sid Voice A - 0 0 1 0 : Sid Voice B - 0 0 1 1 : Sid Voice C - 0 1 0 0 : Extended Fx voice A - 0 1 0 1 : Digidrum voice A - 0 1 1 0 : Digidrum voice B - 0 1 1 1 : Digidrum voice C - 1 0 0 0 : Extended Fx voice B - 1 0 0 1 : Sinus SID voice A - 1 0 1 0 : Sinus SID voice B - 1 0 1 1 : Sinus SID voice C - 1 1 0 0 : Extended Fx voice C - 1 1 0 1 : Sync Buzzer voice A - 1 1 1 0 : Sync Buzzer voice B - 1 1 1 1 : Sync Buzzer voice C - - - -*/ - -void CYmMusic::readNextBlockInfo(void) -{ - nbRepeat--; - if (nbRepeat<=0) - { - mixPos++; - if (mixPos >= nbMixBlock) - { - mixPos = 0; - if (!bLoop) bMusicOver = YMTRUE; - } - nbRepeat = pMixBlock[mixPos].nbRepeat; - } - pCurrentMixSample = pBigSampleBuffer + pMixBlock[mixPos].sampleStart; - currentSampleLength = (pMixBlock[mixPos].sampleLength)<<12; - currentPente = (((ymu32)pMixBlock[mixPos].replayFreq)<<12) / PC_DAC_FREQ; - currentPos &= ((1<<12)-1); -} - -void CYmMusic::stDigitMix(ymsample *pWrite16,ymint nbs) -{ - - - if (bMusicOver) return; - - if (mixPos == -1) - { - nbRepeat = -1; - readNextBlockInfo(); - } - - if (nbs) do - { - - ymint sa = (ymint)(ymsample)(pCurrentMixSample[currentPos>>12]<<8); -#ifdef _LINEAR_OVRS - ymint sb = sa; - if ((currentPos>>12)<((currentSampleLength>>12)-1)) - sb = (ymint)(ymsample)(pCurrentMixSample[(currentPos>>12)+1]<<8); - ymint frac = currentPos&((1<<12)-1); - sa += (((sb-sa)*frac)>>12); -#endif - *pWrite16++ = sa; - - currentPos += currentPente; - if (currentPos>=currentSampleLength) - { - readNextBlockInfo(); - if (bMusicOver) return; - } - } - while (--nbs); -} - -void CYmMusic::ymTrackerDesInterleave(void) -{ -unsigned char *a0,*a1,*a2; -unsigned char *pNewBuffer; -ymint step; -ymu32 n1,n2; - - - if (attrib&A_STREAMINTERLEAVED) - { - a0 = pDataStream; - ymint size = sizeof(ymTrackerLine_t)*nbVoice*nbFrame; - pNewBuffer = (unsigned char*)malloc(size); - step = sizeof(ymTrackerLine_t)*nbVoice; - n1 = step; - a2 = pNewBuffer; - do - { - n2 = nbFrame; - a1 = a2; - do - { - *a1 = *a0++; - a1 += step; - } - while (--n2); - a2++; - } - while (--n1); - memcpy(pDataStream,pNewBuffer,size); - free(pNewBuffer); - attrib &= (~A_STREAMINTERLEAVED); - } -} - - -void CYmMusic::ymTrackerInit(ymint volMaxPercent) -{ -ymint i,s; -ymint vol; -ymint scale; -ymsample *pTab; - - - - for (i=0;ifreqHigh<<8) | pLine->freqLow; - if (pVoice[i].sampleFreq) - { - pVoice[i].sampleVolume = pLine->volume&63; - pVoice[i].bLoop = (pLine->volume&0x40); - n = pLine->noteOn; - if (n != 0xff) // Note ON. - { - pVoice[i].bRunning = 1; - pVoice[i].pSample = pDrumTab[n].pData; - pVoice[i].sampleSize = pDrumTab[n].size; - pVoice[i].repLen = pDrumTab[n].repLen; - pVoice[i].samplePos = 0; - } - } - else - { - pVoice[i].bRunning = 0; - } - pLine++; - } - - currentFrame++; - if (currentFrame >= nbFrame) - { - if (!bLoop) - { - bMusicOver = YMTRUE; - } - currentFrame = 0; - } -} - - -void CYmMusic::ymTrackerVoiceAdd(ymTrackerVoice_t *pVoice,ymsample *pBuffer,ymint nbs) -{ -ymsample *pVolumeTab; -ymu8 *pSample; -ymu32 samplePos; -ymu32 sampleEnd; -ymu32 sampleInc; -ymu32 repLen; -double step; - - - if (!(pVoice->bRunning)) return; - - pVolumeTab = &ymTrackerVolumeTable[256*(pVoice->sampleVolume&63)]; - pSample = pVoice->pSample; - samplePos = pVoice->samplePos; - - step = (double)(pVoice->sampleFreq<sampleSize<repLen<0) do - { - ymint va = pVolumeTab[pSample[samplePos>>YMTPREC]]; -#ifdef _LINEAR_OVRS - ymint vb = va; - if (samplePos < (sampleEnd-(1<>YMTPREC)+1]]; - ymint frac = samplePos & ((1<>YMTPREC); -#endif - (*pBuffer++) += va; - - samplePos += sampleInc; - if (samplePos>=sampleEnd) - { - if (pVoice->bLoop) - { - samplePos -= repLen; - } - else - { - pVoice->bRunning = 0; - return; - } - } - } - while (--nbs); - pVoice->samplePos = samplePos; -} - -void CYmMusic::ymTrackerUpdate(ymsample *pBuffer,ymint nbSample) -{ -ymint i; -ymint _nbs; - - // Clear les buffers. - memset(pBuffer,0,sizeof(ymsample)*nbSample); - if (bMusicOver) return; - - do - { - if (ymTrackerNbSampleBefore == 0) - { - // Lit la partition ymTracker - ymTrackerPlayer(ymTrackerVoice); - if (bMusicOver) return; - ymTrackerNbSampleBefore = YMTNBSRATE; - } - _nbs = ymTrackerNbSampleBefore; // nb avant playerUpdate. - if (_nbs>nbSample) _nbs = nbSample; - ymTrackerNbSampleBefore -= _nbs; - if (_nbs>0) - { - // Genere les samples. - for (i=0;i0); -} diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/YmMusic.h 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/YmMusic.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/YmMusic.h 2010-04-25 12:01:42.137611066 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/YmMusic.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,259 +0,0 @@ -/*----------------------------------------------------------------------------- - - ST-Sound ( YM files player library ) - - Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) - - YM Music Driver - ------------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - - This file is part of ST-Sound - - ST-Sound is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - ST-Sound is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with ST-Sound; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ------------------------------------------------------------------------------*/ - - -#ifndef __YMMUSIC__ -#define __YMMUSIC__ - -#include "YmTypes.h" -#include "StSoundLibrary.h" -#include "Ym2149Ex.h" -#include "Ymload.h" -#include "digidrum.h" - -#define YMTPREC 16 -#define MAX_VOICE 8 -#define PC_DAC_FREQ 44100 -#define YMTNBSRATE (PC_DAC_FREQ/50) - -typedef enum -{ - YM_V2, - YM_V3, - YM_V4, - YM_V5, - YM_V6, - YM_VMAX, - - YM_TRACKER1=32, - YM_TRACKER2, - YM_TRACKERMAX, - - YM_MIX1=64, - YM_MIX2, - YM_MIXMAX, -} ymFile_t; - -typedef struct -{ - ymu32 sampleStart; - ymu32 sampleLength; - ymu16 nbRepeat; - ymu16 replayFreq; -} mixBlock_t; - -typedef struct -{ - ymu32 size; - ymu8 * pData; - ymu32 repLen; -} digiDrum_t; - -typedef struct -{ - ymint nbVoice; - ymu32 nbVbl; - ymu8 * pDataBufer; - ymu32 currentVbl; - ymu32 flags; - ymbool bLoop; -} ymTrackerPartoche_t; - - -typedef struct -{ - ymu8 * pSample; - ymu32 sampleSize; - ymu32 samplePos; - ymu32 repLen; - yms32 sampleVolume; - ymu32 sampleFreq; - ymbool bLoop; - ymbool bRunning; -} ymTrackerVoice_t; - -typedef struct -{ - ymu8 noteOn; - ymu8 volume; - ymu8 freqHigh; - ymu8 freqLow; -} ymTrackerLine_t; - - -enum -{ - A_STREAMINTERLEAVED = 1, - A_DRUMSIGNED = 2, - A_DRUM4BITS = 4, - A_TIMECONTROL = 8, - A_LOOPMODE = 16, -}; - - -class CYmMusic -{ - -public: - CYmMusic(ymint _replayRate=44100); - ~CYmMusic(); - - ymbool load(const char *pName); - ymbool loadMemory(void *pBlock,ymu32 size); - - void unLoad(void); - ymbool isSeekable(void); - ymbool update(ymsample *pBuffer,ymint nbSample); - ymu32 getPos(void); - ymu32 getMusicTime(void); - ymu32 setMusicTime(ymu32 time); - void play(void); - void pause(void); - void stop(void); - void setVolume(ymint volume); - int getAttrib(void); - void getMusicInfo(ymMusicInfo_t *pInfo); - void setLoopMode(ymbool bLoop); - const char *getLastError(void); - int readYmRegister(ymint reg) { return ymChip.readRegister(reg); } - -//------------------------------------------------------------- -// WAVE Generator -//------------------------------------------------------------- - int waveCreate(char *fName); - - ymbool bMusicOver; - -private: - - ymbool checkCompilerTypes(); - - void setPlayerRate(int rate); - void setAttrib(int _attrib); - void setLastError(const char *pError); - ymu8 *depackFile(void); - ymbool deInterleave(void); - void readYm6Effect(ymu8 *pReg,int code,int prediv,int count); - void player(void); - void setTimeControl(ymbool bFlag); - - - CYm2149Ex ymChip; - const char *pLastError; - ymFile_t songType; - int nbFrame; - int loopFrame; - int currentFrame; - int nbDrum; - digiDrum_t *pDrumTab; - int musicTime; - ymu8 *pBigMalloc; - ymu8 *pDataStream; - ymbool bLoop; - ymint fileSize; - ymbool ymDecode(void); - ymint playerRate; - ymint attrib; - volatile ymbool bMusicOk; - volatile ymbool bPause; - ymint streamInc; - ymint innerSamplePos; - ymint replayRate; - - ymchar *pSongName; - ymchar *pSongAuthor; - ymchar *pSongComment; - ymchar *pSongType; - ymchar *pSongPlayer; - -//------------------------------------------------------------- -// ATARI Digi Mix Music. -//------------------------------------------------------------- - void readNextBlockInfo(void); - void stDigitMix(signed short *pWrite16,int nbs); - ymint nbRepeat; - ymint nbMixBlock; - mixBlock_t *pMixBlock; - ymint mixPos; - ymu8 *pBigSampleBuffer; - ymu8 *pCurrentMixSample; - ymu32 currentSampleLength; - ymu32 currentPente; - ymu32 currentPos; - -//------------------------------------------------------------- -// YM-Universal-Tracker -//------------------------------------------------------------- - void ymTrackerInit(int volMaxPercent); - void ymTrackerUpdate(signed short *pBuffer,int nbSample); - void ymTrackerDesInterleave(void); - void ymTrackerPlayer(ymTrackerVoice_t *pVoice); - void ymTrackerVoiceAdd(ymTrackerVoice_t *pVoice,signed short *pBuffer,int nbs); - - int nbVoice; - ymTrackerVoice_t ymTrackerVoice[MAX_VOICE]; - int ymTrackerNbSampleBefore; - signed short ymTrackerVolumeTable[256*64]; - int ymTrackerFreqShift; - - -}; - -/* - int version; - SD pos; - UD inc; - UD timeSec; - UD timeMin; - UD loopSec; - UD loopMin; - UD nbVbl; - UD vblRestart; - UD ymFreq; - UD playerFreq; - UB *pRegister; - UB *pFileBuffer; - UD fileSize; - UD attrib; - char *pSongName; - char *pSongComment; - char *pSongAuthor; - mixBlock_t *pMixBlock; - long nbMixBlock; - UD nbDrum; - digiDrum_t *pDrumTab; - int nbVoice; - ymu32 currentVbl; - int bTimeControl; - int timeTotal; - int ymtFreqShift; -*/ - -#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/YmTypes.h 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/YmTypes.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/YmTypes.h 2010-04-25 12:01:42.190581449 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/YmTypes.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,107 +0,0 @@ -/*----------------------------------------------------------------------------- - - ST-Sound ( YM files player library ) - GNU/Linux stuff by Grzegorz Tomasz Stanczyk - Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) - - Define YM types for multi-platform compilcation. - Change that file depending of your platform. Please respect the right size - for each type. - ------------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - - This file is part of ST-Sound - - ST-Sound is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - ST-Sound is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with ST-Sound; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ------------------------------------------------------------------------------*/ - -#ifndef __YMTYPES__ -#define __YMTYPES__ - -#define YM_INTEGER_ONLY - -//----------------------------------------------------------- -// Platform specific stuff -//----------------------------------------------------------- - -#ifdef _WIN32 - -// These settings are ok for Windows 32bits platform. - -#ifdef YM_INTEGER_ONLY -typedef __int64 yms64; -#else -typedef float ymfloat; -#endif - -typedef signed char yms8; /* 8 bits signed integer */ -typedef signed short yms16; /* 16 bits signed integer */ -typedef signed long yms32; /* 32 bits signed integer */ - -typedef unsigned char ymu8; /* 8 bits unsigned integer */ -typedef unsigned short ymu16; /* 16 bits unsigned integer */ -typedef unsigned long ymu32; /* 32 bits unsigned integer */ - -typedef int ymint; /* Native "int" for speed purpose. StSound suppose int is signed and at least 32bits. If not, change it to match to yms32 */ - -typedef char ymchar; /* 8 bits char character (used for null terminated strings) */ - -#else - -#ifdef HAVE_INTTYPES_H -#include -#endif - -#ifdef HAVE_STDINT_H -#include -#endif - -#ifdef YM_INTEGER_ONLY -typedef int64_t yms64; -#else -typedef float ymfloat; -#endif -typedef int8_t yms8; /* 8 bits signed integer */ -typedef int16_t yms16; /* 16 bits signed integer */ -typedef int32_t yms32; /* 32 bits signed integer */ - -typedef uint8_t ymu8; /* 8 bits unsigned integer */ -typedef uint16_t ymu16; /* 16 bits unsigned integer */ -typedef uint32_t ymu32; /* 32 bits unsigned integer */ - -/* Native "int" for speed purpose. StSound suppose int is signed and at least 32bits. If not, change it to match to yms32 */ -/*typedef int32_t ymint; */ -typedef int ymint; -typedef char ymchar; /* 8 bits char character (used for null terminated strings) */ - -#endif - -#ifndef NULL -#define NULL (0L) -#endif - -//----------------------------------------------------------- -// Multi-platform -//----------------------------------------------------------- -typedef int ymbool; /* boolean ( theorically nothing is assumed for its size in StSound,so keep using int) */ -typedef yms16 ymsample; /* StSound emulator render mono 16bits signed PCM samples */ - -#define YMFALSE (0) -#define YMTRUE (!YMFALSE) - -#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/YmUserInterface.cpp 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/YmUserInterface.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/stsoundlib/YmUserInterface.cpp 2010-04-25 12:01:42.190581449 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/stsoundlib/YmUserInterface.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,134 +0,0 @@ -/*----------------------------------------------------------------------------- - - ST-Sound ( YM files player library ) - - Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) - - ST-Sound library "C-like" interface wrapper - ------------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - - This file is part of ST-Sound - - ST-Sound is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - ST-Sound is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with ST-Sound; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ------------------------------------------------------------------------------*/ - -#include "config.h" -#include "YmMusic.h" -#include "StSoundLibrary.h" - - -// Static assert to check various type len - -YMMUSIC * ymMusicCreate() -{ - return (YMMUSIC*)(new CYmMusic); -} - - -ymbool ymMusicLoad(YMMUSIC *pMus,const char *fName) -{ - CYmMusic *pMusic = (CYmMusic*)pMus; - return pMusic->load(fName); -} - -ymbool ymMusicLoadMemory(YMMUSIC *pMus,void *pBlock,ymu32 size) -{ - CYmMusic *pMusic = (CYmMusic*)pMus; - return pMusic->loadMemory(pBlock,size); -} - -void ymMusicDestroy(YMMUSIC *pMus) -{ - CYmMusic *pMusic = (CYmMusic*)pMus; - delete pMusic; -} - -ymbool ymMusicCompute(YMMUSIC *_pMus,ymsample *pBuffer,int nbSample) -{ - CYmMusic *pMusic = (CYmMusic*)_pMus; - return pMusic->update(pBuffer,nbSample); -} - -void ymMusicSetLoopMode(YMMUSIC *_pMus,ymbool bLoop) -{ - CYmMusic *pMusic = (CYmMusic*)_pMus; - pMusic->setLoopMode(bLoop); -} - -const char *ymMusicGetLastError(YMMUSIC *_pMus) -{ - CYmMusic *pMusic = (CYmMusic*)_pMus; - return pMusic->getLastError(); -} - -int ymMusicGetRegister(YMMUSIC *_pMus,ymint reg) -{ - CYmMusic *pMusic = (CYmMusic*)_pMus; - return pMusic->readYmRegister(reg); -} - -void ymMusicGetInfo(YMMUSIC *_pMus,ymMusicInfo_t *pInfo) -{ - CYmMusic *pMusic = (CYmMusic*)_pMus; - pMusic->getMusicInfo(pInfo); -} - -void ymMusicPlay(YMMUSIC *_pMus) -{ - CYmMusic *pMusic = (CYmMusic*)_pMus; - pMusic->play(); -} - -void ymMusicPause(YMMUSIC *_pMus) -{ - CYmMusic *pMusic = (CYmMusic*)_pMus; - pMusic->pause(); -} - -void ymMusicStop(YMMUSIC *_pMus) -{ - CYmMusic *pMusic = (CYmMusic*)_pMus; - pMusic->stop(); -} - -ymbool ymMusicIsSeekable(YMMUSIC *_pMus) -{ - CYmMusic *pMusic = (CYmMusic*)_pMus; - return pMusic->isSeekable() ? YMTRUE : YMFALSE; -} - -//changed for 64bit compatibility by Grzegorz Stanczyk (2007.03.06) -//unsigned long ymMusicGetPos(YMMUSIC *_pMus) -ymu32 ymMusicGetPos(YMMUSIC *_pMus) -{ - CYmMusic *pMusic = (CYmMusic*)_pMus; - if (!pMusic->isSeekable()) - return 0; - - return pMusic->getPos(); -} - -void ymMusicSeek(YMMUSIC *_pMus,ymu32 timeInMs) -{ - CYmMusic *pMusic = (CYmMusic*)_pMus; - if (pMusic->isSeekable()) - { - pMusic->setMusicTime(timeInMs); - } -} diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/ui.cpp 16-STYMulator-0.21a_restructure_layout/src/ui.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/ui.cpp 2010-04-25 12:01:42.117610027 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/ui.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,147 +0,0 @@ -/* file: ui.c - - This file is a part of STYMulator - GNU/Linux YM player - - Player & ST-Sound GPL library GNU/Linux port by Grzegorz Tomasz Stanczyk - Project Page: http://atariarea.krap.pl/stymulator - - Original ST-Sound GPL library by Arnaud Carre (http://leonard.oxg.free.fr) - ALSA (Advanced Linux Sound Architecture) library (http://www.alsa-project.org/) - ------------------------------------------------------------------------------ - * STYMulator is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * STYMulator is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with STYMulator; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ----------------------------------------------------------------------------*/ - -#if defined(__x86_64__) || defined(__alpha__) || defined(__ia64__)\ - || defined(__ppc64__) || defined(__s390x__) -#define PLATFORM 1 -#else -#define PLATFORM 0 -#endif - -#include "config.h" -#include "stsoundlib/StSoundLibrary.h" -#include "ui.h" -#include - -extern bool digi; - -int pos_x = 0, pos_y = 0; -static int height = 13; -static int width = 80; - -void draw_frame(void) -{ - int y = pos_y; - - move(pos_y, pos_x+1); - if (PLATFORM) - addstr("---- STYMulator v0.21a (64bit) - Atari ST (16-bit) YM music files player -----"); - else - addstr("---- STYMulator v0.21a (32bit) - Atari ST (16-bit) YM music files player -----"); - move(pos_y+8, pos_x+1); - addstr("------------------------------------------------------------------------------"); - move(pos_y+12, pos_x+1); - addstr("----------------------- Copyright (C) 2005-2007 by Grzegorz Tomasz Stanczyk --"); - for (y = pos_y; y < pos_y + 13; y++) { - mvaddch(y, pos_x, '|'); - mvaddch(y, pos_x+79, '|'); - } - mvaddstr(pos_y+1, pos_x+5, "Filename.:"); - mvaddstr(pos_y+2, pos_x+5, "Name.....:"); - mvaddstr(pos_y+3, pos_x+5, "Author...:"); - mvaddstr(pos_y+4, pos_x+5, "Comment..:"); - mvaddstr(pos_y+5, pos_x+5, "Type.....:"); - mvaddstr(pos_y+6, pos_x+5, "Player...:"); - - if (digi) { - mvaddstr(pos_y+7, pos_x+5, "Duration.:"); - mvaddstr(pos_y+5, pos_x+58, "Time...:"); - } - mvaddstr(pos_y+6, pos_x+58, "Status.:"); - mvaddstr(pos_y+7, pos_x+58, "Repeat.:"); - mvaddstr(pos_y+9, pos_x+11, "| z - play | x - pause | c - stop | r - repeat | q - quit |"); - if (digi) - mvaddstr(pos_y+10, pos_x+27, "| n - << | m - >> | "); - move(0,0); - refresh(); -} - -static void clearscreen(void) -{ - wclear(stdscr); - move(0,0); - refresh(); -} - -int ui_init(void) -{ - initscr(); - cbreak(); - noecho(); - curs_set(0); - keypad(stdscr, TRUE); - nodelay(stdscr, 1); - - if (COLS < width || LINES < height) { - ui_end(); - printf("COLS: %d, LINES: %d\n", COLS, LINES); - printf("Sorry, you need a terminal with at least 80 cols and 13 lines.\n"); - exit(0); - } - pos_y=(LINES - height) / 2; - pos_x=(COLS - width) / 2; - - return 0; -} - -void ui_end(void) -{ - clearscreen(); - move(LINES - 1, 0); - refresh(); - nodelay(stdscr, 0); - echo(); - nocbreak(); - endwin(); - putchar('\n'); -} - -void draw_info(ymMusicInfo_t &info, const char *filename) -{ - mvprintw(pos_y+1, pos_x+16, filename); - mvprintw(pos_y+2, pos_x+16, info.pSongName); - mvprintw(pos_y+3, pos_x+16, info.pSongAuthor); - mvprintw(pos_y+4, pos_x+16, info.pSongComment); - mvprintw(pos_y+5, pos_x+16, info.pSongType); - mvprintw(pos_y+6, pos_x+16, info.pSongPlayer); - if (digi) - mvprintw(pos_y+7, pos_x+16, "%2d:%02d", info.musicTimeInSec/60,info.musicTimeInSec%60); - move(0,0); - refresh(); -} - -void draw_time(int sec) -{ - mvprintw(pos_y+5, pos_x+67, "%2d:%02d ", sec / 60, sec % 60); - move(0,0); - refresh(); -} - - - - - diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/ui.h 16-STYMulator-0.21a_restructure_layout/src/ui.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/ui.h 2010-04-25 12:01:42.225647630 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/ui.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -/* file: ui.h - - This file is a part of STYMulator - GNU/Linux YM player - - Player & ST-Sound GPL library GNU/Linux port by Grzegorz Tomasz Stanczyk - Project Page: http://atariarea.krap.pl/stymulator - - Original ST-Sound GPL library by Arnaud Carre (http://leonard.oxg.free.fr) - ALSA (Advanced Linux Sound Architecture) library (http://www.alsa-project.org/) - ------------------------------------------------------------------------------ - * STYMulator is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * STYMulator is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with STYMulator; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ----------------------------------------------------------------------------*/ - -#ifndef UI_H -#define UI_H - -#include - -void draw_frame(void); -int ui_init(void); -void ui_end(void); -void draw_info(ymMusicInfo_t &info, const char *argv); -void draw_time(int sec); -extern int pos_x; -extern int pos_y;; - -#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/ym2wav.cpp 16-STYMulator-0.21a_restructure_layout/src/ym2wav.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/ym2wav.cpp 2010-04-25 12:01:42.133632928 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/ym2wav.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,173 +0,0 @@ -/*----------------------------------------------------------------------------- - - ST-Sound ( YM files player library ) - - Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) - - This is a sample program: it's an YM to WAV converter. - ------------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - - This file is part of ST-Sound - - ST-Sound is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - ST-Sound is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with ST-Sound; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ------------------------------------------------------------------------------*/ - -#if defined(__x86_64__) || defined(__alpha__) || defined(__ia64__)\ - || defined(__ppc64__) || defined(__s390x__) -#define PLATFORM 1 -#else -#define PLATFORM 0 -#endif - -#include "config.h" -#include -#include -#include "stsoundlib/StSoundLibrary.h" - -//--------------------------------------------------------------------- -//--------------------------------------------------------------------- -#define NBSAMPLEPERBUFFER 1024 -static ymsample convertBuffer[NBSAMPLEPERBUFFER]; // Sound buffer to create WAV file. - - -//--------------------------------------------------------------------- -// To produce a WAV file. -//--------------------------------------------------------------------- -#define ID_RIFF 0x46464952 -#define ID_WAVE 0x45564157 -#define ID_FMT 0x20746D66 -#define ID_DATA 0x61746164 -typedef struct -{ - ymu32 RIFFMagic; - ymu32 FileLength; - ymu32 FileType; - ymu32 FormMagic; - ymu32 FormLength; - ymu16 SampleFormat; - ymu16 NumChannels; - ymu32 PlayRate; - ymu32 BytesPerSec; - ymu16 Pad; - ymu16 BitsPerSample; - ymu32 DataMagic; - ymu32 DataLength; -} WAVHeader; - -int main(int argc, char* argv[]) -{ - const char *platform; - - if (PLATFORM) - platform = "64bit"; - else - platform = "32bit"; - - //-------------------------------------------------------------------------- - // Checks args. - //-------------------------------------------------------------------------- - printf( "ym2wav (%s) - YM to WAV converter.\n" - "Using ST-Sound Library, under GPL license\n" - "Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr )\n" - "GNU/Linux (%s) port by Grzegorz Stanczyk\n", platform, platform); - - if (argc!=3) - { - printf("Usage: ym2wav \n\n"); - return -1; - } - - - //-------------------------------------------------------------------------- - // Load YM music and creates WAV file - //-------------------------------------------------------------------------- - YMMUSIC *pMusic = ymMusicCreate(); - - - if (ymMusicLoad(pMusic,argv[1])) - { - - // Get info about the current music. - ymMusicInfo_t info; - ymMusicGetInfo(pMusic,&info); - - printf("Generating wav file from \"%s\"\n",argv[1]); - printf("%s\n%s\n(%s)\n",info.pSongName,info.pSongAuthor,info.pSongComment); - printf("Total music time: %ld seconds.\n",(long)info.musicTimeInSec); - - FILE *out = fopen(argv[2],"wb"); - if (!out) - { - printf("Unable to create %s file.\n",argv[2]); - return -1; - } - // Reserve space to write the header. - WAVHeader head; - fwrite(&head,1,sizeof(WAVHeader),out); // write non initialized dummy data to reserve space - - - //-------------------------------------------------------------------------- - // Main loop: render each music frame and store to the WAV file. - //-------------------------------------------------------------------------- - ymMusicSetLoopMode(pMusic,YMFALSE); // Be sure there is no loop (to avoid a BIG wav file :-) ) - ymu32 totalNbSample = 0; - - ymMusicStop(pMusic); - ymMusicPlay(pMusic); - - - while (ymMusicCompute(pMusic,convertBuffer,NBSAMPLEPERBUFFER)) - { - fwrite((void*)convertBuffer,sizeof(ymsample),NBSAMPLEPERBUFFER,out); - totalNbSample += NBSAMPLEPERBUFFER; - } - - //-------------------------------------------------------------------------- - // Write the WAV file header and close the file. - //-------------------------------------------------------------------------- - fseek(out,0,SEEK_SET); - head.RIFFMagic = ID_RIFF; - head.FileType = ID_WAVE; - head.FormMagic = ID_FMT; - head.DataMagic = ID_DATA; - head.FormLength = 0x10; - head.SampleFormat = 1; - head.NumChannels = 1; - head.PlayRate = 44100; - head.BitsPerSample = 16; - head.BytesPerSec = 44100*(16/8); - head.Pad = (16/8); - head.DataLength = totalNbSample*(16/8); - head.FileLength = head.DataLength + sizeof(WAVHeader) - 8; - fwrite(&head,1,sizeof(WAVHeader),out); - fseek(out,0,SEEK_END); - fclose(out); - printf("%ld samples written (%.02f Mb).\n",(long)totalNbSample,(float)(totalNbSample*sizeof(ymsample))/(1024*1024)); - } - else - { // Error in loading music. - printf("Error in loading file %s:\n%s\n",argv[1],ymMusicGetLastError(pMusic)); - return -1; - } - - ymMusicDestroy(pMusic); - - return 0; -} - diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/src/ymplayer.cpp 16-STYMulator-0.21a_restructure_layout/src/ymplayer.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/src/ymplayer.cpp 2010-04-25 12:01:42.133632928 +0200 +++ 16-STYMulator-0.21a_restructure_layout/src/ymplayer.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,230 +0,0 @@ -/* file: ymplayer.cpp - - This file is a part of STYMulator - GNU/Linux YM player - - Player & ST-Sound GPL library GNU/Linux port by Grzegorz Tomasz Stanczyk - Project Page: http://atariarea.krap.pl/stymulator - - Original ST-Sound GPL library by Arnaud Carre (http://leonard.oxg.free.fr) - ALSA (Advanced Linux Sound Architecture) library (http://www.alsa-project.org/) - ------------------------------------------------------------------------------ - * STYMulator is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * STYMulator is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with STYMulator; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ----------------------------------------------------------------------------*/ - -#if defined(__x86_64__) || defined(__alpha__) || defined(__ia64__)\ - || defined(__ppc64__) || defined(__s390x__) -#define PLATFORM 1 -#else -#define PLATFORM 0 -#endif - -#include "config.h" -#include "stsoundlib/StSoundLibrary.h" -#include "ui.h" -#include "sound.h" -#ifdef HAVE_OSS -#include -#include -#include -#include -#endif -#include -#include -#include - -bool digi; - -int main(int argc, char **argv) -{ -bool quit = false; -bool repeat = false; -bool rmode = true; -bool stop = false; -bool pmode = true; -bool paused = false; -bool playing; -bool ff = false; -bool rew = false; - -const char *platform; - - if (PLATFORM) - platform = "64bit"; - else - platform = "32bit"; - - if (argc != 2) { - printf("STYMulator v0.21a (%s) - Copyright (C) 2005-2007 by Grzegorz Tomasz Stanczyk\n", platform); - printf("http://atariarea.krap.pl/stymulator\n"); - printf("\nUsage: ymplayer \n\n"); - return -1; - } - -#ifdef HAVE_ALSA - snd_pcm_t *pcm_handle; - snd_pcm_hw_params_t *hwparams; - snd_pcm_hw_params_alloca(&hwparams); - - snd_output_t *output = NULL; - char pcm_name[] = "default"; - int err; -#endif -#ifdef HAVE_OSS - int audio_fd; - char pcm_name[] = "/dev/dsp"; -#endif - - unsigned int buf; - - - YMMUSIC *pMusic = ymMusicCreate(); - - if (ymMusicLoad(pMusic,argv[1])) { -#ifdef HAVE_ALSA - if ((err = snd_output_stdio_attach(&output, stdout, 0)) < 0) { - printf("Output failed: %s\n", snd_strerror(err)); - return 0; - } - if ((err = snd_pcm_open(&pcm_handle, pcm_name, SND_PCM_STREAM_PLAYBACK, 0)) < 0) { - printf("Playback open error: %s\n", snd_strerror(err)); - return 0; - } - if ((err = alsa_init(pcm_handle, hwparams)) < 0) { - printf("Setting of hwparams failed: %s\n", snd_strerror(err)); - exit(EXIT_FAILURE); - } -#endif -#ifdef HAVE_OSS - if ((audio_fd = open(pcm_name, O_WRONLY)) < 0) { - printf("device open error: %s\n", strerror(errno)); - return 0; - } - if (oss_init(audio_fd) < 0) { - printf("Setting of hwparams failed: %s\n", strerror(errno)); - exit(EXIT_FAILURE); - } -#endif - - buf = period_size; - ymsample *convertBuffer = new ymsample[buf]; - - ymMusicInfo_t info; - ymMusicGetInfo(pMusic,&info); - - digi = strncmp(info.pSongType,"MIX1",4); - - ui_init(); - draw_frame(); - draw_info(info, argv[1]); - - while(!quit) { - playing = ymMusicCompute(pMusic,convertBuffer, buf); - if (digi) - draw_time(ymMusicGetPos(pMusic) / 1000); -#ifdef HAVE_ALSA - if ((err = snd_pcm_writei(pcm_handle, convertBuffer, buf)) == -EPIPE) { - err = snd_pcm_prepare(pcm_handle); - } else if (err == -ESTRPIPE) { - while ((err = snd_pcm_resume(pcm_handle)) == -EAGAIN) - sleep(1); - if (err < 0) { - err = snd_pcm_prepare(pcm_handle); - } - } -#endif -#ifdef HAVE_OSS - if (write(audio_fd, convertBuffer, buf*2) < 0) { - perror("audio device not ready for data"); - } -#endif - switch(getch()) { - case 27: case 'q': quit = true; break; - case 'z': pmode = true; break; //play - case 'x': paused = true; break; //pause - case 'c': pmode = false; break; //stop - case 'r': rmode = true; break; - case 'm': ff = true; break; - case 'n': rew = true; break; - } - if (rmode) - { - if (repeat) { - ymMusicSetLoopMode(pMusic,YMTRUE); - mvaddstr(pos_y+7,pos_x+67,"Yes"); - rmode = false; - repeat = false; - } else { - ymMusicSetLoopMode(pMusic,YMFALSE); - mvaddstr(pos_y+7,pos_x+67,"No "); - rmode = false; - repeat = true; - } - } - if (!stop && playing) { - if (pmode && !paused) - mvaddstr(pos_y+6,pos_x+67,"Play"); //play - else if (pmode && paused) { - ymMusicPause(pMusic); //pause - mvaddstr(pos_y+6,pos_x+67,"Pause"); - stop = true; - pmode = false; - - } else if (!pmode) { //stop - ymMusicStop(pMusic); - mvaddstr(pos_y+6,pos_x+67,"Stop "); - stop = true; - } - } else if (pmode && playing) { - ymMusicPlay(pMusic); - mvaddstr(pos_y+6,pos_x+67,"Play "); - stop = false; - paused = false; - } else if (!playing) { - ymMusicLoad(pMusic,argv[1]); // hmmm :/ - pmode = false; - } - - if (ymMusicIsSeekable(pMusic) && digi) - { - if (ff) { - ymMusicSeek(pMusic, ymMusicGetPos(pMusic) + 1000); - ff = false; - } else if (rew) { - ymMusicSeek(pMusic, ymMusicGetPos(pMusic) - 1000); - rew = false; - } - } - } - - ymMusicStop(pMusic); -#ifdef HAVE_ALSA - snd_pcm_close(pcm_handle); -#endif -#ifdef HAVE_OSS - close(audio_fd); -#endif - delete convertBuffer; - ui_end(); - - } else { - printf("Error in loading file %s: %s\n", argv[1], ymMusicGetLastError(pMusic)); - } - - ymMusicDestroy(pMusic); - - return 0; -} diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/digidrum.cpp 16-STYMulator-0.21a_restructure_layout/stsoundlib/digidrum.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/digidrum.cpp 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/stsoundlib/digidrum.cpp 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,2586 @@ +/*----------------------------------------------------------------------------- + + ST-Sound ( YM files player library ) + + Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) + + Sample datas of some common YM music. ( YM2 format ) + YM3 or greater uses sample data inside the music file. + +-----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + + This file is part of ST-Sound + + ST-Sound is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + ST-Sound is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ST-Sound; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +-----------------------------------------------------------------------------*/ + +#include "config.h" +#include "YmTypes.h" +#include "digidrum.h" + +static ymu8 sample00[631]={ + 0xCC,0x84,0xB4,0x70,0x90,0x94,0x70,0x80,0x80,0xAC, + 0x58,0xFF,0x00,0x80,0x54,0x40,0x6C,0x78,0x94,0x7C, + 0x8C,0x58,0x84,0x08,0x4C,0x54,0x78,0xA8,0xDC,0xDC, + 0xFF,0xFF,0xF0,0xA4,0x70,0x44,0x3C,0x2C,0x14,0x00, + 0x00,0x00,0x00,0x1C,0x90,0xE4,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xF4,0xB4,0x8C,0x44,0x08,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x28,0x70,0xDC,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x78,0x38,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x38,0x84,0xEC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x84,0x50,0x18,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x04,0x50,0x98,0xDC,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xD8,0x8C,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x58, + 0xA0,0xDC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDC,0xC0,0x88, + 0x58,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x40, + 0x64,0x80,0xA8,0xD0,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xE4,0xBC,0x8C,0x68,0x48,0x20,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x04,0x2C,0x60,0x78,0xA0,0xC4,0xF0, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEC,0xC4,0x98,0x64, + 0x30,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x2C,0x50, + 0x74,0x8C,0xB0,0xCC,0xE8,0xFC,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8, + 0xF0,0xDC,0xC8,0xBC,0xB0,0x90,0x80,0x70,0x5C,0x58, + 0x48,0x38,0x38,0x28,0x24,0x1C,0x24,0x24,0x20,0x28, + 0x38,0x48,0x58,0x50,0x50,0x5C,0x60,0x5C,0x5C,0x5C, + 0x5C,0x60,0x5C,0x60,0x60,0x5C,0x54,0x5C,0x58,0x64, + 0x68,0x64,0x64,0x6C,0x74,0x7C,0x78,0x80,0x88,0x90, + 0x98,0x9C,0xA8,0xB8,0xB8,0xC0,0xC8,0xD0,0xD8,0xE0, + 0xE0,0xE4,0xDC,0xD4,0xD8,0xDC,0xD0,0xCC,0xC0,0xC4, + 0xBC,0xB0,0xA8,0x9C,0x98,0x94,0x90,0x7C,0x74,0x6C, + 0x64,0x4C,0x40,0x30,0x20,0x18,0x08,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0C,0x14,0x28, + 0x34,0x44,0x50,0x64,0x74,0x84,0x98,0x98,0xAC,0xC0, + 0xD0,0xD8,0xEC,0xF0,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xD8, + 0xD4,0xC8,0xBC,0x9C,0x8C,0x6C,0x74,0x50,0x40,0x34, + 0x24,0x18,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x10,0x24, + 0x38,0x4C,0x58,0x6C,0x80,0x90,0xA4,0xAC,0xBC,0xC8, + 0xD8,0xE4,0xE4,0xEC,0xF0,0xF4,0xFC,0xFC,0xFC,0xF8, + 0xFC,0xFC,0xF8,0xF8,0xF0,0xF0,0xEC,0xEC,0xE4,0xE0, + 0xD8,0xD0,0xC4,0xBC,0xB0,0xA0,0x94,0x88,0x78,0x68, + 0x58,0x44,0x38,0x30,0x24,0x20,0x14,0x0C,0x08,0x00, + 0x00,0x00,0x04,0x0C,0x14,0x18,0x18,0x20,0x24,0x34, + 0x38,0x40,0x48,0x50,0x5C,0x60,0x6C,0x70,0x74,0x80, + 0x8C,0x90,0x98,0x9C,0xAC,0xB0,0xB8,0xC4,0xC0,0xBC, + 0xC0,0xC8,0xD0,0xCC,0xC8,0xC4,0xC0,0xC0,0xC0,0xB4, + 0xB4,0xAC,0xB0,0xA8,0xA4,0xA4,0x9C,0x98,0x94,0x94, + 0x94,0x94,0x94,0x8C,0x80,0x80,0x74,0x74,0x70,0x64, + 0x58,0x50,0x4C,0x4C,0x44,0x40,0x48,0x48,0x4C,0x4C, + 0x4C,0x58,0x60,0x68,0x6C,0x6C,0x74,0x7C,0x7C,0x84, + 0x84,0x88,0x8C,0x8C,0x88,0x88,0x84,0x84,0x84,0x7C, + 0x78,0x70,0x6C,0x68,0x64,0x64,0x64,0x60,0x68,0x6C, + 0x6C,0x70,0x7C,0x84,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,}; +static ymu8 sample01[631]={ + 0x97,0x81,0x90,0x7B,0x84,0x86,0x7B,0x80,0x80,0x8D, + 0x73,0xA7,0x58,0x80,0x72,0x6C,0x79,0x7D,0x86,0x7E, + 0x83,0x73,0x81,0x5A,0x6F,0x72,0x7D,0x8C,0x9C,0x9C, + 0xA7,0xA7,0xA2,0x8B,0x7B,0x6D,0x6A,0x65,0x5E,0x58, + 0x58,0x58,0x58,0x60,0x84,0x9F,0xA7,0xA7,0xA7,0xA7, + 0xA7,0xA7,0xA4,0x90,0x83,0x6D,0x5A,0x58,0x58,0x58, + 0x58,0x58,0x58,0x58,0x58,0x64,0x7B,0x9C,0xA7,0xA7, + 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0x93,0x7D,0x69,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, + 0x58,0x69,0x81,0xA1,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, + 0xA7,0xA7,0xA7,0xA7,0xA7,0x93,0x81,0x71,0x5F,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, + 0x58,0x58,0x59,0x71,0x87,0x9C,0xA7,0xA7,0xA7,0xA7, + 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, + 0x9B,0x83,0x6D,0x58,0x58,0x58,0x58,0x58,0x58,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x64,0x73, + 0x89,0x9C,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, + 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0x9C,0x93,0x82, + 0x73,0x60,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x5F,0x6C, + 0x77,0x80,0x8C,0x98,0xA5,0xA7,0xA7,0xA7,0xA7,0xA7, + 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, + 0xA7,0x9F,0x92,0x83,0x78,0x6E,0x62,0x58,0x58,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, + 0x58,0x58,0x58,0x59,0x65,0x76,0x7D,0x89,0x95,0xA2, + 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, + 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA1,0x95,0x87,0x77, + 0x67,0x59,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x5B,0x65,0x71, + 0x7C,0x83,0x8E,0x97,0xA0,0xA6,0xA7,0xA7,0xA7,0xA7, + 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA5, + 0xA2,0x9C,0x96,0x92,0x8E,0x84,0x80,0x7B,0x74,0x73, + 0x6E,0x69,0x69,0x64,0x63,0x60,0x63,0x63,0x62,0x64, + 0x69,0x6E,0x73,0x71,0x71,0x74,0x76,0x74,0x74,0x74, + 0x74,0x76,0x74,0x76,0x76,0x74,0x72,0x74,0x73,0x77, + 0x78,0x77,0x77,0x79,0x7C,0x7E,0x7D,0x80,0x82,0x84, + 0x87,0x88,0x8C,0x91,0x91,0x93,0x96,0x98,0x9B,0x9D, + 0x9D,0x9F,0x9C,0x9A,0x9B,0x9C,0x98,0x97,0x93,0x95, + 0x92,0x8E,0x8C,0x88,0x87,0x86,0x84,0x7E,0x7C,0x79, + 0x77,0x6F,0x6C,0x67,0x62,0x5F,0x5A,0x58,0x58,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x59,0x5B,0x5E,0x64, + 0x68,0x6D,0x71,0x77,0x7C,0x81,0x87,0x87,0x8D,0x93, + 0x98,0x9B,0xA1,0xA2,0xA6,0xA7,0xA7,0xA7,0xA7,0xA7, + 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA2,0x9B, + 0x9A,0x96,0x92,0x88,0x83,0x79,0x7C,0x71,0x6C,0x68, + 0x63,0x5F,0x5A,0x58,0x58,0x58,0x58,0x58,0x58,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x5A,0x5D,0x63, + 0x69,0x6F,0x73,0x79,0x80,0x84,0x8B,0x8D,0x92,0x96, + 0x9B,0x9F,0x9F,0xA1,0xA2,0xA4,0xA6,0xA6,0xA6,0xA5, + 0xA6,0xA6,0xA5,0xA5,0xA2,0xA2,0xA1,0xA1,0x9F,0x9D, + 0x9B,0x98,0x95,0x92,0x8E,0x89,0x86,0x82,0x7D,0x78, + 0x73,0x6D,0x69,0x67,0x63,0x62,0x5E,0x5B,0x5A,0x58, + 0x58,0x58,0x59,0x5B,0x5E,0x5F,0x5F,0x62,0x63,0x68, + 0x69,0x6C,0x6E,0x71,0x74,0x76,0x79,0x7B,0x7C,0x80, + 0x83,0x84,0x87,0x88,0x8D,0x8E,0x91,0x95,0x93,0x92, + 0x93,0x96,0x98,0x97,0x96,0x95,0x93,0x93,0x93,0x90, + 0x90,0x8D,0x8E,0x8C,0x8B,0x8B,0x88,0x87,0x86,0x86, + 0x86,0x86,0x86,0x83,0x80,0x80,0x7C,0x7C,0x7B,0x77, + 0x73,0x71,0x6F,0x6F,0x6D,0x6C,0x6E,0x6E,0x6F,0x6F, + 0x6F,0x73,0x76,0x78,0x79,0x79,0x7C,0x7E,0x7E,0x81, + 0x81,0x82,0x83,0x83,0x82,0x82,0x81,0x81,0x81,0x7E, + 0x7D,0x7B,0x79,0x78,0x77,0x77,0x77,0x76,0x78,0x79, + 0x79,0x7B,0x7E,0x81,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,}; +static ymu8 sample02[490]={ + 0x74,0xB4,0x96,0x64,0x3C,0x00,0x1E,0x70,0x00,0x40, + 0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCA,0x4C,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xDB,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xE4,0x5A,0x16,0x24,0x02,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0xC4, + 0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xED,0xFF,0x4A,0x06,0x1A,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x1E,0x84,0xBA,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFD,0xF9,0x6E,0x00,0x3A,0x0C, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x96, + 0x8A,0x58,0x60,0xDD,0xB3,0x40,0xFF,0xF3,0x90,0xFD, + 0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE9, + 0x8A,0xEB,0xB9,0x44,0x04,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x08,0x50,0x14,0x36,0xFD,0xD3,0xD9, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAD,0xCF, + 0xF5,0x92,0xFD,0xC2,0x10,0xA6,0x24,0x06,0x14,0x00, + 0x00,0x00,0x00,0x00,0x1C,0x00,0x72,0x18,0x6A,0xF1, + 0x80,0xFF,0xFF,0xFF,0xFF,0xF9,0xFF,0xF3,0xAA,0x88, + 0xA8,0xAA,0x8C,0x1A,0xCA,0x50,0xB9,0x00,0xD9,0x5E, + 0xA2,0x24,0x30,0x80,0x30,0x2E,0x00,0x0C,0x5E,0x06, + 0x08,0x70,0x58,0x00,0x9E,0xFD,0xA8,0xFF,0xFF,0xF7, + 0xFF,0xF5,0xFF,0xF5,0xFB,0xD5,0x70,0xC8,0xB6,0xA2, + 0x36,0xC3,0x00,0x72,0x30,0x2E,0x00,0x3E,0x30,0x2E, + 0x1C,0x74,0x56,0x32,0x5C,0xD5,0x9C,0x74,0xD0,0xDB, + 0xB5,0xB9,0xCB,0x9E,0xE0,0xFF,0x90,0xCC,0x98,0xE9, + 0x72,0xB4,0xB8,0x60,0xAE,0x6C,0x0C,0x44,0x4A,0x3C, + 0x36,0x60,0x10,0x2C,0x88,0x02,0x88,0x60,0x92,0x94, + 0xE1,0x6E,0xC4,0xE7,0xF7,0xF3,0x7A,0xCB,0xD0,0xAA, + 0x6E,0xC4,0xCD,0xB6,0x6A,0x90,0x44,0x34,0x5A,0x20, + 0x58,0x10,0x40,0x22,0x10,0x38,0x4A,0x42,0x5A,0x74, + 0x42,0x92,0xC6,0xBE,0xE1,0xDF,0xE7,0xFF,0xF5,0xD5, + 0xB1,0xC8,0xCA,0xD5,0x6E,0x6A,0x8A,0x40,0x52,0x22, + 0x72,0x48,0x44,0x3E,0x92,0x82,0x66,0xD2,0x88,0xD2, + 0xAC,0xA0,0x84,0x8A,0x8C,0x94,0xA3,0x86,0xE3,0x90, + 0x7A,0xE1,0x8E,0xE7,0xAC,0x7C,0xAC,0xCD,0x86,0x7A, + 0xA4,0x80,0x9A,0x3A,0x76,0x86,0x4E,0x50,0x94,0x4C, + 0x32,0x9E,0x70,0xA0,0x72,0x74,0x56,0xAE,0xB8,0x80, + 0xCA,0x82,0xA4,0x7C,0xEA,0xAA,0x84,0x32,0xD5,0xA2, + 0x9A,0x50,0x4A,0x6A,0x28,0x9A,0x18,0x16,0x78,0x82, + 0x94,0x94,0x9C,0x92,0x8E,0x7E,0x72,0x5A,0x88,0x44, + 0x98,0xA8,0x64,0xA0,0x66,0xA6,0x84,0x7E,0x8C,0x92, + 0xBC,0x92,0xB6,0x92,0xAA,0x5A,0x70,0x7A,0x66,0x7E, + 0x4E,0x62,0xAE,0x6A,0x82,0x84,0x54,0x88,0x80,0x94, + 0x78,0xBE,0xAC,0xA2,0xE1,0x8E,0xDD,0xD6,0xA6,0xAA, + 0x60,0xA2,0x86,0x90,0x78,0x5C,0x94,0x72,0x54,0xB2, + 0x6A,0x74,0x60,0x90,0x78,0x5A,0x9A,0x70,0x8C,0xA2, + 0x64,0x4C,0xA8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample03[490]={ + 0x7C,0x90,0x86,0x77,0x6A,0x58,0x61,0x7B,0x58,0x6C, + 0xA5,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0x97,0x6F,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x5B,0x9C,0xA7, + 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, + 0xA7,0x9F,0x74,0x5E,0x63,0x58,0x58,0x58,0x58,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x64,0x95, + 0xA2,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, + 0xA7,0xA7,0xA2,0xA7,0x6F,0x59,0x60,0x58,0x58,0x58, + 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58, + 0x61,0x81,0x92,0x93,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7, + 0xA7,0xA7,0xA7,0xA7,0xA7,0xA5,0x7A,0x58,0x6A,0x5B, + 0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x58,0x86, + 0x83,0x73,0x76,0x9D,0x8F,0x6C,0xA7,0xA3,0x84,0xA7, + 0xA2,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA0, + 0x83,0xA1,0x91,0x6D,0x59,0x58,0x58,0x58,0x58,0x58, + 0x58,0x58,0x58,0x5A,0x71,0x5E,0x68,0xA7,0x99,0x9B, + 0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0xA7,0x8E,0x98, + 0xA4,0x85,0xA7,0x94,0x5D,0x8B,0x63,0x59,0x5E,0x58, + 0x58,0x58,0x58,0x58,0x60,0x58,0x7B,0x5F,0x79,0xA3, + 0x80,0xA7,0xA7,0xA7,0xA7,0xA5,0xA7,0xA3,0x8D,0x82, + 0x8C,0x8D,0x83,0x60,0x97,0x71,0x91,0x58,0x9B,0x75, + 0x8A,0x63,0x67,0x80,0x67,0x66,0x58,0x5B,0x75,0x59, + 0x5A,0x7B,0x73,0x58,0x89,0xA7,0x8C,0xA7,0xA7,0xA5, + 0xA7,0xA4,0xA7,0xA4,0xA6,0x9A,0x7B,0x96,0x90,0x8A, + 0x68,0x94,0x58,0x7B,0x67,0x66,0x58,0x6B,0x67,0x66, + 0x60,0x7C,0x72,0x67,0x74,0x9A,0x88,0x7C,0x98,0x9C, + 0x90,0x91,0x97,0x89,0x9D,0xA7,0x84,0x97,0x87,0xA0, + 0x7B,0x90,0x91,0x76,0x8E,0x79,0x5B,0x6D,0x6F,0x6A, + 0x68,0x76,0x5D,0x65,0x82,0x58,0x82,0x76,0x85,0x86, + 0x9E,0x7A,0x95,0xA0,0xA5,0xA3,0x7E,0x97,0x98,0x8D, + 0x7A,0x95,0x98,0x90,0x79,0x84,0x6D,0x68,0x74,0x62, + 0x73,0x5D,0x6C,0x62,0x5D,0x69,0x6F,0x6C,0x74,0x7C, + 0x6C,0x85,0x95,0x93,0x9E,0x9D,0xA0,0xA7,0xA4,0x9A, + 0x8F,0x96,0x97,0x9A,0x7A,0x79,0x83,0x6C,0x71,0x62, + 0x7B,0x6E,0x6D,0x6B,0x85,0x80,0x77,0x99,0x82,0x99, + 0x8D,0x89,0x81,0x83,0x83,0x86,0x8A,0x81,0x9E,0x84, + 0x7E,0x9E,0x84,0xA0,0x8D,0x7E,0x8D,0x98,0x81,0x7E, + 0x8B,0x80,0x88,0x6A,0x7C,0x81,0x70,0x71,0x86,0x6F, + 0x67,0x89,0x7B,0x89,0x7B,0x7C,0x72,0x8E,0x91,0x80, + 0x97,0x80,0x8B,0x7E,0xA1,0x8D,0x81,0x67,0x9A,0x8A, + 0x88,0x71,0x6F,0x79,0x64,0x88,0x5F,0x5E,0x7D,0x80, + 0x86,0x86,0x88,0x85,0x84,0x80,0x7B,0x74,0x82,0x6D, + 0x87,0x8C,0x77,0x89,0x77,0x8B,0x81,0x80,0x83,0x85, + 0x92,0x85,0x90,0x85,0x8D,0x74,0x7B,0x7E,0x77,0x80, + 0x70,0x76,0x8E,0x79,0x80,0x81,0x72,0x82,0x80,0x86, + 0x7D,0x93,0x8D,0x8A,0x9E,0x84,0x9D,0x9A,0x8B,0x8D, + 0x76,0x8A,0x81,0x84,0x7D,0x74,0x86,0x7B,0x72,0x8F, + 0x79,0x7C,0x76,0x84,0x7D,0x74,0x88,0x7B,0x83,0x8A, + 0x77,0x6F,0x8C,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample04[699]={ + 0x80,0x80,0x80,0x80,0x80,0x80,0x90,0x94,0x94,0xE0, + 0x28,0xC0,0x00,0x34,0xFF,0xA4,0xFF,0x78,0xE4,0xC0, + 0x98,0x70,0xFF,0x30,0x7C,0x28,0x58,0x00,0xFF,0x00, + 0xFF,0x00,0x00,0x5C,0x64,0x00,0x94,0x38,0x00,0x8C, + 0x00,0x00,0x00,0x50,0x48,0x4C,0xBC,0xC8,0xF8,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0x9C,0xF8,0x44,0x3C,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x38, + 0x18,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xB8,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x68,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xCC,0x7C,0x38,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x4C, + 0x88,0xE8,0xE4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xE8,0xAC,0x48,0x24,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08, + 0x3C,0x7C,0x98,0xD4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xEC,0xC8,0xB4,0x9C,0x68,0x60,0x40,0x34,0x2C, + 0x0C,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x08,0x1C,0x1C, + 0x20,0x50,0x58,0x64,0x7C,0x98,0x7C,0x90,0xA0,0xB4, + 0xC0,0xB8,0xC8,0xDC,0xE4,0xF0,0xDC,0xF4,0xF0,0xFC, + 0xFF,0xF0,0xF4,0xEC,0xE8,0xEC,0xE4,0xDC,0xF4,0xDC, + 0xD8,0xE4,0xCC,0xD8,0xCC,0xBC,0xA0,0xAC,0xA0,0xB4, + 0xA4,0xA4,0xA8,0x9C,0x90,0x84,0x74,0x64,0x6C,0x58, + 0x68,0x5C,0x5C,0x54,0x4C,0x40,0x4C,0x40,0x20,0x34, + 0x20,0x14,0x20,0x20,0x10,0x1C,0x18,0x18,0x18,0x18, + 0x20,0x20,0x18,0x18,0x28,0x24,0x38,0x40,0x34,0x3C, + 0x4C,0x48,0x50,0x48,0x50,0x58,0x68,0x68,0x70,0x74, + 0x74,0x84,0x88,0x94,0x90,0x90,0x98,0xA0,0xA4,0xAC, + 0xA8,0xB8,0xB0,0xB4,0xB8,0xA8,0xB4,0xB8,0xB4,0xBC, + 0xC0,0xB4,0xB4,0xC4,0xC8,0xC8,0xC0,0xD0,0xBC,0xCC, + 0xC8,0xCC,0xCC,0xE0,0xD0,0xD8,0xDC,0xDC,0xE8,0xEC, + 0xEC,0xE0,0xDC,0xE0,0xD8,0xE0,0xDC,0xD0,0xC8,0xC8, + 0xC8,0xC8,0xBC,0xB4,0xB4,0xA0,0x98,0x88,0x8C,0x8C, + 0x80,0x7C,0x78,0x68,0x5C,0x5C,0x4C,0x48,0x40,0x40, + 0x34,0x34,0x34,0x34,0x2C,0x28,0x24,0x18,0x20,0x14, + 0x18,0x20,0x18,0x24,0x1C,0x18,0x28,0x1C,0x2C,0x2C, + 0x2C,0x3C,0x38,0x30,0x40,0x38,0x44,0x48,0x4C,0x48, + 0x54,0x50,0x5C,0x64,0x64,0x70,0x68,0x70,0x78,0x84, + 0x84,0x88,0x98,0x9C,0xAC,0xAC,0xAC,0xAC,0xB4,0xA8, + 0xC4,0xC4,0xBC,0xCC,0xC8,0xC0,0xC0,0xB8,0xB4,0xB4, + 0xB4,0xB0,0xB4,0xA8,0xA8,0xA0,0x94,0x94,0x8C,0x88, + 0x88,0x88,0x80,0x7C,0x78,0x70,0x6C,0x64,0x60,0x60, + 0x5C,0x5C,0x54,0x54,0x4C,0x48,0x40,0x40,0x40,0x3C, + 0x44,0x40,0x40,0x48,0x40,0x40,0x44,0x44,0x48,0x4C, + 0x58,0x60,0x5C,0x64,0x64,0x6C,0x6C,0x70,0x6C,0x70, + 0x78,0x88,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample05[505]={ + 0x9F,0x74,0x71,0x47,0x4D,0x63,0x2C,0x2F,0x80,0x99, + 0xD9,0xC3,0xFA,0xB3,0xA7,0xA1,0x94,0x95,0x5A,0x69, + 0x02,0x29,0x0B,0x13,0x00,0x0B,0x0A,0x03,0x00,0x41, + 0x92,0xC4,0xE5,0xFF,0xFF,0xFF,0xEB,0x93,0xF9,0xB4, + 0xC3,0xFF,0xFF,0xFB,0xDD,0xF4,0xD7,0x88,0x52,0x22, + 0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x4A,0x9E,0xE8,0xFF,0xFF,0xF9,0xFF,0xE1, + 0xFF,0xFC,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFB,0xAA,0x7E,0x0E,0x00,0x00,0x00,0x00,0x00, + 0x00,0x09,0x1A,0x28,0x15,0x2D,0x23,0x15,0x0E,0x17, + 0x17,0x24,0x38,0x36,0xA0,0x75,0x95,0x96,0x8F,0x90, + 0x5B,0x4F,0x00,0x00,0x00,0x00,0x26,0x5E,0xA2,0xC7, + 0xEF,0xFE,0xFF,0xFF,0xFA,0xFF,0xF9,0xE3,0xFA,0xD7, + 0xFE,0x83,0x93,0xA1,0xC7,0x73,0xFF,0xDE,0xEC,0xFE, + 0xCF,0xB5,0x89,0x8A,0x51,0x95,0x42,0x9E,0x7B,0x84, + 0x93,0x8C,0x5C,0xA3,0x5C,0x46,0x16,0x0C,0x33,0x02, + 0x73,0x10,0x1A,0x00,0x2B,0x00,0x48,0x22,0x73,0x52, + 0x83,0xB2,0xA0,0x5C,0xB5,0x54,0x38,0x3D,0x00,0x0B, + 0x2A,0x14,0x1D,0x2B,0x07,0x0F,0x2B,0x16,0x26,0x4A, + 0x80,0xE2,0xDE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFD,0xFF,0xFF,0xFA,0xFE,0xFF,0xFA, + 0xFF,0xFA,0xFB,0xF7,0x80,0x4E,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x20,0x00,0x1B,0x1B,0x2C,0x1E,0x3D,0x44,0x56,0x52, + 0x77,0x84,0x8B,0x8A,0x92,0x8D,0xBA,0xE8,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xF8,0xE0,0xD6,0xB4,0x7C,0x8A, + 0x33,0x4B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, + 0x2A,0x52,0x1C,0x6B,0x5B,0x7A,0xAC,0xAD,0xA8,0xE2, + 0xA7,0xD9,0x90,0xD1,0x95,0xD4,0x8A,0xD2,0xB6,0xE4, + 0xEA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xF9, + 0xC8,0x95,0x4F,0x3E,0x0F,0x00,0x09,0x02,0x03,0x00, + 0x29,0x05,0x12,0x17,0x0C,0x08,0x17,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x2A,0x22,0x40, + 0x47,0x93,0x64,0x9B,0xAC,0xB5,0xF2,0xD7,0xFD,0xFE, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA7,0xF9,0xC6, + 0xB3,0xE4,0xAA,0xBA,0x97,0xA6,0x44,0x60,0x1C,0x14, + 0x47,0x10,0x05,0x00,0x00,0x00,0x1C,0x07,0x00,0x0B, + 0x23,0x35,0x61,0x66,0xA6,0xA4,0x96,0x8E,0xA6,0xB0, + 0x5D,0xBD,0x7D,0x7C,0x57,0x77,0x52,0x62,0x69,0x6E, + 0x7B,0x62,0x97,0x80,0xA1,0x92,0xC2,0xA9,0xB0,0xC7, + 0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xF3,0xE7,0xC8,0xCB,0x91,0xAC,0x7D,0x67, + 0x41,0x30,0x04,0x00,0x00,0x00,0x00,0x00,0x09,0x00, + 0x00,0x34,0x0C,0x1E,0x34,0x1F,0x25,0x2B,0x18,0x12, + 0x09,0x1B,0x00,0x16,0x0F,0x39,0x1E,0x40,0x49,0x55, + 0x6E,0x7D,0x84,0xA2,0xBC,0xCA,0xC6,0xCA,0xC3,0xCA, + 0xB4,0xD7,0xAC,0x86,0x9F,0x7E,0x89,0x81,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample06[727]={ + 0x8C,0x38,0x74,0xA4,0x64,0x98,0xD8,0x80,0x0C,0x44, + 0xB0,0xB4,0xA4,0xA4,0x54,0x14,0x48,0x84,0xC4,0xF8, + 0xFF,0x5C,0x00,0x00,0x5C,0xFF,0xFF,0x7C,0x8C,0x20, + 0x00,0xA8,0xF8,0x68,0x2C,0x8C,0xB0,0x14,0x00,0x74, + 0xFF,0xFF,0xE4,0x0C,0x00,0x60,0x5C,0x00,0x00,0x00, + 0xFF,0xFF,0xFF,0xFF,0xFF,0x9C,0x00,0x00,0x00,0x00, + 0x00,0x14,0xF8,0xF4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xA4, + 0xFF,0xFF,0xFF,0xFF,0xA8,0x10,0x00,0x00,0x00,0x70, + 0x8C,0x84,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC, + 0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60, + 0xE4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0x70,0xB4,0xE4,0x84,0x3C,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0xBC,0xDC, + 0xE8,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0x84,0x34,0x30,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x3C,0x34,0x58,0xAC,0x58, + 0xCC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE4,0xFF, + 0xFF,0xFF,0xFF,0x44,0x00,0x38,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x30,0xFF,0x38,0x00,0x00, + 0xDC,0xFF,0xFF,0x98,0x7C,0xB8,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0x8C,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x6C,0x00,0x00,0x64,0x6C,0x08,0x48, + 0x40,0x30,0x70,0x3C,0x68,0xFF,0x8C,0x1C,0x54,0x98, + 0x8C,0xC8,0xFF,0xFF,0xFF,0xBC,0xFF,0xFF,0xFF,0xFF, + 0x24,0x60,0xFF,0xF8,0x00,0x00,0x00,0x38,0x00,0x00, + 0x40,0x00,0x00,0x34,0xFF,0xFF,0x14,0x0C,0xFF,0x8C, + 0x00,0x10,0xFC,0xA8,0x54,0x00,0x68,0xFF,0xFF,0xFF, + 0xD4,0xA8,0xFF,0xFF,0xFF,0x8C,0x40,0xFF,0xFF,0x00, + 0x00,0x64,0x6C,0x00,0x00,0x00,0x00,0x00,0x38,0xF0, + 0x40,0x00,0x24,0x84,0xA4,0x00,0x00,0x98,0xFF,0x08, + 0x00,0xFF,0xFF,0xE4,0x94,0xFF,0xFF,0xFF,0x54,0xFF, + 0xFF,0xFF,0xE8,0xFF,0x78,0x00,0x00,0xF8,0xFF,0x00, + 0x00,0x70,0x3C,0x00,0x54,0x74,0x00,0x00,0x28,0xFF, + 0xEC,0x00,0x00,0x44,0xFF,0xFF,0x94,0x30,0xA8,0xFF, + 0xFF,0xFF,0x94,0xD8,0xFF,0xFF,0x80,0x00,0xBC,0xFF, + 0x30,0x00,0x34,0xFF,0x30,0x00,0x00,0xC8,0xC4,0x64, + 0x00,0x00,0xD4,0x74,0x00,0x00,0xDC,0xFC,0x00,0x00, + 0x00,0xFF,0xFF,0x14,0x00,0xFF,0xFF,0xFF,0xD8,0xFF, + 0xFF,0xFC,0xD8,0x5C,0x00,0x40,0xFF,0xFF,0x00,0x00, + 0x00,0xE4,0xFF,0x1C,0x00,0x7C,0xFF,0xA4,0x00,0x54, + 0xFF,0x08,0x00,0x00,0x3C,0x04,0x98,0x18,0x18,0xF0, + 0xFF,0xFF,0x14,0x4C,0xFF,0xFF,0xE4,0x14,0x00,0xA8, + 0xFF,0xFF,0x00,0x00,0x38,0xFF,0xFF,0x20,0x00,0xC4, + 0xFF,0x5C,0xA8,0xB0,0x28,0x50,0xFF,0x90,0x00,0x00, + 0xF8,0xA4,0x00,0x00,0x10,0xB0,0xCC,0xC4,0xFF,0xFF, + 0xEC,0x7C,0xFF,0xFF,0x98,0x9C,0xFF,0x8C,0x00,0x00, + 0xFF,0xFF,0x84,0x00,0x30,0xFF,0xFC,0x04,0x08,0xD0, + 0x90,0x00,0x00,0x44,0xB4,0x20,0x00,0x00,0x5C,0xF0, + 0x58,0x1C,0xFF,0xFF,0xFF,0x70,0x50,0xFF,0xFF,0xFF, + 0xC0,0x88,0x40,0x20,0xF4,0xFF,0x14,0x00,0x00,0x0C, + 0x7C,0xA0,0x68,0x00,0x00,0x40,0x94,0x38,0xA0,0x60, + 0x00,0x24,0xFF,0xF0,0x00,0x00,0x38,0xFF,0xFF,0x8C, + 0x2C,0x64,0xFF,0xFF,0xA4,0xD4,0x8C,0x00,0x2C,0xE4, + 0x8C,0x70,0x6C,0x00,0x44,0xA8,0x68,0x78,0xFF,0xEC, + 0x00,0x00,0xF0,0xFF,0x84,0x10,0x00,0x6C,0xFF,0x30, + 0x00,0xDC,0xFF,0x1C,0x08,0xFF,0xFF,0xA4,0x00,0x50, + 0xFF,0xD8,0x24,0x60,0xFC,0x70,0x00,0x64,0xFF,0xC0, + 0x00,0x0C,0xFF,0xEC,0xFF,0xFF,0x30,0x00,0xC4,0xFF, + 0x00,0x1C,0xE0,0x40,0x00,0x70,0xC0,0x9C,0x00,0x00, + 0xD4,0xFF,0x7C,0x00,0x3C,0xFF,0xD4,0x00,0x0C,0xFF, + 0xD4,0x00,0x10,0xF0,0xFF,0x14,0x00,0xFF,0xDC,0x74, + 0xFF,0xFF,0x10,0x00,0xFF,0xFF,0x00,0x00,0xC8,0xA4, + 0x00,0x34,0xD8,0xB8,0x00,0x00,0xA0,0xFF,0x78,0x00, + 0x68,0xFF,0x80,0x00,0xBC,0xBC,0x5C,0xB4,0x08,0x00, + 0xDC,0xFF,0x88,0x00,0x84,0xFF,0xA4,0x14,0x84,0x68, + 0x5C,0x10,0x00,0x70,0x34,0x00,0x00,0xC8,0xEC,0x40, + 0x00,0x00,0xD8,0xFF,0xFF,0x40,0x70,0xA0,0x78,0xDC, + 0xFF,0xE4,0x00,0x58,0xE8,0xFF,0xFF,0x94,0x18,0x70, + 0xFF,0xFF,0x98,0x00,0x8C,0xB4,0x20,0x14,0xBC,0xFF, + 0x48,0x00,0x00,0xFF,0xFF,0x00,0x00,0x94,0xFF,0xD0, + 0x00,0x1C,0xFF,0xFF,0x38,0x00,0xBC,0xFF,0x44,0x38, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample07[480]={ + 0x3E,0xFD,0x13,0xFA,0x18,0xD5,0x1D,0xC1,0xC3,0xB5, + 0xE7,0x6F,0xDF,0x01,0xFF,0x70,0xAD,0xE9,0x27,0xEB, + 0x9F,0x2B,0xFD,0x38,0xB2,0xD9,0x0D,0xFF,0x4C,0x3B, + 0xFB,0x00,0xD3,0x9D,0x00,0xD3,0xDF,0x1C,0xED,0xCD, + 0x00,0xCB,0xB2,0x00,0x86,0xCE,0x10,0x13,0xD1,0x85, + 0x90,0x07,0xCD,0xE3,0x22,0x3D,0x8F,0x8A,0x33,0x7E, + 0xB4,0x3A,0x45,0xCE,0xA7,0x3A,0x47,0xE9,0xAF,0x08, + 0x49,0xAE,0xC0,0x4C,0x10,0x46,0xF1,0x38,0x03,0x89, + 0xEF,0x6A,0x11,0xC7,0xF3,0x43,0x00,0x2D,0xE5,0xF1, + 0x3E,0x00,0x17,0xA9,0xFF,0xEC,0x73,0x00,0x43,0xE5, + 0xF3,0x72,0x28,0x57,0xFF,0xC7,0x4E,0x22,0x5F,0xF3, + 0xFF,0xF1,0x65,0x0B,0x08,0xA9,0xFF,0xDF,0x66,0x24, + 0x18,0xA7,0xC6,0x9C,0xDC,0x9D,0xA3,0x56,0x00,0x00, + 0x63,0xD1,0xF8,0xFD,0x94,0x32,0x00,0x15,0x9E,0xF9, + 0xFD,0x91,0x5E,0x02,0x01,0x23,0x5A,0xDA,0xFE,0xFE, + 0xBC,0x3E,0x00,0x00,0x65,0xD6,0xFF,0xED,0xD8,0x4D, + 0x02,0x00,0x00,0x28,0xAD,0xFF,0xFF,0xFF,0xDB,0x69, + 0x29,0x00,0x01,0x00,0x03,0x8C,0xDF,0xFF,0xFF,0xFF, + 0xD5,0xC7,0x0B,0x37,0x00,0x00,0x21,0x4B,0x85,0xB3, + 0xB8,0xD0,0xFD,0x9E,0xBB,0xA2,0xE3,0xB1,0x60,0x25, + 0x30,0x02,0x28,0x58,0x3D,0x69,0xE0,0xFF,0xFF,0xD5, + 0x94,0x6D,0xA1,0x46,0x3C,0x00,0x00,0x00,0x04,0x79, + 0xB9,0xBF,0xD2,0xFF,0xFF,0xFF,0xFF,0xC5,0x76,0x52, + 0x5C,0x72,0x42,0x00,0x00,0x00,0x00,0x29,0x62,0xFF, + 0xE5,0xFF,0xFF,0xFE,0xD6,0xFE,0xE8,0xBF,0x96,0x81, + 0x79,0x62,0x2F,0x00,0x01,0x0E,0x1D,0x29,0x0D,0x27, + 0x48,0x97,0xCB,0xE7,0xEC,0xF6,0xF1,0xFF,0xF5,0x9C, + 0xA9,0xB2,0x9C,0x8A,0x6E,0x47,0x21,0x00,0x00,0x00, + 0x00,0x02,0x1C,0x47,0x5D,0x70,0x79,0x87,0xBF,0xCA, + 0xDF,0xDA,0xFD,0xFF,0xEF,0xFF,0xCF,0xF7,0xC5,0xDF, + 0xB3,0x7C,0x13,0x03,0x01,0x50,0x00,0x00,0x00,0x00, + 0x3C,0x69,0x82,0x65,0x62,0x71,0x8B,0x9D,0xBB,0x9F, + 0x9E,0x99,0xBA,0xAD,0xB5,0xE3,0xD5,0xF1,0xB2,0x9F, + 0x95,0x86,0x8F,0xBA,0xC9,0xDA,0xDA,0xDA,0x70,0x39, + 0x4C,0x58,0x6F,0x52,0x29,0x00,0x00,0x2D,0x0B,0x00, + 0x00,0x03,0x3F,0x82,0xA7,0xF5,0x98,0x99,0x8A,0xCD, + 0xB0,0x9B,0xDD,0xFE,0xFF,0xFF,0xF1,0xBA,0x92,0x6C, + 0x71,0x5A,0x91,0x4A,0x49,0x59,0x58,0x69,0x61,0x7A, + 0x75,0x67,0x62,0x81,0x92,0xD9,0xD9,0x82,0x34,0x03, + 0x28,0x3D,0x67,0x62,0x52,0x7B,0x6D,0x8F,0x90,0x81, + 0x7D,0x84,0x9D,0xC0,0xCE,0xBE,0x9C,0x93,0xA5,0xBA, + 0xA8,0xB7,0xAE,0x94,0x8F,0x82,0x6A,0x6D,0x51,0x5A, + 0x5F,0x69,0x84,0x95,0x8B,0x85,0x74,0x78,0x7A,0xA0, + 0x88,0x74,0x58,0x3B,0x34,0x09,0x00,0x00,0x0E,0x47, + 0x7E,0x94,0x8B,0x74,0x61,0x7B,0x80,0x90,0x90,0xA0, + 0xBD,0xCB,0xDA,0xC6,0xC1,0xA3,0x9F,0x92,0x98,0xA5, + 0x9C,0xAB,0xB0,0xAB,0xA8,0x96,0xB7,0xB5,0xC7,0xA4, + 0xB5,0xD0,0xD9,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample08[2108]={ + 0x8A,0xAB,0x9D,0x3F,0x29,0x4A,0x68,0x97,0xF2,0x85, + 0x90,0x6D,0x68,0x68,0x71,0x82,0x88,0xEB,0x9A,0x59, + 0x30,0x00,0x33,0x41,0x84,0xA9,0xCC,0x92,0x81,0x60, + 0x77,0x79,0x80,0x95,0xB6,0xDA,0x92,0x6B,0x45,0x2E, + 0x02,0x51,0x63,0x8B,0xA1,0xA3,0xD6,0x92,0x92,0x83, + 0x76,0x7D,0x7C,0x7C,0x8B,0x88,0x7D,0x92,0xD5,0xAC, + 0x60,0x48,0x32,0x19,0x0C,0x49,0x5A,0x93,0x8D,0x93, + 0xA7,0xD6,0x90,0x88,0x78,0x7D,0x75,0x8D,0x7E,0x7E, + 0x8F,0x84,0x89,0x8B,0xE7,0xA9,0x61,0x53,0x36,0x28, + 0x1B,0x4E,0x5E,0x7C,0xA0,0x99,0xA5,0xCC,0xA8,0x9A, + 0x94,0x89,0x87,0x89,0x98,0x83,0x8C,0x8F,0x84,0x7A, + 0x8E,0xD4,0xD3,0x58,0x48,0x24,0x24,0x06,0x47,0x4E, + 0x82,0x97,0x89,0x9D,0xEC,0x83,0x95,0x8C,0x7C,0x7E, + 0x89,0x89,0x76,0x86,0x87,0x78,0x89,0xA2,0x86,0xB9, + 0x62,0x3D,0x1D,0x2D,0x10,0x4A,0x63,0x8A,0x98,0x98, + 0xB1,0xF3,0xA0,0xA9,0x8D,0x87,0x93,0x92,0x8F,0x90, + 0x94,0x90,0x81,0x8F,0xC8,0x54,0xA3,0x6A,0x36,0x28, + 0x2C,0x2B,0x38,0x6B,0x90,0x96,0xA5,0xEB,0x96,0x8D, + 0x81,0x7D,0x7D,0x89,0x8F,0x8F,0x87,0x91,0xB3,0xB1, + 0x63,0x54,0x30,0x03,0x4A,0x49,0x6C,0x86,0xB7,0x80, + 0x85,0x7C,0x69,0x80,0x79,0x89,0x89,0x95,0xBC,0xBE, + 0x6F,0x60,0x3F,0x06,0x5B,0x60,0x83,0x9C,0xC3,0x93, + 0x8B,0x86,0x6F,0x7A,0x7C,0x85,0x8E,0x97,0xBB,0xC5, + 0x6A,0x5C,0x34,0x04,0x4E,0x4E,0x80,0x97,0xB9,0x90, + 0x81,0x75,0x6A,0x73,0x7A,0x86,0x89,0x90,0xB5,0xBA, + 0x63,0x58,0x40,0x06,0x55,0x5E,0x82,0x91,0xBC,0x92, + 0x83,0x7D,0x69,0x7A,0x79,0x85,0x86,0x91,0xB8,0xB0, + 0x62,0x65,0x45,0x08,0x53,0x5E,0x8A,0x9A,0xEE,0x8F, + 0x86,0x6D,0x74,0x72,0x7E,0x88,0x92,0xC1,0xD6,0x70, + 0x56,0x33,0x13,0x53,0x5D,0x8C,0x98,0xDF,0x89,0x7E, + 0x66,0x70,0x79,0x79,0x87,0x8D,0xA3,0xC6,0x79,0x65, + 0x40,0x13,0x57,0x59,0x75,0x8D,0xA3,0xB2,0x84,0x83, + 0x6D,0x7A,0x81,0x80,0x8A,0x91,0xAA,0xCE,0x80,0x6C, + 0x43,0x12,0x50,0x54,0x76,0x95,0xAA,0xB4,0x86,0x82, + 0x67,0x6E,0x7A,0x80,0x90,0x90,0xA4,0xCA,0x77,0x69, + 0x3F,0x0F,0x4E,0x5B,0x79,0x8E,0xA5,0xB7,0x87,0x82, + 0x65,0x70,0x7A,0x83,0x85,0x92,0xA4,0xC5,0x7B,0x65, + 0x43,0x1C,0x48,0x59,0x70,0x95,0x9D,0xF0,0x8A,0x8A, + 0x70,0x70,0x7B,0x7C,0x8B,0x8D,0x90,0xA0,0xC6,0x81, + 0x66,0x44,0x28,0x37,0x55,0x6C,0x93,0x98,0xDE,0x80, + 0x88,0x71,0x74,0x79,0x76,0x8A,0x8A,0x90,0x90,0xEE, + 0xCB,0x63,0x52,0x32,0x05,0x50,0x5F,0x7D,0x90,0x9C, + 0xE7,0x80,0x8D,0x78,0x6B,0x77,0x7C,0x87,0x88,0x91, + 0x92,0xB8,0xC4,0x66,0x56,0x37,0x2A,0x31,0x54,0x70, + 0x92,0x8F,0xB2,0xBC,0x8E,0x8B,0x76,0x7E,0x7A,0x85, + 0x8B,0x88,0x8F,0x98,0xDF,0xB9,0x6D,0x49,0x2A,0x07, + 0x53,0x5C,0x80,0x95,0x97,0xEB,0x85,0x88,0x73,0x71, + 0x78,0x75,0x83,0x92,0x90,0x8D,0xCD,0xC1,0x57,0x57, + 0x3A,0x21,0x4A,0x5D,0x70,0x8B,0x9B,0xB0,0x8B,0x88, + 0x84,0x70,0x78,0x82,0x86,0x85,0x90,0x8F,0x8F,0xA1, + 0xC0,0x98,0x62,0x49,0x32,0x1A,0x4A,0x60,0x76,0x96, + 0x98,0x9E,0xE4,0x8B,0x8B,0x7A,0x79,0x7D,0x7D,0x85, + 0x86,0x85,0x85,0x89,0x8A,0xD1,0xB9,0x5C,0x3F,0x30, + 0x26,0x2D,0x56,0x74,0x8C,0x95,0xA4,0xC8,0x8F,0x96, + 0x84,0x79,0x81,0x80,0x88,0x89,0x8F,0x87,0x88,0x94, + 0xEA,0xD8,0x65,0x4B,0x30,0x27,0x15,0x51,0x66,0x90, + 0x91,0x99,0xB7,0xA6,0x97,0x8D,0x80,0x87,0x82,0x8C, + 0x8A,0x86,0x88,0x85,0x83,0x9C,0xA8,0x90,0x52,0x43, + 0x2F,0x24,0x20,0x5C,0x69,0x89,0x94,0x9B,0xA5,0xEC, + 0x95,0x94,0x80,0x8A,0x80,0x83,0x8D,0x85,0x85,0x89, + 0x87,0x85,0xC8,0xA8,0x5F,0x4C,0x3B,0x29,0x13,0x4C, + 0x5A,0x73,0x92,0x98,0xA1,0xB2,0xBA,0x96,0x94,0x87, + 0x88,0x84,0x8A,0x8B,0x82,0x84,0x88,0x80,0x7E,0x88, + 0xE5,0xC2,0x5C,0x47,0x2F,0x2C,0x30,0x09,0x58,0x6D, + 0x8D,0x93,0x9D,0xA9,0xAE,0xF5,0x9F,0x9F,0x87,0x8B, + 0x87,0x84,0x86,0x85,0x7E,0x76,0x78,0x76,0x7A,0x83, + 0xE2,0xBD,0x55,0x3E,0x2C,0x29,0x31,0x0E,0x5E,0x70, + 0x8F,0x9D,0xA5,0xAC,0xB7,0xF3,0xA7,0xA7,0x8C,0x88, + 0x85,0x7E,0x84,0x83,0x81,0x7D,0x7B,0x7B,0x75,0x80, + 0xE7,0xB9,0x43,0x40,0x2C,0x28,0x2D,0x05,0x4E,0x69, + 0x91,0x9A,0xA8,0xAD,0xAF,0xF7,0x99,0xA5,0x8D,0x89, + 0x89,0x82,0x83,0x80,0x7B,0x7B,0x76,0x73,0x78,0x82, + 0xDF,0x56,0x87,0x4D,0x27,0x2D,0x30,0x03,0x97,0x70, + 0x80,0x96,0xAA,0xA8,0xAF,0xF2,0x6F,0xCB,0x90,0x83, + 0x8D,0x80,0x88,0x84,0x80,0x80,0x78,0x71,0x79,0x7C, + 0xC8,0x8F,0x93,0x26,0x37,0x22,0x2A,0x05,0x6B,0x56, + 0x92,0x97,0xA7,0xAA,0xAE,0xEF,0xCA,0x7C,0xB3,0x71, + 0x9C,0x77,0x94,0x81,0x81,0x7D,0x76,0x74,0x76,0x78, + 0xB4,0xCD,0x81,0x35,0x18,0x34,0x1E,0x04,0x20,0xA9, + 0x60,0xB0,0xB1,0xA2,0xB8,0xE5,0xF6,0x63,0xAA,0x98, + 0x70,0x95,0x82,0x7C,0x84,0x7D,0x78,0x76,0x75,0x77, + 0xA1,0xD9,0x8F,0x50,0x03,0x33,0x17,0x00,0x92,0x6B, + 0x8B,0x9B,0xA5,0xAE,0xB4,0xD5,0xB2,0xA6,0x9F,0x87, + 0x87,0x81,0x87,0x83,0x80,0x7D,0x80,0x7A,0x75,0x78, + 0x78,0xC1,0x80,0x72,0x44,0x33,0x25,0x28,0x28,0x3C, + 0x6C,0x7D,0x9F,0xA1,0xAA,0xB2,0xB3,0xEF,0xA1,0xA9, + 0x8F,0x84,0x81,0x7D,0x7B,0x7D,0x7C,0x76,0x73,0x71, + 0x6D,0x71,0x75,0x9A,0x79,0xA8,0x4F,0x3B,0x2B,0x32, + 0x35,0x0E,0x6B,0x76,0x94,0xA7,0xAD,0xB8,0xB8,0xBF, + 0xED,0xA8,0xAF,0x95,0x85,0x84,0x7B,0x7B,0x75,0x76, + 0x6F,0x6A,0x6A,0x6A,0x6E,0x6D,0x74,0xD7,0x86,0x5A, + 0x40,0x31,0x2E,0x3A,0x3A,0x1A,0x6D,0x7C,0x9E,0xA9, + 0xB3,0xBA,0xBC,0xC0,0xF4,0xAD,0xAA,0x8D,0x84,0x7E, + 0x79,0x77,0x74,0x74,0x6D,0x69,0x6B,0x69,0x6B,0x70, + 0x77,0xD9,0x80,0x6D,0x43,0x36,0x31,0x38,0x3D,0x1E, + 0x71,0x78,0x94,0xAF,0xB4,0xBD,0xBF,0xC3,0xC7,0xF5, + 0xAE,0xA1,0x86,0x80,0x73,0x6F,0x6F,0x6E,0x67,0x65, + 0x63,0x5F,0x63,0x69,0x68,0x6C,0x7D,0xB4,0xC4,0x50, + 0x44,0x34,0x33,0x45,0x4B,0x11,0x77,0x85,0xA6,0xB4, + 0xBD,0xBF,0xBF,0xC4,0xD3,0xBF,0xAC,0xA0,0x7D,0x7D, + 0x74,0x6F,0x6C,0x69,0x66,0x62,0x60,0x63,0x63,0x6A, + 0x6C,0x6D,0x8F,0x82,0xE0,0x2D,0x47,0x3E,0x34,0x42, + 0x4F,0x0B,0x73,0x83,0xA7,0xAF,0xB8,0xBD,0xB9,0xBD, + 0xBE,0xCC,0xCA,0xA1,0x92,0x73,0x6F,0x67,0x63,0x61, + 0x64,0x60,0x5D,0x61,0x61,0x63,0x66,0x6B,0x72,0x73, + 0x7E,0x95,0xA6,0xCA,0x60,0x4D,0x46,0x3F,0x4B,0x54, + 0x5F,0x28,0x85,0x90,0xB2,0xB7,0xBE,0xC2,0xC0,0xBE, + 0xBE,0xC7,0xC3,0x9A,0x8C,0x6D,0x66,0x5D,0x5B,0x58, + 0x5A,0x58,0x55,0x56,0x58,0x5D,0x61,0x66,0x6D,0x73, + 0x77,0x88,0xC2,0xBB,0x5D,0x5C,0x50,0x3F,0x4F,0x57, + 0x5F,0x0E,0x87,0x92,0xB4,0xBF,0xC3,0xC6,0xC6,0xC5, + 0xC3,0xCA,0xF7,0xA2,0x86,0x6B,0x69,0x62,0x5F,0x5D, + 0x5B,0x5D,0x5A,0x57,0x59,0x5D,0x5E,0x66,0x71,0x71, + 0x79,0x88,0xF7,0x3C,0xCB,0x1E,0x5B,0x32,0x46,0x4F, + 0x54,0x1C,0x93,0x71,0xBA,0xAE,0xC0,0xC3,0xC1,0xC1, + 0xC1,0xC6,0xFD,0x83,0x98,0x7B,0x56,0x73,0x50,0x64, + 0x54,0x60,0x54,0x57,0x5E,0x5D,0x64,0x67,0x6D,0x73, + 0x7A,0x84,0xDB,0xC1,0x9B,0x56,0x31,0x3E,0x3D,0x49, + 0x57,0x65,0x25,0x8E,0xA0,0xBD,0xC3,0xCB,0xCA,0xC5, + 0xC5,0xBF,0xB9,0xBA,0xED,0x91,0x82,0x61,0x57,0x4E, + 0x4E,0x4F,0x4A,0x4E,0x4F,0x50,0x54,0x59,0x61,0x66, + 0x6D,0x77,0x78,0x82,0x89,0x8E,0xBD,0x81,0xDA,0x5C, + 0x58,0x52,0x4B,0x56,0x61,0x67,0x67,0x44,0x90,0x98, + 0xB8,0xBD,0xC3,0xC2,0xC2,0xC1,0xB9,0xB7,0xB6,0xF1, + 0x9D,0x8C,0x64,0x57,0x52,0x4D,0x4D,0x4C,0x4D,0x4B, + 0x4F,0x55,0x56,0x5E,0x67,0x6A,0x72,0x79,0x80,0x85, + 0x8B,0xB4,0x99,0xDA,0x7B,0x51,0x52,0x46,0x55,0x5C, + 0x67,0x6C,0x0D,0xCC,0x8E,0xB2,0xC3,0xC2,0xC8,0xC5, + 0xC5,0xC2,0xBB,0xBC,0xFA,0x65,0xAA,0x4F,0x63,0x48, + 0x4D,0x4B,0x49,0x4A,0x4F,0x4E,0x51,0x59,0x5F,0x66, + 0x6B,0x71,0x78,0x80,0x86,0x8E,0xA5,0xF4,0x79,0xA1, + 0x5A,0x32,0x4E,0x54,0x52,0x62,0x6D,0x2A,0x6D,0xD1, + 0x95,0xD0,0xC2,0xCD,0xC4,0xC2,0xC3,0xBD,0xBA,0xE0, + 0x81,0x87,0x6A,0x55,0x53,0x47,0x49,0x4A,0x47,0x4A, + 0x4E,0x51,0x59,0x5D,0x63,0x67,0x70,0x79,0x7E,0x85, + 0x8B,0x8F,0x96,0xE6,0x86,0xDD,0x5F,0x5B,0x48,0x4A, + 0x55,0x5D,0x68,0x6B,0x1E,0x8F,0x9A,0xB5,0xBE,0xC2, + 0xC8,0xC3,0xC1,0xBD,0xB9,0xB5,0xB0,0xED,0x91,0x7E, + 0x5A,0x51,0x46,0x46,0x46,0x45,0x49,0x4A,0x4E,0x53, + 0x58,0x61,0x67,0x72,0x75,0x7D,0x86,0x8A,0x8E,0x93, + 0x9D,0xEF,0x82,0xC2,0x3F,0x6F,0x48,0x55,0x5A,0x63, + 0x6D,0x6D,0x15,0xC2,0x9A,0xAA,0xC1,0xC2,0xC4,0xC2, + 0xBF,0xBA,0xB4,0xAF,0xAD,0xF6,0x40,0x96,0x3F,0x58, + 0x43,0x45,0x44,0x47,0x47,0x48,0x4F,0x54,0x59,0x61, + 0x68,0x6D,0x75,0x80,0x85,0x89,0x91,0x95,0xA0,0xF9, + 0x7A,0xAE,0x70,0x3A,0x47,0x58,0x56,0x60,0x6F,0x6F, + 0x1F,0xC4,0x7D,0xD7,0xC3,0xC4,0xCC,0xC7,0xC3,0xBF, + 0xBB,0xAF,0xA8,0xA8,0xC3,0x76,0x68,0x45,0x3E,0x39, + 0x37,0x37,0x39,0x42,0x43,0x47,0x51,0x59,0x60,0x6E, + 0x77,0x7C,0x84,0x8A,0x8F,0x92,0x96,0x9B,0x9A,0x9E, + 0xB8,0x84,0x95,0x9D,0x64,0x5A,0x48,0x55,0x56,0x63, + 0x6F,0x73,0x77,0x2A,0x8C,0xA1,0xC2,0xC7,0xCB,0xCC, + 0xC8,0xC0,0xBB,0xB6,0xAC,0x9F,0x99,0xC6,0x48,0x62, + 0x53,0x3B,0x35,0x30,0x31,0x30,0x3A,0x3E,0x41,0x49, + 0x53,0x5B,0x65,0x71,0x78,0x80,0x8A,0x90,0x92,0x97, + 0x9D,0x9F,0x9F,0xA2,0xEA,0x6F,0xC7,0x94,0x39,0x70, + 0x4B,0x58,0x61,0x63,0x76,0x77,0x6F,0x49,0xD3,0x8A, + 0xDD,0xB7,0xD0,0xC6,0xC1,0xBE,0xB6,0xB1,0xA5,0x9C, + 0x93,0xA0,0x70,0x61,0x4D,0x34,0x33,0x2C,0x2F,0x32, + 0x36,0x3B,0x3E,0x48,0x52,0x5A,0x67,0x71,0x78,0x82, + 0x89,0x91,0x96,0x9A,0x9F,0x9F,0xA0,0xA0,0x9D,0x9D, + 0x9D,0xC6,0x7A,0x8B,0xBC,0x5F,0x5B,0x48,0x4F,0x54, + 0x60,0x6B,0x74,0x7E,0x84,0x55,0xC0,0xB3,0xC5,0xD2, + 0xD2,0xD2,0xCA,0xC1,0xB8,0xAE,0xA2,0x99,0x8D,0x80, + 0x76,0x81,0x67,0x63,0x3B,0x1B,0x1E,0x1E,0x25,0x2A, + 0x33,0x3A,0x40,0x4E,0x58,0x65,0x71,0x7C,0x88,0x90, + 0x97,0x9F,0xA3,0xA7,0xA9,0xAB,0xAB,0xAA,0xA8,0xA4, + 0xA2,0xAC,0xF0,0x49,0xCB,0x7C,0x3A,0x6A,0x3E,0x5D, + 0x5D,0x68,0x70,0x79,0x82,0x86,0x33,0xA4,0xAE,0xC7, + 0xCC,0xCC,0xC8,0xBF,0xB8,0xAD,0xA2,0x97,0x8C,0x80, + 0x74,0x69,0x62,0xB3,0x3F,0x38,0x1E,0x1A,0x1B,0x1E, + 0x26,0x30,0x38,0x43,0x4F,0x58,0x65,0x71,0x7E,0x88, + 0x94,0x9C,0xA3,0xA7,0xAD,0xAF,0xAF,0xB0,0xAE,0xAD, + 0xA8,0xA6,0xA2,0x9E,0xA1,0xF1,0x82,0x8C,0x81,0x57, + 0x4F,0x4F,0x55,0x5B,0x68,0x6F,0x77,0x80,0x87,0x85, + 0x53,0xAF,0xC5,0xC2,0xC6,0xC9,0xBF,0xB8,0xAF,0xA4, + 0x9A,0x8F,0x84,0x76,0x6A,0x5F,0x59,0xA0,0x0C,0x4F, + 0x07,0x25,0x16,0x23,0x29,0x35,0x3F,0x48,0x55,0x60, + 0x6D,0x7A,0x86,0x90,0x9A,0xA2,0xA8,0xAC,0xB1,0xB3, + 0xB1,0xB0,0xAF,0xAB,0xA8,0xA6,0xA0,0x9D,0x9D,0xE1, + 0x7D,0x86,0xA7,0x3A,0x6C,0x42,0x58,0x59,0x63,0x6D, + 0x74,0x7B,0x86,0x8E,0x8F,0x3E,0xAB,0xAF,0xC3,0xC7, + 0xC1,0xBD,0xB3,0xA8,0x9B,0x93,0x89,0x79,0x6E,0x64, + 0x58,0x4D,0x48,0x43,0x80,0x20,0x2C,0x1E,0x1A,0x25, + 0x29,0x36,0x44,0x51,0x5B,0x68,0x74,0x80,0x8C,0x97, + 0x9F,0xA8,0xB1,0xB5,0xB6,0xB9,0xBA,0xB7,0xB5,0xB3, + 0xAF,0xA9,0xA4,0x9E,0x99,0x95,0x92,0x8C,0x8B,0x8A, + 0xD3,0x4F,0x94,0x8D,0x5A,0x41,0x56,0x44,0x5B,0x5C, + 0x68,0x70,0x77,0x80,0x85,0x8C,0x89,0x47,0xD5,0x93, + 0xCC,0xB6,0xB6,0xB3,0xA2,0x9D,0x8F,0x86,0x7D,0x72, + 0x67,0x5D,0x56,0x4D,0x46,0x46,0x74,0x50,0x18,0x37, + 0x23,0x2E,0x38,0x46,0x50,0x5D,0x6A,0x74,0x81,0x8B, + 0x95,0x9E,0xA6,0xAE,0xB4,0xB7,0xB8,0xB9,0xB7,0xB7, + 0xB1,0xAE,0xAA,0xA5,0xA1,0x9C,0x98,0x91,0x8F,0x8A, + 0x85,0x83,0x81,0x7E,0x7E,0x83,0xD5,0x7C,0x71,0x9D, + 0x39,0x5E,0x4B,0x4D,0x58,0x5F,0x69,0x70,0x78,0x80, + 0x84,0x8D,0x91,0x94,0x82,0x89,0x8F,0xB7,0xB9,0xAA, + 0xA9,0x9E,0x95,0x8B,0x80,0x77,0x6D,0x63,0x5C,0x54, + 0x4D,0x49,0x44,0x42,0x42,0x47,0x88,0x3F,0x3E,0x44, + 0x36,0x54,0x4E,0x67,0x6B,0x7E,0x85,0x90,0x9A,0xA1, + 0xA8,0xAD,0xB3,0xB9,0xBC,0xBD,0xBD,0xBC,0xB9,0xB5, + 0xB2,0xAD,0xAB,0xA4,0x9E,0x99,0x93,0x8F,0x89,0x85, + 0x81,0x7C,0x7A,0x77,0x76,0x74,0x72,0x73,0xA5,0x52, + 0x62,0x69,0x67,0x54,0x45,0x43,0x4D,0x54,0x5D,0x65, + 0x6D,0x75,0x7C,0x81,0x87,0x8C,0x8B,0x39,0xAF,0xAB, + 0xB2,0xAA,0xA8,0xA2,0x9A,0x90,0x87,0x81,0x79,0x71, + 0x68,0x61,0x5B,0x56,0x53,0x52,0x51,0x52,0x58,0xAF, + 0x35,0x47,0x46,0x4F,0x58,0x63,0x6E,0x79,0x85,0x8D, + 0x96,0x9F,0xA4,0xAB,0xB3,0xB6,0xB9,0xBB,0xBC,0xB8, + 0xB5,0xB5,0xAF,0xAB,0xA8,0xA2,0x9D,0x97,0x92,0x8A, + 0x85,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample09[4231]={ + 0x7E,0x7E,0x7C,0x7E,0x7E,0x80,0x7A,0x7C,0x70,0x70, + 0x74,0x62,0x6A,0x62,0x74,0x6E,0x72,0x6C,0x6C,0x6C, + 0x64,0x62,0x5A,0x58,0x52,0x54,0x50,0x4E,0x4E,0x4E, + 0x4E,0x52,0x52,0x58,0x60,0x6C,0x76,0x86,0x90,0xA6, + 0xB4,0xBE,0xCE,0xD8,0xE2,0xE8,0xF4,0xEA,0xEE,0xE0, + 0xDC,0xD8,0xCA,0xC6,0xB0,0xB0,0x94,0x84,0x7A,0x66, + 0x62,0x4A,0x4C,0x4A,0x42,0x42,0x34,0x2E,0x3A,0x2C, + 0x38,0x24,0x30,0x2E,0x40,0x46,0x42,0x4A,0x54,0x56, + 0x6E,0x72,0x70,0x74,0x70,0x7E,0x70,0x7C,0x7E,0x82, + 0x82,0x92,0xA2,0xC0,0xEA,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFA,0xFF,0xF2,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF8,0xEC,0xDE, + 0xD8,0xDA,0xDA,0xE4,0xD2,0xDC,0xDC,0xC4,0xC8,0xA2, + 0x96,0x76,0x44,0x32,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x10,0x18,0x22, + 0x1A,0x22,0x16,0x0C,0x02,0x00,0x00,0x00,0x00,0x00, + 0x00,0x08,0x0C,0x18,0x2E,0x2A,0x42,0x3A,0x4C,0x4A, + 0x50,0x54,0x50,0x64,0x58,0x7C,0x74,0x9C,0x9C,0xAA, + 0xAA,0xAC,0xAE,0xBC,0xCA,0xCA,0xDA,0xD4,0xE6,0xF0, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, + 0xF4,0xF6,0xEA,0xE0,0xC6,0xB6,0x94,0x84,0x6E,0x5E, + 0x54,0x44,0x34,0x36,0x34,0x44,0x4A,0x5A,0x5E,0x62, + 0x68,0x6A,0x7A,0x7C,0x86,0x90,0x9E,0xAA,0xA6,0xB4, + 0xB0,0xC8,0xC8,0xD8,0xC8,0xD6,0xCC,0xCE,0xB0,0x9C, + 0x6E,0x60,0x46,0x44,0x36,0x36,0x30,0x3E,0x42,0x54, + 0x50,0x60,0x56,0x5C,0x4C,0x48,0x46,0x46,0x4A,0x58, + 0x5E,0x6A,0x70,0x7E,0x88,0x9C,0xA2,0xB8,0xBA,0xCE, + 0xC0,0xAE,0x86,0x68,0x4E,0x50,0x44,0x50,0x4E,0x5E, + 0x72,0x82,0x9A,0x98,0xA6,0x98,0x98,0x8C,0x7E,0x78, + 0x78,0x82,0x8C,0x96,0x9C,0x98,0xAC,0xAA,0xBA,0xB6, + 0xC4,0xBA,0xBA,0x8C,0x66,0x34,0x18,0x12,0x0E,0x1E, + 0x26,0x36,0x50,0x62,0x7C,0x80,0x8A,0x84,0x7E,0x78, + 0x66,0x64,0x6C,0x76,0x92,0x98,0xB4,0xB8,0xC4,0xCE, + 0xD6,0xE2,0xE0,0xDE,0xBC,0x7E,0x52,0x18,0x18,0x0A, + 0x12,0x20,0x26,0x4C,0x5C,0x78,0x80,0x7E,0x86,0x76, + 0x70,0x56,0x4A,0x4C,0x52,0x72,0x7E,0x9E,0xAC,0xC0, + 0xD0,0xDA,0xEE,0xEA,0xE2,0xA8,0x6A,0x40,0x18,0x1C, + 0x0C,0x18,0x2A,0x46,0x74,0x86,0x9C,0xA4,0xA6,0xAE, + 0x98,0x86,0x68,0x5A,0x64,0x68,0x82,0x94,0xB0,0xC8, + 0xD4,0xF0,0xEA,0xFF,0xF4,0xEA,0xA4,0x6C,0x34,0x1C, + 0x12,0x06,0x10,0x1A,0x42,0x68,0x7E,0x94,0x90,0x9C, + 0x96,0x84,0x6E,0x48,0x44,0x44,0x50,0x54,0x7E,0xA2, + 0xBC,0xCC,0xEA,0xFF,0xFF,0xFC,0xCC,0x6A,0x46,0x18, + 0x00,0x00,0x00,0x26,0x46,0x74,0x8C,0x96,0xB6,0xA4, + 0x8C,0x74,0x4C,0x48,0x26,0x2A,0x3A,0x5A,0x8A,0xA0, + 0xC8,0xE8,0xF6,0xFF,0xFF,0xFF,0xFF,0xBE,0x3C,0x2E, + 0x00,0x00,0x00,0x00,0x4A,0x72,0xA2,0xB2,0xC0,0xE0, + 0xA0,0x74,0x50,0x32,0x22,0x00,0x16,0x4C,0x68,0x96, + 0xAC,0xEA,0xFF,0xFC,0xFF,0xFF,0xFF,0xFF,0xB2,0x36, + 0x4C,0x00,0x00,0x00,0x00,0x60,0x64,0x8A,0xD0,0xD4, + 0xD6,0x9E,0x80,0x78,0x32,0x0C,0x0A,0x20,0x44,0x48, + 0x82,0xBE,0xD4,0xEA,0xFA,0xFF,0xFF,0xFF,0xFF,0xF2, + 0x52,0x5A,0x1E,0x00,0x00,0x00,0x2E,0x50,0x5A,0xBA, + 0xD6,0xCC,0xC6,0xA0,0xA0,0x5E,0x24,0x1E,0x18,0x18, + 0x30,0x54,0x9A,0xAC,0xD4,0xF8,0xFF,0xFF,0xFF,0xFF, + 0xFF,0x9A,0x62,0x62,0x00,0x00,0x00,0x00,0x1E,0x2C, + 0x72,0xCE,0xB4,0xC8,0xD6,0xC0,0x9E,0x5E,0x46,0x32, + 0x02,0x14,0x30,0x5A,0x82,0xA4,0xDA,0xFE,0xFF,0xFF, + 0xFF,0xFF,0xFE,0x84,0x9C,0x36,0x00,0x00,0x00,0x00, + 0x06,0x2A,0x78,0x9E,0xA4,0xE0,0xD2,0xC6,0xB2,0x7E, + 0x5E,0x2C,0x14,0x2A,0x22,0x50,0x7E,0xA6,0xCE,0xF6, + 0xFF,0xFF,0xFF,0xFF,0xAC,0xCE,0x70,0x00,0x0C,0x00, + 0x00,0x00,0x00,0x32,0x62,0x7C,0xB4,0xC0,0xD0,0xD2, + 0xAC,0xA0,0x64,0x4A,0x44,0x2E,0x48,0x6A,0x7C,0xAC, + 0xD2,0xFF,0xFF,0xFF,0xFF,0xD2,0xE0,0x58,0x46,0x2A, + 0x00,0x00,0x00,0x00,0x1C,0x3A,0x60,0x86,0x9E,0xC0, + 0xB6,0xBA,0xAA,0x86,0x80,0x6C,0x5A,0x7C,0x74,0x94, + 0xBC,0xD6,0xF0,0xFF,0xBA,0xF0,0xBC,0x4E,0x90,0x2E, + 0x04,0x2C,0x04,0x0C,0x30,0x36,0x4A,0x62,0x90,0x7A, + 0xA0,0xAC,0x84,0x96,0x94,0x6C,0x88,0x8C,0x8A,0xA2, + 0xC0,0xD6,0xE2,0xFF,0xAA,0xDC,0xC4,0x3C,0x94,0x32, + 0x04,0x34,0x14,0x02,0x40,0x34,0x52,0x54,0x9A,0x6E, + 0x96,0xAA,0x7A,0x8A,0x9C,0x5A,0x90,0x86,0x86,0xA0, + 0xBE,0xBC,0xE8,0xFA,0xD8,0xB4,0xFF,0x56,0x82,0x74, + 0x0A,0x28,0x32,0x00,0x2A,0x30,0x36,0x4A,0x7C,0x72, + 0x88,0xA6,0x8E,0x86,0xAA,0x70,0x84,0x8C,0x84,0x90, + 0xB4,0xAC,0xD4,0xE6,0xFA,0x98,0xFC,0xAE,0x4C,0xB8, + 0x2C,0x1E,0x50,0x06,0x10,0x38,0x26,0x32,0x58,0x76, + 0x50,0xA8,0x8A,0x76,0xB0,0x80,0x7E,0xA2,0x7E,0x98, + 0xAE,0xB2,0xC4,0xDE,0xFA,0xB4,0xC0,0xF4,0x2E,0xBA, + 0x5A,0x16,0x54,0x26,0x02,0x3E,0x20,0x32,0x40,0x74, + 0x4C,0x8A,0x94,0x74,0xA2,0x96,0x72,0xAA,0x80,0x92, + 0xA0,0xAE,0xB0,0xDA,0xDA,0xF8,0x9C,0xFC,0x94,0x68, + 0xB8,0x26,0x4A,0x44,0x0E,0x28,0x2C,0x28,0x2E,0x58, + 0x5A,0x56,0x9E,0x72,0x90,0xA4,0x7A,0x9C,0x92,0x88, + 0x9C,0xA0,0xAE,0xC4,0xD4,0xF4,0xC2,0xC4,0xF2,0x40, + 0xCA,0x4E,0x36,0x58,0x22,0x1A,0x34,0x26,0x2E,0x3C, + 0x68,0x44,0x8A,0x82,0x74,0xA8,0x88,0x86,0xA4,0x80, + 0x9E,0x96,0xAE,0xAC,0xD4,0xD2,0xF0,0xA0,0xFE,0x92, + 0x7A,0xB0,0x2A,0x5E,0x3A,0x24,0x24,0x36,0x2A,0x28, + 0x5E,0x46,0x5C,0x92,0x60,0x98,0x92,0x84,0x9A,0x90, + 0x90,0x98,0xA4,0xA8,0xBE,0xD2,0xDA,0xDA,0xA8,0xFC, + 0x5E,0xAC,0x76,0x3A,0x5A,0x30,0x2C,0x2A,0x36,0x2A, + 0x36,0x60,0x40,0x76,0x7A,0x6E,0x98,0x86,0x8C,0x98, + 0x8E,0x9A,0x98,0xB0,0xA8,0xCE,0xCE,0xE8,0xBA,0xC8, + 0xD4,0x5A,0xC0,0x4E,0x52,0x4E,0x32,0x28,0x30,0x3A, + 0x22,0x48,0x58,0x3C,0x8C,0x64,0x7C,0x94,0x7E,0x90, + 0x90,0x90,0x96,0x9C,0xAE,0xA2,0xDA,0xBC,0xEE,0xAC, + 0xD0,0xC2,0x64,0xC0,0x42,0x60,0x50,0x30,0x34,0x34, + 0x36,0x2A,0x4A,0x52,0x44,0x88,0x62,0x88,0x90,0x86, + 0x94,0x90,0x92,0x96,0x9A,0xAE,0x9E,0xD0,0xBA,0xDC, + 0xBE,0xB6,0xD0,0x66,0xB0,0x62,0x4E,0x64,0x2E,0x3E, + 0x32,0x3A,0x30,0x3E,0x58,0x46,0x72,0x78,0x72,0x98, + 0x84,0x8A,0x90,0x8E,0x92,0x98,0xA6,0x9C,0xB0,0xC8, + 0xB0,0xE2,0x96,0xD0,0x9E,0x70,0xAE,0x48,0x68,0x56, + 0x36,0x4C,0x32,0x46,0x30,0x48,0x5C,0x46,0x86,0x6E, + 0x7C,0x94,0x78,0x96,0x7E,0x90,0x94,0x8C,0xA6,0x98, + 0xAE,0xB4,0xB8,0xD0,0xA4,0xB4,0xC0,0x68,0xAA,0x6E, + 0x58,0x68,0x48,0x46,0x3C,0x46,0x40,0x36,0x6C,0x4C, + 0x6E,0x86,0x6A,0x8A,0x8C,0x78,0x8C,0x96,0x7E,0x90, + 0xA8,0x86,0xA4,0xB2,0xA6,0xB4,0xCA,0xAC,0x9C,0xC6, + 0x82,0x80,0x90,0x5E,0x54,0x58,0x42,0x38,0x40,0x52, + 0x36,0x5E,0x72,0x56,0x80,0x8C,0x66,0x90,0x90,0x6C, + 0x94,0x86,0x84,0x92,0x96,0x9A,0x90,0xAE,0xA2,0xA6, + 0xC4,0xAE,0x9C,0xBC,0x94,0x72,0x90,0x58,0x4E,0x54, + 0x3E,0x40,0x40,0x58,0x54,0x58,0x7E,0x6C,0x74,0x8E, + 0x78,0x80,0x88,0x78,0x7E,0x82,0x8A,0x80,0x96,0x96, + 0x8A,0x9E,0xAA,0x8A,0xC0,0xA4,0xB2,0x9A,0xA4,0x94, + 0x6A,0x84,0x64,0x42,0x64,0x44,0x4A,0x54,0x5E,0x66, + 0x5C,0x84,0x7A,0x6A,0x98,0x76,0x7E,0x86,0x7A,0x80, + 0x80,0x82,0x92,0x7C,0xA0,0x86,0x9C,0x92,0x92,0xA4, + 0x8C,0xA2,0x9A,0x94,0x8E,0x8C,0x7E,0x72,0x6A,0x6C, + 0x5C,0x62,0x60,0x66,0x6A,0x6A,0x76,0x78,0x72,0x7A, + 0x7A,0x7E,0x7E,0x7E,0x82,0x7A,0x84,0x7E,0x84,0x8A, + 0x86,0x8C,0x88,0x86,0x8A,0x8C,0x86,0x88,0x8A,0x94, + 0x86,0x90,0x84,0x88,0x84,0x7E,0x7E,0x64,0x68,0x60, + 0x50,0x64,0x58,0x60,0x6C,0x5C,0x78,0x6C,0x7C,0x7C, + 0x68,0x80,0x70,0x78,0x74,0x84,0x74,0x7C,0x70,0x88, + 0x60,0xA4,0x70,0xA4,0x9C,0x8C,0xA0,0x94,0xC0,0x88, + 0xA4,0x8C,0x7C,0x84,0x7C,0x78,0x6C,0x74,0x6C,0x70, + 0x6C,0x74,0x70,0x68,0x70,0x64,0x64,0x58,0x70,0x5C, + 0x60,0x7C,0x68,0x7C,0x74,0x84,0x8C,0x8C,0x90,0xA0, + 0x88,0x94,0x88,0x94,0x90,0x8C,0x88,0x88,0x8C,0x94, + 0x88,0x9C,0x88,0x9C,0x80,0x88,0x84,0x74,0x7C,0x6C, + 0x6C,0x5C,0x60,0x6C,0x60,0x6C,0x78,0x64,0x80,0x6C, + 0x90,0x68,0x84,0x7C,0x7C,0x84,0x84,0x80,0x80,0x78, + 0x90,0x7C,0x94,0x84,0x88,0x8C,0x84,0x80,0x94,0x78, + 0x88,0x68,0x94,0x70,0x80,0x94,0x70,0x88,0x7C,0x74, + 0x80,0x6C,0x90,0x64,0x7C,0x88,0x6C,0x74,0x60,0x7C, + 0x78,0x64,0x8C,0x84,0x60,0x98,0x50,0x90,0x60,0x8C, + 0x74,0x68,0x8C,0x70,0x8C,0x80,0x80,0x88,0x7C,0x90, + 0x80,0x90,0x88,0x7C,0x7C,0x90,0x70,0x8C,0x78,0x8C, + 0x78,0x84,0x80,0x70,0x8C,0x6C,0x88,0x78,0x80,0x7C, + 0x6C,0x70,0x70,0x80,0x68,0x78,0x80,0x78,0x6C,0x90, + 0x74,0x80,0x74,0x94,0x70,0x80,0x8C,0x8C,0x80,0x78, + 0x90,0x68,0x80,0x8C,0x90,0x7C,0x80,0x94,0x6C,0x80, + 0x88,0x74,0x88,0x64,0x88,0x68,0x78,0x78,0x78,0x7C, + 0x70,0x8C,0x74,0x7C,0x78,0x80,0x78,0x80,0x6C,0x88, + 0x7C,0x6C,0x8C,0x7C,0x80,0x70,0x88,0x8C,0x80,0x7C, + 0x84,0x7C,0x7C,0x5C,0x90,0x74,0x7C,0x78,0x6C,0x80, + 0x70,0x74,0x84,0x80,0x80,0x74,0x80,0x90,0x5C,0x8C, + 0x74,0x74,0x88,0x68,0x90,0x74,0x70,0x98,0x70,0x90, + 0x70,0x88,0x84,0x68,0x6C,0x88,0x68,0x80,0x6C,0x84, + 0x78,0x78,0x70,0x84,0x68,0x74,0x60,0x78,0x70,0x68, + 0x68,0x88,0x70,0x70,0x78,0x80,0x7C,0x74,0x78,0x80, + 0x80,0x70,0x84,0x7C,0x84,0x78,0x7C,0x78,0x88,0x84, + 0x8C,0x90,0x90,0x94,0x98,0x98,0x94,0x94,0x94,0x94, + 0x9C,0x9C,0x98,0x98,0xA8,0xA0,0xA4,0xA8,0xA8,0xA4, + 0xA8,0xAC,0xA0,0x9C,0x94,0xAC,0xA0,0x8C,0xA4,0xA8, + 0xA8,0x98,0x9C,0x98,0x88,0x9C,0x8C,0x8C,0x8C,0x78, + 0x80,0x74,0x68,0x58,0x58,0x58,0x48,0x4C,0x50,0x48, + 0x44,0x44,0x58,0x48,0x44,0x4C,0x4C,0x5C,0x54,0x5C, + 0x60,0x64,0x70,0x70,0x70,0x7C,0x80,0x84,0x90,0x90, + 0x90,0x8C,0x90,0x84,0x84,0x7C,0x80,0x7E,0x7E,0x7E, + 0x7A,0x7E,0x7A,0x7C,0x7C,0x74,0x74,0x74,0x74,0x74, + 0x76,0x74,0x74,0x7A,0x7A,0x7A,0x80,0x7C,0x80,0x82, + 0x82,0x82,0x82,0x84,0x80,0x80,0x7E,0x7E,0x7A,0x7E, + 0x7E,0x7E,0x7E,0x80,0x80,0x7E,0x80,0x80,0x80,0x80, + 0x82,0x82,0x84,0x86,0x88,0x88,0x8A,0x8E,0x8C,0x8A, + 0x8E,0x8E,0x8A,0x8A,0x8A,0x88,0x88,0x84,0x84,0x82, + 0x80,0x7E,0x7E,0x7C,0x7C,0x7C,0x78,0x78,0x76,0x76, + 0x70,0x70,0x70,0x6E,0x6C,0x6E,0x70,0x6E,0x6C,0x6E, + 0x6E,0x74,0x72,0x74,0x76,0x76,0x7A,0x7C,0x7C,0x80, + 0x80,0x82,0x84,0x84,0x86,0x84,0x84,0x8A,0x8A,0x88, + 0x86,0x84,0x80,0x7A,0x7A,0x7A,0x7A,0x7A,0x78,0x74, + 0x72,0x72,0x72,0x74,0x76,0x7A,0x7A,0x7A,0x7C,0x7C, + 0x80,0x80,0x84,0x86,0x84,0x86,0x86,0x88,0x88,0x8A, + 0x8A,0x8C,0x8E,0x90,0x8E,0x8A,0x86,0x7E,0x78,0x74, + 0x74,0x72,0x72,0x70,0x72,0x6E,0x6E,0x70,0x72,0x72, + 0x72,0x72,0x74,0x76,0x76,0x7A,0x7A,0x7A,0x7C,0x80, + 0x82,0x84,0x86,0x8A,0x8A,0x8C,0x8C,0x90,0x92,0x96, + 0x96,0x94,0x8E,0x86,0x7E,0x76,0x76,0x76,0x78,0x78, + 0x78,0x76,0x76,0x76,0x76,0x78,0x7A,0x78,0x78,0x78, + 0x78,0x7A,0x7A,0x7A,0x7C,0x7C,0x7E,0x80,0x82,0x84, + 0x86,0x88,0x8A,0x8C,0x92,0x94,0x94,0x92,0x88,0x7E, + 0x72,0x6A,0x6C,0x72,0x7A,0x7C,0x7C,0x7C,0x7C,0x7E, + 0x82,0x82,0x84,0x84,0x82,0x82,0x84,0x86,0x88,0x8A, + 0x8A,0x8A,0x8A,0x8A,0x8E,0x90,0x92,0x94,0x96,0x9A, + 0xA0,0xA2,0x9E,0x94,0x84,0x74,0x64,0x5E,0x5C,0x62, + 0x70,0x76,0x78,0x76,0x74,0x76,0x78,0x7C,0x7A,0x78, + 0x76,0x70,0x72,0x74,0x7A,0x7C,0x7E,0x82,0x84,0x8A, + 0x90,0x94,0x9C,0x9E,0xA6,0xAC,0xAE,0xAC,0xA4,0x92, + 0x80,0x6E,0x62,0x5E,0x62,0x6A,0x76,0x80,0x84,0x86, + 0x88,0x8A,0x90,0x90,0x8C,0x84,0x7A,0x74,0x72,0x7A, + 0x80,0x88,0x8E,0x8E,0x90,0x90,0x92,0x94,0x96,0x9A, + 0xA0,0xA8,0xA4,0x9A,0x82,0x66,0x4C,0x3C,0x38,0x3C, + 0x4C,0x5A,0x66,0x6E,0x72,0x76,0x7A,0x80,0x82,0x82, + 0x76,0x68,0x54,0x4A,0x48,0x5A,0x72,0x80,0x86,0x86, + 0x88,0x88,0x90,0x96,0xA2,0xB0,0xBA,0xBC,0xB2,0x98, + 0x74,0x50,0x38,0x30,0x3A,0x4E,0x62,0x76,0x80,0x84, + 0x88,0x8A,0x8E,0x90,0x90,0x82,0x6C,0x4E,0x34,0x26, + 0x2A,0x48,0x74,0x98,0xA8,0xA2,0x9A,0x92,0x94,0x9E, + 0xB4,0xC4,0xCE,0xBC,0x9E,0x6C,0x3A,0x1C,0x14,0x2A, + 0x4A,0x70,0x8C,0x98,0x9C,0x9A,0x98,0x9A,0x9C,0x9A, + 0x8A,0x6E,0x48,0x2A,0x1A,0x22,0x42,0x70,0x9E,0xBE, + 0xCA,0xC4,0xB0,0xA4,0x9C,0xA8,0xC0,0xD6,0xDA,0xBA, + 0x86,0x40,0x16,0x08,0x26,0x5A,0x90,0xB6,0xBE,0xB4, + 0xA2,0x90,0x90,0x92,0x94,0x84,0x66,0x3C,0x1C,0x14, + 0x28,0x5A,0x8C,0xB2,0xBE,0xBA,0xAC,0x9E,0x98,0xA0, + 0xB0,0xCC,0xDE,0xDE,0xAC,0x6C,0x18,0x00,0x00,0x14, + 0x60,0x9E,0xC8,0xC6,0xB4,0x9A,0x86,0x86,0x7E,0x74, + 0x58,0x36,0x22,0x1C,0x40,0x64,0x96,0xAC,0xAC,0xA0, + 0x88,0x82,0x84,0x9A,0xB2,0xC8,0xE4,0xF2,0xEE,0xBA, + 0x6C,0x0C,0x00,0x00,0x04,0x64,0xB0,0xE2,0xE4,0xC8, + 0xA6,0x86,0x74,0x5C,0x44,0x28,0x14,0x24,0x4A,0x86, + 0xB0,0xBE,0xA6,0x7E,0x66,0x5C,0x76,0x98,0xB6,0xCC, + 0xD4,0xE4,0xFC,0xFF,0xC8,0x62,0x00,0x00,0x00,0x0A, + 0x98,0xFC,0xFF,0xF6,0xB6,0x82,0x66,0x60,0x44,0x24, + 0x00,0x0E,0x4A,0x9A,0xDC,0xD8,0xA4,0x5C,0x30,0x40, + 0x68,0xA0,0xBA,0xC2,0xC2,0xC8,0xEE,0xFF,0xFF,0xC4, + 0x2C,0x00,0x00,0x00,0x58,0xF8,0xFF,0xFF,0xC6,0x88, + 0x86,0x72,0x52,0x02,0x00,0x00,0x54,0xD8,0xFF,0xEE, + 0x88,0x28,0x16,0x34,0x72,0x90,0x98,0xA0,0xAC,0xD0, + 0xE2,0xF0,0xFA,0xF8,0xD4,0x54,0x00,0x00,0x00,0x2A, + 0xBC,0xFF,0xFF,0xDE,0xA2,0x74,0x60,0x24,0x00,0x00, + 0x1A,0x94,0xEA,0xFF,0xB8,0x5A,0x22,0x1C,0x48,0x60, + 0x7C,0x92,0xAA,0xCC,0xCA,0xC6,0xB8,0xC6,0xF0,0xFF, + 0xDE,0x3C,0x00,0x00,0x00,0x86,0xF2,0xFF,0xCA,0xA8, + 0x9C,0x88,0x58,0x00,0x00,0x06,0x92,0xFF,0xFF,0xAE, + 0x46,0x26,0x36,0x4C,0x56,0x54,0x80,0xB0,0xCC,0xB8, + 0x8E,0x8C,0xAC,0xE4,0xFF,0xFF,0xE4,0x5C,0x00,0x00, + 0x00,0x50,0xA6,0xF2,0xEE,0xD4,0xBC,0x78,0x3A,0x00, + 0x00,0x2A,0x88,0xEC,0xEA,0xBE,0x62,0x30,0x28,0x20, + 0x40,0x60,0x9C,0xC2,0xAE,0x8E,0x6A,0x90,0xBE,0xDA, + 0xE0,0xD6,0xFA,0xF6,0x64,0x00,0x00,0x00,0x88,0xE6, + 0xFF,0xD0,0xC6,0xC2,0x78,0x0E,0x00,0x00,0x68,0xDE, + 0xFF,0xCE,0x96,0x5C,0x2E,0x22,0x00,0x34,0x88,0xC2, + 0xD2,0x80,0x66,0x70,0xA6,0xD0,0xBE,0xBC,0xD0,0xFF, + 0xFF,0x98,0x00,0x00,0x00,0x8C,0xCC,0xD6,0xE2,0xE6, + 0xF4,0x72,0x00,0x00,0x00,0x8A,0xCA,0xD4,0xDC,0xD4, + 0xCC,0x28,0x00,0x00,0x30,0xC0,0xAC,0x9C,0x9C,0x86, + 0x90,0x60,0x7A,0xBA,0xCA,0xE0,0xC2,0xF0,0xFF,0xD2, + 0x00,0x00,0x00,0x72,0xC8,0xB6,0xC6,0xF2,0xEE,0x74, + 0x00,0x00,0x14,0x8A,0xAE,0xB8,0xEA,0xFF,0xBA,0x2E, + 0x00,0x00,0x4C,0x82,0xA6,0xA8,0xC8,0xA2,0x42,0x36, + 0x68,0xC4,0xD4,0xAE,0xC8,0xE6,0xFF,0xFF,0x98,0x00, + 0x00,0x00,0x3C,0x7A,0xB4,0xFF,0xFF,0xB6,0x3A,0x00, + 0x0E,0x20,0x32,0x7C,0xE0,0xFF,0xE0,0x80,0x50,0x26, + 0x00,0x06,0x48,0x9E,0xC8,0x9E,0x98,0x6A,0x58,0x66, + 0x82,0xC4,0xCA,0xB8,0xC8,0xD0,0xFA,0xFC,0xB0,0x08, + 0x00,0x0C,0x28,0x62,0x9E,0xFF,0xFF,0xB4,0x58,0x2C, + 0x18,0x0E,0x0C,0x74,0xD8,0xEE,0xD6,0xAA,0x82,0x40, + 0x00,0x00,0x4A,0x78,0xA0,0xB0,0xC2,0xA4,0x48,0x50, + 0x76,0x92,0xA4,0xB0,0xE0,0xEE,0xD6,0xF8,0xFC,0x9E, + 0x00,0x00,0x18,0x1C,0x50,0xA6,0xFF,0xFF,0xAC,0x7C, + 0x4E,0x00,0x00,0x0C,0x80,0xB2,0xB6,0xE6,0xE8,0xA4, + 0x44,0x04,0x0A,0x24,0x1E,0x66,0xC2,0xC2,0xA4,0x84, + 0x84,0x7A,0x6A,0x98,0xB6,0xB0,0xC0,0xDA,0xF6,0xFC, + 0xD6,0x6A,0x00,0x10,0x02,0x0E,0x74,0xB6,0xDE,0xCC, + 0xB6,0xAE,0x54,0x10,0x20,0x2A,0x4C,0x70,0xAA,0xD2, + 0xBC,0xB2,0xA4,0x48,0x06,0x2A,0x1E,0x36,0x7C,0xAC, + 0xB8,0x98,0xA2,0xA2,0x6C,0x78,0x9A,0x9C,0xAC,0xC4, + 0xDA,0xE6,0xFA,0xDA,0x60,0x26,0x30,0x00,0x00,0x5A, + 0x8E,0xB4,0xCE,0xEC,0xCC,0x72,0x60,0x46,0x0A,0x16, + 0x46,0x6A,0x8E,0xB6,0xDA,0xC2,0x96,0x72,0x38,0x2E, + 0x10,0x2C,0x64,0x72,0xA4,0xBA,0xAC,0xAE,0xA0,0xA6, + 0x9A,0x8A,0xA2,0xA4,0xA8,0xD4,0xE6,0xC4,0x84,0x68, + 0x62,0x00,0x0C,0x48,0x34,0x62,0xB6,0xBC,0xBC,0xBE, + 0xA6,0x72,0x4A,0x4A,0x34,0x1E,0x52,0x6E,0x7E,0xAA, + 0xC4,0xAC,0x92,0x94,0x48,0x24,0x48,0x38,0x4A,0x7C, + 0x9C,0xAE,0xB8,0xBC,0xB2,0x9C,0xAC,0x9E,0x98,0xB2, + 0xC0,0xCA,0xBA,0x80,0x64,0x5C,0x14,0x2C,0x42,0x38, + 0x72,0xA0,0x9A,0xAE,0xB6,0x9A,0x78,0x66,0x5C,0x50, + 0x58,0x68,0x62,0x76,0x8C,0x84,0x8A,0x80,0x7A,0x84, + 0x62,0x64,0x64,0x5E,0x70,0x70,0x74,0x8C,0x96,0xA8, + 0xB4,0xB6,0xBC,0xB4,0xBC,0xBE,0xBC,0xAC,0x98,0x5E, + 0x6C,0x34,0x1E,0x4C,0x3A,0x50,0x7C,0x7C,0x90,0xA4, + 0x9A,0x9C,0x9C,0x8A,0x76,0x70,0x68,0x5A,0x5C,0x5E, + 0x56,0x70,0x7A,0x7A,0x84,0x90,0x7C,0x76,0x80,0x6A, + 0x72,0x76,0x6A,0x74,0x84,0x8E,0xA6,0xB4,0xB8,0xBA, + 0xC4,0xC2,0xC2,0xAE,0x9E,0x6E,0x76,0x46,0x30,0x48, + 0x2A,0x3E,0x5C,0x62,0x78,0x90,0x9A,0xA6,0xB2,0xAA, + 0x9A,0x9A,0x7C,0x62,0x60,0x4A,0x44,0x56,0x5C,0x6A, + 0x78,0x80,0x80,0x84,0x82,0x7C,0x7E,0x7E,0x7C,0x90, + 0x94,0xA4,0xA4,0xB0,0xB0,0xCC,0xD8,0xFF,0xFF,0xFF, + 0xD4,0x98,0x9C,0x24,0x28,0x00,0x00,0x04,0x14,0x20, + 0x4C,0x70,0x80,0xA0,0xBC,0xAC,0xC0,0xC0,0xA4,0xA4, + 0x90,0x70,0x68,0x54,0x34,0x30,0x2C,0x20,0x44,0x48, + 0x6C,0x88,0x88,0x94,0xA4,0x98,0xA0,0xA8,0x9C,0x9C, + 0xB8,0xB8,0xD8,0xEC,0xE0,0xD8,0xE0,0x8C,0x98,0x64, + 0x30,0x4C,0x20,0x20,0x30,0x28,0x1C,0x40,0x4C,0x50, + 0x8C,0xA4,0xB4,0xD4,0xC0,0xB8,0xB8,0x9C,0x7C,0x7C, + 0x5C,0x4C,0x48,0x3C,0x34,0x50,0x48,0x4C,0x70,0x64, + 0x70,0x7C,0x70,0x8C,0x9C,0xB0,0xBC,0xCC,0xC4,0xD8, + 0xDC,0xD0,0xBC,0xD8,0x9C,0x94,0x9C,0x44,0x6C,0x40, + 0x1C,0x1C,0x18,0x14,0x34,0x54,0x58,0x8C,0x98,0x94, + 0xC0,0xB4,0xA4,0xB8,0xA8,0x90,0x94,0x74,0x5C,0x68, + 0x4C,0x44,0x50,0x48,0x40,0x5C,0x50,0x5C,0x74,0x64, + 0x7C,0x94,0xA0,0xBC,0xC0,0xB8,0xB8,0xBC,0xAC,0xC8, + 0xC4,0xD4,0xA8,0xB0,0x8C,0x60,0x70,0x2C,0x2C,0x24, + 0x2C,0x30,0x4C,0x50,0x5C,0x78,0x74,0x90,0xA4,0xA0, + 0xB4,0xB4,0xA8,0xA0,0x9C,0x80,0x7C,0x70,0x58,0x5C, + 0x4C,0x44,0x3C,0x44,0x4C,0x54,0x68,0x6C,0x88,0x94, + 0xA0,0xAC,0xA8,0xAC,0xB4,0xBC,0xB8,0xCC,0xC4,0xC8, + 0xA4,0xA0,0x80,0x64,0x6C,0x40,0x40,0x38,0x40,0x38, + 0x4C,0x48,0x54,0x6C,0x70,0x8C,0x98,0x9C,0xA4,0xA8, + 0x9C,0x9C,0x9C,0x88,0x88,0x78,0x6C,0x70,0x5C,0x58, + 0x48,0x48,0x48,0x50,0x60,0x70,0x88,0x8C,0x98,0x9C, + 0x9C,0x9C,0xA4,0xA8,0xB8,0xC4,0xC4,0xD0,0xB8,0xA4, + 0x98,0x60,0x60,0x44,0x48,0x44,0x54,0x44,0x54,0x54, + 0x48,0x60,0x68,0x74,0x84,0x90,0x9C,0xA8,0xAC,0xA0, + 0xA0,0x8C,0x84,0x80,0x78,0x78,0x7C,0x68,0x68,0x60, + 0x58,0x5C,0x60,0x60,0x68,0x74,0x78,0x88,0x8C,0x90, + 0x9C,0x9C,0xA0,0xA8,0xAC,0xB4,0xB4,0xB0,0x9C,0xA4, + 0x7C,0x74,0x68,0x54,0x54,0x50,0x4C,0x44,0x5C,0x54, + 0x6C,0x70,0x70,0x7C,0x80,0x84,0x8C,0x9C,0xA0,0xA8, + 0xA4,0x94,0x94,0x80,0x70,0x6C,0x70,0x6C,0x78,0x78, + 0x74,0x78,0x70,0x68,0x6C,0x64,0x68,0x6C,0x70,0x78, + 0x80,0x84,0x8C,0x88,0x88,0x8C,0x8C,0x8C,0x94,0x94, + 0x94,0x9C,0x9C,0x94,0x98,0x84,0x80,0x74,0x6C,0x64, + 0x64,0x68,0x6C,0x74,0x70,0x74,0x74,0x6C,0x70,0x68, + 0x6C,0x78,0x84,0x8C,0x8C,0x90,0x8C,0x84,0x80,0x7C, + 0x78,0x80,0x80,0x80,0x84,0x80,0x80,0x78,0x68,0x68, + 0x70,0x70,0x78,0x70,0x70,0x78,0x80,0x80,0x88,0x88, + 0x88,0x88,0x88,0x80,0x88,0x80,0x78,0x70,0x78,0x78, + 0x80,0x80,0x80,0x78,0x78,0x68,0x60,0x60,0x68,0x68, + 0x70,0x78,0x80,0x80,0x80,0x80,0x78,0x70,0x80,0x78, + 0x80,0x80,0x88,0x88,0x88,0x80,0x80,0x80,0x78,0x80, + 0x78,0x80,0x80,0x80,0x78,0x68,0x70,0x70,0x70,0x70, + 0x78,0x78,0x80,0x78,0x78,0x78,0x70,0x68,0x68,0x60, + 0x70,0x70,0x78,0x70,0x78,0x78,0x78,0x70,0x78,0x78, + 0x80,0x80,0x80,0x78,0x80,0x88,0x88,0x80,0x80,0x78, + 0x80,0x80,0x78,0x78,0x80,0x78,0x78,0x78,0x78,0x78, + 0x78,0x78,0x70,0x78,0x80,0x78,0x70,0x78,0x78,0x70, + 0x78,0x78,0x78,0x80,0x88,0x80,0x88,0x80,0x80,0x80, + 0x80,0x80,0x80,0x80,0x78,0x80,0x88,0x80,0x78,0x70, + 0x68,0x68,0x70,0x78,0x80,0x80,0x88,0x88,0x88,0x88, + 0x80,0x78,0x78,0x78,0x80,0x78,0x80,0x78,0x80,0x80, + 0x88,0x80,0x80,0x78,0x80,0x78,0x78,0x80,0x80,0x88, + 0x88,0x80,0x80,0x78,0x80,0x78,0x78,0x80,0x88,0x88, + 0x88,0x80,0x80,0x78,0x70,0x68,0x70,0x78,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0x78,0x80,0x78,0x80,0x78, + 0x80,0x80,0x80,0x80,0x80,0x78,0x78,0x70,0x70,0x78, + 0x80,0x80,0x80,0x88,0x88,0x80,0x70,0x68,0x68,0x68, + 0x70,0x78,0x88,0x80,0x88,0x80,0x88,0x80,0x78,0x78, + 0x78,0x70,0x78,0x78,0x80,0x80,0x80,0x78,0x70,0x70, + 0x78,0x80,0x78,0x80,0x80,0x80,0x80,0x78,0x70,0x70, + 0x70,0x78,0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x78, + 0x80,0x78,0x78,0x78,0x78,0x70,0x78,0x70,0x78,0x70, + 0x78,0x78,0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x78, + 0x78,0x70,0x78,0x80,0x80,0x80,0x80,0x78,0x80,0x78, + 0x78,0x78,0x80,0x78,0x78,0x70,0x78,0x78,0x78,0x70, + 0x78,0x78,0x78,0x80,0x88,0x80,0x88,0x80,0x80,0x78, + 0x78,0x80,0x80,0x78,0x80,0x78,0x80,0x78,0x78,0x70, + 0x78,0x78,0x80,0x80,0x80,0x80,0x80,0x80,0x78,0x70, + 0x78,0x80,0x78,0x80,0x88,0x80,0x88,0x80,0x78,0x70, + 0x70,0x70,0x78,0x70,0x78,0x70,0x78,0x78,0x80,0x78, + 0x80,0x78,0x80,0x80,0x80,0x88,0x80,0x80,0x80,0x78, + 0x80,0x78,0x80,0x78,0x78,0x70,0x78,0x70,0x78,0x78, + 0x78,0x78,0x78,0x78,0x78,0x80,0x78,0x70,0x78,0x78, + 0x80,0x80,0x88,0x80,0x88,0x80,0x80,0x78,0x70,0x68, + 0x70,0x68,0x70,0x78,0x80,0x78,0x80,0x78,0x80,0x78, + 0x80,0x78,0x80,0x80,0x80,0x80,0x80,0x78,0x80,0x78, + 0x78,0x70,0x78,0x78,0x80,0x78,0x80,0x78,0x78,0x70, + 0x78,0x70,0x78,0x78,0x80,0x78,0x78,0x80,0x88,0x80, + 0x80,0x80,0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x78, + 0x78,0x78,0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x80, + 0x80,0x80,0x80,0x78,0x78,0x78,0x80,0x78,0x80,0x78, + 0x80,0x78,0x78,0x70,0x70,0x70,0x78,0x80,0x88,0x80, + 0x88,0x78,0x80,0x78,0x78,0x78,0x80,0x80,0x88,0x80, + 0x88,0x80,0x80,0x78,0x78,0x70,0x78,0x78,0x80,0x78, + 0x80,0x78,0x78,0x70,0x78,0x70,0x78,0x70,0x80,0x78, + 0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x78,0x80,0x78, + 0x78,0x70,0x78,0x78,0x80,0x78,0x80,0x78,0x80,0x78, + 0x78,0x70,0x80,0x78,0x88,0x80,0x80,0x78,0x78,0x70, + 0x78,0x70,0x80,0x78,0x80,0x78,0x80,0x70,0x80,0x60, + 0x80,0x40,0x78,0x58,0x80,0x80,0x80,0x90,0x78,0x98, + 0x80,0x98,0x80,0x90,0x78,0x80,0x78,0x78,0x60,0x70, + 0x78,0x70,0x80,0x70,0x80,0x70,0x78,0x78,0x78,0x70, + 0x70,0x88,0x88,0x80,0x78,0x70,0x80,0x80,0x90,0x70, + 0x78,0x70,0x80,0x78,0x78,0x88,0x78,0x70,0x78,0x88, + 0x80,0x88,0x88,0x80,0x90,0x70,0x88,0x68,0x80,0x78, + 0x68,0x70,0x88,0x68,0x78,0x98,0x88,0x80,0x90,0x70, + 0x78,0x88,0x88,0x78,0x88,0x78,0x80,0x80,0x78,0x88, + 0x50,0x40,0x88,0x68,0xB8,0x78,0xA0,0x50,0xB0,0x70, + 0xB0,0x38,0x68,0x70,0x70,0x98,0xA8,0x90,0x78,0xA0, + 0x80,0x88,0x88,0x98,0x88,0x68,0x88,0x80,0x60,0x68, + 0x80,0x80,0x70,0x80,0x60,0x68,0x80,0x80,0x78,0x80, + 0x78,0x88,0x80,0x78,0x88,0x88,0x80,0x80,0x78,0x78, + 0x78,0x80,0x78,0x98,0x70,0x80,0x78,0x68,0x78,0x88, + 0x78,0x88,0x78,0x80,0x80,0x80,0x88,0x80,0x78,0x70, + 0x78,0x78,0x80,0x88,0x70,0x88,0x80,0x88,0x78,0x90, + 0x78,0x78,0x80,0x80,0x78,0x80,0x80,0x88,0x88,0x90, + 0x80,0x88,0x80,0x78,0x88,0x70,0x78,0x88,0x78,0x80, + 0x80,0x80,0x78,0x78,0x78,0x68,0x78,0x78,0x90,0x80, + 0x80,0x88,0x78,0x78,0x88,0x70,0x80,0x80,0x88,0x80, + 0x80,0x88,0x70,0x80,0x68,0x80,0x80,0x80,0x78,0x80, + 0x80,0x80,0x78,0x88,0x68,0x78,0x80,0x80,0x78,0x80, + 0x80,0x78,0x80,0x78,0x78,0x78,0x78,0x88,0x70,0x80, + 0x78,0x88,0x78,0x70,0x80,0x78,0x80,0x78,0x80,0x80, + 0x70,0x80,0x80,0x80,0x80,0x80,0x78,0x78,0x70,0x80, + 0x80,0x88,0x78,0x90,0x80,0x78,0x80,0x78,0x78,0x70, + 0x70,0x88,0x78,0x80,0x80,0x80,0x80,0x70,0x80,0x78, + 0x78,0x78,0x84,0x80,0x7C,0x80,0x80,0x7C,0x7C,0x80, + 0x80,0x80,0x80,0x88,0x80,0x84,0x7C,0x80,0x78,0x7C, + 0x7C,0x7C,0x80,0x7C,0x80,0x7C,0x80,0x7C,0x80,0x84, + 0x78,0x84,0x7C,0x80,0x7C,0x7C,0x80,0x7C,0x7C,0x7C, + 0x7C,0x80,0x7C,0x80,0x80,0x7C,0x80,0x80,0x80,0x7C, + 0x7C,0x80,0x7C,0x80,0x7C,0x80,0x80,0x80,0x80,0x80, + 0x84,0x7C,0x7C,0x80,0x7C,0x80,0x80,0x84,0x7C,0x7C, + 0x80,0x7C,0x80,0x7C,0x80,0x80,0x7C,0x80,0x7C,0x80, + 0x7C,0x80,0x80,0x7C,0x80,0x80,0x80,0x80,0x80,0x84, + 0x7C,0x80,0x7C,0x80,0x80,0x7C,0x80,0x7C,0x80,0x80, + 0x7C,0x80,0x7C,0x80,0x7C,0x80,0x80,0x7C,0x80,0x7C, + 0x80,0x80,0x7C,0x7C,0x80,0x80,0x7C,0x7C,0x7C,0x7C, + 0x7C,0x7C,0x80,0x80,0x7C,0x80,0x7C,0x80,0x7C,0x80, + 0x7C,0x7C,0x7C,0x7C,0x7C,0x80,0x7C,0x7C,0x7C,0x80, + 0x80,0x80,0x80,0x80,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C, + 0x7C,0x80,0x7C,0x7C,0x7C,0x7C,0x7C,0x80,0x7C,0x80, + 0x7C,0x80,0x80,0x80,0x7C,0x80,0x7C,0x7C,0x7C,0x80, + 0x7C,0x80,0x7E,0x80,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,}; +static ymu8 sample10[378]={ + 0x80,0x80,0xCE,0xD4,0xFA,0xFF,0xFF,0xBE,0x9E,0xFF, + 0xFF,0x00,0xFF,0x5E,0xFF,0xFF,0x18,0xDC,0x00,0x9E, + 0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x2C,0x1C,0x52,0x66,0xA2,0xCC,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF4,0xFF, + 0x92,0xA8,0x56,0x1C,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1A,0x36, + 0x5A,0x7A,0x98,0xA6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xE6,0xAA,0x86,0x80,0x6C,0x40,0x24,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x08,0x20,0x62,0x76,0x6E,0x8A,0xB4,0xA4,0xCC,0xE2, + 0xE4,0xF6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xD6,0xD2,0xD4,0xB2,0xBE,0xB6,0x96,0x92,0x6E,0x70, + 0x52,0x58,0x58,0x3C,0x26,0x2C,0x0A,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E, + 0x00,0x02,0x14,0x06,0x16,0x48,0x18,0x30,0x78,0x64, + 0x7C,0xBE,0x9A,0xA6,0xA8,0x9E,0x98,0x9C,0x92,0x74, + 0xA2,0xB6,0xB6,0x9A,0xBE,0xBE,0xA4,0xB0,0x86,0x8C, + 0xAC,0xB4,0xBA,0xA6,0xD2,0xC0,0xDC,0xD8,0xE8,0xDE, + 0xC2,0xAC,0x90,0x9C,0x9E,0x84,0x7A,0x7A,0x78,0x84, + 0x56,0x56,0x2C,0x44,0x4C,0x12,0x22,0x0C,0x30,0x12, + 0x24,0x00,0x00,0x16,0x00,0x00,0x00,0x00,0x06,0x16, + 0x14,0x3C,0x22,0x36,0x3A,0x46,0x30,0x58,0x5E,0x54, + 0x8C,0x84,0x6C,0x8A,0x9A,0x96,0xB0,0xBA,0xBA,0x98, + 0xAE,0xB2,0x96,0xB6,0xAE,0xB4,0xB8,0xB4,0xAE,0xAE, + 0xAE,0xB2,0xB4,0xD2,0xC6,0xBE,0xD2,0xC4,0xC4,0xB2, + 0xAC,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample11[1527]={ + 0xA0,0x90,0xC4,0xB6,0x92,0xE8,0xFF,0xFF,0x52,0xFE, + 0x4E,0x86,0xAE,0xEC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xD6,0xFF,0xFF,0x00,0xBC,0x46,0x00,0x00,0x16,0x00, + 0x36,0x7E,0xDE,0xFE,0xFF,0xFF,0xFF,0xFF,0xBE,0xFF, + 0xFF,0xF6,0xFF,0xFF,0x98,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xA4,0x86,0x66,0x00,0x00,0x1C, + 0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x06,0x46,0x0E, + 0xAE,0xAE,0x4E,0xFF,0xFF,0xFF,0xCE,0xE8,0xB4,0xA6, + 0x92,0xBC,0xC6,0xA6,0xBA,0xB6,0x66,0x5A,0x3E,0x0A, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x86,0x26,0xAE,0x2E,0x94,0x9E, + 0xEA,0xA0,0x8A,0xA4,0xA0,0x86,0x74,0xF4,0x60,0xB6, + 0xBE,0x9E,0x8E,0x72,0x86,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x1C,0x1E,0x00,0x0A,0x26,0x46,0x30, + 0x1C,0x60,0x92,0x26,0xE6,0x9A,0xE6,0xCA,0xFF,0xFF, + 0xFE,0xFF,0xD6,0xFF,0xFF,0xFF,0xE2,0xFF,0x8A,0x8A, + 0xA0,0x7C,0x4A,0x4E,0x5E,0x64,0x8E,0x4E,0x5A,0x72, + 0x6C,0x3A,0x12,0x32,0xCE,0x96,0xB8,0x9E,0xCC,0xD2, + 0xE6,0xE6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD6,0x7E,0xCA, + 0xFE,0xB4,0x6E,0x76,0x4C,0x96,0x60,0x1E,0x56,0x8A, + 0x62,0xF0,0x8A,0x3E,0xC6,0x56,0xC2,0x74,0x86,0xD2, + 0xE2,0xFF,0xFF,0xA6,0xFF,0xFF,0xD6,0xDE,0xAA,0xB8, + 0xFC,0xC0,0x86,0x9A,0x84,0x2C,0x44,0x52,0x48,0x5E, + 0x02,0x56,0x00,0x48,0x12,0x00,0x1E,0x12,0x00,0x16, + 0x14,0x00,0x12,0x0E,0x00,0x22,0x08,0x0E,0x0A,0x5E, + 0x8A,0x4A,0x9E,0x6E,0x86,0x60,0x76,0x5C,0x66,0x36, + 0x1C,0x4C,0x16,0x72,0x0E,0x00,0x0A,0x1A,0x02,0x00, + 0x00,0x00,0x00,0x06,0x0A,0x00,0x00,0x12,0x16,0x4E, + 0x22,0x20,0x72,0x56,0x64,0x4E,0x5E,0x9A,0x94,0x8E, + 0xA2,0x7A,0x7A,0x9A,0xAC,0xAE,0xA6,0xC2,0xAE,0xA6, + 0xBA,0x9E,0xDC,0x9E,0xC2,0x8E,0x6E,0x7C,0x80,0x9A, + 0x76,0x80,0x88,0x82,0xB0,0xD6,0x7E,0x94,0xBC,0xFC, + 0xD6,0xFF,0xF8,0xFF,0xE6,0xFF,0xB2,0xFC,0xBE,0xF4, + 0xFA,0xFF,0xFF,0xFF,0xFF,0xFF,0xF2,0xFF,0xD0,0xC8, + 0xAA,0xFF,0xDA,0xFF,0xC2,0xF0,0xEA,0xB0,0xD0,0xC8, + 0xEC,0xDE,0xF6,0xCA,0xEE,0xBE,0x8E,0x9E,0xBA,0x5E, + 0x8A,0xC8,0x9A,0xA8,0xDE,0x8C,0xB2,0x8A,0x96,0x70, + 0xA8,0x9A,0x92,0xAE,0xE6,0x82,0xA8,0x9E,0x22,0x5C, + 0x58,0x5E,0x30,0xA4,0x54,0x5E,0x32,0x6A,0x14,0x2C, + 0x6C,0x2C,0x36,0x00,0x00,0x00,0x00,0x4A,0x00,0x00, + 0x00,0x06,0x1C,0x00,0x06,0x00,0x14,0x00,0x32,0x20, + 0x40,0x4C,0x42,0x0A,0x2E,0x1C,0x0E,0x00,0x00,0x00, + 0x1A,0x00,0x00,0x00,0x00,0x00,0x1E,0x36,0x54,0x16, + 0x2A,0x12,0x2A,0x38,0x46,0x00,0x0C,0x24,0x1E,0x14, + 0x14,0x3C,0x18,0x3C,0x60,0x88,0x86,0x88,0x96,0xA6, + 0xBA,0x7C,0xBA,0x82,0xAC,0x82,0x84,0x80,0xA4,0x22, + 0xA4,0x8A,0xA2,0xC8,0xD6,0xBE,0xD6,0xB4,0xD4,0x9A, + 0xB6,0x98,0xA0,0xA6,0xB6,0xD0,0xAA,0xCC,0xC6,0xF6, + 0xE8,0xDC,0xDA,0xE6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xEA,0xFF,0xF6,0xFF,0xEA,0xE4,0xF6,0xF8,0xD4,0xD2, + 0xDA,0xDA,0xFE,0xF4,0xD8,0xD0,0xDA,0xBE,0xF2,0xE0, + 0xDA,0xBA,0xDE,0xD6,0xC6,0xFF,0xC6,0xE2,0xB6,0xB6, + 0x9E,0xB8,0xA8,0xB8,0x70,0xBA,0x96,0xDE,0xB6,0xA6, + 0x8E,0x9A,0x82,0x5E,0x42,0x74,0x64,0x6C,0xA4,0x68, + 0x7A,0x74,0x6E,0x56,0x00,0x22,0x50,0x4E,0x3E,0x5C, + 0x62,0x4C,0x30,0x12,0x00,0x34,0x00,0x00,0x0A,0x0E, + 0x1C,0x44,0x3C,0x5A,0x2E,0x3E,0x06,0x20,0x00,0x0E, + 0x12,0x30,0x36,0x00,0x0A,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x2E,0x30,0x5C,0x48,0x20,0x4C,0x28, + 0x0E,0x46,0x26,0x4C,0x2A,0x2C,0x54,0x40,0x26,0x00, + 0x34,0x58,0x64,0x40,0x62,0x18,0x46,0x58,0x3A,0x5A, + 0x2A,0x9A,0x6E,0x74,0xAC,0xBA,0xC8,0x9A,0xA0,0x98, + 0xB8,0xB4,0xCE,0xB6,0xD2,0x86,0xC0,0xA6,0xB6,0xDA, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xD0,0xBA,0xAA,0xF4,0xFA, + 0xDE,0xC4,0xDE,0xCA,0xEA,0xF2,0xFF,0xF6,0xE8,0xFF, + 0xFF,0xE8,0xE8,0xDC,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFC,0xFF,0xE6,0xFF,0xEA,0xD8, + 0xCA,0xCA,0xC6,0xC2,0xE6,0xA0,0xC2,0x96,0x7E,0xAE, + 0x58,0x8A,0x5E,0x6A,0x82,0x84,0x44,0x5C,0x86,0x5C, + 0x8C,0x9A,0x80,0x86,0x86,0x4C,0x60,0x7E,0x50,0x4C, + 0x36,0x6E,0x44,0x40,0x1C,0x3A,0x14,0x02,0x20,0x1A, + 0x3C,0x3A,0x04,0x2C,0x0A,0x1E,0x26,0x00,0x00,0x02, + 0x00,0x00,0x02,0x00,0x00,0x14,0x0C,0x10,0x00,0x00, + 0x00,0x16,0x1A,0x24,0x40,0x50,0x6A,0x44,0x2E,0x2C, + 0x38,0x28,0x38,0x38,0x6E,0x6A,0x5C,0x7E,0x40,0x44, + 0x34,0x2E,0x28,0x74,0x44,0x2A,0x3A,0x5C,0x66,0x84, + 0x88,0x74,0x78,0x9E,0x9E,0x9E,0x82,0x9A,0x82,0xA6, + 0x66,0xB0,0x9A,0xA2,0xA6,0xEE,0xB8,0xD4,0xD6,0x96, + 0xC6,0xB8,0xB4,0xA8,0xE2,0xB0,0xC8,0xA6,0xD2,0xD2, + 0xD4,0xDE,0xF6,0xCA,0xD0,0xBA,0xB4,0xC0,0xB6,0xB6, + 0xC6,0x9C,0xD4,0xDA,0xC0,0xA6,0xC2,0xC0,0xD2,0xA8, + 0xBC,0xB2,0x98,0xCA,0x80,0xCA,0xB2,0xF6,0xE2,0xC2, + 0xBC,0xD6,0xAE,0x86,0xB8,0x8E,0xBA,0xB0,0x80,0x92, + 0x58,0x9C,0x7E,0x82,0x74,0x72,0x82,0x6C,0x8A,0x7C, + 0x9A,0x7E,0x7A,0x7C,0x92,0x7C,0x78,0x96,0x80,0x7E, + 0x64,0x54,0x5A,0x4C,0x62,0x64,0x70,0x3E,0x68,0x6E, + 0x78,0x7A,0x76,0x58,0x4C,0x46,0x40,0x3C,0x2E,0x38, + 0x34,0x44,0x4C,0x28,0x52,0x50,0x46,0x48,0x64,0x4E, + 0x4E,0x50,0x62,0x32,0x46,0x66,0x60,0x66,0x80,0x7E, + 0x60,0x60,0x7E,0x52,0x6A,0x66,0x60,0x48,0x5A,0x50, + 0x66,0x5C,0x6A,0x4E,0x52,0x48,0x54,0x72,0x60,0x7A, + 0x72,0x7A,0x76,0x78,0x7C,0x7C,0x64,0x8A,0x6E,0x78, + 0x84,0x8E,0x98,0xB6,0x98,0xB8,0x92,0xA2,0x8E,0x86, + 0x72,0x80,0x82,0x88,0x84,0x96,0x78,0x88,0x7E,0x8A, + 0x8E,0x76,0x9C,0x98,0x98,0x7E,0x90,0x70,0x76,0x8C, + 0xA2,0xA6,0x8C,0xB2,0xA0,0xAE,0x92,0xA6,0x90,0x88, + 0x9C,0xAE,0xA8,0xBA,0xBA,0xA4,0xBC,0x9E,0x7E,0x7E, + 0x7E,0x86,0x96,0x72,0xA0,0x86,0x84,0xB6,0x8E,0x96, + 0x8E,0x9A,0xA2,0x8A,0x8E,0x80,0x76,0x82,0x8A,0x7A, + 0x80,0x64,0x80,0x96,0xA2,0x9E,0xAA,0xAC,0xA4,0xA4, + 0xA2,0x80,0x74,0x74,0x6A,0x78,0x6A,0x74,0x7C,0x7A, + 0x7E,0x60,0x80,0x72,0x6A,0x76,0x7E,0x80,0x5A,0x78, + 0x74,0x66,0x72,0x76,0x8A,0x6A,0x66,0x78,0x6C,0x68, + 0x80,0x86,0x68,0x86,0x92,0x8E,0x88,0x74,0x64,0x38, + 0x4A,0x4E,0x54,0x6E,0x5E,0x82,0x6E,0x7A,0x6A,0x9C, + 0x6C,0x80,0x74,0x78,0x90,0x82,0x7A,0x78,0x60,0x5E, + 0x5E,0x70,0x72,0x62,0x64,0x74,0x68,0x86,0x7A,0x9A, + 0x78,0x9C,0x80,0x9E,0x7C,0x5A,0x66,0x96,0x7A,0x88, + 0x88,0x9A,0x70,0x86,0x6C,0x6A,0x7A,0x64,0x8E,0x80, + 0x84,0x7A,0x84,0x82,0x92,0x9A,0x9E,0x8A,0xA0,0x9E, + 0x84,0x90,0x98,0x6E,0x7A,0x74,0x82,0x86,0x80,0x8E, + 0x92,0x84,0x84,0x7A,0x92,0x94,0x94,0xAC,0x8C,0x8E, + 0x7C,0x8C,0x94,0x80,0x88,0x68,0x7E,0x74,0x8C,0x8E, + 0x74,0x92,0x92,0x8E,0x94,0x72,0x92,0x8E,0x72,0x88, + 0x8A,0x84,0x88,0x8A,0x96,0x82,0x8C,0x84,0x84,0x9A, + 0x70,0x68,0x80,0x7A,0x66,0x82,0x7C,0x78,0x78,0x7C, + 0x74,0x6E,0x72,0x78,0x7A,0x88,0x7E,0x82,0x84,0x80, + 0x84,0x7C,0x8A,0x72,0x76,0x80,0x7C,0x80,0x82,0x82, + 0x80,0x8C,0x8C,0x80,0x84,0x76,0x7E,0x6C,0x7A,0x78, + 0x7A,0x7E,0x74,0x70,0x68,0x70,0x72,0x74,0x70,0x76, + 0x74,0x86,0x76,0x98,0x84,0x80,0x7C,0x6E,0x7C,0x82, + 0x7A,0x8E,0x88,0x8A,0x76,0x84,0x7C,0x8E,0x70,0x8C, + 0x8C,0x7E,0x8E,0x82,0x7E,0x84,0x68,0x66,0x78,0x80, + 0x92,0x84,0x82,0x74,0x7E,0x72,0x76,0x6C,0x6A,0x72, + 0x76,0x86,0x8E,0x8E,0x8A,0x86,0x86,0x70,0x84,0x78, + 0x92,0x8E,0x8E,0x90,0x8C,0x8E,0x7E,0x82,0x7C,0x82, + 0x70,0x80,0x74,0x72,0x6C,0x74,0x76,0x70,0x6E,0x7E, + 0x80,0x78,0x7A,0x88,0x82,0x92,0x82,0x8A,0x80,0x7A, + 0x88,0x86,0x7E,0x8A,0x86,0x88,0x96,0x8E,0x82,0x8C, + 0x76,0x8C,0x84,0xA0,0x88,0x86,0x7C,0x8A,0x82,0x7C, + 0x8C,0x60,0x7C,0x82,0x76,0x86,0x80,0x78,0x76,0x72, + 0x7E,0x78,0x78,0x7E,0x80,0x6E,0x7E,0x7E,0x8C,0x9E, + 0x86,0x92,0x8E,0x96,0x7C,0x82,0x78,0x7C,0x8A,0x82, + 0x86,0x76,0x80,0x76,0x80,0x7E,0x82,0x78,0x7C,0x80, + 0x7E,0x88,0x80,0x7E,0x70,0x86,0x7A,0x80,0x7C,0x74, + 0x76,0x7E,0x74,0x6C,0x70,0x7A,0x7A,0x86,0x82,0x86, + 0x8A,0x8A,0x86,0x88,0x78,0x82,0x78,0x82,0x74,0x7A, + 0x7C,0x76,0x84,0x7C,0x7A,0x8A,0x7C,0x84,0x7E,0x7E, + 0x80,0x7E,0x82,0x7A,0x7A,0x7A,0x6E,0x76,0x78,0x6E, + 0x7A,0x7C,0x86,0x78,0x8A,0x82,0x78,0x8E,0x80,0x8A, + 0x86,0x8A,0x8C,0x84,0x94,0x88,0x8E,0x84,0x7A,0x78, + 0x7A,0x84,0x80,0x7E,0x7C,0x86,0x7C,0x86,0x82,0x7C, + 0x7A,0x7A,0x76,0x76,0x7A,0x7E,0x84,0x84,0x80,0x7A, + 0x7C,0x7C,0x80,0x84,0x80,0x8C,0x82,0x86,0x82,0x86, + 0x7E,0x80,0x7C,0x84,0x8A,0x82,0x7E,0x88,0x7C,0x82, + 0x7A,0x86,0x78,0x7C,0x72,0x84,0x7E,0x7C,0x72,0x80, + 0x82,0x82,0x84,0x86,0x82,0x82,0x80,0x80,0x78,0x7A, + 0x7A,0x82,0x7E,0x7A,0x7E,0x72,0x78,0x84,0x82,0x84, + 0x86,0x8E,0x7E,0x78,0x7E,0x78,0x7A,0x7A,0x84,0x8C, + 0x8A,0x86,0x86,0x7E,0x7A,0x74,0x80,0x88,0x7E,0x80, + 0x7E,0x74,0x80,0x80,0x88,0x7A,0x80,0x76,0x7C,0x7E, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample12[258]={ + 0x6F,0x77,0x80,0x5F,0x41,0x80,0xE0,0xFF,0x3F,0x01, + 0xC0,0xFF,0x07,0xC0,0xBF,0x00,0xFE,0x07,0xE0,0x3F, + 0xC0,0x3F,0xC0,0x3F,0xE0,0x07,0xFF,0x00,0xFF,0x40, + 0x3F,0xFF,0x00,0xBF,0xE0,0x00,0xFF,0xC0,0x00,0xFF, + 0xF0,0x00,0x80,0xFF,0x20,0x00,0xFF,0xF0,0x00,0x0F, + 0xFF,0xF0,0x00,0x01,0xDF,0xFF,0x80,0x00,0x3F,0xFF, + 0xFC,0x50,0x00,0x3F,0xDF,0xFF,0xA0,0x20,0x03,0x5F, + 0xDF,0xFC,0xB0,0x50,0x2B,0x77,0xC7,0xCC,0x94,0x60, + 0x30,0x1F,0x5F,0xAF,0xC4,0xB0,0x84,0x60,0x30,0x18, + 0x37,0x77,0xA7,0xDB,0xD8,0xB4,0x80,0x54,0x35,0x3F, + 0x5F,0x87,0xAF,0xDB,0xDA,0xC0,0x9A,0x78,0x58,0x42, + 0x47,0x5F,0x80,0x9B,0xBB,0xD6,0xCA,0xB8,0xA0,0x84, + 0x68,0x4C,0x45,0x4D,0x5F,0x73,0x87,0x9F,0xAF,0xC7, + 0xBC,0xA8,0x9C,0x88,0x70,0x58,0x4C,0x4A,0x49,0x53, + 0x69,0x75,0x85,0x97,0xAD,0xB3,0xB2,0xAA,0xA0,0x90, + 0x80,0x70,0x5C,0x51,0x48,0x49,0x49,0x4F,0x5E,0x6B, + 0x7B,0x8D,0x97,0x9F,0xAB,0xB0,0xAE,0xA8,0xA0,0x94, + 0x8B,0x80,0x70,0x65,0x60,0x58,0x53,0x52,0x52,0x57, + 0x5F,0x69,0x6D,0x7D,0x83,0x8F,0x97,0x9E,0xA4,0xA6, + 0xAD,0xA8,0xA5,0xA2,0x9A,0x93,0x8B,0x82,0x79,0x70, + 0x72,0x65,0x60,0x5B,0x55,0x52,0x4F,0x56,0x53,0x57, + 0x5B,0x5F,0x65,0x6F,0x71,0x7B,0x83,0x8B,0x92,0x9B, + 0xA1,0xA7,0xB2,0xB6,0xB5,0xB5,0xB4,0xB0,0xAB,0xA4, + 0x9C,0x94,0x92,0x82,0x81,0x79,0x71,0x77,0x6D,0x68, + 0x67,0x61,0x5C,0x5E,0x59,0x5C,0x5C,0x63,0x69,0x6D, + 0x73,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample13[258]={ + 0x77,0x7B,0x80,0x6F,0x60,0x80,0xAF,0xBF,0x5F,0x40, + 0x9F,0xBF,0x43,0x9F,0x9F,0x40,0xBE,0x43,0xAF,0x5F, + 0x9F,0x5F,0x9F,0x5F,0xAF,0x43,0xBF,0x40,0xBF,0x60, + 0x5F,0xBF,0x40,0x9F,0xAF,0x40,0xBF,0x9F,0x40,0xBF, + 0xB7,0x40,0x80,0xBF,0x50,0x40,0xBF,0xB7,0x40,0x47, + 0xBF,0xB7,0x40,0x40,0xAF,0xBF,0x80,0x40,0x5F,0xBF, + 0xBD,0x68,0x40,0x5F,0xAF,0xBF,0x90,0x50,0x41,0x6F, + 0xAF,0xBD,0x97,0x68,0x55,0x7B,0xA3,0xA5,0x8A,0x70, + 0x58,0x4F,0x6F,0x97,0xA1,0x97,0x82,0x70,0x58,0x4C, + 0x5B,0x7B,0x93,0xAD,0xAB,0x99,0x80,0x6A,0x5A,0x5F, + 0x6F,0x83,0x97,0xAD,0xAC,0x9F,0x8D,0x7C,0x6C,0x61, + 0x63,0x6F,0x80,0x8D,0x9D,0xAA,0xA4,0x9B,0x90,0x82, + 0x74,0x66,0x62,0x66,0x6F,0x79,0x83,0x8F,0x97,0xA3, + 0x9D,0x93,0x8E,0x84,0x78,0x6C,0x66,0x65,0x64,0x69, + 0x74,0x7A,0x82,0x8B,0x96,0x99,0x98,0x94,0x90,0x88, + 0x80,0x78,0x6E,0x68,0x64,0x64,0x64,0x67,0x6F,0x75, + 0x7D,0x86,0x8B,0x8F,0x95,0x97,0x96,0x93,0x90,0x8A, + 0x85,0x80,0x78,0x72,0x70,0x6C,0x69,0x69,0x69,0x6B, + 0x6F,0x74,0x76,0x7E,0x81,0x87,0x8B,0x8F,0x91,0x92, + 0x96,0x93,0x92,0x90,0x8D,0x89,0x85,0x81,0x7C,0x78, + 0x79,0x72,0x70,0x6D,0x6A,0x69,0x67,0x6B,0x69,0x6B, + 0x6D,0x6F,0x72,0x77,0x78,0x7D,0x81,0x85,0x89,0x8D, + 0x90,0x93,0x98,0x9A,0x9A,0x9A,0x99,0x97,0x95,0x91, + 0x8E,0x8A,0x89,0x81,0x80,0x7C,0x78,0x7B,0x76,0x74, + 0x73,0x70,0x6E,0x6F,0x6C,0x6E,0x6E,0x71,0x74,0x76, + 0x79,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample14[451]={ + 0x96,0x9E,0x00,0xEE,0x78,0xFF,0xFF,0xFF,0x00,0xFF, + 0x7E,0xF6,0xD2,0x16,0x78,0xA0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08, + 0x5A,0x64,0xA6,0xAA,0xE6,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFC,0xD6,0xAE,0x7C,0x4C,0x1A,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x0C,0x3A,0x5C,0x82,0xAE,0xE8,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xE4,0xDE,0xBE,0xA6,0x70,0x5E,0x36,0x12,0x04, + 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x0E, + 0x28,0x2C,0x46,0x66,0x76,0x7C,0x72,0x82,0x9A,0xAA, + 0xAA,0xB4,0xCA,0xDA,0xEC,0xF4,0xF8,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFE,0xF8,0xD6,0xD8,0xD4,0xC8,0xB6, + 0xBA,0xA2,0x8C,0x8C,0x76,0x62,0x5E,0x56,0x38,0x24, + 0x20,0x20,0x0E,0x02,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02, + 0x06,0x0C,0x1C,0x1E,0x2E,0x3E,0x4A,0x5A,0x5E,0x74, + 0x82,0x8C,0xA0,0xAA,0xB8,0xBA,0xBE,0xC8,0xD2,0xD0, + 0xF6,0xE6,0xEE,0xFC,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFA,0xFF,0xFA,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFE,0xFF,0xF8,0xEC,0xFF,0xF0,0xF4,0xCE, + 0xD4,0xCA,0xCC,0xCE,0xBA,0xAA,0xB4,0x9E,0xAA,0x7A, + 0xBC,0x96,0xAC,0x9A,0x6E,0x84,0x80,0x72,0x6C,0x6A, + 0x72,0x6C,0x5A,0x58,0x68,0x4A,0x46,0x52,0x3A,0x3A, + 0x36,0x3E,0x36,0x30,0x24,0x24,0x0C,0x1E,0x02,0x16, + 0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x02,0x1A,0x16,0x22,0x28, + 0x38,0x52,0x5E,0x66,0x7E,0x7E,0x92,0x8E,0xA6,0xA2, + 0xAE,0xB0,0xBE,0xC0,0xC8,0xBC,0xCC,0xC6,0xC6,0xC8, + 0xCA,0xD0,0xC8,0xD6,0xC6,0xC6,0xD0,0xCE,0xD0,0xCE, + 0xCA,0xCE,0xCA,0xBC,0xC8,0xC4,0xC4,0xC4,0xBA,0xBC, + 0xB0,0xA6,0xBE,0xAE,0xC2,0x9A,0xB4,0x98,0x88,0xA0, + 0xA0,0xA2,0x9A,0x90,0xA6,0x9A,0x98,0x7E,0x80,0x8C, + 0x90,0x7E,0x86,0x84,0x78,0x6C,0x6A,0x6A,0x64,0x78, + 0x84,0x5C,0x82,0x72,0x7A,0x62,0x84,0x80,0x94,0x96, + 0x8E,0x96,0x94,0x92,0xAE,0x90,0xB0,0x92,0xB6,0xA2, + 0x9C,0x88,0x96,0x86,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,}; +static ymu8 sample15[1795]={ + 0x80,0x80,0x7A,0x80,0x7C,0xD4,0xFF,0xCE,0x44,0x00, + 0x00,0x00,0x7C,0x0A,0xFF,0xDE,0xDE,0xFF,0xFF,0xA4, + 0x82,0xDE,0xCE,0x08,0x72,0x00,0x94,0x98,0x00,0x00, + 0x12,0x00,0x42,0x2A,0x5E,0x38,0x9A,0xEE,0x5E,0x72, + 0xE6,0xFF,0xFF,0xFF,0xFF,0xEE,0x7A,0x0E,0x00,0x00, + 0x00,0x3A,0x1A,0x00,0x12,0x10,0x46,0xE6,0xE8,0xFF, + 0xF0,0xFF,0xFF,0xF6,0x94,0xAA,0x68,0x32,0x00,0x00, + 0x4E,0x6C,0x32,0x7E,0xB2,0x72,0x5C,0x10,0x00,0x22, + 0x86,0xB8,0xFF,0x96,0xFF,0xFF,0x58,0xDE,0xFA,0xFF, + 0xFF,0x88,0x1C,0x00,0x00,0x00,0xA6,0x44,0x16,0x14, + 0x8A,0x3C,0xA4,0x62,0xFF,0xFF,0xFF,0xFF,0xB0,0x68, + 0x52,0x7A,0x6C,0x9C,0x4E,0xB6,0x94,0x3C,0x00,0x00, + 0x00,0x04,0x74,0xC6,0xBA,0x6C,0x44,0x4A,0xC2,0xF2, + 0xFF,0xD6,0xFF,0xF6,0xD8,0xFF,0xB2,0x80,0x48,0x00, + 0x00,0x00,0x00,0x00,0x0E,0x82,0xF8,0xD6,0xB2,0xCE, + 0x5E,0x9E,0xFE,0xFF,0xCA,0xC6,0x9C,0x7C,0x5A,0x62, + 0x04,0x00,0x6C,0x78,0x9A,0x80,0x44,0x12,0x3A,0x06, + 0x50,0x4C,0x7C,0xC0,0xEC,0xC4,0x76,0xFF,0xFF,0xFF, + 0xEA,0xB8,0x76,0x44,0x76,0x2C,0x42,0x00,0x1E,0x00, + 0x0E,0x4C,0x84,0x72,0x34,0x88,0xBA,0xFA,0xF2,0xFF, + 0xF6,0xAE,0xD6,0xB4,0x72,0x68,0x72,0x0A,0x32,0x94, + 0x90,0x54,0x5A,0x00,0x14,0x0E,0x3E,0x76,0x94,0x84, + 0x9A,0x9E,0xA4,0xE6,0xA4,0xEC,0xDE,0xFF,0xFF,0xA0, + 0xA6,0x3A,0x24,0x14,0x00,0x00,0x00,0x18,0x3C,0x82, + 0xCC,0xD4,0xD0,0xA8,0xA8,0xB8,0xD6,0xDC,0x90,0x86, + 0x84,0x58,0x4E,0x54,0x9A,0x9E,0x8A,0xAE,0x52,0x26, + 0x58,0x36,0x24,0x12,0x0A,0x66,0xAE,0xF2,0xD8,0xFF, + 0xD8,0x96,0x92,0x3C,0x7E,0xAE,0x88,0x8A,0x7E,0x82, + 0x94,0x22,0x28,0x18,0x04,0x22,0x18,0x92,0x60,0xA6, + 0xA6,0x9C,0xAA,0xFF,0xF0,0xE4,0xE0,0x7A,0x96,0x84, + 0x52,0x1A,0x00,0x00,0x32,0x06,0x82,0xA2,0x8C,0x52, + 0x9A,0x72,0x9E,0xA6,0xE6,0xE2,0xE8,0x60,0x72,0x90, + 0x7A,0x92,0x80,0x78,0xAE,0xC0,0x7C,0x5E,0x1A,0x00, + 0x0E,0x26,0x18,0x58,0x94,0xD4,0xFF,0xFF,0xFE,0xDE, + 0x1C,0x30,0x4C,0xD0,0x92,0x90,0x14,0x40,0x70,0xFF, + 0xBC,0x9A,0x6E,0x32,0x56,0x44,0x1C,0x6E,0x8E,0x96, + 0x98,0x62,0x3A,0xA4,0x84,0xD6,0xD8,0x8E,0xC0,0xE2, + 0xCA,0xE2,0x6E,0x38,0x12,0x00,0x52,0x52,0x5A,0x12, + 0x3A,0x86,0x8C,0x92,0x7A,0xA4,0x82,0xD2,0xC0,0x80, + 0x98,0xD8,0xD8,0x78,0x78,0xAA,0x86,0x2E,0x54,0x4A, + 0x32,0x0C,0x72,0x62,0x22,0x58,0x62,0xBC,0xE0,0xB4, + 0x86,0xC2,0xD8,0xF0,0xFF,0xC4,0xB2,0xA4,0x84,0x08, + 0x00,0x00,0x00,0x08,0x50,0x5E,0xDE,0xFF,0xE2,0xA0, + 0x90,0x9A,0x80,0xB0,0xAC,0x9E,0xBA,0xD4,0x4A,0x24, + 0x00,0x00,0x36,0x9E,0xBC,0xB4,0xA8,0xAA,0x82,0x00, + 0x0C,0xA4,0xB2,0x8A,0x90,0x80,0x60,0x54,0xB4,0xEE, + 0xFC,0xA2,0x76,0x8A,0x6A,0xCE,0x76,0x3E,0x00,0x00, + 0x00,0x34,0x86,0xDC,0xFF,0xEE,0xDA,0xE6,0x4C,0x44, + 0xE0,0xB8,0xFF,0xBC,0x56,0x38,0x3C,0x40,0x26,0x32, + 0x00,0x00,0x34,0x1E,0x4A,0x84,0xB6,0xFF,0xFC,0xEE, + 0xE6,0xD0,0x84,0x80,0xCE,0xBA,0xAA,0xAA,0x5C,0x4E, + 0x32,0x00,0x10,0x00,0x2C,0x52,0x54,0x86,0x5E,0x8A, + 0xA2,0xFF,0xFF,0xBC,0xBE,0xE6,0x74,0xAE,0x94,0xBA, + 0x56,0x00,0x36,0x72,0x56,0x3E,0x30,0x3A,0x78,0xBA, + 0xC6,0x56,0x7A,0xC0,0x62,0x74,0xE4,0xC2,0xC8,0x80, + 0x44,0x7C,0xFF,0xFF,0x6C,0x4E,0x00,0x28,0x0C,0x00, + 0x1C,0x8E,0xB0,0xFF,0xF0,0x4C,0x7A,0xA0,0xB4,0xA6, + 0x70,0xAC,0x9A,0xA6,0x88,0x6E,0x2E,0x42,0x06,0x00, + 0x1C,0x7C,0xC6,0xCE,0xDA,0x82,0x56,0x76,0x9E,0xAE, + 0xAE,0xFF,0xFE,0x80,0x5C,0x2E,0x42,0x9E,0x82,0x38, + 0x00,0x04,0x62,0x62,0x74,0x58,0x80,0x50,0xA8,0x96, + 0xEE,0xFF,0xFF,0xE6,0x88,0x48,0x38,0x40,0x62,0x1E, + 0x2C,0x58,0x5A,0x48,0x52,0x26,0x80,0x7A,0x76,0x6E, + 0xEE,0xFF,0xD0,0xC6,0x7A,0xD6,0xE0,0xC2,0xAA,0x58, + 0x1A,0x68,0x5C,0x20,0x3A,0x46,0x26,0x30,0x26,0x3A, + 0x52,0x9A,0x9A,0xA8,0xFF,0xFF,0xFF,0xFF,0xB8,0x56, + 0x66,0x60,0x26,0x02,0x00,0x00,0x0A,0x4A,0x9E,0x4E, + 0x6C,0x90,0xB2,0xCC,0xC4,0x8A,0xB2,0xA6,0xB8,0xCC, + 0xCA,0x66,0x72,0x86,0x4E,0x12,0x4C,0x70,0x34,0x34, + 0x8A,0xC2,0xE0,0xD6,0x1E,0x00,0x2A,0x82,0xB6,0xE2, + 0xFF,0xFF,0xD4,0x6A,0x2A,0x6E,0x7A,0x6A,0x5E,0x1A, + 0x00,0x0A,0x72,0x96,0xA8,0xDC,0xD8,0xA0,0x84,0x76, + 0x9E,0x7E,0x70,0x62,0x9A,0xB6,0x8A,0x76,0x32,0x66, + 0x42,0x60,0x72,0x6E,0x6C,0xA0,0xA0,0xAC,0xB2,0x86, + 0x8A,0x5C,0x7C,0x5C,0x70,0x88,0xA0,0xB4,0xA0,0x86, + 0x84,0x6C,0x72,0x5C,0x2C,0x54,0x56,0x6A,0x7C,0x80, + 0x84,0x98,0xC0,0xBC,0xA2,0x86,0xA6,0x82,0x72,0x64, + 0x40,0x80,0x6E,0x4C,0x6E,0x8E,0x9A,0xA8,0x72,0x5A, + 0x6C,0x9C,0xA0,0x86,0x68,0x60,0x74,0x7C,0x90,0xAA, + 0x78,0x50,0x54,0x60,0xAC,0xE0,0xA2,0x96,0x5A,0x56, + 0x58,0x92,0x82,0x3A,0x44,0x76,0x90,0xAE,0xA4,0xC4, + 0x90,0x8A,0x6A,0x46,0x46,0x54,0x8A,0x9A,0x8C,0x80, + 0x5C,0x6E,0x78,0x80,0xA8,0xB6,0xAA,0x9E,0x62,0x5C, + 0x46,0x6C,0x58,0x84,0x74,0x64,0x8A,0x92,0xAA,0x7A, + 0xA0,0xBC,0x54,0x44,0x84,0xA0,0xD2,0x8A,0x16,0x2C, + 0x84,0xBE,0x8C,0x88,0x7C,0x6E,0x8C,0xA2,0xA4,0x6A, + 0x46,0x4A,0x56,0x54,0x8A,0xA4,0xC2,0x9E,0x7C,0x7E, + 0x9C,0xB2,0xA8,0x86,0x6C,0x68,0x7A,0x62,0x4C,0x44, + 0x36,0x4C,0x6E,0xAC,0xA0,0xBA,0xB6,0x9A,0x88,0x86, + 0x88,0x8E,0x52,0x6A,0x74,0x6A,0x7A,0x7E,0x9C,0x88, + 0x4C,0x50,0x86,0xA2,0xC0,0x7C,0x62,0x4C,0x40,0x80, + 0xA2,0x84,0x5C,0x82,0x9A,0x7A,0xAC,0xAA,0x84,0x7A, + 0x9A,0x98,0x7E,0x60,0x52,0x70,0x58,0x4A,0x52,0x6C, + 0x94,0xA2,0x9C,0xB2,0xAE,0xA8,0x98,0x72,0x64,0x50, + 0x68,0x8C,0x8C,0x6E,0x64,0x70,0x82,0x8E,0x74,0x6E, + 0x80,0x6C,0x80,0x82,0x94,0xA2,0x60,0x4C,0x58,0x70, + 0x9A,0x8E,0x92,0x8C,0x86,0xA0,0xAA,0x9E,0x8E,0x58, + 0x44,0x36,0x50,0x52,0x7A,0x94,0x7E,0x9C,0x9E,0xB8, + 0x96,0x8A,0x5C,0x60,0x86,0x9A,0x94,0x8A,0x70,0x48, + 0x58,0x62,0x64,0x8A,0x9E,0x98,0xA8,0x94,0x90,0x6A, + 0x62,0x54,0x5E,0x90,0xAE,0x8E,0x6A,0x7E,0x82,0x6C, + 0x68,0x8E,0x92,0x88,0x6C,0x76,0x88,0x64,0x7C,0x70, + 0x80,0x66,0x8C,0x80,0x76,0x90,0x94,0x98,0x8C,0x76, + 0x76,0x68,0x68,0x6C,0x82,0x92,0x72,0x8A,0x7C,0x72, + 0x6C,0x48,0x7E,0xAA,0xAE,0xAC,0x86,0x80,0x64,0x5E, + 0x6A,0x88,0x70,0x72,0x94,0xAA,0xAA,0x8C,0x70,0x5E, + 0x5A,0x6C,0x70,0x84,0x90,0x7A,0x7C,0x60,0x6C,0x80, + 0x8A,0x7A,0x8A,0x92,0x96,0x90,0x8A,0x80,0x74,0x6E, + 0x60,0x66,0x7C,0x80,0x82,0x70,0x70,0x5C,0x7C,0x98, + 0x90,0x94,0x8A,0x8C,0x84,0x88,0x80,0x6C,0x58,0x7A, + 0x7E,0x78,0x86,0x90,0xA2,0xA2,0x96,0x7E,0x50,0x44, + 0x54,0x62,0x72,0x96,0xB2,0x94,0x92,0x68,0x60,0x84, + 0x88,0x90,0x94,0x7C,0x82,0x82,0x76,0x6A,0x6E,0x82, + 0x84,0x80,0x6C,0x74,0x6E,0x76,0x76,0x86,0x84,0x86, + 0x7C,0x7A,0x76,0x88,0x9C,0x76,0x8A,0x88,0x8E,0x8A, + 0x80,0x86,0x88,0x5E,0x50,0x40,0x6C,0x96,0x9E,0x94, + 0x7E,0x7A,0x86,0x7A,0x80,0x76,0x88,0x90,0x78,0x78, + 0x6C,0x80,0x8A,0x98,0x74,0x7C,0x72,0x60,0x8A,0x90, + 0x6C,0x70,0x78,0x78,0x92,0x92,0x7E,0x74,0x8A,0x84, + 0x6C,0x74,0x7E,0x7A,0x88,0x82,0x86,0x78,0x7C,0x80, + 0x72,0x80,0x82,0x76,0x7C,0x68,0x62,0x64,0x8C,0x9C, + 0x90,0xA0,0x92,0x72,0x6C,0x6C,0x7E,0x92,0x7A,0x76, + 0x68,0x74,0x8C,0x90,0x72,0x5C,0x74,0x94,0x9E,0x8E, + 0x7A,0x90,0x80,0x68,0x72,0x7E,0x7E,0x7C,0x74,0x68, + 0x76,0x7C,0x80,0x94,0x8C,0x98,0x8C,0x84,0x5E,0x60, + 0x7E,0x80,0x64,0x7A,0x90,0x8E,0x80,0x78,0x76,0x70, + 0x76,0x76,0x7C,0x94,0x82,0x7C,0x76,0x7C,0x68,0x80, + 0x72,0x80,0x7E,0x7A,0x8A,0x84,0x86,0x96,0x94,0x7E, + 0x62,0x62,0x70,0x80,0x76,0x86,0x70,0x80,0x88,0x6C, + 0x84,0x80,0x84,0x8A,0x86,0x8A,0x80,0x8E,0x80,0x76, + 0x6E,0x70,0x7A,0x7A,0x78,0x7E,0x7E,0x84,0x7A,0x84, + 0x92,0x7C,0x7A,0x80,0x86,0x76,0x7A,0x72,0x72,0x78, + 0x7E,0x80,0x7C,0x74,0x72,0x84,0x94,0x8E,0x88,0x78, + 0x64,0x72,0x7A,0x72,0x7A,0x80,0x7A,0x7A,0x7E,0x80, + 0x84,0xA0,0x8C,0x82,0x7C,0x78,0x78,0x78,0x7E,0x76, + 0x76,0x72,0x8E,0x8A,0x84,0x82,0x7C,0x7C,0x72,0x76, + 0x80,0x78,0x84,0x86,0x86,0x82,0x86,0x88,0x8C,0x82, + 0x6C,0x68,0x76,0x70,0x76,0x80,0x98,0x8A,0x80,0x6E, + 0x68,0x7A,0x82,0x82,0x84,0x80,0x8A,0x88,0x76,0x74, + 0x76,0x86,0x88,0x7E,0x7C,0x76,0x80,0x90,0x7A,0x74, + 0x6E,0x78,0x84,0x86,0x8E,0x88,0x82,0x78,0x80,0x82, + 0x7C,0x80,0x82,0x78,0x7A,0x80,0x80,0x82,0x7C,0x76, + 0x7C,0x78,0x80,0x88,0x82,0x8A,0x8A,0x84,0x72,0x6C, + 0x6C,0x6E,0x72,0x84,0x9A,0x90,0x88,0x82,0x70,0x66, + 0x68,0x82,0x84,0x80,0x80,0x7E,0x80,0x82,0x80,0x80, + 0x84,0x78,0x78,0x7C,0x84,0x88,0x7A,0x7A,0x7A,0x7E, + 0x7E,0x8A,0x86,0x82,0x78,0x80,0x84,0x74,0x72,0x78, + 0x86,0x8C,0x82,0x7C,0x84,0x82,0x7A,0x70,0x72,0x88, + 0x88,0x86,0x76,0x6E,0x78,0x90,0x80,0x70,0x78,0x74, + 0x84,0x7C,0x80,0x82,0x78,0x7E,0x82,0x82,0x7A,0x7E, + 0x80,0x80,0x78,0x7E,0x78,0x76,0x84,0x7E,0x78,0x7A, + 0x82,0x82,0x80,0x8A,0x84,0x82,0x84,0x7A,0x78,0x78, + 0x78,0x7E,0x86,0x82,0x7A,0x7E,0x7E,0x78,0x78,0x7C, + 0x82,0x86,0x80,0x80,0x80,0x84,0x80,0x76,0x7A,0x74, + 0x7A,0x7C,0x82,0x88,0x82,0x7A,0x7A,0x76,0x7A,0x7E, + 0x80,0x86,0x7C,0x78,0x74,0x84,0x82,0x7E,0x7C,0x7A, + 0x7E,0x78,0x7C,0x88,0x8E,0x82,0x7A,0x7A,0x7A,0x74, + 0x7C,0x84,0x84,0x7C,0x80,0x80,0x78,0x72,0x78,0x88, + 0x88,0x84,0x82,0x76,0x72,0x7A,0x82,0x84,0x94,0x88, + 0x76,0x6E,0x68,0x74,0x84,0x8A,0x82,0x80,0x7A,0x72, + 0x78,0x80,0x84,0x7C,0x88,0x82,0x7E,0x76,0x74,0x7A, + 0x7E,0x7E,0x80,0x80,0x7E,0x82,0x82,0x80,0x7A,0x78, + 0x80,0x78,0x7C,0x80,0x86,0x82,0x82,0x7E,0x7C,0x86, + 0x7C,0x7C,0x7A,0x82,0x88,0x7E,0x7A,0x70,0x76,0x7E, + 0x84,0x84,0x7E,0x82,0x7E,0x80,0x76,0x7A,0x78,0x82, + 0x86,0x7C,0x7C,0x80,0x82,0x7C,0x7A,0x7C,0x74,0x7C, + 0x86,0x82,0x7E,0x7C,0x7E,0x7E,0x7C,0x86,0x80,0x84, + 0x84,0x7E,0x7C,0x7E,0x7C,0x7A,0x7C,0x7E,0x7C,0x82, + 0x82,0x7E,0x7A,0x7C,0x7E,0x80,0x7E,0x7A,0x7E,0x7C, + 0x80,0x86,0x7C,0x74,0x7E,0x7E,0x7E,0x84,0x80,0x7E, + 0x7C,0x74,0x78,0x7E,0x86,0x82,0x7A,0x76,0x7A,0x84, + 0x7C,0x80,0x84,0x84,0x82,0x78,0x78,0x7A,0x84,0x84, + 0x76,0x7E,0x78,0x7E,0x80,0x80,0x7C,0x7E,0x78,0x7E, + 0x7C,0x78,0x82,0x88,0x80,0x7A,0x72,0x7A,0x80,0x7E, + 0x86,0x82,0x84,0x82,0x78,0x78,0x78,0x72,0x7A,0x8A, + 0x86,0x7E,0x7C,0x7A,0x7C,0x7C,0x82,0x84,0x82,0x80, + 0x74,0x76,0x7A,0x82,0x80,0x7E,0x80,0x7C,0x7E,0x82, + 0x80,0x80,0x7E,0x80,0x7C,0x7C,0x7E,0x7C,0x80,0x84, + 0x80,0x7E,0x7A,0x7C,0x78,0x7A,0x84,0x84,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample16[271]={ + 0x6A,0x1E,0x20,0x00,0x00,0x14,0x5A,0x9A,0xAA,0xBC, + 0xFF,0xFF,0xFF,0xFF,0xFE,0xBE,0xFF,0xFF,0x00,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0x9A,0x34,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x38,0x6C,0xB8,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xDA,0xA2,0x40,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x42,0x6C,0xA6, + 0xCE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xE4,0xC4,0xBE,0xC4,0x9E,0x92,0x86, + 0x74,0x64,0x4E,0x2C,0x18,0x1A,0x06,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x10,0x0C,0x24,0x40,0x42,0x54,0x54,0x5C, + 0x70,0x76,0x86,0x88,0x92,0x98,0x96,0x98,0xA6,0xC4, + 0xB4,0xC2,0xBC,0xB6,0xD0,0xCA,0xBE,0xB6,0xC4,0xB6, + 0xAE,0xAA,0xB6,0xAC,0x9E,0x94,0x8E,0x96,0x8E,0x8E, + 0x8E,0x8A,0x94,0x8A,0x94,0x94,0x9A,0xA2,0x9E,0xAC, + 0xA4,0xB2,0xB8,0xBC,0xBE,0xCC,0xCC,0xDE,0xCC,0xD2, + 0xDE,0xDC,0xDC,0xCC,0xD6,0xEE,0xE2,0xDA,0xD8,0xDA, + 0xC8,0xC8,0xB8,0xC4,0xBC,0xA6,0x9E,0x94,0x8E,0x86, + 0x82,0x6C,0x70,0x66,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,}; +static ymu8 sample17[633]={ + 0x34,0x14,0x92,0xCE,0xFF,0xFF,0xCC,0xFF,0x00,0xFF, + 0xFF,0xFF,0xF0,0x00,0x56,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x32,0x00,0x20,0x60,0x7C,0xD0,0xEE, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCE, + 0x94,0x02,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xD8,0xB0,0xE6,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0x8A,0x82,0x58,0x10,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x2A,0x50,0xA2,0x66,0xFF, + 0xFF,0xB2,0xFF,0xE4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xEC,0xFF,0xB2,0x96,0x36,0x1A,0x12,0x00,0x0E, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5E, + 0x00,0xE2,0x3C,0xFF,0xFF,0xFF,0xC8,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xD2,0xF4,0x64,0x64,0x9E,0x06, + 0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42, + 0x00,0x5E,0x0A,0xFF,0xAC,0xFF,0xFF,0xFF,0xF6,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xCE,0xFF,0xF4,0xAA,0x8C, + 0x70,0x48,0x00,0x00,0x2A,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x76,0x00,0x00,0x6E,0x70,0xC6,0xFF,0xFF, + 0xFF,0xAC,0xB8,0xFF,0xFF,0xFF,0xFF,0x42,0x70,0xFF, + 0xAE,0x00,0x78,0x86,0x00,0x00,0xA6,0x20,0x98,0x00, + 0x00,0xFF,0x24,0x00,0x12,0x00,0xA4,0x24,0x00,0x48, + 0xEA,0xF8,0xB6,0xC4,0xFF,0xFF,0xF4,0xC8,0xFF,0x8A, + 0xB6,0x8C,0xA8,0x6A,0xA2,0xA8,0x94,0xA0,0x54,0x72, + 0xF6,0x00,0x00,0xB0,0x6C,0x00,0x00,0x34,0x76,0x0E, + 0xE4,0x3C,0xC8,0x72,0x74,0xF4,0x3C,0x42,0xFF,0x84, + 0x90,0x8E,0xEC,0x84,0xE6,0xAC,0x48,0x78,0xFF,0x10, + 0x82,0xFA,0x58,0xC2,0xF2,0x82,0x1A,0x00,0x88,0xF6, + 0xEE,0xA4,0x64,0x38,0x44,0x3E,0xB6,0x2C,0x20,0x94, + 0x2E,0x12,0x82,0xA4,0x2C,0x5E,0xD2,0xF0,0x26,0x82, + 0xFF,0xB6,0xA2,0xB0,0x50,0xFF,0xFF,0x90,0xFF,0x94, + 0x38,0x74,0x82,0x32,0x70,0xE8,0x82,0x9E,0x2A,0x00, + 0x34,0x32,0x4C,0x48,0x40,0x30,0x14,0x70,0x86,0xBA, + 0x18,0x74,0xFF,0x74,0x14,0xF0,0x60,0x5E,0xB0,0x9C, + 0xC6,0xFF,0xDC,0x84,0xC0,0x94,0xB8,0x6E,0xA6,0xC8, + 0x8A,0x94,0x94,0xFF,0x32,0x78,0x36,0x80,0x2A,0x52, + 0x10,0x48,0x3A,0x00,0x5C,0x78,0x84,0x74,0x78,0x62, + 0x40,0xBE,0xC8,0xCE,0xFF,0x8E,0xC2,0xB0,0x8E,0xFF, + 0x54,0x6A,0xD2,0xFF,0xA0,0x32,0x38,0xBE,0x4A,0x14, + 0x2A,0x2A,0x74,0x3C,0x66,0x00,0x00,0x0C,0x4A,0x82, + 0x52,0x84,0xC8,0xC2,0x80,0xA2,0xBA,0x9E,0xF4,0xCC, + 0x90,0xD2,0xBC,0xE8,0xD8,0xC8,0xB0,0x32,0x98,0x6A, + 0x0A,0x88,0x78,0x52,0x66,0x00,0x46,0x6E,0x0A,0x5A, + 0x2A,0x60,0x70,0x64,0x2C,0xBA,0x6E,0x56,0xA6,0x9C, + 0x96,0xA8,0x9C,0x76,0x9C,0xD2,0x24,0xB8,0x90,0xBA, + 0x50,0xDA,0x84,0x94,0x6E,0x64,0xF4,0x78,0x5C,0x90, + 0x90,0x44,0x70,0x66,0x20,0x40,0xC2,0x14,0x38,0x94, + 0x5C,0xB6,0x4A,0x7C,0x78,0x42,0x40,0x5C,0xBC,0x72, + 0x8C,0xF4,0x74,0xB6,0x98,0x94,0xD0,0xA0,0x78,0xEA, + 0x84,0xF8,0x76,0x5C,0xB0,0x92,0x7E,0x5A,0x58,0xA8, + 0x6C,0x24,0x0C,0x52,0x40,0x74,0x8C,0x20,0x00,0x44, + 0x46,0x92,0x44,0x90,0x96,0x3C,0xDC,0xA8,0x62,0xC2, + 0xBC,0xDC,0xD0,0xB8,0xA4,0xA0,0xBE,0xE6,0x9A,0x42, + 0x2C,0x54,0xA2,0xAA,0xB0,0x7A,0x00,0x88,0x74,0x32, + 0x22,0x94,0x1A,0x46,0x56,0x9A,0x8A,0x00,0x7E,0x76, + 0x7A,0x56,0x6C,0x9C,0xE2,0x4C,0xD8,0xC8,0x84,0xC0, + 0xD2,0x9A,0xF2,0xAC,0xCA,0x9C,0x80,0xC6,0xC8,0x18, + 0x7E,0x82,0x34,0x62,0x4E,0x5E,0x38,0x7A,0x8E,0x3A, + 0x4C,0x2E,0x36,0x78,0x54,0x24,0x5C,0x46,0x80,0x96, + 0x54,0x8A,0xA2,0xC0,0xE6,0x9E,0xA0,0xEE,0xE0,0xE2, + 0x8E,0xFF,0x6E,0xE0,0x70,0x82,0xBC,0x40,0x70,0x3C, + 0x90,0x06,0x34,0x7A,0x4A,0x52,0x38,0x48,0x76,0x48, + 0x70,0x00,0x50,0x7E,0x8C,0x6E,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,}; +static ymu8 sample18[1379]={ + 0xF4,0xFF,0xFF,0xFF,0xFF,0xEA,0x00,0x4A,0x00,0x00, + 0x00,0x84,0x00,0xB4,0xA6,0xD8,0xFF,0xEA,0x82,0x0C, + 0x00,0x00,0x00,0x00,0x00,0x00,0x2E,0x74,0x44,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14, + 0x10,0xAA,0xF4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xEC,0xD2,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x14,0x82,0xE8,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xBA,0x9E,0x3A,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xBC,0x2E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x40,0x50,0xB0,0xE2,0xBC,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x5C,0x14, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A, + 0x52,0xB6,0xD6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xD2,0x82,0x20,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x64,0xBA,0xF6, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xB8, + 0xD4,0x78,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x32,0x22,0x36,0xD2,0xBC,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE2,0x7E,0x20, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x42,0x7A,0xD0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xD6,0xEA,0x50,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x84,0x8A, + 0xC6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF4, + 0xC8,0xC0,0x94,0x36,0x04,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x04,0x26,0x7C,0x98,0xC2, + 0xFF,0xFF,0xFF,0xE8,0xF4,0xA4,0xC2,0xAC,0xB0,0x94, + 0xE4,0x82,0xB4,0xA4,0x98,0x72,0x86,0x60,0x46,0x64, + 0x2C,0x00,0x0A,0x00,0x00,0x0C,0x24,0x00,0x42,0x5E, + 0x9A,0xAA,0xC0,0xFF,0xC0,0xF6,0xA0,0xC4,0xAA,0xA4, + 0x98,0xB8,0xB8,0xDE,0xDE,0xAC,0x8E,0x96,0x58,0x4A, + 0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A, + 0x64,0xB0,0xCE,0xD8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xF2,0xE6,0xC2,0x7C,0x74,0x52,0x24,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x3A, + 0x92,0xBA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xCE,0xBC,0x6C,0x4C,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x48,0x42, + 0x84,0xB2,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF2, + 0xF8,0xC6,0xCC,0xA6,0x5A,0x44,0x3C,0x18,0x0E,0x10, + 0x00,0x00,0x00,0x00,0x0C,0x1C,0x38,0x56,0x64,0x40, + 0x6C,0x4A,0x72,0x62,0x96,0xBC,0xC8,0xDA,0xAE,0xB6, + 0x98,0xA6,0xA8,0xBC,0x94,0xA4,0xBE,0xBC,0xA2,0xA0, + 0x7A,0x32,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x08,0x00,0x36,0x46,0x92,0x7C,0xB4,0xB4,0xD2,0xF4, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE2,0xF8,0xDC,0x96, + 0x8C,0x76,0x24,0x30,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x02,0x0E,0x2C,0x38,0x58,0x80,0xA4,0xD6,0xDE, + 0xFF,0xE0,0xFF,0xFF,0xFF,0xFC,0xDC,0xBA,0x80,0x94, + 0x12,0x46,0x30,0x28,0x2A,0x50,0x3E,0x48,0x34,0x2A, + 0x38,0x2A,0x1C,0x58,0x3A,0x38,0x44,0x56,0x4C,0x68, + 0x84,0x78,0x9A,0x8C,0xB8,0xB8,0xAA,0xB0,0xB2,0xA4, + 0xA2,0x8E,0x88,0x60,0x84,0x7A,0x78,0x8E,0x64,0x7C, + 0x46,0x34,0x44,0x32,0x34,0x36,0x38,0x6A,0x22,0x44, + 0x54,0x50,0x5A,0x50,0x3C,0x42,0x5C,0x7C,0x8A,0xB2, + 0xC8,0xD8,0xFE,0xE0,0xF0,0xE2,0xB4,0xC0,0xBC,0xA0, + 0x9E,0x6E,0x8A,0x54,0x70,0x48,0x34,0x00,0x00,0x00, + 0x00,0x00,0x00,0x10,0x34,0x5E,0x64,0xB4,0xA6,0xD8, + 0xC8,0xFF,0xD8,0xFF,0xE8,0xFF,0xDC,0xD0,0xDC,0xA4, + 0x8E,0x7C,0x7E,0x6E,0x3E,0x10,0x10,0x02,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x2E,0x3A,0x7C,0x88, + 0x9A,0xD0,0xDE,0xF8,0xFF,0xFF,0xFF,0xFF,0xDE,0xA4, + 0x8A,0x78,0x26,0x2A,0x14,0x08,0x00,0x00,0x02,0x08, + 0x20,0x04,0x48,0x56,0x8C,0xA8,0xA2,0xB6,0xF2,0xF0, + 0xF2,0xE2,0xFF,0xEA,0xEE,0xAC,0x98,0x6A,0x32,0x0C, + 0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x66,0x74,0xB4, + 0xAA,0xEA,0xD6,0xB2,0xCC,0xB2,0xB2,0xB0,0xA2,0xC2, + 0xD4,0xCE,0xDC,0xDA,0x9A,0x90,0x66,0x2E,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x5E,0x88,0xA0, + 0xE0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xEE,0xBE, + 0x7A,0x76,0x18,0x08,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x32,0x4C,0x84,0xA8,0xC8,0xDA,0xFF,0xFA, + 0xFF,0xEC,0xEC,0xB8,0xDE,0xA2,0x8A,0x80,0x54,0x28, + 0x28,0x04,0x00,0x00,0x00,0x00,0x00,0x3E,0x4A,0x72, + 0x90,0xB8,0xBE,0xF0,0xD8,0xFF,0xFE,0xFF,0xFF,0xFF, + 0xC8,0x96,0x7E,0x62,0x30,0x10,0x06,0x00,0x00,0x00, + 0x00,0x00,0x00,0x16,0x3C,0x56,0x88,0x96,0xD4,0xDE, + 0xD8,0xFF,0xFF,0xFF,0xF4,0xD2,0xD0,0xA0,0x74,0x58, + 0x28,0x28,0x0C,0x08,0x00,0x00,0x00,0x00,0x28,0x0C, + 0x32,0x2E,0x4E,0xA0,0x8A,0x8A,0xC6,0x8A,0xB6,0x8C, + 0xA4,0x8C,0xB4,0x6E,0xA0,0x62,0x94,0x72,0x5A,0x40, + 0x2C,0x6C,0x0E,0x4C,0x2A,0x60,0x5C,0x66,0x72,0xB0, + 0x92,0x8A,0xBC,0x86,0xA6,0x76,0x8A,0x6C,0x86,0x86, + 0x9A,0xA4,0x9A,0xAE,0xA2,0x76,0x92,0x66,0x4E,0x02, + 0x24,0x24,0x32,0x26,0x66,0x74,0x82,0x94,0xA4,0xE6, + 0xC6,0xEA,0xA4,0x94,0x6E,0x50,0x5C,0x42,0x1C,0x4C, + 0x1C,0x42,0x54,0x54,0x64,0x56,0x6E,0x6A,0x8E,0x80, + 0xA0,0x96,0xC2,0xB0,0xE2,0xDA,0xBA,0x98,0xB0,0x7E, + 0x66,0x64,0x4C,0x28,0x30,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x16,0x36,0x64,0x64,0x94,0xBA,0xD0,0xEE, + 0xDC,0xE2,0xFF,0xEE,0xCC,0xF0,0xB8,0x94,0x86,0x56, + 0x4E,0x1A,0x04,0x0E,0x00,0x00,0x00,0x08,0x00,0x02, + 0x5E,0x5E,0x82,0x90,0xB2,0xD6,0xF6,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFA,0xD6,0x9C,0xA4,0x4C,0x44,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x6C,0x90, + 0xA6,0xD4,0xF2,0xFF,0xFF,0xFF,0xFF,0xE8,0xF0,0x9E, + 0x9A,0x76,0x44,0x32,0x1C,0x0C,0x04,0x0C,0x10,0x16, + 0x42,0x3C,0x6E,0x64,0x86,0x74,0x9A,0x68,0x78,0x74, + 0x82,0x94,0x98,0x94,0x8E,0xB8,0x92,0x8C,0x7E,0x58, + 0x60,0x48,0x2E,0x42,0x2A,0x32,0x22,0x44,0x3A,0x58, + 0x5A,0x6C,0x6A,0x90,0x98,0xB2,0xBA,0xD4,0xCE,0xCA, + 0xB8,0xA2,0xBA,0xA2,0x9A,0x8E,0x66,0x68,0x2A,0x2A, + 0x12,0x0C,0x10,0x22,0x2C,0x42,0x52,0x72,0x72,0x88, + 0xAE,0xA4,0xC4,0xC6,0xCA,0xC6,0xC6,0xAE,0xA4,0xA2, + 0x8E,0x78,0x70,0x42,0x5A,0x34,0x36,0x32,0x28,0x38, + 0x2C,0x3C,0x56,0x58,0x7C,0x7E,0x98,0x8A,0xAA,0xA0, + 0x98,0x9E,0x9E,0x8E,0x92,0x70,0x72,0x68,0x62,0x50, + 0x52,0x52,0x4E,0x48,0x4C,0x48,0x4C,0x50,0x4E,0x46, + 0x62,0x54,0x60,0x74,0x7A,0x84,0x98,0x80,0x92,0x8A, + 0x86,0x86,0x7C,0x78,0x76,0x80,0x86,0x6E,0x84,0x74, + 0x72,0x7C,0x6A,0x80,0x76,0x8E,0x7A,0x84,0x7A,0x86, + 0x7A,0x82,0x80,0x86,0x70,0x76,0x6E,0x78,0x66,0x70, + 0x64,0x6C,0x64,0x6A,0x66,0x7A,0x78,0x7E,0x82,0x84, + 0x88,0x8C,0x82,0x88,0x88,0x8A,0x88,0x8C,0x94,0x7A, + 0x92,0x72,0x76,0x66,0x5C,0x54,0x5C,0x56,0x60,0x52, + 0x5C,0x52,0x5C,0x60,0x70,0x60,0x6E,0x6E,0x76,0x7A, + 0x88,0x74,0x78,0x6A,0x66,0x62,0x6C,0x6E,0x7C,0x7C, + 0x6A,0x76,0x6E,0x6C,0x60,0x6E,0x62,0x60,0x64,0x64, + 0x64,0x6C,0x5A,0x60,0x5C,0x62,0x62,0x66,0x6E,0x68, + 0x6A,0x74,0x7A,0x84,0x88,0x8E,0x90,0x9C,0xA6,0xA0, + 0xA8,0x9E,0xA6,0x94,0x98,0x88,0x86,0x74,0x78,0x5C, + 0x62,0x52,0x52,0x4E,0x4E,0x46,0x3A,0x4E,0x4C,0x48, + 0x5A,0x5E,0x62,0x78,0x74,0x88,0x8E,0xA2,0x9C,0x98, + 0xAE,0xA2,0xAE,0xA0,0xA2,0x98,0x88,0x92,0x7E,0x76, + 0x6E,0x5C,0x60,0x4C,0x40,0x36,0x36,0x2A,0x34,0x26, + 0x3E,0x34,0x40,0x48,0x50,0x6A,0x68,0x70,0x84,0x90, + 0x94,0x92,0x9E,0xAA,0xA4,0xA4,0x90,0x92,0x7E,0x7E, + 0x72,0x6A,0x56,0x50,0x42,0x40,0x30,0x2E,0x2E,0x2E, + 0x3C,0x38,0x50,0x5E,0x6A,0x7C,0x8A,0x92,0xAE,0xB0, + 0xB2,0xBA,0xBE,0xC0,0xB8,0xB6,0xB2,0xA2,0x9A,0x94, + 0x80,0x78,0x70,0x60,0x56,0x4A,0x3E,0x3E,0x2A,0x40, + 0x3C,0x44,0x46,0x52,0x56,0x64,0x6E,0x7A,0x86,0x8C, + 0x8E,0x92,0x9E,0x96,0x9A,0x9E,0x98,0x9C,0x94,0x8E, + 0x8C,0x82,0x6E,0x6A,0x60,0x5C,0x48,0x48,0x44,0x3A, + 0x4C,0x34,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample19[147]={ + 0x8E,0x71,0x59,0x3C,0x25,0x10,0x04,0x0A,0x16,0x14, + 0x24,0x4A,0x70,0x96,0xC1,0xEA,0xFE,0xFC,0xFD,0xFC, + 0xFD,0xFC,0xFD,0xFC,0xEF,0xC1,0x89,0x53,0x25,0x07, + 0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x01,0x01,0x0C, + 0x36,0x4A,0x73,0xAA,0xE2,0xFD,0xFC,0xFD,0xFC,0xFD, + 0xFC,0xFD,0xFC,0xFC,0xFC,0xFD,0xF9,0xD6,0xAB,0x7D, + 0x58,0x44,0x18,0x02,0x01,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x00,0x0D,0x34,0x5E,0x89,0xB2, + 0xDC,0xF5,0xFC,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFC, + 0xFD,0xFC,0xFD,0xFC,0xFD,0xED,0xC7,0xA1,0x79,0x52, + 0x2A,0x08,0x00,0x02,0x01,0x02,0x01,0x02,0x01,0x02, + 0x02,0x02,0x02,0x02,0x01,0x01,0x14,0x36,0x5A,0x80, + 0xA5,0xC8,0xE9,0xFE,0xFC,0xFD,0xFC,0xFD,0xFC,0xFD, + 0xFC,0xFD,0xFC,0xFD,0xFC,0xFD,0xFC,0xF8,0xDD,0xC4, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample20[139]={ + 0x83,0x97,0x7A,0xC9,0x3D,0x49,0xC5,0x94,0x58,0x17, + 0x3F,0x8A,0xEA,0x9E,0x3A,0x27,0xB6,0x9F,0x42,0x9C, + 0x92,0x8E,0x49,0x70,0x5E,0x9B,0xA7,0x78,0x42,0x6E, + 0x9F,0x88,0x77,0x5A,0x8D,0x85,0x79,0x7D,0x7E,0x7A, + 0x69,0x84,0x89,0x84,0x41,0xDE,0x8A,0x11,0x5D,0xC6, + 0xCE,0x51,0x22,0xA3,0xB0,0x00,0xB0,0xCE,0x71,0x0F, + 0x9B,0xB2,0x34,0xAA,0x99,0x98,0x50,0x3E,0x96,0xA3, + 0x67,0x7A,0x94,0x6B,0x6A,0x95,0x8F,0x69,0x58,0x80, + 0xB1,0x83,0x53,0x80,0x8C,0x77,0x7C,0x77,0x9B,0x78, + 0x68,0x7A,0xA4,0x4D,0x5B,0x89,0x8B,0x70,0xCB,0xC1, + 0x38,0x38,0xCD,0xD6,0xA8,0x35,0x38,0xEF,0x72,0x1A, + 0x7C,0xD4,0xC1,0x51,0x2B,0xBC,0xAA,0x41,0x67,0xAB, + 0x89,0x4C,0x9B,0x90,0x63,0x66,0x83,0xA0,0x77,0x65, + 0x62,0xB6,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample21[85]={ + 0x76,0xAE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x26,0x5E,0x9A,0xCA,0xFA,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xD6,0x98,0x74,0x32,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x12,0x4A,0x86,0xB4,0xEA,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xBC,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample22[150]={ + 0xAD,0x92,0x5F,0xB2,0x56,0x52,0x65,0xBD,0x80,0x84, + 0x80,0xB1,0xC2,0x9A,0x98,0x80,0x9D,0xDD,0x89,0xB8, + 0x64,0x9A,0x22,0xB1,0xB2,0x7A,0xB0,0x52,0xB9,0x9E, + 0xA5,0x52,0x68,0xC8,0x64,0xD4,0x44,0xA0,0x72,0x63, + 0x8B,0x76,0x9D,0x7E,0x82,0x79,0xB6,0x81,0x64,0xAF, + 0x90,0xA8,0x72,0xA3,0xA5,0xA1,0xA4,0x9E,0xBD,0x96, + 0xA9,0x8A,0x96,0x98,0x9A,0xB1,0x5B,0x90,0x4A,0x6C, + 0x93,0x8D,0x9D,0x83,0x9D,0x7D,0xAE,0x8D,0x89,0x88, + 0x64,0xC8,0x7E,0x88,0x74,0x94,0x87,0x88,0x93,0x75, + 0x62,0x70,0x98,0x8B,0xC0,0x93,0x8F,0x81,0x7B,0x92, + 0x95,0x60,0xA4,0x90,0xA8,0x64,0x9A,0x9E,0x5B,0x63, + 0x82,0xA8,0x9B,0x7B,0xA5,0x93,0x97,0x7D,0xA6,0x91, + 0x83,0x9F,0xB7,0x92,0x73,0x99,0x8D,0x81,0x86,0x9F, + 0x9C,0x7D,0x9E,0x87,0xA1,0xA0,0x81,0x75,0xA2,0x74, + 0xA7,0x80,0x95,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample23[507]={ + 0x77,0x83,0x29,0x08,0x7D,0xF8,0xE2,0xEF,0xE7,0xEF, + 0x79,0x49,0x37,0x2D,0x14,0x0E,0x13,0x0E,0x16,0x06, + 0x56,0xB5,0xE4,0xF6,0xE6,0xF7,0xE3,0xFF,0xBC,0xD2, + 0xB5,0xBC,0xE2,0xDE,0x9D,0xB1,0xC7,0x83,0x23,0x0A, + 0x15,0x0E,0x13,0x0E,0x13,0x0E,0x14,0x0D,0x1A,0x5A, + 0xCD,0xF6,0xEA,0xF1,0xEB,0xF0,0xEC,0xF0,0xEC,0xF1, + 0xEB,0xF2,0xE1,0xBF,0xAC,0x48,0x5A,0x27,0x13,0x11, + 0x10,0x12,0x0F,0x13,0x0E,0x15,0x0A,0x33,0x65,0x86, + 0xF6,0xE7,0xF3,0xEA,0xF1,0xEB,0xF0,0xEC,0xF0,0xEB, + 0xF2,0xE2,0xA0,0xC0,0x9B,0x8F,0x63,0x20,0x22,0x08, + 0x17,0x0C,0x15,0x0D,0x15,0x0D,0x15,0x0C,0x1A,0x55, + 0xB0,0xCA,0xE8,0xEE,0xED,0xEE,0xEE,0xEE,0xED,0xF0, + 0xCE,0xBF,0xA7,0x98,0x59,0x54,0x20,0x10,0x15,0x0E, + 0x13,0x0E,0x14,0x10,0x3C,0x54,0x6C,0x55,0x73,0xB0, + 0xB4,0xA3,0xDE,0xEF,0xEE,0xED,0xF0,0xE8,0xD4,0xF6, + 0xE7,0xF3,0xBB,0xB1,0x9D,0xA4,0x91,0x4E,0x43,0x1D, + 0x27,0x12,0x2E,0x17,0x19,0x14,0x1A,0x11,0x17,0x3C, + 0x5D,0xA3,0xCC,0xE8,0xF0,0xED,0xF0,0xEC,0xF0,0xEC, + 0xF0,0x99,0x78,0x5A,0x52,0x3B,0x4F,0x44,0x32,0x07, + 0x1A,0x0C,0x20,0x10,0x17,0x14,0x21,0x37,0x5C,0x84, + 0xA9,0x8A,0xA9,0xB6,0xC7,0xC2,0xE4,0xE9,0xC3,0xD2, + 0xA6,0xBD,0x9F,0x96,0xA1,0x8B,0x81,0x5D,0x52,0x35, + 0x2B,0x0F,0x11,0x23,0x20,0x20,0x29,0x38,0x3E,0x61, + 0x81,0x93,0x99,0xAD,0xC6,0xE1,0xEE,0xE7,0xE9,0xE3, + 0xD5,0xAC,0x97,0x7D,0x76,0x5C,0x5E,0x60,0x41,0x41, + 0x59,0x63,0x36,0x5B,0x2E,0x37,0x47,0x57,0x4D,0x67, + 0x7D,0xA8,0xB4,0xCF,0xE8,0xD5,0xCA,0xBC,0xBD,0xA8, + 0x97,0x95,0x94,0x9D,0xA0,0xB2,0xA6,0x9C,0x79,0x6E, + 0x55,0x43,0x32,0x34,0x37,0x32,0x3A,0x45,0x63,0x81, + 0x9B,0xB3,0xA9,0xAD,0x96,0x98,0x7A,0x80,0x77,0x95, + 0xAB,0xC2,0xDD,0xC5,0xC8,0xAD,0x95,0x6E,0x60,0x63, + 0x38,0x30,0x4B,0x37,0x35,0x54,0x52,0x60,0x68,0x6D, + 0x78,0x75,0x78,0x8A,0x8D,0xA0,0x8F,0x97,0xA0,0xAE, + 0x94,0xA1,0xAB,0xA3,0x98,0x95,0x91,0x82,0x69,0x74, + 0x6C,0x79,0x5B,0x5E,0x52,0x5D,0x5C,0x6B,0x65,0x7A, + 0x60,0x6E,0x7B,0x7B,0x6D,0x78,0x60,0x69,0x71,0x77, + 0x9A,0x96,0xA5,0xB1,0xA2,0xA4,0xAE,0xA5,0xA7,0x86, + 0x7B,0x70,0x70,0x67,0x55,0x5E,0x59,0x59,0x53,0x5D, + 0x57,0x62,0x6C,0x5E,0x6B,0x74,0x83,0x8F,0xA0,0xA5, + 0xB1,0xAD,0xB9,0xB2,0xAF,0xA7,0x96,0x91,0x8D,0x80, + 0x7E,0x80,0x73,0x6D,0x69,0x65,0x63,0x5E,0x68,0x6B, + 0x6C,0x6E,0x67,0x71,0x75,0x70,0x7D,0x72,0x7D,0x7B, + 0x71,0x8C,0x98,0x8D,0xA3,0xAC,0x9F,0xAA,0xB1,0xAA, + 0xA2,0x92,0x8C,0x80,0x77,0x6D,0x55,0x5C,0x61,0x50, + 0x4F,0x59,0x5E,0x5C,0x5E,0x73,0x72,0x7B,0x87,0x93, + 0x92,0xA4,0xA1,0xA1,0x95,0x93,0x8C,0x8A,0x87,0x89, + 0x82,0x92,0x8D,0x88,0x85,0x85,0x82,0x80,0x70,0x6C, + 0x6E,0x58,0x64,0x62,0x6A,0x74,0x77,0x80,0x74,0x86, + 0x7B,0x80,0x77,0x75,0x72,0x7E,0x86,0x80,0x95,0x8B, + 0x98,0xA1,0xAA,0x8E,0x8E,0x90,0x7D,0x83,0x71,0x74, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample24[230]={ + 0xA0,0x66,0xA6,0xAA,0xC8,0xC4,0xCC,0xD8,0xEC,0xEE, + 0xFF,0xFF,0xFF,0xFF,0xBE,0xAE,0x5A,0x62,0x26,0x10, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x26,0x3E,0x4E, + 0x7A,0xAE,0xB8,0xE4,0xCE,0xCE,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xCA,0xC0,0xAE,0x9A,0x4E,0x40,0x58, + 0x5A,0x60,0x50,0x5A,0x62,0xA6,0x64,0x78,0x44,0x62, + 0x9E,0xB8,0xB4,0xA4,0x80,0x64,0x62,0x50,0x46,0x4E, + 0x34,0x48,0x4C,0x5C,0x5C,0x5C,0x76,0x86,0x64,0x4C, + 0x52,0x3E,0x6A,0x8A,0xBA,0xD0,0xF6,0xFF,0xFF,0xFF, + 0xFF,0xEA,0xE0,0xB2,0xA4,0x86,0x92,0x9A,0x90,0x70, + 0x5A,0x44,0x4C,0x44,0x56,0x72,0x62,0x68,0x52,0x56, + 0x64,0x56,0x6E,0x3A,0x3C,0x40,0x64,0x54,0x66,0x5C, + 0x82,0xAC,0xA8,0xCA,0xC4,0xE2,0xC2,0xC0,0x94,0xB4, + 0x96,0xC8,0xBE,0xB0,0xC6,0xB2,0xD4,0xD2,0xCA,0xC2, + 0xA0,0x8E,0x7C,0x5E,0x42,0x2A,0x0C,0x00,0x00,0x00, + 0x00,0x1A,0x2E,0x34,0x52,0x72,0x7E,0x9A,0x8E,0xA2, + 0xB0,0xB2,0xBC,0xAE,0x96,0x6E,0x44,0x38,0x58,0x6E, + 0xAA,0xD6,0xFF,0xFA,0xF2,0xD4,0xD0,0xC0,0xC0,0xC8, + 0xBA,0x96,0x8E,0x70,0x70,0x82,0x90,0xAC,0xBE,0xB8, + 0xB4,0x92,0x82,0x80,0x72,0x6E,0x60,0x4C,0x42,0x22, + 0x1C,0x12,0x00,0x16,0x3E,0x54,0x86,0xA4,0xD0,0xDE, + 0xEA,0xD4,0xC8,0xAC,0xA6,0x9A,0xAC,0xAE,0xAC,0xAA, + 0x94,0x84,0x7E,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample25[120]={ + 0x84,0x6E,0x52,0xA4,0x62,0x78,0xEC,0x28,0x7A,0x68, + 0x5A,0x8E,0x68,0x30,0x3E,0x40,0x6E,0xA2,0x7A,0xAE, + 0xFC,0xAE,0xB0,0xA6,0x8A,0x94,0x54,0xA2,0x6E,0x56, + 0x64,0x7E,0x62,0x46,0x52,0x32,0x7C,0x50,0xA2,0x5E, + 0xB0,0x7A,0x86,0xB2,0x78,0x7C,0x84,0x9A,0x62,0x90, + 0x82,0xB0,0x9A,0x5E,0x72,0x24,0x62,0x68,0x22,0x68, + 0x46,0x8A,0x58,0xB8,0x9C,0xCC,0x94,0xCE,0x5C,0x5A, + 0x60,0x3A,0x80,0x5A,0x74,0x6A,0xA6,0x8E,0x80,0x9A, + 0x80,0x62,0x52,0x60,0x58,0x84,0x3C,0x74,0x4E,0x6E, + 0x9E,0x50,0x92,0x96,0x72,0x94,0x5A,0x78,0x6E,0x70, + 0x6A,0x92,0x66,0x86,0x6C,0x74,0x6E,0x64,0x8E,0x8C, + 0x90,0xAA,0x8C,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample26[271]={ + 0x56,0x78,0x70,0x70,0x66,0x6E,0x54,0x64,0x62,0x36, + 0x52,0x00,0xCE,0x28,0x1A,0xE6,0x00,0xF4,0x5E,0x90, + 0xD4,0x00,0xFF,0x00,0x3A,0x00,0x00,0x00,0x00,0x24, + 0xE6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xA2,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x0C,0x9C,0xEC,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xD0,0x30,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x3E,0xD4,0xC4,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xE6,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x0A,0x5A,0x00,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xF6,0xF0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x08,0x92,0xEE, + 0x36,0xFF,0xBE,0xFF,0xF6,0xFF,0xF8,0xFF,0xBC,0xD2, + 0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xCC,0x00,0xFF,0x60,0xB0,0xFF,0xE0,0xFF, + 0xA0,0xFF,0xBC,0xFF,0xFF,0x44,0xAA,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x7C, + 0x1E,0xF6,0x00,0xFF,0x44,0xF8,0xCA,0xFF,0xEC,0xFF, + 0xB8,0xFF,0xBC,0xB4,0xE2,0x00,0x66,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xD0,0x00, + 0xE6,0x00,0xFC,0x2C,0xF4,0x94,0x94,0xD6,0x7C,0xDE, + 0x62,0xFF,0x7A,0xFF,0xD2,0xFF,0x1C,0xFF,0x00,0xEE, + 0x00,0x42,0x00,0x1A,0x00,0x8A,0x00,0xE4,0x00,0xD8, + 0x42,0x7E,0x84,0x32,0xD2,0x1C,0xFF,0x14,0xFC,0x58, + 0xFF,0xCC,0xC4,0x92,0xC2,0x70,0xFF,0x44,0xC8,0x72, + 0xBA,0x50,0xC0,0x48,0x2A,0x7E,0x00,0x32,0x00,0x22, + 0x00,0x14,0x36,0x00,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,}; +static ymu8 sample27[293]={ + 0x80,0x80,0x9F,0x80,0x9F,0x9F,0x5F,0x80,0x80,0x9F, + 0xCA,0x80,0x80,0xDF,0xBE,0xBF,0x80,0x88,0xBF,0x3F, + 0xDE,0x20,0x80,0xC6,0x6F,0x02,0x5F,0x9E,0x3F,0x00, + 0x9F,0x07,0x3F,0x80,0xDF,0x14,0x9F,0xB7,0xFF,0x3F, + 0xFE,0xFF,0xFE,0xFF,0xFF,0xCF,0xFF,0xFF,0xBF,0x93, + 0xCF,0xD7,0x12,0x4F,0x93,0x3A,0x1F,0x04,0x00,0x00, + 0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x10,0x16,0x77,0x0A,0xFD,0x80,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xEF,0xDF,0xFA,0xC9,0x5A,0x5B,0x31,0x1F,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x1E,0x68,0xA6, + 0xAD,0xFF,0xF7,0xEE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xF8,0xE3,0xDD,0xE5,0xC8,0x86,0x86, + 0x6A,0x43,0x28,0x1D,0x15,0x00,0x09,0x1F,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x3E,0x00, + 0x0F,0x0A,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x04,0x00,0x14,0x23,0x22,0x4A,0x58,0x8D,0xA5,0xA6, + 0xC9,0xD0,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xF7,0xE6,0xB5,0xA4, + 0x65,0x3A,0x54,0x37,0x06,0x07,0x0D,0x00,0x0E,0x00, + 0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x05,0x00,0x04, + 0x1F,0x00,0x0F,0x2B,0x24,0x10,0x04,0x15,0x07,0x08, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E, + 0x25,0x3A,0x44,0x61,0x6C,0x91,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,}; +static ymu8 sample28[391]={ + 0x8B,0x8E,0x8F,0x8C,0x8D,0x8E,0x91,0x93,0x97,0xB0, + 0xDF,0xFF,0xFF,0xDE,0x00,0x3F,0x3F,0x97,0x80,0x00, + 0x00,0x08,0xBF,0xBF,0xBF,0xBF,0xBF,0x9E,0xA6,0xFF, + 0xE8,0xF3,0x1C,0x00,0x00,0x00,0x5E,0x15,0x00,0x00, + 0x1F,0xBE,0xFF,0x10,0x00,0x37,0x2F,0x00,0x1C,0x3F, + 0x5E,0x4F,0x80,0xFF,0xFF,0xFF,0xFF,0xF6,0xFF,0xE3, + 0xFF,0x80,0x5F,0x94,0xFF,0xFF,0xFF,0x7E,0x3F,0xDF, + 0x87,0x3A,0x00,0x00,0x2B,0x00,0x00,0x0E,0x9C,0xE7, + 0x9E,0xEF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0x00, + 0x14,0x18,0x3F,0x23,0x56,0x00,0x00,0x65,0x4B,0x60, + 0x2F,0x08,0x8E,0x2F,0xA7,0xD3,0xA3,0xFF,0xF7,0xEF, + 0xFF,0xFF,0xFF,0xC3,0x8B,0x28,0x5F,0x34,0x2F,0x10, + 0x00,0x00,0x00,0x1F,0x46,0xB3,0xE3,0xA7,0xCF,0xDE, + 0xE2,0xB6,0x9C,0x5D,0x53,0x77,0x84,0x47,0x56,0x7E, + 0xDA,0xF7,0xAC,0xDE,0x55,0x73,0x42,0x0F,0x3F,0x00, + 0x00,0x00,0x0C,0x00,0x8F,0x00,0xCB,0xD6,0xCF,0xFF, + 0xFF,0xE0,0xA6,0x75,0x9F,0x3F,0x00,0x16,0x36,0x66, + 0x18,0x3F,0x85,0xC7,0xEE,0x88,0x3E,0x80,0xB8,0x45, + 0x37,0x2F,0x2B,0x27,0x38,0x90,0xDB,0xE6,0xEE,0x8C, + 0xBF,0x6F,0x66,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F, + 0x54,0xBF,0xDE,0xFF,0xE5,0xFA,0xBE,0x93,0xCF,0x6B, + 0xAE,0x80,0xC7,0x86,0x97,0xD3,0xC7,0xC1,0xD7,0xAA, + 0x75,0x6F,0x6D,0x80,0x18,0x0A,0x0D,0x1F,0x6A,0x6F, + 0xE3,0xDF,0xE6,0xEE,0xF6,0xFB,0xEF,0xC4,0x56,0x89, + 0x3F,0x3F,0x38,0x77,0x6B,0x9F,0x4B,0x95,0x66,0x6A, + 0x96,0x72,0x87,0x57,0x73,0x60,0x67,0x8F,0x97,0xD6, + 0x97,0xD9,0xDB,0xE7,0x9E,0xBB,0x3F,0x68,0x17,0x24, + 0x16,0x1F,0x6F,0x27,0x3F,0x47,0x9F,0x82,0x7D,0x70, + 0x45,0x5F,0x5F,0x87,0x20,0x58,0x5F,0x33,0xA6,0xCC, + 0x6F,0xC1,0x80,0x79,0x9A,0x9A,0x71,0x33,0x3F,0x0C, + 0x16,0x29,0x2E,0x57,0x3B,0xCF,0xBB,0xDE,0xEE,0xF0, + 0xD9,0xB9,0x8B,0x27,0x8D,0x87,0x75,0x2E,0x6E,0x63, + 0x4A,0x6B,0x79,0xAE,0xAE,0x9F,0xBB,0xAB,0xAF,0xA6, + 0xAA,0x4D,0x28,0x5A,0x56,0x9E,0x9C,0x7B,0xA9,0xA9, + 0x4D,0x87,0x84,0x92,0x7D,0x9F,0x4B,0xA7,0x9F,0xB5, + 0x83,0xA5,0xBA,0xC9,0xE7,0xB1,0x9D,0x66,0x4D,0x6D, + 0x2F,0x52,0x77,0x5D,0x4F,0x5B,0x9C,0xBC,0xD5,0xCF, + 0x97,0xA2,0x91,0xA0,0x60,0x56,0x61,0x4B,0x51,0x88, + 0x8B,0x8C,0xC6,0xBF,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,}; +static ymu8 sample29[391]={ + 0x86,0x88,0x89,0x87,0x88,0x88,0x8A,0x8B,0x8E,0x9D, + 0xBB,0xCF,0xCF,0xBA,0x30,0x57,0x57,0x8E,0x80,0x30, + 0x30,0x35,0xA7,0xA7,0xA7,0xA7,0xA7,0x92,0x97,0xCF, + 0xC0,0xC7,0x41,0x30,0x30,0x30,0x6A,0x3D,0x30,0x30, + 0x43,0xA6,0xCF,0x3A,0x30,0x52,0x4D,0x30,0x41,0x57, + 0x6A,0x61,0x80,0xCF,0xCF,0xCF,0xCF,0xC9,0xCF,0xBD, + 0xCF,0x80,0x6B,0x8C,0xCF,0xCF,0xCF,0x7E,0x57,0xBB, + 0x84,0x54,0x30,0x30,0x4A,0x30,0x30,0x38,0x91,0xC0, + 0x92,0xC5,0xB1,0xCF,0xCF,0xCF,0xCF,0xCF,0xBB,0x30, + 0x3C,0x3F,0x57,0x45,0x65,0x30,0x30,0x6F,0x5E,0x6C, + 0x4D,0x35,0x88,0x4D,0x98,0xB3,0x95,0xCF,0xCA,0xC5, + 0xCF,0xCF,0xCF,0xA9,0x86,0x49,0x6B,0x50,0x4D,0x3A, + 0x30,0x30,0x30,0x43,0x5B,0x9F,0xBD,0x98,0xB1,0xBA, + 0xBD,0xA1,0x91,0x6A,0x63,0x7A,0x82,0x5C,0x65,0x7E, + 0xB8,0xCA,0x9B,0xBA,0x65,0x77,0x59,0x39,0x57,0x30, + 0x30,0x30,0x37,0x30,0x89,0x30,0xAE,0xB5,0xB1,0xCF, + 0xCF,0xBB,0x97,0x79,0x93,0x57,0x30,0x3D,0x51,0x6F, + 0x3F,0x57,0x83,0xAC,0xC4,0x84,0x56,0x80,0xA2,0x5B, + 0x52,0x4D,0x4A,0x48,0x53,0x89,0xB8,0xBF,0xC4,0x87, + 0xA7,0x75,0x6F,0x57,0x30,0x30,0x30,0x30,0x30,0x57, + 0x64,0xA7,0xBA,0xCF,0xBF,0xCC,0xA6,0x8B,0xB1,0x72, + 0x9C,0x80,0xAC,0x83,0x8E,0xB3,0xAC,0xA8,0xB6,0x9A, + 0x79,0x75,0x74,0x80,0x3F,0x36,0x38,0x43,0x72,0x75, + 0xBD,0xBB,0xBF,0xC4,0xC9,0xCC,0xC5,0xAA,0x65,0x85, + 0x57,0x57,0x53,0x7A,0x72,0x93,0x5E,0x8D,0x6F,0x72, + 0x8D,0x77,0x84,0x66,0x77,0x6C,0x70,0x89,0x8E,0xB5, + 0x8E,0xB7,0xB8,0xC0,0x92,0xA4,0x57,0x71,0x3E,0x46, + 0x3D,0x43,0x75,0x48,0x57,0x5C,0x93,0x81,0x7E,0x76, + 0x5B,0x6B,0x6B,0x84,0x44,0x67,0x6B,0x4F,0x97,0xAF, + 0x75,0xA8,0x80,0x7B,0x90,0x90,0x76,0x4F,0x57,0x37, + 0x3D,0x49,0x4C,0x66,0x54,0xB1,0xA4,0xBA,0xC4,0xC5, + 0xB7,0xA3,0x86,0x48,0x88,0x84,0x79,0x4C,0x74,0x6D, + 0x5E,0x72,0x7B,0x9C,0x9C,0x93,0xA4,0x9A,0x9D,0x97, + 0x9A,0x60,0x49,0x68,0x65,0x92,0x91,0x7C,0x99,0x99, + 0x60,0x84,0x82,0x8B,0x7E,0x93,0x5E,0x98,0x93,0xA1, + 0x81,0x97,0xA4,0xAD,0xC0,0x9E,0x92,0x6F,0x60,0x74, + 0x4D,0x63,0x7A,0x6A,0x61,0x68,0x91,0xA5,0xB5,0xB1, + 0x8E,0x95,0x8A,0x93,0x6C,0x65,0x6C,0x5E,0x62,0x84, + 0x86,0x87,0xAB,0xA7,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,}; +static ymu8 sample30[391]={ + 0x84,0x85,0x85,0x84,0x85,0x85,0x86,0x87,0x89,0x92, + 0xA5,0xB2,0xB2,0xA5,0x4D,0x66,0x66,0x89,0x80,0x4D, + 0x4D,0x50,0x98,0x98,0x98,0x98,0x98,0x8B,0x8F,0xB2, + 0xA9,0xAD,0x58,0x4D,0x4D,0x4D,0x72,0x55,0x4D,0x4D, + 0x59,0x98,0xB2,0x53,0x4D,0x63,0x5F,0x4D,0x58,0x66, + 0x72,0x6C,0x80,0xB2,0xB2,0xB2,0xB2,0xAE,0xB2,0xA7, + 0xB2,0x80,0x72,0x87,0xB2,0xB2,0xB2,0x80,0x66,0xA5, + 0x82,0x64,0x4D,0x4D,0x5E,0x4D,0x4D,0x52,0x8B,0xA8, + 0x8B,0xAB,0x9F,0xB2,0xB2,0xB2,0xB2,0xB2,0xA5,0x4D, + 0x55,0x56,0x66,0x5B,0x6F,0x4D,0x4D,0x75,0x6B,0x73, + 0x5F,0x50,0x85,0x5F,0x8F,0xA0,0x8D,0xB2,0xAF,0xAB, + 0xB2,0xB2,0xB2,0x9A,0x84,0x5D,0x72,0x61,0x5F,0x53, + 0x4D,0x4D,0x4D,0x59,0x69,0x94,0xA7,0x8F,0x9F,0xA5, + 0xA6,0x95,0x8B,0x72,0x6E,0x7C,0x81,0x69,0x6F,0x80, + 0xA3,0xAF,0x91,0xA5,0x6E,0x7A,0x67,0x53,0x66,0x4D, + 0x4D,0x4D,0x52,0x4D,0x85,0x4D,0x9D,0xA2,0x9F,0xB2, + 0xB2,0xA5,0x8F,0x7B,0x8C,0x66,0x4D,0x56,0x62,0x75, + 0x56,0x66,0x81,0x9C,0xAB,0x83,0x65,0x80,0x96,0x68, + 0x63,0x5F,0x5E,0x5C,0x63,0x86,0xA3,0xA8,0xAB,0x84, + 0x98,0x79,0x75,0x66,0x4D,0x4D,0x4D,0x4D,0x4D,0x66, + 0x6E,0x98,0xA5,0xB2,0xA7,0xB0,0x98,0x87,0x9F,0x77, + 0x92,0x80,0x9C,0x82,0x89,0xA0,0x9C,0x99,0xA2,0x90, + 0x7B,0x79,0x78,0x80,0x56,0x51,0x52,0x59,0x77,0x79, + 0xA7,0xA5,0xA8,0xAB,0xAE,0xB0,0xAB,0x9A,0x6F,0x83, + 0x66,0x66,0x63,0x7C,0x77,0x8C,0x6B,0x88,0x75,0x77, + 0x88,0x7A,0x82,0x6F,0x7A,0x73,0x76,0x85,0x89,0xA2, + 0x89,0xA3,0xA3,0xA8,0x8B,0x97,0x66,0x76,0x56,0x5B, + 0x56,0x59,0x79,0x5C,0x66,0x69,0x8C,0x80,0x7E,0x79, + 0x68,0x72,0x72,0x82,0x5A,0x70,0x72,0x61,0x8F,0x9E, + 0x79,0x99,0x80,0x7D,0x8A,0x8A,0x7A,0x61,0x66,0x52, + 0x56,0x5D,0x5F,0x6F,0x64,0x9F,0x97,0xA5,0xAB,0xAC, + 0xA3,0x96,0x84,0x5C,0x85,0x82,0x7B,0x5F,0x78,0x74, + 0x6A,0x77,0x7D,0x92,0x92,0x8C,0x97,0x91,0x92,0x8F, + 0x90,0x6B,0x5D,0x70,0x6F,0x8B,0x8B,0x7E,0x90,0x90, + 0x6B,0x82,0x81,0x87,0x7E,0x8C,0x6B,0x8F,0x8C,0x94, + 0x81,0x8E,0x96,0x9C,0xA8,0x93,0x8B,0x75,0x6B,0x78, + 0x5F,0x6D,0x7C,0x72,0x6C,0x71,0x8B,0x97,0xA1,0x9F, + 0x89,0x8D,0x86,0x8C,0x73,0x6F,0x73,0x6B,0x6D,0x83, + 0x84,0x84,0x9B,0x98,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,}; +static ymu8 sample31[407]={ + 0x72,0x7A,0x84,0x96,0xB0,0xBC,0xB4,0xA6,0x9A,0xBA, + 0x36,0xFF,0x76,0x00,0x00,0x4E,0xE4,0xFF,0xFF,0xFF, + 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, + 0xFF,0xFF,0xFF,0x4A,0x12,0x00,0x00,0x00,0x6C,0xE2, + 0x62,0xFF,0xFF,0xFF,0xAC,0x42,0xFF,0xBE,0x96,0x4E, + 0x48,0x00,0x00,0x00,0x00,0x00,0x32,0x62,0xC6,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00, + 0x1A,0x00,0x76,0x8A,0xAC,0x16,0x00,0x00,0x00,0x00, + 0x00,0x26,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xA4,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x76,0x90,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBA,0xFF,0xB4,0xB4, + 0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0xFF,0x8C,0x00, + 0x00,0x00,0x96,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6, + 0x5A,0x88,0x00,0x0E,0x58,0x6A,0x24,0x82,0x38,0xD8, + 0xFF,0xFF,0xCC,0x6A,0x02,0x00,0x00,0x00,0x00,0x92, + 0xFF,0xF2,0xF4,0x66,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x0A,0xD6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3C,0x66,0x26, + 0x00,0x00,0x00,0x04,0x1C,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8C, + 0x68,0x64,0x66,0xFF,0xE4,0xFF,0x7A,0x06,0x00,0x00, + 0x00,0x00,0x00,0x0E,0x50,0x80,0xC6,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xF6,0xFF,0xFF,0xFF,0x8C,0x44,0x4A, + 0x2A,0x00,0x00,0x32,0x00,0x4A,0xC2,0xBC,0xB0,0x2E, + 0x00,0x00,0x00,0x00,0x00,0xE6,0xFF,0xEA,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xC6,0x8A,0x38,0x00,0x00,0x00,0x08, + 0x16,0xB2,0xD8,0xFF,0xD2,0xFF,0x66,0xD4,0x44,0x70, + 0x64,0x9E,0xAC,0xEA,0xFA,0xF0,0xFF,0xF4,0x7A,0xC4, + 0x4C,0x6C,0x6C,0x68,0x1C,0x16,0x60,0x5E,0x38,0x2A, + 0x02,0x00,0x00,0x16,0x02,0x40,0x7C,0x4E,0x2A,0x86, + 0xB8,0x66,0x56,0x86,0x8C,0xBC,0x92,0xC6,0xEC,0xF4, + 0x9E,0x16,0x34,0x40,0x8E,0xAC,0xA6,0xD0,0xD2,0xB6, + 0xEC,0xFF,0xF6,0xFF,0xFF,0xFF,0xFF,0x74,0x96,0x46, + 0x6C,0x42,0x50,0x22,0x00,0x30,0x30,0x24,0x92,0x98, + 0x2E,0x66,0x7C,0x66,0x78,0x62,0x1C,0xA8,0x5A,0xD4, + 0xFF,0xFF,0xD0,0x4C,0x2E,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x5E,0x72,0xA4,0x8A,0xFF,0x96,0x88,0x40, + 0x40,0x2E,0x4C,0xB4,0xE0,0xFF,0xEA,0xFF,0xFE,0xD8, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample32[407]={ + 0x77,0x7C,0x82,0x8D,0x9D,0xA5,0xA0,0x97,0x90,0xA4, + 0x51,0xCF,0x79,0x30,0x30,0x60,0xBE,0xCF,0xCF,0xCF, + 0xCF,0x30,0x30,0x30,0x30,0x30,0x30,0xCF,0xCF,0xCF, + 0xCF,0xCF,0xCF,0x30,0x30,0x30,0x30,0x30,0x30,0xCF, + 0xCF,0xCF,0xCF,0x5E,0x3B,0x30,0x30,0x30,0x73,0xBD, + 0x6D,0xCF,0xCF,0xCF,0x9B,0x59,0xCF,0xA6,0x8D,0x60, + 0x5D,0x30,0x30,0x30,0x30,0x30,0x4F,0x6D,0xAB,0xCF, + 0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0x30,0x30,0x30,0x30, + 0x40,0x30,0x79,0x86,0x9B,0x3D,0x30,0x30,0x30,0x30, + 0x30,0x47,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF, + 0x96,0x64,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x79,0x89,0xCF,0xCF,0xCF, + 0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xA4,0xCF,0xA0,0xA0, + 0x30,0x30,0x30,0x30,0x30,0x30,0xB1,0xCF,0x87,0x30, + 0x30,0x30,0x8D,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xAB, + 0x68,0x84,0x30,0x38,0x67,0x72,0x46,0x81,0x53,0xB6, + 0xCF,0xCF,0xAF,0x72,0x31,0x30,0x30,0x30,0x30,0x8B, + 0xCF,0xC7,0xC8,0x6F,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x36,0xB5,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF, + 0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0x55,0x6F,0x47, + 0x30,0x30,0x30,0x32,0x41,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0x87, + 0x71,0x6E,0x6F,0xCF,0xBE,0xCF,0x7C,0x33,0x30,0x30, + 0x30,0x30,0x30,0x38,0x62,0x80,0xAB,0xCF,0xCF,0xCF, + 0xCF,0xCF,0xCF,0xC9,0xCF,0xCF,0xCF,0x87,0x5A,0x5E, + 0x4A,0x30,0x30,0x4F,0x30,0x5E,0xA9,0xA5,0x9D,0x4C, + 0x30,0x30,0x30,0x30,0x30,0xBF,0xCF,0xC2,0xCF,0xCF, + 0xCF,0xCF,0xCF,0xAB,0x86,0x53,0x30,0x30,0x30,0x35, + 0x3D,0x9F,0xB6,0xCF,0xB3,0xCF,0x6F,0xB4,0x5A,0x76, + 0x6E,0x92,0x9B,0xC2,0xCC,0xC5,0xCF,0xC8,0x7C,0xAA, + 0x5F,0x73,0x73,0x71,0x41,0x3D,0x6C,0x6A,0x53,0x4A, + 0x31,0x30,0x30,0x3D,0x31,0x58,0x7D,0x60,0x4A,0x83, + 0xA2,0x6F,0x65,0x83,0x87,0xA5,0x8B,0xAB,0xC3,0xC8, + 0x92,0x3D,0x50,0x58,0x88,0x9B,0x97,0xB1,0xB3,0xA1, + 0xC3,0xCF,0xC9,0xCF,0xCF,0xCF,0xCF,0x78,0x8D,0x5B, + 0x73,0x59,0x62,0x45,0x30,0x4E,0x4E,0x46,0x8B,0x8E, + 0x4C,0x6F,0x7D,0x6F,0x7B,0x6D,0x41,0x98,0x68,0xB4, + 0xCF,0xCF,0xB1,0x5F,0x4C,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x6A,0x77,0x96,0x86,0xCF,0x8D,0x84,0x58, + 0x58,0x4C,0x5F,0xA0,0xBB,0xCF,0xC2,0xCF,0xCE,0xB6, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample33[407]={ + 0x7B,0x7E,0x81,0x86,0x8F,0x92,0x90,0x8C,0x88,0x92, + 0x68,0xA8,0x7C,0x57,0x57,0x70,0x9F,0xA8,0xA8,0xA8, + 0xA8,0x57,0x57,0x57,0x57,0x57,0x57,0xA8,0xA8,0xA8, + 0xA8,0xA8,0xA8,0x57,0x57,0x57,0x57,0x57,0x57,0xA8, + 0xA8,0xA8,0xA8,0x6E,0x5D,0x57,0x57,0x57,0x79,0x9F, + 0x76,0xA8,0xA8,0xA8,0x8D,0x6C,0xA8,0x93,0x86,0x70, + 0x6E,0x57,0x57,0x57,0x57,0x57,0x67,0x76,0x96,0xA8, + 0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0x57,0x57,0x57,0x57, + 0x5F,0x57,0x7C,0x83,0x8D,0x5E,0x57,0x57,0x57,0x57, + 0x57,0x63,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8, + 0x8B,0x72,0x57,0x57,0x57,0x57,0x57,0x57,0x57,0x57, + 0x57,0x57,0x57,0x57,0x57,0x7C,0x85,0xA8,0xA8,0xA8, + 0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0x92,0xA8,0x90,0x90, + 0x57,0x57,0x57,0x57,0x57,0x57,0x99,0xA8,0x83,0x57, + 0x57,0x57,0x86,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0x96, + 0x73,0x82,0x57,0x5B,0x73,0x79,0x62,0x80,0x69,0x9B, + 0xA8,0xA8,0x98,0x79,0x58,0x57,0x57,0x57,0x57,0x85, + 0xA8,0xA4,0xA4,0x77,0x57,0x57,0x57,0x57,0x57,0x57, + 0x57,0x5A,0x9B,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8, + 0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0x6A,0x77,0x63, + 0x57,0x57,0x57,0x58,0x60,0x57,0x57,0x57,0x57,0x57, + 0x57,0x57,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0xA8,0x83, + 0x78,0x77,0x77,0xA8,0x9F,0xA8,0x7E,0x59,0x57,0x57, + 0x57,0x57,0x57,0x5B,0x70,0x80,0x96,0xA8,0xA8,0xA8, + 0xA8,0xA8,0xA8,0xA5,0xA8,0xA8,0xA8,0x83,0x6D,0x6E, + 0x64,0x57,0x57,0x67,0x57,0x6E,0x94,0x92,0x8F,0x66, + 0x57,0x57,0x57,0x57,0x57,0xA0,0xA8,0xA1,0xA8,0xA8, + 0xA8,0xA8,0xA8,0x96,0x83,0x69,0x57,0x57,0x57,0x5A, + 0x5E,0x8F,0x9B,0xA8,0x99,0xA8,0x77,0x9A,0x6D,0x7A, + 0x77,0x89,0x8D,0xA1,0xA6,0xA3,0xA8,0xA4,0x7E,0x95, + 0x6F,0x79,0x79,0x78,0x60,0x5E,0x75,0x75,0x69,0x64, + 0x58,0x57,0x57,0x5E,0x58,0x6B,0x7E,0x70,0x64,0x81, + 0x91,0x77,0x72,0x81,0x83,0x92,0x85,0x96,0xA2,0xA4, + 0x89,0x5E,0x67,0x6B,0x84,0x8D,0x8C,0x99,0x99,0x91, + 0xA2,0xA8,0xA5,0xA8,0xA8,0xA8,0xA8,0x7C,0x86,0x6D, + 0x79,0x6C,0x70,0x62,0x57,0x66,0x66,0x62,0x85,0x87, + 0x66,0x77,0x7E,0x77,0x7D,0x76,0x60,0x8C,0x73,0x9A, + 0xA8,0xA8,0x99,0x6F,0x66,0x57,0x57,0x57,0x57,0x57, + 0x57,0x57,0x75,0x7B,0x8B,0x83,0xA8,0x86,0x82,0x6B, + 0x6B,0x66,0x6F,0x90,0x9E,0xA8,0xA1,0xA8,0xA7,0x9B, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample34[317]={ + 0x80,0x80,0x86,0x8A,0x88,0x9C,0xD0,0x78,0xB6,0xBA, + 0xCA,0xBC,0xBA,0xEA,0x82,0xB8,0x8A,0xB2,0x70,0x82, + 0x7C,0x6A,0x3C,0x10,0x00,0x54,0x14,0x00,0xFF,0x00, + 0x7E,0x00,0x00,0x00,0x00,0x16,0x28,0x38,0x44,0x4E, + 0x58,0x60,0x66,0x00,0x00,0x00,0x00,0x00,0x2C,0x8A, + 0xE4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xE0,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x2A,0x38,0x4C,0x5C,0x6C,0x7E, + 0x8A,0x98,0x90,0x90,0xA6,0x9E,0xAA,0xBC,0x9A,0xC8, + 0xC4,0x8A,0x9E,0xCA,0xD8,0xDA,0xF8,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xE2,0xC4,0xA2,0x76,0x44,0x2E,0x08,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x4A,0x6E, + 0x94,0xBE,0xE8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFE,0xD8,0xB6,0x90,0x7A,0x5C,0x46,0x30,0x1E, + 0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x02,0x12,0x1E,0x2C,0x3C,0x44,0x52,0x66,0x6E,0x7A, + 0x7E,0x88,0x8C,0x90,0x8C,0x8E,0x8C,0x88,0x80,0x7A, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample35[407]={ + 0x7E,0x80,0x80,0x7C,0x74,0x74,0x7E,0x84,0x8A,0xA2, + 0x5A,0x3C,0x02,0x28,0xFF,0xFF,0xFF,0xF2,0x88,0x00, + 0x00,0x00,0x00,0x00,0x3C,0xEE,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0x34,0x26,0x00,0x02,0x5C,0xAC,0x8E,0x00, + 0x00,0x00,0x00,0x00,0x40,0x82,0xFC,0xE0,0xEE,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xE6,0xDE,0x92,0x56,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x5C,0x78, + 0xD6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0x8C,0x52,0x00,0x06,0x1E,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x06,0x66,0xB0,0xEE,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCA,0xBC,0xC0,0x38, + 0x46,0x7C,0x64,0x0C,0x00,0x38,0x0E,0x00,0x00,0x00, + 0x5A,0x48,0x8E,0xC0,0x62,0xC4,0xFF,0xFF,0xFF,0xB8, + 0x76,0xB8,0xCE,0xFF,0x94,0x40,0x7C,0x0E,0x4C,0x48, + 0x68,0x24,0x9A,0x3C,0x0C,0x00,0x20,0x58,0xFC,0x90, + 0x98,0xFF,0xBE,0xB2,0xBE,0xA2,0xBC,0x26,0x5E,0x7C, + 0xAE,0xEA,0xA8,0x78,0x66,0xB4,0x7E,0xC4,0xFF,0x00, + 0x00,0x3E,0x70,0x66,0x00,0x56,0xEA,0x00,0x9E,0xFF, + 0x3E,0x00,0x7C,0xFF,0x6C,0x28,0xFF,0xFF,0x7C,0x78, + 0xFF,0x96,0x04,0x9E,0xDC,0xFF,0x0E,0x00,0x54,0x14, + 0xA0,0xDC,0x50,0x84,0x82,0x00,0x00,0x70,0xC4,0x00, + 0x5E,0xF8,0x00,0x26,0xFF,0xEA,0xCA,0x84,0x9A,0x7E, + 0xFF,0xE2,0xC2,0x64,0xA6,0x32,0x0A,0xC2,0x22,0x3C, + 0x18,0xA6,0x62,0x10,0x02,0x7A,0x00,0x4C,0xD0,0x5A, + 0xFE,0xE0,0x80,0x5C,0x9C,0xFF,0xFF,0xB6,0x92,0x44, + 0x96,0x76,0x0E,0xB0,0x40,0xCC,0xA6,0x48,0x06,0x0E, + 0x90,0x00,0x00,0xC0,0xC6,0x82,0x4E,0xB4,0xFF,0x92, + 0xAC,0x60,0x62,0xA2,0x98,0xFF,0xB6,0xEE,0x68,0x54, + 0xA2,0x52,0x86,0x2A,0x92,0x4A,0x74,0x9A,0x68,0x0C, + 0xE0,0x8E,0x2A,0x5C,0x4C,0x38,0x40,0x88,0x52,0x94, + 0xBA,0xD2,0xBE,0xE8,0x56,0x16,0x42,0x80,0x54,0xFF, + 0xBA,0xAA,0xB6,0x64,0x74,0xD0,0xAE,0x66,0x68,0x8A, + 0x70,0x36,0x16,0x28,0x2A,0x82,0x88,0xAE,0x94,0x52, + 0x72,0x86,0x5A,0x94,0xB6,0xFF,0xA4,0x78,0xB8,0xD2, + 0x70,0x6E,0xE2,0x72,0xA4,0x7E,0x5A,0x42,0x3E,0x64, + 0x68,0x76,0x0A,0x4A,0x00,0x42,0x24,0x56,0x80,0x50, + 0x7E,0xB2,0xBC,0xB2,0xCE,0xD4,0xDE,0xCE,0xFF,0x7A, + 0xBE,0x9A,0x8C,0x8E,0x68,0x00,0x2A,0x36,0x3C,0x88, + 0xA6,0x7C,0x7C,0x7A,0x5C,0x96,0x5C,0x08,0x8A,0x7A, + 0x88,0xB2,0xF4,0xCC,0x6C,0xF0,0xC2,0x9C,0xDC,0x9A, + 0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample36[311]={ + 0x82,0xA0,0x78,0x88,0xA6,0xAC,0x72,0xBC,0x2C,0xC4, + 0x52,0x86,0xA4,0x28,0xFF,0x00,0xFF,0x2A,0x7A,0xFF, + 0x00,0xFF,0x64,0x3A,0x8C,0x38,0xB6,0x26,0xFF,0x00, + 0xFF,0x00,0xCE,0x44,0x5C,0x6A,0x50,0x6E,0x20,0x58, + 0x86,0x66,0x00,0xBA,0x10,0xB8,0x5E,0x26,0xDA,0x32, + 0xFA,0xB6,0xFF,0xD8,0xFF,0xE2,0xFF,0xDC,0xFF,0xF0, + 0xFF,0xDE,0xC8,0xFF,0xB4,0x8E,0x96,0x68,0xA2,0x1A, + 0xB6,0x00,0x72,0x24,0x36,0x04,0x28,0x08,0x0E,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x0E,0x0A,0x1E,0x40,0x5C,0x6E,0x6C,0x70, + 0xB0,0x7E,0xD6,0xE0,0xFF,0xFF,0xF8,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF4,0xE0,0xA2, + 0xD4,0x64,0xB8,0x60,0x18,0x3E,0x22,0x00,0x18,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x1A,0x24,0x34, + 0x48,0x40,0x7A,0x60,0xA8,0x98,0xCE,0xDA,0xD0,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, + 0xB4,0xB2,0x92,0x8A,0x62,0x50,0x42,0x1C,0x16,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x12,0x18,0x34,0x3E,0x58,0x7A,0x88,0x94,0xC4, + 0xD2,0xF2,0xF2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEC,0xE0,0xCE,0xC8, + 0xA6,0xAA,0x74,0x90,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,}; +static ymu8 sample37[459]={ + 0x81,0x82,0x85,0x85,0x81,0x7E,0x7A,0x77,0x30,0x00, + 0x4B,0x94,0xEF,0xDF,0xC2,0xFF,0x00,0xFF,0xFF,0xFF, + 0xFF,0x00,0x6D,0x0F,0x17,0x00,0x10,0x00,0x00,0x00, + 0x00,0x30,0x08,0x00,0x84,0x6F,0xE9,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAF,0x04, + 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x1F,0x00,0x00,0xFF,0xE6,0xEF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD4, + 0x5E,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x13,0x30,0x86,0xCF,0xEE,0xFF,0xEE, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xF5,0xC3,0x71,0x48,0x21,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x3A,0x78, + 0xAD,0xF5,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xCF,0xF7,0xBE,0x98,0x1A,0x47,0x07,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C, + 0xB0,0xAB,0xC7,0xFA,0xF9,0xFF,0xF9,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xE6,0xFF,0xE3,0xCE,0xA2,0xAD,0x1A, + 0x41,0x16,0x00,0x04,0x04,0x22,0x00,0x00,0x00,0x00, + 0x04,0x25,0x75,0x4B,0x87,0xCB,0xEB,0xFF,0xF7,0xFF, + 0xFF,0xE8,0x8E,0xFA,0xFF,0xE3,0xFE,0x44,0x86,0xEF, + 0x75,0x21,0x59,0xC8,0x3B,0x07,0x32,0x37,0xB0,0x18, + 0x05,0xCE,0x4A,0x18,0x13,0x50,0x73,0x95,0x07,0x9D, + 0xC6,0xE5,0xC8,0xEE,0xCE,0xB0,0x8D,0x85,0xB5,0xA0, + 0x9A,0x86,0xEF,0xA5,0x8A,0xA9,0x83,0xF6,0x8B,0x60, + 0x80,0x16,0x02,0x8E,0x33,0x07,0x77,0x92,0x4C,0x08, + 0x98,0x70,0x70,0x55,0x4B,0xBE,0x78,0x2F,0xB9,0x56, + 0xBB,0x66,0xA5,0x83,0xBB,0xA8,0xD7,0x5E,0xE7,0x89, + 0xBD,0xEA,0xB7,0xB7,0xB4,0x57,0x82,0x83,0x68,0x7A, + 0xA4,0x61,0x4E,0x2A,0x3E,0x22,0x6E,0x46,0x1E,0x7B, + 0x23,0x88,0x91,0x75,0xA1,0xCF,0x80,0xC3,0x60,0x8C, + 0xB3,0x88,0xD3,0xB1,0x75,0xA5,0xD7,0xDD,0xD2,0x78, + 0x4C,0x62,0x74,0x34,0x86,0xC6,0x7B,0x58,0x03,0x5B, + 0x93,0x29,0x5B,0x4F,0x3C,0xA6,0x6A,0x56,0x8D,0x9E, + 0x5F,0x6B,0xCB,0x6C,0x5C,0xC9,0x8C,0x87,0x95,0x5D, + 0x9C,0xE2,0xDA,0x79,0xA9,0x87,0x96,0x99,0x8B,0x60, + 0xA6,0xA3,0x8C,0xB2,0x60,0x92,0x63,0x94,0x0F,0x7D, + 0x32,0x3F,0x6D,0x3A,0x66,0x5E,0x81,0x85,0x8E,0x77, + 0x53,0x7B,0xD5,0xA9,0xC3,0x9F,0x97,0xBC,0x9C,0xAA, + 0xA5,0x6F,0xB0,0xB6,0x96,0x51,0x46,0x76,0x76,0x4C, + 0x44,0x3D,0x70,0x3B,0x4C,0x3C,0x42,0x51,0x91,0x9B, + 0x65,0xBA,0x99,0x96,0x69,0x6F,0x9C,0xA0,0xA6,0xCA, + 0x80,0x9B,0x93,0xC1,0x8F,0x8A,0xAD,0x70,0x73,0x95, + 0x47,0xA2,0xAB,0x54,0x8D,0x4F,0x7A,0x7D,0x6D,0x87, + 0x48,0x80,0x69,0x69,0x5F,0x7C,0x5E,0x72,0x5C,0x8E, + 0x59,0x93,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample38[329]={ + 0xAE,0xAC,0x84,0x7A,0x52,0x5C,0x5C,0x24,0xFF,0xFF, + 0x8E,0x00,0x00,0x76,0xFF,0xFF,0xFF,0xFF,0xDE,0x5A, + 0x00,0x00,0x7A,0xCC,0xFF,0xFF,0x00,0x3A,0x00,0x00, + 0x00,0x02,0x70,0xFF,0xDA,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xB6,0x14,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xC8,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC, + 0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x34,0xF4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0xA0,0x5C, + 0x52,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x8A,0xBC, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBC,0x46,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x02,0x3E,0xDE,0xF8,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF6,0xFA,0xD2, + 0xEE,0xDC,0xBC,0xA2,0xA0,0xE2,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xCC,0x90,0x50,0x12, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x26,0x56,0x66,0x6C,0x70,0x74,0x90, + 0xB6,0xE6,0xFF,0xFF,0xFF,0xFC,0xE6,0xCC,0xB4,0xB8, + 0xB4,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xE6,0xA6,0x64,0x42,0x2E, + 0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x1E,0x4C, + 0x4A,0x68,0x84,0x96,0x9E,0xC4,0xE2,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xE4,0xD4,0xB2,0x88,0x74, + 0x4E,0x42,0x2E,0x1E,0x22,0x1C,0x32,0x30,0x28,0x1E, + 0x20,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x32, + 0x6E,0x88,0x80,0x80,0x80,0x80,0x80,0x80,0x80,}; +static ymu8 sample39[656]={ + 0x8A,0x42,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x3C, + 0x7A,0xC0,0xDC,0xCE,0xFF,0xFF,0xBC,0xFF,0xFF,0xF4, + 0xFF,0xFF,0xE4,0xC8,0x6E,0x28,0x44,0x00,0x08,0x00, + 0x00,0x00,0x00,0x00,0x60,0x64,0x22,0x8E,0xFF,0xE8, + 0xBA,0xB0,0xFA,0xFF,0xFF,0xFF,0xFF,0xFF,0xEC,0xB6, + 0x84,0x5C,0x60,0x26,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x9A,0x02,0x44,0x34,0x98,0x3E,0x5A,0xFF, + 0xF0,0xFF,0xFF,0xFF,0xFF,0x9A,0x46,0x2A,0x00,0x00, + 0x00,0x00,0x4C,0x3E,0xC2,0x66,0x00,0x00,0x1E,0x7A, + 0xF4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xE4,0x54,0x32,0x4E,0x0A,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x22,0x60,0x34,0x82,0x8E,0xCE, + 0xE4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0x78, + 0x00,0x00,0x58,0x36,0x32,0x10,0x00,0x20,0x00,0x00, + 0x0E,0x00,0x22,0xA4,0xB2,0xFF,0xCC,0xF4,0xB0,0xEA, + 0x74,0xCE,0xA6,0xCE,0x78,0x34,0x00,0x1A,0x24,0x00, + 0x00,0x00,0xF2,0x50,0x60,0x1E,0x72,0x8C,0x84,0x4E, + 0xEC,0xCE,0xFF,0xFF,0xFF,0xFF,0xF8,0x74,0xA2,0xE6, + 0xC2,0x16,0x10,0x9A,0x9E,0x2A,0x96,0x70,0x06,0x0E, + 0x00,0x00,0x00,0x00,0x00,0x22,0x00,0x00,0x72,0x9E, + 0x94,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD6, + 0x86,0x14,0x68,0x12,0x00,0x40,0x4E,0x00,0x00,0x96, + 0x00,0x22,0x4E,0x4A,0x90,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0x56,0xAA,0xE2,0x9A,0x32,0xDC,0x00,0x60,0xA8, + 0x2A,0x00,0x76,0x00,0x64,0x80,0x74,0x00,0x82,0x28, + 0x98,0x46,0xAC,0x70,0xAA,0xD8,0xF2,0xA8,0x8E,0x8C, + 0x82,0xC2,0x44,0xC0,0x8E,0x6E,0xBC,0x26,0xE0,0x4C, + 0x5C,0x6E,0x26,0x46,0x00,0x32,0x00,0x9A,0x68,0x38, + 0xD8,0x5C,0xDC,0xCA,0xD8,0xF8,0x9C,0xFE,0xFF,0xEE, + 0xFF,0xBE,0xC8,0x34,0x6E,0x26,0x00,0x04,0x00,0x7A, + 0x0A,0x78,0x10,0x5C,0x44,0x88,0xB2,0x90,0xFF,0xDE, + 0xFF,0xFF,0xFF,0xEA,0xC6,0xC4,0xB4,0x76,0x50,0x08, + 0x6E,0x5E,0x44,0x9A,0x54,0x3C,0x8E,0x2C,0x5C,0x52, + 0x44,0x1C,0xA0,0x7E,0xFF,0xD8,0xC8,0xFF,0xF6,0x9E, + 0xA4,0x88,0xC8,0x62,0xBA,0x26,0x42,0x00,0x48,0x2C, + 0x6C,0x24,0x92,0x36,0x44,0x92,0xF2,0x80,0x84,0xA6, + 0xD8,0x88,0xD8,0x90,0xA0,0xC0,0xAC,0xEC,0x8A,0xB4, + 0xC8,0xA6,0x5C,0x88,0x4A,0x4E,0x6A,0x76,0x6C,0xCA, + 0x30,0x3C,0x7E,0x2E,0x50,0x00,0x7C,0x66,0x5E,0x9A, + 0x9C,0xFF,0xD2,0xFF,0xDE,0x9E,0xDE,0x80,0xEE,0xB8, + 0x64,0x46,0x8A,0x0A,0x22,0x58,0x48,0x58,0x2A,0x72, + 0x3E,0xA8,0x54,0x46,0xD6,0x5C,0xFC,0xA8,0xC8,0xE0, + 0xC0,0xA6,0x5C,0x80,0x24,0x34,0x7E,0x4C,0x9A,0x62, + 0x64,0x68,0x94,0x62,0x42,0x72,0xCE,0x72,0xB0,0xAC, + 0xB8,0x9A,0x8E,0x80,0x30,0x24,0x1E,0x70,0x14,0x50, + 0x86,0x64,0xA2,0xB2,0xBC,0xBE,0xDA,0xCE,0xDC,0xFA, + 0xB4,0x7A,0x92,0x38,0x58,0x0E,0x5E,0x56,0x56,0x54, + 0x34,0x80,0x54,0x78,0x46,0x38,0xA2,0x94,0x90,0xB0, + 0xB8,0xAE,0xEA,0x90,0x78,0x92,0x96,0x58,0x8C,0x4A, + 0x56,0x50,0x40,0x66,0x68,0x66,0x80,0x72,0x62,0x64, + 0x9C,0x58,0x6E,0x62,0xE2,0x72,0xD0,0xC4,0x7E,0xAE, + 0x64,0x8A,0x5C,0x52,0x66,0x5A,0x90,0x6E,0x70,0xA4, + 0xFF,0x6C,0xBA,0x74,0xE0,0x56,0x7A,0xAE,0x4A,0x70, + 0x80,0x80,0x9A,0x86,0x5E,0xAC,0x90,0xA0,0xA8,0x74, + 0x9C,0xB0,0x7A,0xA4,0x66,0x7A,0xB6,0x6A,0x5E,0x7E, + 0x74,0x52,0x72,0x58,0x5E,0x5C,0xA2,0x68,0x88,0x96, + 0xBE,0xD2,0xAA,0xB2,0x6A,0x66,0x6C,0x6E,0x56,0x68, + 0x70,0x52,0x48,0x70,0x7A,0x32,0x82,0x9A,0x62,0x56, + 0xAC,0x84,0xAA,0x92,0xE0,0xE2,0xCC,0xC2,0xAA,0x72, + 0x74,0x6C,0x4C,0x46,0x54,0x68,0x42,0x6E,0x5E,0x74, + 0x8E,0x6E,0x98,0xC4,0x76,0x98,0xBE,0x92,0xAA,0xA8, + 0xB2,0x9C,0xA4,0x82,0xC0,0x88,0x6E,0x52,0x70,0x2E, + 0x28,0x54,0x4E,0x5A,0xAC,0x62,0x8C,0xC0,0x7E,0x74, + 0x92,0x8A,0xB2,0xA4,0x8A,0x7A,0x9E,0x62,0x7E,0x92, + 0x74,0xA8,0x7A,0x8A,0x94,0x50,0x9C,0x90,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0x80,}; +/***********************************************************/ + +ymu8 *sampleAdress[MAX_DIGIDRUM] = { + sample00,sample01,sample02,sample03,sample04,sample05,sample06,sample07, + sample08,sample09,sample10,sample11,sample12,sample13,sample14,sample15, + sample16,sample17,sample18,sample19,sample20,sample21,sample22,sample23, + sample24,sample25,sample26,sample27,sample28,sample29,sample30,sample31, + sample32,sample33,sample34,sample35,sample36,sample37,sample38,sample39,}; + +/***********************************************************/ + +ymu32 sampleLen[MAX_DIGIDRUM] = { + 631, 631, 490, 490, 699, 505, 727, 480, + 2108, 4231, 378, 1527, 258, 258, 451, 1795, + 271, 633, 1379, 147, 139, 85, 150, 507, + 230, 120, 271, 293, 391, 391, 391, 407, + 407, 407, 317, 407, 311, 459, 329, 656,}; + +/*********************** END OF FILE ***********************/ diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/digidrum.h 16-STYMulator-0.21a_restructure_layout/stsoundlib/digidrum.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/digidrum.h 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/stsoundlib/digidrum.h 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,41 @@ +/*----------------------------------------------------------------------------- + + ST-Sound ( YM files player library ) + + Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) + + Sample datas of some common YM music. ( YM2 format ) + YM3 or greater uses sample data inside the music file. + +-----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + + This file is part of ST-Sound + + ST-Sound is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + ST-Sound is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ST-Sound; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +-----------------------------------------------------------------------------*/ + +#ifndef __DIGIDRUM__ +#define __DIGIDRUM__ + +#define MAX_DIGIDRUM 40 + +extern ymu8 * sampleAdress[]; +extern ymu32 sampleLen[]; + +#endif + diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/Makefile 16-STYMulator-0.21a_restructure_layout/stsoundlib/Makefile --- 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/stsoundlib/Makefile 2010-04-25 12:38:26.673612067 +0200 @@ -0,0 +1,29 @@ +TOPDIR=.. +include $(TOPDIR)/Rules.make + +LIB = digidrum.o Ymload.o Ym2149Ex.o YmMusic.o YmUserInterface.o + +all: libym.a + +libym.a: $(LIB) + $(AR) libym.a $(LIB) + +digidrum.o: digidrum.cpp YmTypes.h $(TOPDIR)/config.h + $(CXX) $(CXXFLAGS) -c digidrum.cpp + +Ym2149Ex.o: Ym2149Ex.cpp Ym2149Ex.h YmTypes.h $(TOPDIR)/config.h + $(CXX) $(CXXFLAGS) -c Ym2149Ex.cpp + +Ymload.o: Ymload.cpp YmMusic.h $(TOPDIR)/lzh/lzh.h $(TOPDIR)/config.h + $(CXX) $(CXXFLAGS) -c Ymload.cpp + +YmMusic.o: YmMusic.cpp YmMusic.h $(TOPDIR)/config.h + $(CXX) $(CXXFLAGS) -c YmMusic.cpp + +YmUserInterface.o: YmUserInterface.cpp StSoundLibrary.h YmMusic.h $(TOPDIR)/config.h + $(CXX) $(CXXFLAGS) -c YmUserInterface.cpp + +clean: + $(RM) *~ *.o *.a + +dist: diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/StSoundLibrary.h 16-STYMulator-0.21a_restructure_layout/stsoundlib/StSoundLibrary.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/StSoundLibrary.h 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/stsoundlib/StSoundLibrary.h 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,74 @@ +/*----------------------------------------------------------------------------- + + ST-Sound ( YM files player library ) + + Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) + + Main header to use the StSound "C" like API in your production. + +-----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + + This file is part of ST-Sound + + ST-Sound is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + ST-Sound is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ST-Sound; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +-----------------------------------------------------------------------------*/ + + +#ifndef __STSOUNDLIBRARY__ +#define __STSOUNDLIBRARY__ + +#include "YmTypes.h" + +typedef void YMMUSIC; + +typedef struct +{ + ymchar * pSongName; + ymchar * pSongAuthor; + ymchar * pSongComment; + ymchar * pSongType; + ymchar * pSongPlayer; + yms32 musicTimeInSec; // keep for compatibility + yms32 musicTimeInMs; +} ymMusicInfo_t; + +// Create object +extern YMMUSIC * ymMusicCreate(); + +// Release object +extern void ymMusicDestroy(YMMUSIC *pMusic); + +// Functions +extern ymbool ymMusicLoad(YMMUSIC *pMusic,const char *fName); // Method 1 : Load file using stdio library (fopen/fread, etc..) +extern ymbool ymMusicLoadMemory(YMMUSIC *pMusic,void *pBlock,ymu32 size); // Method 2 : Load file from a memory block + +extern ymbool ymMusicCompute(YMMUSIC *pMusic,ymsample *pBuffer,ymint nbSample); // Render nbSample samples of current YM tune into pBuffer PCM 16bits mono sample buffer. + +extern void ymMusicSetLoopMode(YMMUSIC *pMusic,ymbool bLoop); +extern const char * ymMusicGetLastError(YMMUSIC *pMusic); +extern int ymMusicGetRegister(YMMUSIC *pMusic,ymint reg); +extern void ymMusicGetInfo(YMMUSIC *pMusic,ymMusicInfo_t *pInfo); +extern void ymMusicPlay(YMMUSIC *pMusic); +extern void ymMusicPause(YMMUSIC *pMusic); +extern void ymMusicStop(YMMUSIC *pMusic); + +extern ymbool ymMusicIsSeekable(YMMUSIC *pMusic); +extern ymu32 ymMusicGetPos(YMMUSIC *pMusic); +extern void ymMusicSeek(YMMUSIC *pMusic,ymu32 timeInMs); + +#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/Ym2149Ex.cpp 16-STYMulator-0.21a_restructure_layout/stsoundlib/Ym2149Ex.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/Ym2149Ex.cpp 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/stsoundlib/Ym2149Ex.cpp 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,567 @@ +/*----------------------------------------------------------------------------- + + ST-Sound ( YM files player library ) + + Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) + + Extended YM-2149 Emulator, with ATARI music demos effects. + (SID-Like, Digidrum, Sync Buzzer, Sinus SID and Pattern SID) + +-----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + + This file is part of ST-Sound + + ST-Sound is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + ST-Sound is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ST-Sound; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +-----------------------------------------------------------------------------*/ + +#include "config.h" +#include "YmTypes.h" +#include +#include +#include +#include +#include "Ym2149Ex.h" + +//------------------------------------------------------------------- +// env shapes. +//------------------------------------------------------------------- +static const ymint Env00xx[8]={ 1,0,0,0,0,0,0,0 }; +static const ymint Env01xx[8]={ 0,1,0,0,0,0,0,0 }; +static const ymint Env1000[8]={ 1,0,1,0,1,0,1,0 }; +static const ymint Env1001[8]={ 1,0,0,0,0,0,0,0 }; +static const ymint Env1010[8]={ 1,0,0,1,1,0,0,1 }; +static const ymint Env1011[8]={ 1,0,1,1,1,1,1,1 }; +static const ymint Env1100[8]={ 0,1,0,1,0,1,0,1 }; +static const ymint Env1101[8]={ 0,1,1,1,1,1,1,1 }; +static const ymint Env1110[8]={ 0,1,1,0,0,1,1,0 }; +static const ymint Env1111[8]={ 0,1,0,0,0,0,0,0 }; +static const ymint * EnvWave[16] = { Env00xx,Env00xx,Env00xx,Env00xx, + Env01xx,Env01xx,Env01xx,Env01xx, + Env1000,Env1001,Env1010,Env1011, + Env1100,Env1101,Env1110,Env1111}; + +static ymint ymVolumeTable[16] = +{ 62,161,265,377,580,774,1155,1575,2260,3088,4570,6233,9330,13187,21220,32767}; + + +//---------------------------------------------------------------------- +// Very cool and fast DC Adjuster ! This is the *new* stuff of that +// package coz I get that idea working on SainT in 2004 ! +// ( almost everything here is from 1995 !) +//---------------------------------------------------------------------- +CDcAdjuster::CDcAdjuster() +{ + Reset(); +} + +void CDcAdjuster::Reset(void) +{ + for (ymint i=0;i>2)&1); + rndRack = (rndRack>>1) | (rBit<<16); + return (rBit ? 0 : 0xffff); +} + +ymu32 CYm2149Ex::envStepCompute(ymu8 rHigh,ymu8 rLow) +{ + + + ymint per = rHigh; + per = (per<<8)+rLow; + if (per<3) + return 0; + +#ifdef YM_INTEGER_ONLY + yms64 step = internalClock; + step <<= (16+16-9); + step /= (per * replayFrequency); +#else + ymfloat step = internalClock; + step /= ((ymfloat)per*512.0*(ymfloat)replayFrequency); + step *= 65536.0*65536.0; +#endif + + return (ymu32)step; +} + + +void CYm2149Ex::reset(void) +{ + + for (int i=0;i<14;i++) + writeRegister(i,0); + + writeRegister(7,0xff); + + currentNoise = 0xffff; + rndRack = 1; + sidStop(0); + sidStop(1); + sidStop(2); + + envShape = 0; + envPhase = 0; + envPos = 0; + + m_dcAdjust.Reset(); + + memset(specialEffect,0,sizeof(specialEffect)); + + syncBuzzerStop(); + + m_lowPassFilter[0] = 0; + m_lowPassFilter[1] = 0; + +} + + +void CYm2149Ex::sidVolumeCompute(ymint voice,ymint *pVol) +{ + + struct YmSpecialEffect *pVoice = specialEffect+voice; + + if (pVoice->bSid) + { + if (pVoice->sidPos & (1<<31)) + writeRegister(8+voice,pVoice->sidVol); + else + writeRegister(8+voice,0); + } + else if (pVoice->bDrum) + { +// writeRegister(8+voice,pVoice->drumData[pVoice->drumPos>>DRUM_PREC]>>4); + + *pVol = (pVoice->drumData[pVoice->drumPos>>DRUM_PREC] * 255) / 6; + + switch (voice) + { + case 0: + pVolA = &volA; + mixerTA = 0xffff; + mixerNA = 0xffff; + break; + case 1: + pVolB = &volB; + mixerTB = 0xffff; + mixerNB = 0xffff; + break; + case 2: + pVolC = &volC; + mixerTC = 0xffff; + mixerNC = 0xffff; + break; + } + + pVoice->drumPos += pVoice->drumStep; + if ((pVoice->drumPos>>DRUM_PREC) >= pVoice->drumSize) + { + pVoice->bDrum = YMFALSE; + } + + } +} + +int CYm2149Ex::LowPassFilter(int in) +{ + const int out = (m_lowPassFilter[0]>>2) + (m_lowPassFilter[1]>>1) + (in>>2); + m_lowPassFilter[0] = m_lowPassFilter[1]; + m_lowPassFilter[1] = in; + return out; +} + +ymsample CYm2149Ex::nextSample(void) +{ +ymint vol; +ymint bt,bn; + + if (noisePos&0xffff0000) + { + currentNoise ^= rndCompute(); + noisePos &= 0xffff; + } + bn = currentNoise; + + volE = ymVolumeTable[envData[envShape][envPhase][envPos>>(32-5)]]; + + sidVolumeCompute(0,&volA); + sidVolumeCompute(1,&volB); + sidVolumeCompute(2,&volC); + + //--------------------------------------------------- + // Tone+noise+env+DAC for three voices ! + //--------------------------------------------------- + bt = ((((yms32)posA)>>31) | mixerTA) & (bn | mixerNA); + vol = (*pVolA)&bt; + bt = ((((yms32)posB)>>31) | mixerTB) & (bn | mixerNB); + vol += (*pVolB)&bt; + bt = ((((yms32)posC)>>31) | mixerTC) & (bn | mixerNC); + vol += (*pVolC)&bt; + + //--------------------------------------------------- + // Inc + //--------------------------------------------------- + posA += stepA; + posB += stepB; + posC += stepC; + noisePos += noiseStep; + envPos += envStep; + if (0 == envPhase) + { + if (envPos=0) && (reg<=13)) return registers[reg]; + else return -1; +} + +void CYm2149Ex::writeRegister(ymint reg,ymint data) +{ + + switch (reg) + { + case 0: + registers[0] = data&255; + stepA = toneStepCompute(registers[1],registers[0]); + if (!stepA) posA = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) + break; + + case 2: + registers[2] = data&255; + stepB = toneStepCompute(registers[3],registers[2]); + if (!stepB) posB = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) + break; + + case 4: + registers[4] = data&255; + stepC = toneStepCompute(registers[5],registers[4]); + if (!stepC) posC = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) + break; + + case 1: + registers[1] = data&15; + stepA = toneStepCompute(registers[1],registers[0]); + if (!stepA) posA = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) + break; + + case 3: + registers[3] = data&15; + stepB = toneStepCompute(registers[3],registers[2]); + if (!stepB) posB = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) + break; + + case 5: + registers[5] = data&15; + stepC = toneStepCompute(registers[5],registers[4]); + if (!stepC) posC = (1<<31); // Assume output always 1 if 0 period (for Digi-sample !) + break; + + case 6: + registers[6] = data&0x1f; + noiseStep = noiseStepCompute(registers[6]); + if (!noiseStep) + { + noisePos = 0; + currentNoise = 0xffff; + } + break; + + case 7: + registers[7] = data&255; + mixerTA = (data&(1<<0)) ? 0xffff : 0; + mixerTB = (data&(1<<1)) ? 0xffff : 0; + mixerTC = (data&(1<<2)) ? 0xffff : 0; + mixerNA = (data&(1<<3)) ? 0xffff : 0; + mixerNB = (data&(1<<4)) ? 0xffff : 0; + mixerNC = (data&(1<<5)) ? 0xffff : 0; + break; + + case 8: + registers[8] = data&31; + volA = ymVolumeTable[data&15]; + if (data&0x10) + pVolA = &volE; + else + pVolA = &volA; + break; + + case 9: + registers[9] = data&31; + volB = ymVolumeTable[data&15]; + if (data&0x10) + pVolB = &volE; + else + pVolB = &volB; + break; + + case 10: + registers[10] = data&31; + volC = ymVolumeTable[data&15]; + if (data&0x10) + pVolC = &volE; + else + pVolC = &volC; + break; + + case 11: + registers[11] = data&255; + envStep = envStepCompute(registers[12],registers[11]); + break; + + case 12: + registers[12] = data&255; + envStep = envStepCompute(registers[12],registers[11]); + break; + + case 13: + registers[13] = data&0xf; + envPos = 0; + envPhase = 0; + envShape = data&0xf; + break; + + } +} + +void CYm2149Ex::update(ymsample *pSampleBuffer,ymint nbSample) +{ + + ymsample *pBuffer = pSampleBuffer; + if (nbSample>0) + { + do + { + *pBuffer++ = nextSample(); + } + while (--nbSample); + } + +} + +void CYm2149Ex::drumStart(ymint voice,ymu8 *pDrumBuffer,ymu32 drumSize,ymint drumFreq) +{ + specialEffect[voice].drumData = pDrumBuffer; + specialEffect[voice].drumPos = 0; + specialEffect[voice].drumSize = drumSize; + specialEffect[voice].drumStep = (drumFreq< +#include +#include +#include "YmMusic.h" +#ifdef HAVE_LZH +#include "lzh/lzh.h" +#endif + +static ymu16 ymVolumeTable[16] = +{ 62,161,265,377,580,774,1155,1575,2260,3088,4570,6233,9330,13187,21220,32767}; + + +static void signeSample(ymu8 *ptr,yms32 size) +{ + + if (size>0) + { + do + { + *ptr++ ^= 0x80; + } + while (--size); + } +} + +void myFree(void **pPtr) +{ + if (*pPtr) free(*pPtr); + *pPtr = NULL; +} + +char *mstrdup(const char *in) +{ + char *out = (char*)malloc(strlen(in)+1); + if (out) strcpy(out,in); + return out; +} + +ymu32 readMotorolaDword(ymu8 **ptr, ymint *ptr_size) +{ +ymu32 n = 0; +ymu8 *p = *ptr; + if (*ptr_size>=4) + { + n = (p[0]<<24)|(p[1]<<16)|(p[2]<<8)|p[3]; + p+=4; + *ptr = p; + } + (*ptr_size)+=4; + return n; +} + +ymu16 readMotorolaWord(ymu8 **ptr, ymint *ptr_size) +{ +ymu16 n = 0; +ymu8 *p = *ptr; + if (*ptr_size>=2) + { + n = (p[0]<<8)|p[1]; + p+=2; + *ptr = p; + } + (*ptr_size)+=2; + return n; +} + +ymchar *readNtString(ymchar **ptr, ymint *ptr_size) +{ +ymchar *p; +ymint len = 0; + + if (*ptr_size<=0) + { + (*ptr_size)-=1; + return mstrdup(""); + } + p=*ptr; + while(*p) + { + p++; + (*ptr_size)--; + len++; + if (*ptr_size==0) + { + (*ptr_size)-=1; + return mstrdup(""); + } + } + + p = mstrdup(*ptr); + (*ptr) += len+1; + return p; +} + +yms32 ReadLittleEndian32(ymu8 *pLittle, ymint ptr_size) +{ + yms32 v = 0; + if (ptr_size>=4) + { + v = ( (pLittle[0]<<0) | + (pLittle[1]<<8) | + (pLittle[2]<<16) | + (pLittle[3]<<24)); + } + return v; +} + +yms32 ReadBigEndian32(ymu8 *pBig, ymint ptr_size) +{ + yms32 v = 0; + if (ptr_size>=4) + { + v = ( (pBig[0]<<24) | + (pBig[1]<<16) | + (pBig[2]<<8) | + (pBig[3]<<0)); + } + return v; +} + +unsigned char *CYmMusic::depackFile(void) + { +#ifndef HAVE_LZH + return pBigMalloc; +#else + lzhHeader_t *pHeader; + ymu8 *pNew; + ymu8 *pSrc; + ymint ptr_left = fileSize; + ymint dummy; + + if (ptr_left < (ymint)sizeof(lzhHeader_t)) + { + return pBigMalloc; + } + + pHeader = (lzhHeader_t*)pBigMalloc; + + if ((pHeader->size==0) || // NOTE: Endianness works because value is 0 + (strncmp(pHeader->id,"-lh5-",5))) + { // Le fichier n'est pas compresse, on retourne l'original. + return pBigMalloc; + } + + if (pHeader->level != 0) // NOTE: Endianness works because value is 0 + { // Compression LH5, header !=0 : Error. + free(pBigMalloc); + pBigMalloc = NULL; + setLastError("LHARC Header must be 0 !"); + return NULL; + } + + dummy = 4; + fileSize = ReadLittleEndian32((ymu8*)&pHeader->original, dummy); + pNew = (ymu8*)malloc(fileSize); + if (!pNew) + { + setLastError("MALLOC Failed !"); + free(pBigMalloc); + pBigMalloc = NULL; + return NULL; + } + + pSrc = pBigMalloc+sizeof(lzhHeader_t)+pHeader->name_lenght; // NOTE: Endianness works because name_lenght is a byte + ptr_left -= sizeof(lzhHeader_t)+pHeader->name_lenght; + + pSrc += 2; // skip CRC16 + ptr_left -= 2; + + dummy = 4; + const int packedSize = ReadLittleEndian32((ymu8*)&pHeader->packed, dummy); + + if (packedSize > ptr_left) + { + setLastError("File too small"); + free(pNew); + return pBigMalloc; + } + + // alloc space for depacker and depack data + CLzhDepacker *pDepacker = new CLzhDepacker; + const bool bRet = pDepacker->LzUnpack(pSrc,packedSize,pNew,fileSize); + delete pDepacker; + + // Free up source buffer, whatever depacking fail or success + free(pBigMalloc); + + if (!bRet) + { // depacking error + setLastError("LH5 Depacking Error !"); + free(pNew); + pNew = NULL; + } + + return pNew; +#endif + } + + + + + +static ymint fileSizeGet(FILE *h) + { + ymint size; + ymint old; + + old = ftell(h); + fseek(h,0,SEEK_END); + size = ftell(h); + fseek(h,old,SEEK_SET); + return size; + } + + +ymbool CYmMusic::deInterleave(void) + { + yms32 nextPlane[32]; + ymu8 *pW,*tmpBuff; + yms32 j,k; + + + if (attrib&A_STREAMINTERLEAVED) + { + + tmpBuff = (ymu8*)malloc(nbFrame*streamInc); + if (!tmpBuff) + { + setLastError("Malloc error in deInterleave()\n"); + return YMFALSE; + } + + // Precalcul les offsets. + for (j=0;j0) + { + pDrumTab=(digiDrum_t*)calloc(nbDrum, sizeof(digiDrum_t)); + for (i=0;i= 0x80000000) + { + setLastError("To big drumtab"); + goto error_out; + } + if (ptr_size<(ymint)pDrumTab[i].size) + { + setLastError("File too small"); + goto error_out; + } + pDrumTab[i].pData = (ymu8*)malloc(pDrumTab[i].size); + memcpy(pDrumTab[i].pData,ptr,pDrumTab[i].size); + if (attrib&A_DRUM4BITS) + { + ymu32 j; + ymu8 *pw = pDrumTab[i].pData; + for (j=0;j>7; + pw++; + } + } + ptr += pDrumTab[i].size; + ptr_size -= pDrumTab[i].size; + } + } + attrib &= (~A_DRUM4BITS); + } + pSongName = readNtString((char**)&ptr, &ptr_size); + pSongAuthor = readNtString((char**)&ptr, &ptr_size); + pSongComment = readNtString((char**)&ptr, &ptr_size); + if (ptr_size <= 0) + { + setLastError("File too small"); + goto error_out; + } + songType = YM_V5; + if (id==0x594d3621/*'YM6!'*/) + { + songType = YM_V6; + pSongType = mstrdup("YM 6"); + } + else + { + pSongType = mstrdup("YM 5"); + } + if ((nbFrame >= 0x08000000) || (nbFrame < 0)) + { + setLastError("Too many frames"); + goto error_out; + } + if (ptr_size < (ymint)(nbFrame * 16)) + { + setLastError("File too small"); + goto error_out; + } + pDataStream = ptr; + streamInc = 16; + setAttrib(A_STREAMINTERLEAVED|A_TIMECONTROL); + pSongPlayer = mstrdup("YM-Chip driver."); + break; + + case 0x4d495831 /*'MIX1'*/: // ATARI Remix digit format. + if (ptr_size < 12) + { + setLastError("File too small"); + return YMFALSE; + } + + if (strncmp((const char*)(pBigMalloc+4),"LeOnArD!",8)) + { + setLastError("Not a valid YM format !"); + return YMFALSE; + } + ptr = pBigMalloc+12; + ptr_size -= 12; + songType = YM_MIX1; + tmp = readMotorolaDword(&ptr, &ptr_size); + setAttrib(0); + if (tmp&1) setAttrib(A_DRUMSIGNED); + sampleSize = readMotorolaDword(&ptr, &ptr_size); + nbMixBlock = readMotorolaDword(&ptr, &ptr_size); + if (ptr_size <= 0) + { + setLastError("File too small"); + goto error_out; + } + if (sampleSize <= 0) + { + setLastError("Invalid sampleSize"); + goto error_out; + } + if (nbMixBlock <= 0) + { + setLastError("Invalid number of mixblocks"); + goto error_out; + } + pMixBlock = (mixBlock_t*)malloc(nbMixBlock*sizeof(mixBlock_t)); + for (i=0;i=0x80000000) + { + setLastError("Invalid sampleSize"); + goto error_out; + } + if (ptr_size < (ymint)sampleSize) + { + setLastError("File too small"); + goto error_out; + } + + pBigSampleBuffer = (unsigned char*)malloc(sampleSize); + memcpy(pBigSampleBuffer,ptr,sampleSize); + + if (!(attrib&A_DRUMSIGNED)) + { + signeSample(pBigSampleBuffer,sampleSize); + setAttrib(A_DRUMSIGNED); + } + + mixPos = -1; // numero du block info. + pSongType = mstrdup("MIX1"); + pSongPlayer = mstrdup("Digi-Mix driver."); + + break; + + case 0x594d5431 /*'YMT1'*/: // YM-Tracker + case 0x594d5432 /*'YMT2'*/: // YM-Tracker +/*; +; Format du YM-Tracker-1 +; +; 4 YMT1 +; 8 LeOnArD! +; 2 Nb voice +; 2 Player rate +; 4 Music lenght +; 4 Music loop +; 2 Nb digidrum +; 4 Flags ; Interlace, signed, 8 bits, etc... +; NT Music Name +; NT Music author +; NT Music comment +; nb digi * +*/ + if (ptr_size < 12) + { + setLastError("File too small"); + return YMFALSE; + } + + if (strncmp((const char*)(pBigMalloc+4),"LeOnArD!",8)) + { + setLastError("Not a valid YM format !"); + return YMFALSE; + } + ptr = pBigMalloc+12; + ptr_size -= 12; + songType = YM_TRACKER1; + nbVoice = readMotorolaWord(&ptr, &ptr_size); + setPlayerRate(readMotorolaWord(&ptr, &ptr_size)); + nbFrame= readMotorolaDword(&ptr, &ptr_size); + loopFrame = readMotorolaDword(&ptr, &ptr_size); + nbDrum = readMotorolaWord(&ptr, &ptr_size); + attrib = readMotorolaDword(&ptr, &ptr_size); + pSongName = readNtString((char**)&ptr, &ptr_size); + pSongAuthor = readNtString((char**)&ptr, &ptr_size); + pSongComment = readNtString((char**)&ptr, &ptr_size); + if (ptr_size < 0) + { + setLastError("File too small"); + return YMFALSE; + } + if (nbDrum>0) + { + pDrumTab=(digiDrum_t*)calloc(nbDrum, sizeof(digiDrum_t)); + for (i=0;i<(ymint)nbDrum;i++) + { + pDrumTab[i].size = readMotorolaWord(&ptr, &ptr_size); + if (ptr_size < 0) + { + setLastError("File too small"); + goto error_out; + } + pDrumTab[i].repLen = pDrumTab[i].size; + if (0x594d5432/*'YMT2'*/ == id) + { + pDrumTab[i].repLen = readMotorolaWord(&ptr, &ptr_size); // repLen + readMotorolaWord(&ptr, &ptr_size); // flag + if (ptr_size < 0) + { + setLastError("File too small"); + goto error_out; + } + } + if (pDrumTab[i].repLen>pDrumTab[i].size) + { + pDrumTab[i].repLen = pDrumTab[i].size; + } + + if (pDrumTab[i].size) + { + if (pDrumTab[i].size >= 0x80000000) + { + setLastError("Drumtab to big"); + goto error_out; + } + if (ptr_size<(ymint)pDrumTab[i].size) + { + setLastError("File too small"); + goto error_out; + } + + pDrumTab[i].pData = (ymu8*)malloc(pDrumTab[i].size); + memcpy(pDrumTab[i].pData,ptr,pDrumTab[i].size); + ptr += pDrumTab[i].size; + ptr_size -= pDrumTab[i].size; + } + } + } + + ymTrackerFreqShift = 0; + if (0x594d5432/*'YMT2'*/ == id) + { + ymTrackerFreqShift = (attrib>>28)&15; + attrib &= 0x0fffffff; + pSongType = mstrdup("YM-T2"); + } + else + { + pSongType = mstrdup("YM-T1"); + } + + if ((nbVoice > MAX_VOICE) || (nbVoice < 0)) + { + setLastError("Too many voices"); + goto error_out; + } + if ((nbFrame >= (ymint)(0x80000000 / (MAX_VOICE * (sizeof(ymTrackerLine_t))))) || (nbFrame < 0)) /* ymTrackerLine_t has a 2^N size */ + { + setLastError("Too many frames"); + goto error_out; + } + if (ptr_size < (ymint)(sizeof(ymTrackerLine_t) * nbVoice * nbFrame)) + { + setLastError("File too small"); + goto error_out; + } + + pDataStream = ptr; + ymChip.setClock(ATARI_CLOCK); + + ymTrackerInit(100); // 80% de volume maxi. + streamInc = 16; /* not needed, since this is only used for YMx formats */ + setTimeControl(YMTRUE); + pSongPlayer = mstrdup("Universal Tracker"); + break; + + default: + setLastError("Unknown YM format !"); + return YMFALSE; + break; + } + + if (!deInterleave()) + { + return YMFALSE; + } + + return YMTRUE; +error_out: + for (i=0;i0) + { + myFree((void **)&pDrumTab); + nbDrum=0; + } + myFree((void **)&pSongName); + myFree((void **)&pSongAuthor); + myFree((void **)&pSongComment); + myFree((void **)&pSongType); /* <- never needed, but we keep it for purity */ + myFree((void **)&pSongPlayer); /* <- never needed, but we keep it for purity */ + myFree((void **)&pMixBlock); + myFree((void **)&pBigSampleBuffer); /* <- never needed, but we keep it for purity */ + return YMFALSE; + } + + +ymbool CYmMusic::checkCompilerTypes() +{ + setLastError("Basic types size are not correct (check ymTypes.h)"); + + if (1 != sizeof(ymu8)) return YMFALSE; + if (1 != sizeof(yms8)) return YMFALSE; + if (1 != sizeof(ymchar)) return YMFALSE; + + if (2 != sizeof(ymu16)) return YMFALSE; + if (2 != sizeof(yms16)) return YMFALSE; + if (4 != sizeof(ymu32)) return YMFALSE; + if (4 != sizeof(yms32)) return YMFALSE; + + if (2 != sizeof(ymsample)) return YMFALSE; + +#ifdef YM_INTEGER_ONLY + if (8 != sizeof(yms64)) return YMFALSE; +#endif + + if (sizeof(ymint) < 4) return YMFALSE; // ymint should be at least 32bits + + setLastError(""); + return YMTRUE; +} + + +ymbool CYmMusic::load(const char *fileName) +{ +FILE *in; + + + stop(); + unLoad(); + + if (!checkCompilerTypes()) + return YMFALSE; + + in = fopen(fileName,"rb"); + if (!in) + { + setLastError("File not Found"); + return YMFALSE; + } + + //--------------------------------------------------- + // Allocation d'un buffer pour lire le fichier. + //--------------------------------------------------- + fileSize = fileSizeGet(in); + pBigMalloc = (unsigned char*)malloc(fileSize); + if (!pBigMalloc) + { + setLastError("MALLOC Error"); + fclose(in); + return YMFALSE; + } + + //--------------------------------------------------- + // Chargement du fichier complet. + //--------------------------------------------------- + if (fread(pBigMalloc,1,fileSize,in)!=(size_t)fileSize) + { + free(pBigMalloc); + setLastError("File is corrupted."); + fclose(in); + return YMFALSE; + } + fclose(in); + + //--------------------------------------------------- + // Transforme les donn‚es en donn‚es valides. + //--------------------------------------------------- + pBigMalloc = depackFile(); + if (!pBigMalloc) + { + return YMFALSE; + } + + //--------------------------------------------------- + // Lecture des donn‚es YM: + //--------------------------------------------------- + if (!ymDecode()) + { + free(pBigMalloc); + pBigMalloc = NULL; + return YMFALSE; + } + + ymChip.reset(); + bMusicOk = YMTRUE; + bPause = YMFALSE; + return YMTRUE; + } + +ymbool CYmMusic::loadMemory(void *pBlock,ymu32 size) +{ + + + stop(); + unLoad(); + + if (!checkCompilerTypes()) + return YMFALSE; + + //--------------------------------------------------- + // Allocation d'un buffer pour lire le fichier. + //--------------------------------------------------- + fileSize = size; + pBigMalloc = (unsigned char*)malloc(fileSize); + if (!pBigMalloc) + { + setLastError("MALLOC Error"); + return YMFALSE; + } + + //--------------------------------------------------- + // Chargement du fichier complet. + //--------------------------------------------------- + memcpy(pBigMalloc,pBlock,size); + + //--------------------------------------------------- + // Transforme les donn‚es en donn‚es valides. + //--------------------------------------------------- + pBigMalloc = depackFile(); + if (!pBigMalloc) + { + return YMFALSE; + } + + //--------------------------------------------------- + // Lecture des donn‚es YM: + //--------------------------------------------------- + if (!ymDecode()) + { + free(pBigMalloc); + pBigMalloc = NULL; + return YMFALSE; + } + + ymChip.reset(); + bMusicOk = YMTRUE; + bPause = YMFALSE; + return YMTRUE; + } + +void CYmMusic::unLoad(void) +{ + + bMusicOk = YMFALSE; + bPause = YMTRUE; + bMusicOver = YMFALSE; + myFree((void**)&pSongName); + myFree((void**)&pSongAuthor); + myFree((void**)&pSongComment); + myFree((void**)&pSongType); + myFree((void**)&pSongPlayer); + myFree((void**)&pBigMalloc); + if (nbDrum>0) + { + for (ymint i=0;i +#include +#include "YmMusic.h" + +#define _LINEAR_OVRS // Activate linear oversampling (best quality) Only used for DigiMix and UniversalTracker YM file type + + +// ATARI-ST MFP chip predivisor +static const ymint mfpPrediv[8] = {0,4,10,16,50,64,100,200}; + + + +CYmMusic::CYmMusic(ymint _replayRate) +{ + + pBigMalloc = NULL; + pSongName = NULL; + pSongAuthor = NULL; + pSongComment = NULL; + pSongType = NULL; + pSongPlayer = NULL; + + pBigSampleBuffer = NULL; + pMixBlock = NULL; + + replayRate = _replayRate; + innerSamplePos = 0; + nbDrum = 0; + pDrumTab = NULL; + setLoopMode(YMFALSE); +} + +void CYmMusic::setTimeControl(ymbool bTime) +{ + if (bTime) + attrib |= A_TIMECONTROL; + else + attrib &= (~A_TIMECONTROL); +} + +CYmMusic::~CYmMusic() +{ + stop(); + unLoad(); +} + +void CYmMusic::setLoopMode(ymbool bLoopMode) +{ + bLoop = bLoopMode; +} + +void CYmMusic::setPlayerRate(ymint rate) +{ + playerRate = rate; +} + +ymu32 CYmMusic::getPos() +{ + if (!isSeekable()) return 0; + if ((nbFrame>0) && (playerRate>0)) + { + return ((ymu32)currentFrame*1000)/(ymu32)playerRate; + } + else + return 0; + +} + +ymu32 CYmMusic::getMusicTime(void) +{ + if ((nbFrame>0) && (playerRate>0)) + { + return ((ymu32)nbFrame*1000)/(ymu32)playerRate; + } + else + return 0; + +} + +ymu32 CYmMusic::setMusicTime(ymu32 time) +{ + if (!isSeekable()) return 0; + ymu32 newTime = 0; + + if ((songType>=YM_V2) && (songType=getMusicTime()) newTime = 0; + currentFrame = (newTime*(ymu32)playerRate)/1000; + } + else if ((songType>=YM_TRACKER1) && (songType=getMusicTime()) newTime = 0; + currentFrame = (newTime*(ymu32)playerRate)/1000; + } + + return newTime; +} + +void CYmMusic::getMusicInfo(ymMusicInfo_t *pInfo) +{ + if (pInfo) + { + pInfo->pSongName = pSongName; + pInfo->pSongAuthor = pSongAuthor; + pInfo->pSongComment = pSongComment; + pInfo->pSongType = pSongType; + pInfo->pSongPlayer = pSongPlayer; + + if (playerRate>0) + { + pInfo->musicTimeInMs = (ymu32(nbFrame) * 1000) / (ymu32)playerRate; + pInfo->musicTimeInSec = pInfo->musicTimeInMs / 1000; + } + else + { + pInfo->musicTimeInSec = 0; + pInfo->musicTimeInMs = 0; + } + } +} + + +void CYmMusic::setAttrib(ymint _attrib) +{ + attrib = _attrib; +} + +ymint CYmMusic::getAttrib(void) +{ + return attrib; +} + +ymbool CYmMusic::isSeekable(void) +{ + return getAttrib()&A_TIMECONTROL; +} + +void CYmMusic::setLastError(const char *pError) +{ + pLastError = pError; +} + +const char *CYmMusic::getLastError(void) +{ + return pLastError; +} + +void bufferClear(ymsample *pBuffer,ymint nbSample) +{ + memset((void*)pBuffer,0,nbSample*sizeof(ymsample)); +} + +ymbool CYmMusic::update(ymsample *sampleBuffer,ymint nbSample) +{ +ymint sampleToCompute; +ymint vblNbSample; + + + if ((!bMusicOk) || + (bPause) || + (bMusicOver)) + { + bufferClear(sampleBuffer,nbSample); + if (bMusicOver) + return YMFALSE; + else + return YMTRUE; + } + + if ((songType >= YM_MIX1) && (songType < YM_MIXMAX)) + { + stDigitMix(sampleBuffer,nbSample); + } + else if ((songType >= YM_TRACKER1) && (songTypenbs) sampleToCompute = nbs; + innerSamplePos += sampleToCompute; + if (sampleToCompute>0) + { + ymChip.update(pOut,sampleToCompute); // YM Emulation. + pOut += sampleToCompute; + } + if (innerSamplePos>=vblNbSample) + { + player(); // Lecture de la partition (playerRate Hz) + innerSamplePos -= vblNbSample; + } + nbs -= sampleToCompute; + } + while (nbs>0); + } + + + return YMTRUE; +} + + + +void CYmMusic::readYm6Effect(unsigned char *pReg,ymint code,ymint prediv,ymint count) +{ +ymint voice; +ymint ndrum; + + code = pReg[code]&0xf0; + prediv = (pReg[prediv]>>5)&7; + count = pReg[count]; + + if (code&0x30) + { + ymu32 tmpFreq; + // Ici il y a un effet sur la voie: + + voice = ((code&0x30)>>4)-1; + switch (code&0xc0) + { + case 0x00: // SID + case 0x80: // Sinus-SID + + prediv = mfpPrediv[prediv]; + prediv *= count; + tmpFreq = 0; + if (prediv) + { + tmpFreq = 2457600L / prediv; + if ((code&0xc0)==0x00) + ymChip.sidStart(voice,tmpFreq,pReg[voice+8]&15); + else + ymChip.sidSinStart(voice,tmpFreq,pReg[voice+8]&15); + } + break; + + case 0x40: // DigiDrum + ndrum = pReg[voice+8]&31; + if ((ndrum>=0) && (ndrum0) + { + tmpFreq = 2457600L / prediv; + ymChip.drumStart(voice,pDrumTab[ndrum].pData,pDrumTab[ndrum].size,tmpFreq); + } + } + break; + + case 0xc0: // Sync-Buzzer. + + prediv = mfpPrediv[prediv]; + prediv *= count; + tmpFreq = 0; + if (prediv) + { + tmpFreq = 2457600L / prediv; + ymChip.syncBuzzerStart(tmpFreq,pReg[voice+8]&15); + } + break; + + + } + + } +} + +void CYmMusic::setVolume(ymint volume) +{ +// ymChip.setGlobalVolume(volume); +} + +void CYmMusic::player(void) + { + ymu8 *ptr; + ymu32 prediv; + ymint voice; + ymint ndrum; + + + if (currentFrame<0) currentFrame = 0; + + if (currentFrame>=nbFrame) + { + if (bLoop) + { + currentFrame = loopFrame; + if (currentFrame < 0) + currentFrame = 0; + else if (currentFrame >= nbFrame) + currentFrame = nbFrame - 1; + } + else + { + bMusicOver = YMTRUE; + ymChip.reset(); + return; + } + } + + ptr = pDataStream+currentFrame*streamInc; + + for (ymint i=0;i<=10;i++) + ymChip.writeRegister(i,ptr[i]); + + ymChip.sidStop(0); + ymChip.sidStop(1); + ymChip.sidStop(2); + ymChip.syncBuzzerStop(); + + //--------------------------------------------- + // Check digi-drum + //--------------------------------------------- + if (songType == YM_V2) // MADMAX specific ! + { + if (ptr[13]!=0xff) + { + ymChip.writeRegister(11,ptr[11]); + ymChip.writeRegister(12,0); + ymChip.writeRegister(13,10); // MADMAX specific !! + } + if (ptr[10]&0x80) // bit 7 volume canal C pour annoncer une digi-drum madmax. + { + ymint sampleNum; + ymu32 sampleFrq; + ymChip.writeRegister(7,ymChip.readRegister(7)|0x24) ; // Coupe TONE + NOISE canal C. + sampleNum = ptr[10]&0x7f; // Numero du sample + + if (ptr[12]) + { + if (sampleNum < MAX_DIGIDRUM) + { + sampleFrq = (MFP_CLOCK / ptr[12]); + ymChip.drumStart( 2, // Voice C + sampleAdress[sampleNum], + sampleLen[sampleNum], + sampleFrq); + } + } + } + } + else if (songType >= YM_V3) + { + ymChip.writeRegister(11,ptr[11]); + ymChip.writeRegister(12,ptr[12]); + if (ptr[13]!=0xff) + { + ymChip.writeRegister(13,ptr[13]); + } + + if (songType >= YM_V5) + { + ymint code; + + if (songType == YM_V6) + { + readYm6Effect(ptr,1,6,14); + readYm6Effect(ptr,3,8,15); + } + else + { // YM5 effect decoding + + //------------------------------------------------------ + // Sid Voice !! + //------------------------------------------------------ + code = (ptr[1]>>4)&3; + if (code!=0) + { + ymu32 tmpFreq; + voice = code-1; + prediv = mfpPrediv[(ptr[6]>>5)&7]; + prediv *= ptr[14]; + tmpFreq = 0; + if (prediv) + { + tmpFreq = 2457600L / prediv; + ymChip.sidStart(voice,tmpFreq,ptr[voice+8]&15); + } + } + + //------------------------------------------------------ + // YM5 Digi Drum. + //------------------------------------------------------ + code = (ptr[3]>>4)&3; + if (code!=0) + { // Ici un digidrum demarre sur la voie voice. + voice = code-1; + ndrum = ptr[8+voice]&31; + if ((ndrum>=0) && (ndrum>5)&7]; + prediv *= ptr[15]; + if (prediv) + { + sampleFrq = MFP_CLOCK / prediv; + ymChip.drumStart(voice,pDrumTab[ndrum].pData,pDrumTab[ndrum].size,sampleFrq); + } + } + } + } + } + } + currentFrame++; + } + +/* + + x x x x x x x x r0 + 0 0 0 0 x x x x r1 // Special FX 1a + x x x x x x x x r2 + 0 0 0 0 x x x x r3 // Special FX 2a + x x x x x x x x r4 + 0 0 0 0 x x x x r5 + 0 0 0 x x x x x r6 // Special FX 1b + 0 0 x x x x x x r7 + 0 0 0 x x x x x r8 // Special FX 2b + 0 0 0 x x x x x r9 + 0 0 0 x x x x x r10 + x x x x x x x x r11 + x x x x x x x x r12 + 0 0 0 0 x x x x r13 + 0 0 0 0 0 0 0 0 r14 // Special FX 1c + 0 0 0 0 0 0 0 0 r15 // Special FX 2c + + + Special Fx ?a + 0 0 0 0 : No special FX running + 0 0 0 1 : Sid Voice A + 0 0 1 0 : Sid Voice B + 0 0 1 1 : Sid Voice C + 0 1 0 0 : Extended Fx voice A + 0 1 0 1 : Digidrum voice A + 0 1 1 0 : Digidrum voice B + 0 1 1 1 : Digidrum voice C + 1 0 0 0 : Extended Fx voice B + 1 0 0 1 : Sinus SID voice A + 1 0 1 0 : Sinus SID voice B + 1 0 1 1 : Sinus SID voice C + 1 1 0 0 : Extended Fx voice C + 1 1 0 1 : Sync Buzzer voice A + 1 1 1 0 : Sync Buzzer voice B + 1 1 1 1 : Sync Buzzer voice C + + + +*/ + +void CYmMusic::readNextBlockInfo(void) +{ + nbRepeat--; + if (nbRepeat<=0) + { + mixPos++; + if (mixPos >= nbMixBlock) + { + mixPos = 0; + if (!bLoop) bMusicOver = YMTRUE; + } + nbRepeat = pMixBlock[mixPos].nbRepeat; + } + pCurrentMixSample = pBigSampleBuffer + pMixBlock[mixPos].sampleStart; + currentSampleLength = (pMixBlock[mixPos].sampleLength)<<12; + currentPente = (((ymu32)pMixBlock[mixPos].replayFreq)<<12) / PC_DAC_FREQ; + currentPos &= ((1<<12)-1); +} + +void CYmMusic::stDigitMix(ymsample *pWrite16,ymint nbs) +{ + + + if (bMusicOver) return; + + if (mixPos == -1) + { + nbRepeat = -1; + readNextBlockInfo(); + } + + if (nbs) do + { + + ymint sa = (ymint)(ymsample)(pCurrentMixSample[currentPos>>12]<<8); +#ifdef _LINEAR_OVRS + ymint sb = sa; + if ((currentPos>>12)<((currentSampleLength>>12)-1)) + sb = (ymint)(ymsample)(pCurrentMixSample[(currentPos>>12)+1]<<8); + ymint frac = currentPos&((1<<12)-1); + sa += (((sb-sa)*frac)>>12); +#endif + *pWrite16++ = sa; + + currentPos += currentPente; + if (currentPos>=currentSampleLength) + { + readNextBlockInfo(); + if (bMusicOver) return; + } + } + while (--nbs); +} + +void CYmMusic::ymTrackerDesInterleave(void) +{ +unsigned char *a0,*a1,*a2; +unsigned char *pNewBuffer; +ymint step; +ymu32 n1,n2; + + + if (attrib&A_STREAMINTERLEAVED) + { + a0 = pDataStream; + ymint size = sizeof(ymTrackerLine_t)*nbVoice*nbFrame; + pNewBuffer = (unsigned char*)malloc(size); + step = sizeof(ymTrackerLine_t)*nbVoice; + n1 = step; + a2 = pNewBuffer; + do + { + n2 = nbFrame; + a1 = a2; + do + { + *a1 = *a0++; + a1 += step; + } + while (--n2); + a2++; + } + while (--n1); + memcpy(pDataStream,pNewBuffer,size); + free(pNewBuffer); + attrib &= (~A_STREAMINTERLEAVED); + } +} + + +void CYmMusic::ymTrackerInit(ymint volMaxPercent) +{ +ymint i,s; +ymint vol; +ymint scale; +ymsample *pTab; + + + + for (i=0;ifreqHigh<<8) | pLine->freqLow; + if (pVoice[i].sampleFreq) + { + pVoice[i].sampleVolume = pLine->volume&63; + pVoice[i].bLoop = (pLine->volume&0x40); + n = pLine->noteOn; + if (n != 0xff) // Note ON. + { + pVoice[i].bRunning = 1; + pVoice[i].pSample = pDrumTab[n].pData; + pVoice[i].sampleSize = pDrumTab[n].size; + pVoice[i].repLen = pDrumTab[n].repLen; + pVoice[i].samplePos = 0; + } + } + else + { + pVoice[i].bRunning = 0; + } + pLine++; + } + + currentFrame++; + if (currentFrame >= nbFrame) + { + if (!bLoop) + { + bMusicOver = YMTRUE; + } + currentFrame = 0; + } +} + + +void CYmMusic::ymTrackerVoiceAdd(ymTrackerVoice_t *pVoice,ymsample *pBuffer,ymint nbs) +{ +ymsample *pVolumeTab; +ymu8 *pSample; +ymu32 samplePos; +ymu32 sampleEnd; +ymu32 sampleInc; +ymu32 repLen; +double step; + + + if (!(pVoice->bRunning)) return; + + pVolumeTab = &ymTrackerVolumeTable[256*(pVoice->sampleVolume&63)]; + pSample = pVoice->pSample; + samplePos = pVoice->samplePos; + + step = (double)(pVoice->sampleFreq<sampleSize<repLen<0) do + { + ymint va = pVolumeTab[pSample[samplePos>>YMTPREC]]; +#ifdef _LINEAR_OVRS + ymint vb = va; + if (samplePos < (sampleEnd-(1<>YMTPREC)+1]]; + ymint frac = samplePos & ((1<>YMTPREC); +#endif + (*pBuffer++) += va; + + samplePos += sampleInc; + if (samplePos>=sampleEnd) + { + if (pVoice->bLoop) + { + samplePos -= repLen; + } + else + { + pVoice->bRunning = 0; + return; + } + } + } + while (--nbs); + pVoice->samplePos = samplePos; +} + +void CYmMusic::ymTrackerUpdate(ymsample *pBuffer,ymint nbSample) +{ +ymint i; +ymint _nbs; + + // Clear les buffers. + memset(pBuffer,0,sizeof(ymsample)*nbSample); + if (bMusicOver) return; + + do + { + if (ymTrackerNbSampleBefore == 0) + { + // Lit la partition ymTracker + ymTrackerPlayer(ymTrackerVoice); + if (bMusicOver) return; + ymTrackerNbSampleBefore = YMTNBSRATE; + } + _nbs = ymTrackerNbSampleBefore; // nb avant playerUpdate. + if (_nbs>nbSample) _nbs = nbSample; + ymTrackerNbSampleBefore -= _nbs; + if (_nbs>0) + { + // Genere les samples. + for (i=0;i0); +} diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/YmMusic.h 16-STYMulator-0.21a_restructure_layout/stsoundlib/YmMusic.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/YmMusic.h 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/stsoundlib/YmMusic.h 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,259 @@ +/*----------------------------------------------------------------------------- + + ST-Sound ( YM files player library ) + + Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) + + YM Music Driver + +-----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + + This file is part of ST-Sound + + ST-Sound is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + ST-Sound is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ST-Sound; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +-----------------------------------------------------------------------------*/ + + +#ifndef __YMMUSIC__ +#define __YMMUSIC__ + +#include "YmTypes.h" +#include "StSoundLibrary.h" +#include "Ym2149Ex.h" +#include "Ymload.h" +#include "digidrum.h" + +#define YMTPREC 16 +#define MAX_VOICE 8 +#define PC_DAC_FREQ 44100 +#define YMTNBSRATE (PC_DAC_FREQ/50) + +typedef enum +{ + YM_V2, + YM_V3, + YM_V4, + YM_V5, + YM_V6, + YM_VMAX, + + YM_TRACKER1=32, + YM_TRACKER2, + YM_TRACKERMAX, + + YM_MIX1=64, + YM_MIX2, + YM_MIXMAX, +} ymFile_t; + +typedef struct +{ + ymu32 sampleStart; + ymu32 sampleLength; + ymu16 nbRepeat; + ymu16 replayFreq; +} mixBlock_t; + +typedef struct +{ + ymu32 size; + ymu8 * pData; + ymu32 repLen; +} digiDrum_t; + +typedef struct +{ + ymint nbVoice; + ymu32 nbVbl; + ymu8 * pDataBufer; + ymu32 currentVbl; + ymu32 flags; + ymbool bLoop; +} ymTrackerPartoche_t; + + +typedef struct +{ + ymu8 * pSample; + ymu32 sampleSize; + ymu32 samplePos; + ymu32 repLen; + yms32 sampleVolume; + ymu32 sampleFreq; + ymbool bLoop; + ymbool bRunning; +} ymTrackerVoice_t; + +typedef struct +{ + ymu8 noteOn; + ymu8 volume; + ymu8 freqHigh; + ymu8 freqLow; +} ymTrackerLine_t; + + +enum +{ + A_STREAMINTERLEAVED = 1, + A_DRUMSIGNED = 2, + A_DRUM4BITS = 4, + A_TIMECONTROL = 8, + A_LOOPMODE = 16, +}; + + +class CYmMusic +{ + +public: + CYmMusic(ymint _replayRate=44100); + ~CYmMusic(); + + ymbool load(const char *pName); + ymbool loadMemory(void *pBlock,ymu32 size); + + void unLoad(void); + ymbool isSeekable(void); + ymbool update(ymsample *pBuffer,ymint nbSample); + ymu32 getPos(void); + ymu32 getMusicTime(void); + ymu32 setMusicTime(ymu32 time); + void play(void); + void pause(void); + void stop(void); + void setVolume(ymint volume); + int getAttrib(void); + void getMusicInfo(ymMusicInfo_t *pInfo); + void setLoopMode(ymbool bLoop); + const char *getLastError(void); + int readYmRegister(ymint reg) { return ymChip.readRegister(reg); } + +//------------------------------------------------------------- +// WAVE Generator +//------------------------------------------------------------- + int waveCreate(char *fName); + + ymbool bMusicOver; + +private: + + ymbool checkCompilerTypes(); + + void setPlayerRate(int rate); + void setAttrib(int _attrib); + void setLastError(const char *pError); + ymu8 *depackFile(void); + ymbool deInterleave(void); + void readYm6Effect(ymu8 *pReg,int code,int prediv,int count); + void player(void); + void setTimeControl(ymbool bFlag); + + + CYm2149Ex ymChip; + const char *pLastError; + ymFile_t songType; + int nbFrame; + int loopFrame; + int currentFrame; + int nbDrum; + digiDrum_t *pDrumTab; + int musicTime; + ymu8 *pBigMalloc; + ymu8 *pDataStream; + ymbool bLoop; + ymint fileSize; + ymbool ymDecode(void); + ymint playerRate; + ymint attrib; + volatile ymbool bMusicOk; + volatile ymbool bPause; + ymint streamInc; + ymint innerSamplePos; + ymint replayRate; + + ymchar *pSongName; + ymchar *pSongAuthor; + ymchar *pSongComment; + ymchar *pSongType; + ymchar *pSongPlayer; + +//------------------------------------------------------------- +// ATARI Digi Mix Music. +//------------------------------------------------------------- + void readNextBlockInfo(void); + void stDigitMix(signed short *pWrite16,int nbs); + ymint nbRepeat; + ymint nbMixBlock; + mixBlock_t *pMixBlock; + ymint mixPos; + ymu8 *pBigSampleBuffer; + ymu8 *pCurrentMixSample; + ymu32 currentSampleLength; + ymu32 currentPente; + ymu32 currentPos; + +//------------------------------------------------------------- +// YM-Universal-Tracker +//------------------------------------------------------------- + void ymTrackerInit(int volMaxPercent); + void ymTrackerUpdate(signed short *pBuffer,int nbSample); + void ymTrackerDesInterleave(void); + void ymTrackerPlayer(ymTrackerVoice_t *pVoice); + void ymTrackerVoiceAdd(ymTrackerVoice_t *pVoice,signed short *pBuffer,int nbs); + + int nbVoice; + ymTrackerVoice_t ymTrackerVoice[MAX_VOICE]; + int ymTrackerNbSampleBefore; + signed short ymTrackerVolumeTable[256*64]; + int ymTrackerFreqShift; + + +}; + +/* + int version; + SD pos; + UD inc; + UD timeSec; + UD timeMin; + UD loopSec; + UD loopMin; + UD nbVbl; + UD vblRestart; + UD ymFreq; + UD playerFreq; + UB *pRegister; + UB *pFileBuffer; + UD fileSize; + UD attrib; + char *pSongName; + char *pSongComment; + char *pSongAuthor; + mixBlock_t *pMixBlock; + long nbMixBlock; + UD nbDrum; + digiDrum_t *pDrumTab; + int nbVoice; + ymu32 currentVbl; + int bTimeControl; + int timeTotal; + int ymtFreqShift; +*/ + +#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/YmTypes.h 16-STYMulator-0.21a_restructure_layout/stsoundlib/YmTypes.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/YmTypes.h 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/stsoundlib/YmTypes.h 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,107 @@ +/*----------------------------------------------------------------------------- + + ST-Sound ( YM files player library ) + GNU/Linux stuff by Grzegorz Tomasz Stanczyk + Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) + + Define YM types for multi-platform compilcation. + Change that file depending of your platform. Please respect the right size + for each type. + +-----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + + This file is part of ST-Sound + + ST-Sound is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + ST-Sound is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ST-Sound; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +-----------------------------------------------------------------------------*/ + +#ifndef __YMTYPES__ +#define __YMTYPES__ + +#define YM_INTEGER_ONLY + +//----------------------------------------------------------- +// Platform specific stuff +//----------------------------------------------------------- + +#ifdef _WIN32 + +// These settings are ok for Windows 32bits platform. + +#ifdef YM_INTEGER_ONLY +typedef __int64 yms64; +#else +typedef float ymfloat; +#endif + +typedef signed char yms8; /* 8 bits signed integer */ +typedef signed short yms16; /* 16 bits signed integer */ +typedef signed long yms32; /* 32 bits signed integer */ + +typedef unsigned char ymu8; /* 8 bits unsigned integer */ +typedef unsigned short ymu16; /* 16 bits unsigned integer */ +typedef unsigned long ymu32; /* 32 bits unsigned integer */ + +typedef int ymint; /* Native "int" for speed purpose. StSound suppose int is signed and at least 32bits. If not, change it to match to yms32 */ + +typedef char ymchar; /* 8 bits char character (used for null terminated strings) */ + +#else + +#ifdef HAVE_INTTYPES_H +#include +#endif + +#ifdef HAVE_STDINT_H +#include +#endif + +#ifdef YM_INTEGER_ONLY +typedef int64_t yms64; +#else +typedef float ymfloat; +#endif +typedef int8_t yms8; /* 8 bits signed integer */ +typedef int16_t yms16; /* 16 bits signed integer */ +typedef int32_t yms32; /* 32 bits signed integer */ + +typedef uint8_t ymu8; /* 8 bits unsigned integer */ +typedef uint16_t ymu16; /* 16 bits unsigned integer */ +typedef uint32_t ymu32; /* 32 bits unsigned integer */ + +/* Native "int" for speed purpose. StSound suppose int is signed and at least 32bits. If not, change it to match to yms32 */ +/*typedef int32_t ymint; */ +typedef int ymint; +typedef char ymchar; /* 8 bits char character (used for null terminated strings) */ + +#endif + +#ifndef NULL +#define NULL (0L) +#endif + +//----------------------------------------------------------- +// Multi-platform +//----------------------------------------------------------- +typedef int ymbool; /* boolean ( theorically nothing is assumed for its size in StSound,so keep using int) */ +typedef yms16 ymsample; /* StSound emulator render mono 16bits signed PCM samples */ + +#define YMFALSE (0) +#define YMTRUE (!YMFALSE) + +#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/YmUserInterface.cpp 16-STYMulator-0.21a_restructure_layout/stsoundlib/YmUserInterface.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/stsoundlib/YmUserInterface.cpp 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/stsoundlib/YmUserInterface.cpp 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,134 @@ +/*----------------------------------------------------------------------------- + + ST-Sound ( YM files player library ) + + Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) + + ST-Sound library "C-like" interface wrapper + +-----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + + This file is part of ST-Sound + + ST-Sound is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + ST-Sound is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ST-Sound; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +-----------------------------------------------------------------------------*/ + +#include "config.h" +#include "YmMusic.h" +#include "StSoundLibrary.h" + + +// Static assert to check various type len + +YMMUSIC * ymMusicCreate() +{ + return (YMMUSIC*)(new CYmMusic); +} + + +ymbool ymMusicLoad(YMMUSIC *pMus,const char *fName) +{ + CYmMusic *pMusic = (CYmMusic*)pMus; + return pMusic->load(fName); +} + +ymbool ymMusicLoadMemory(YMMUSIC *pMus,void *pBlock,ymu32 size) +{ + CYmMusic *pMusic = (CYmMusic*)pMus; + return pMusic->loadMemory(pBlock,size); +} + +void ymMusicDestroy(YMMUSIC *pMus) +{ + CYmMusic *pMusic = (CYmMusic*)pMus; + delete pMusic; +} + +ymbool ymMusicCompute(YMMUSIC *_pMus,ymsample *pBuffer,int nbSample) +{ + CYmMusic *pMusic = (CYmMusic*)_pMus; + return pMusic->update(pBuffer,nbSample); +} + +void ymMusicSetLoopMode(YMMUSIC *_pMus,ymbool bLoop) +{ + CYmMusic *pMusic = (CYmMusic*)_pMus; + pMusic->setLoopMode(bLoop); +} + +const char *ymMusicGetLastError(YMMUSIC *_pMus) +{ + CYmMusic *pMusic = (CYmMusic*)_pMus; + return pMusic->getLastError(); +} + +int ymMusicGetRegister(YMMUSIC *_pMus,ymint reg) +{ + CYmMusic *pMusic = (CYmMusic*)_pMus; + return pMusic->readYmRegister(reg); +} + +void ymMusicGetInfo(YMMUSIC *_pMus,ymMusicInfo_t *pInfo) +{ + CYmMusic *pMusic = (CYmMusic*)_pMus; + pMusic->getMusicInfo(pInfo); +} + +void ymMusicPlay(YMMUSIC *_pMus) +{ + CYmMusic *pMusic = (CYmMusic*)_pMus; + pMusic->play(); +} + +void ymMusicPause(YMMUSIC *_pMus) +{ + CYmMusic *pMusic = (CYmMusic*)_pMus; + pMusic->pause(); +} + +void ymMusicStop(YMMUSIC *_pMus) +{ + CYmMusic *pMusic = (CYmMusic*)_pMus; + pMusic->stop(); +} + +ymbool ymMusicIsSeekable(YMMUSIC *_pMus) +{ + CYmMusic *pMusic = (CYmMusic*)_pMus; + return pMusic->isSeekable() ? YMTRUE : YMFALSE; +} + +//changed for 64bit compatibility by Grzegorz Stanczyk (2007.03.06) +//unsigned long ymMusicGetPos(YMMUSIC *_pMus) +ymu32 ymMusicGetPos(YMMUSIC *_pMus) +{ + CYmMusic *pMusic = (CYmMusic*)_pMus; + if (!pMusic->isSeekable()) + return 0; + + return pMusic->getPos(); +} + +void ymMusicSeek(YMMUSIC *_pMus,ymu32 timeInMs) +{ + CYmMusic *pMusic = (CYmMusic*)_pMus; + if (pMusic->isSeekable()) + { + pMusic->setMusicTime(timeInMs); + } +} diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/Makefile 16-STYMulator-0.21a_restructure_layout/ymplayer/Makefile --- 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/ymplayer/Makefile 2010-04-25 12:59:57.857633931 +0200 @@ -0,0 +1,43 @@ +TOPDIR=.. +include $(TOPDIR)/Rules.make + +LZH = $(TOPDIR)/lzh +STLIB = $(TOPDIR)/stsoundlib + +override CFLAGS += -I$(LZH) -I$(STLIB) $(ALSA_CFLAGS) +override CXXFLAGS += -I$(LZH) -I$(STLIB) $(ALSA_CFLAGS) +override LDFLAGS += -L$(LZH) -L$(STLIB) + +all: ymplayer ym2wav + +STLIB_A=$(STLIB)/libym.a +LIBS=-lym +ifeq ($(HAVE_LZH),1) +LZH_A=$(LZH)/liblzh.a +LIBS+=-llzh +endif + +ymplayer: ymplayer.o sound.o ui.o $(STLIB_A) $(LZH_A) + $(CXX) -o ymplayer $(LDFLAGS) ymplayer.o sound.o ui.o $(ALSA_LIBS) $(LIBS) -lncurses + +ym2wav: ym2wav.o $(STLIB_A) $(LZH_A) + $(CXX) -o ym2wav $(LDFLAGS) ym2wav.o $(LIBS) + +ymplayer.o: ymplayer.cpp $(TOPDIR)/config.h + $(CXX) $(CXXFLAGS) $(ALSA_CFLAGS) -c ymplayer.cpp + +ym2wav.o: ym2wav.cpp $(STLIB)/StSoundLibrary.h $(TOPDIR)/config.h + $(CXX) $(CXXFLAGS) $(INCLUDE) -c ym2wav.cpp + +sound.o: sound.cpp sound.h $(TOPDIR)/config.h + $(CXX) $(CXXFLAGS) $(ALSA_CFLAGS) -c sound.cpp + +ui.o: ui.cpp ui.h $(STLIB)/StSoundLibrary.h $(TOPDIR)/config.h + $(CXX) $(CXXFLAGS) -c ui.cpp + +install: all + $(INSTALL) ymplayer /usr/bin + $(INSTALL) ym2wav /usr/bin + +clean: + $(RM) *.o ymplayer ym2wav *~ diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/sound.cpp 16-STYMulator-0.21a_restructure_layout/ymplayer/sound.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/sound.cpp 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/ymplayer/sound.cpp 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,134 @@ +/* file: sound.cpp + + This file is a part of STYMulator - GNU/Linux YM player + + Player & ST-Sound GPL library GNU/Linux port by Grzegorz Tomasz Stanczyk + Project Page: http://atariarea.krap.pl/stymulator + + Original ST-Sound GPL library by Arnaud Carre (http://leonard.oxg.free.fr) + ALSA (Advanced Linux Sound Architecture) library (http://www.alsa-project.org/) + +----------------------------------------------------------------------------- + * STYMulator is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * STYMulator is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with STYMulator; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +---------------------------------------------------------------------------*/ + +#include "config.h" +#include "sound.h" +#ifdef HAVE_OSS +#include +#include +#include +#include +#endif + +int err, dir; +int resample = 1; +unsigned int rate = 44100; +unsigned int channels = 1; +unsigned int period_time = 100000; + +#ifdef HAVE_ALSA + +snd_pcm_format_t format = SND_PCM_FORMAT_S16; + +unsigned int buffer_time = 500000; + +snd_pcm_uframes_t buffer_size; //22050 +snd_pcm_uframes_t period_size; //4410 + +int alsa_init(snd_pcm_t *pcm_handle, snd_pcm_hw_params_t *hwparams) +{ + if ((err = snd_pcm_hw_params_any(pcm_handle, hwparams)) < 0) { + printf("Broken configuration for playback: no configurations available: %s\n", snd_strerror(err)); + return err; + } +/* removed snd_pcm_hw_params_set_rate_resample function that has been added to alsa-lib since 1.0.9rc2 (more portability) + + if ((err = snd_pcm_hw_params_set_rate_resample(pcm_handle, hwparams, resample)) < 0) { + printf("Resampling setup failed for playback: %s\n", snd_strerror(err)); + return err; + } +*/ + if ((err = snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0) { + printf("Access type not available for playback: %s\n", snd_strerror(err)); + return err; + } + if ((err = snd_pcm_hw_params_set_format(pcm_handle, hwparams, format)) < 0) { + printf("Sample format not available for playback: %s\n", snd_strerror(err)); + return err; + } + if ((err = snd_pcm_hw_params_set_channels(pcm_handle, hwparams, channels)) < 0) { + printf("Channels count (%i) not available for playbacks: %s\n", channels, snd_strerror(err)); + return err; + } + unsigned int rrate = rate; + if ((err = snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, &rrate, 0)) < 0) { + printf("Rate %iHz not available for playback: %s\n", rate, snd_strerror(err)); + return err; + } + if (rrate != rate) { + printf("Rate doesn't match (requested %iHz, get %iHz)\n", rate, err); + return -EINVAL; + } + if ((err = snd_pcm_hw_params_set_buffer_time_near(pcm_handle, hwparams, &buffer_time, &dir)) < 0) { + printf("Unable to set buffer time %i for playback: %s\n", buffer_time, snd_strerror(err)); + return err; + } + if ((err = snd_pcm_hw_params_get_buffer_size(hwparams, &buffer_size)) < 0) { + printf("Unable to get buffer size for playback: %s\n", snd_strerror(err)); + return err; + } + if ((err = snd_pcm_hw_params_set_period_time_near(pcm_handle, hwparams, &period_time, &dir)) < 0) { + printf("Unable to set period time %i for playback: %s\n", period_time, snd_strerror(err)); + return err; + } + if ((err = snd_pcm_hw_params_get_period_size(hwparams, &period_size, &dir)) < 0) { + printf("Unable to get period size for playback: %s\n", snd_strerror(err)); + return err; + } + if ((err = snd_pcm_hw_params(pcm_handle, hwparams)) < 0) { + printf("Unable to set hw params for playback: %s\n", snd_strerror(err)); + return err; + } + return 0; +} +#endif + +#ifdef HAVE_OSS +int format = AFMT_S16_LE; +int period_size; //4410 + +int oss_init(int audio_fd) { + period_size = 4096; + + if (ioctl(audio_fd, SNDCTL_DSP_SETFMT, &format) < 0) { + printf("Cannot set sample format\n"); + return -1; + } + + if (ioctl(audio_fd, SNDCTL_DSP_CHANNELS, &channels) < 0) { + printf("Cannot set audio channels\n"); + return -1; + } + + if (ioctl(audio_fd, SNDCTL_DSP_SPEED, &rate) < 0) { + printf("Cannot set sample rate\n"); + return -1; + } + + return 0; +} +#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/sound.h 16-STYMulator-0.21a_restructure_layout/ymplayer/sound.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/sound.h 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/ymplayer/sound.h 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,48 @@ +/* file: sound.h + + This file is a part of STYMulator - GNU/Linux YM player + + Player & ST-Sound GPL library GNU/Linux port by Grzegorz Tomasz Stanczyk + Project Page: http://atariarea.krap.pl/stymulator + + Original ST-Sound GPL library by Arnaud Carre (http://leonard.oxg.free.fr) + ALSA (Advanced Linux Sound Architecture) library (http://www.alsa-project.org/) + +----------------------------------------------------------------------------- + * STYMulator is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * STYMulator is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with STYMulator; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +---------------------------------------------------------------------------*/ + +#ifndef SOUND_H +#define SOUND_H + +#ifdef HAVE_ALSA +#include + +int alsa_init(snd_pcm_t *pcm_handle, snd_pcm_hw_params_t *hwparams); +extern snd_pcm_uframes_t period_size; +#endif + +#ifdef HAVE_OSS + +#ifdef HAVE_SYS_SOUNDCARD_H +#include +#endif + +int oss_init(int fd); +extern int period_size; +#endif + +#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/ui.cpp 16-STYMulator-0.21a_restructure_layout/ymplayer/ui.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/ui.cpp 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/ymplayer/ui.cpp 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,147 @@ +/* file: ui.c + + This file is a part of STYMulator - GNU/Linux YM player + + Player & ST-Sound GPL library GNU/Linux port by Grzegorz Tomasz Stanczyk + Project Page: http://atariarea.krap.pl/stymulator + + Original ST-Sound GPL library by Arnaud Carre (http://leonard.oxg.free.fr) + ALSA (Advanced Linux Sound Architecture) library (http://www.alsa-project.org/) + +----------------------------------------------------------------------------- + * STYMulator is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * STYMulator is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with STYMulator; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +---------------------------------------------------------------------------*/ + +#if defined(__x86_64__) || defined(__alpha__) || defined(__ia64__)\ + || defined(__ppc64__) || defined(__s390x__) +#define PLATFORM 1 +#else +#define PLATFORM 0 +#endif + +#include "config.h" +#include "stsoundlib/StSoundLibrary.h" +#include "ui.h" +#include + +extern bool digi; + +int pos_x = 0, pos_y = 0; +static int height = 13; +static int width = 80; + +void draw_frame(void) +{ + int y = pos_y; + + move(pos_y, pos_x+1); + if (PLATFORM) + addstr("---- STYMulator v0.21a (64bit) - Atari ST (16-bit) YM music files player -----"); + else + addstr("---- STYMulator v0.21a (32bit) - Atari ST (16-bit) YM music files player -----"); + move(pos_y+8, pos_x+1); + addstr("------------------------------------------------------------------------------"); + move(pos_y+12, pos_x+1); + addstr("----------------------- Copyright (C) 2005-2007 by Grzegorz Tomasz Stanczyk --"); + for (y = pos_y; y < pos_y + 13; y++) { + mvaddch(y, pos_x, '|'); + mvaddch(y, pos_x+79, '|'); + } + mvaddstr(pos_y+1, pos_x+5, "Filename.:"); + mvaddstr(pos_y+2, pos_x+5, "Name.....:"); + mvaddstr(pos_y+3, pos_x+5, "Author...:"); + mvaddstr(pos_y+4, pos_x+5, "Comment..:"); + mvaddstr(pos_y+5, pos_x+5, "Type.....:"); + mvaddstr(pos_y+6, pos_x+5, "Player...:"); + + if (digi) { + mvaddstr(pos_y+7, pos_x+5, "Duration.:"); + mvaddstr(pos_y+5, pos_x+58, "Time...:"); + } + mvaddstr(pos_y+6, pos_x+58, "Status.:"); + mvaddstr(pos_y+7, pos_x+58, "Repeat.:"); + mvaddstr(pos_y+9, pos_x+11, "| z - play | x - pause | c - stop | r - repeat | q - quit |"); + if (digi) + mvaddstr(pos_y+10, pos_x+27, "| n - << | m - >> | "); + move(0,0); + refresh(); +} + +static void clearscreen(void) +{ + wclear(stdscr); + move(0,0); + refresh(); +} + +int ui_init(void) +{ + initscr(); + cbreak(); + noecho(); + curs_set(0); + keypad(stdscr, TRUE); + nodelay(stdscr, 1); + + if (COLS < width || LINES < height) { + ui_end(); + printf("COLS: %d, LINES: %d\n", COLS, LINES); + printf("Sorry, you need a terminal with at least 80 cols and 13 lines.\n"); + exit(0); + } + pos_y=(LINES - height) / 2; + pos_x=(COLS - width) / 2; + + return 0; +} + +void ui_end(void) +{ + clearscreen(); + move(LINES - 1, 0); + refresh(); + nodelay(stdscr, 0); + echo(); + nocbreak(); + endwin(); + putchar('\n'); +} + +void draw_info(ymMusicInfo_t &info, const char *filename) +{ + mvprintw(pos_y+1, pos_x+16, filename); + mvprintw(pos_y+2, pos_x+16, info.pSongName); + mvprintw(pos_y+3, pos_x+16, info.pSongAuthor); + mvprintw(pos_y+4, pos_x+16, info.pSongComment); + mvprintw(pos_y+5, pos_x+16, info.pSongType); + mvprintw(pos_y+6, pos_x+16, info.pSongPlayer); + if (digi) + mvprintw(pos_y+7, pos_x+16, "%2d:%02d", info.musicTimeInSec/60,info.musicTimeInSec%60); + move(0,0); + refresh(); +} + +void draw_time(int sec) +{ + mvprintw(pos_y+5, pos_x+67, "%2d:%02d ", sec / 60, sec % 60); + move(0,0); + refresh(); +} + + + + + diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/ui.h 16-STYMulator-0.21a_restructure_layout/ymplayer/ui.h --- 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/ui.h 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/ymplayer/ui.h 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,41 @@ +/* file: ui.h + + This file is a part of STYMulator - GNU/Linux YM player + + Player & ST-Sound GPL library GNU/Linux port by Grzegorz Tomasz Stanczyk + Project Page: http://atariarea.krap.pl/stymulator + + Original ST-Sound GPL library by Arnaud Carre (http://leonard.oxg.free.fr) + ALSA (Advanced Linux Sound Architecture) library (http://www.alsa-project.org/) + +----------------------------------------------------------------------------- + * STYMulator is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * STYMulator is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with STYMulator; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +---------------------------------------------------------------------------*/ + +#ifndef UI_H +#define UI_H + +#include + +void draw_frame(void); +int ui_init(void); +void ui_end(void); +void draw_info(ymMusicInfo_t &info, const char *argv); +void draw_time(int sec); +extern int pos_x; +extern int pos_y;; + +#endif diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/ym2wav.cpp 16-STYMulator-0.21a_restructure_layout/ymplayer/ym2wav.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/ym2wav.cpp 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/ymplayer/ym2wav.cpp 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,173 @@ +/*----------------------------------------------------------------------------- + + ST-Sound ( YM files player library ) + + Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr ) + + This is a sample program: it's an YM to WAV converter. + +-----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + + This file is part of ST-Sound + + ST-Sound is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + ST-Sound is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ST-Sound; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +-----------------------------------------------------------------------------*/ + +#if defined(__x86_64__) || defined(__alpha__) || defined(__ia64__)\ + || defined(__ppc64__) || defined(__s390x__) +#define PLATFORM 1 +#else +#define PLATFORM 0 +#endif + +#include "config.h" +#include +#include +#include "stsoundlib/StSoundLibrary.h" + +//--------------------------------------------------------------------- +//--------------------------------------------------------------------- +#define NBSAMPLEPERBUFFER 1024 +static ymsample convertBuffer[NBSAMPLEPERBUFFER]; // Sound buffer to create WAV file. + + +//--------------------------------------------------------------------- +// To produce a WAV file. +//--------------------------------------------------------------------- +#define ID_RIFF 0x46464952 +#define ID_WAVE 0x45564157 +#define ID_FMT 0x20746D66 +#define ID_DATA 0x61746164 +typedef struct +{ + ymu32 RIFFMagic; + ymu32 FileLength; + ymu32 FileType; + ymu32 FormMagic; + ymu32 FormLength; + ymu16 SampleFormat; + ymu16 NumChannels; + ymu32 PlayRate; + ymu32 BytesPerSec; + ymu16 Pad; + ymu16 BitsPerSample; + ymu32 DataMagic; + ymu32 DataLength; +} WAVHeader; + +int main(int argc, char* argv[]) +{ + const char *platform; + + if (PLATFORM) + platform = "64bit"; + else + platform = "32bit"; + + //-------------------------------------------------------------------------- + // Checks args. + //-------------------------------------------------------------------------- + printf( "ym2wav (%s) - YM to WAV converter.\n" + "Using ST-Sound Library, under GPL license\n" + "Copyright (C) 1995-1999 Arnaud Carre ( http://leonard.oxg.free.fr )\n" + "GNU/Linux (%s) port by Grzegorz Stanczyk\n", platform, platform); + + if (argc!=3) + { + printf("Usage: ym2wav \n\n"); + return -1; + } + + + //-------------------------------------------------------------------------- + // Load YM music and creates WAV file + //-------------------------------------------------------------------------- + YMMUSIC *pMusic = ymMusicCreate(); + + + if (ymMusicLoad(pMusic,argv[1])) + { + + // Get info about the current music. + ymMusicInfo_t info; + ymMusicGetInfo(pMusic,&info); + + printf("Generating wav file from \"%s\"\n",argv[1]); + printf("%s\n%s\n(%s)\n",info.pSongName,info.pSongAuthor,info.pSongComment); + printf("Total music time: %ld seconds.\n",(long)info.musicTimeInSec); + + FILE *out = fopen(argv[2],"wb"); + if (!out) + { + printf("Unable to create %s file.\n",argv[2]); + return -1; + } + // Reserve space to write the header. + WAVHeader head; + fwrite(&head,1,sizeof(WAVHeader),out); // write non initialized dummy data to reserve space + + + //-------------------------------------------------------------------------- + // Main loop: render each music frame and store to the WAV file. + //-------------------------------------------------------------------------- + ymMusicSetLoopMode(pMusic,YMFALSE); // Be sure there is no loop (to avoid a BIG wav file :-) ) + ymu32 totalNbSample = 0; + + ymMusicStop(pMusic); + ymMusicPlay(pMusic); + + + while (ymMusicCompute(pMusic,convertBuffer,NBSAMPLEPERBUFFER)) + { + fwrite((void*)convertBuffer,sizeof(ymsample),NBSAMPLEPERBUFFER,out); + totalNbSample += NBSAMPLEPERBUFFER; + } + + //-------------------------------------------------------------------------- + // Write the WAV file header and close the file. + //-------------------------------------------------------------------------- + fseek(out,0,SEEK_SET); + head.RIFFMagic = ID_RIFF; + head.FileType = ID_WAVE; + head.FormMagic = ID_FMT; + head.DataMagic = ID_DATA; + head.FormLength = 0x10; + head.SampleFormat = 1; + head.NumChannels = 1; + head.PlayRate = 44100; + head.BitsPerSample = 16; + head.BytesPerSec = 44100*(16/8); + head.Pad = (16/8); + head.DataLength = totalNbSample*(16/8); + head.FileLength = head.DataLength + sizeof(WAVHeader) - 8; + fwrite(&head,1,sizeof(WAVHeader),out); + fseek(out,0,SEEK_END); + fclose(out); + printf("%ld samples written (%.02f Mb).\n",(long)totalNbSample,(float)(totalNbSample*sizeof(ymsample))/(1024*1024)); + } + else + { // Error in loading music. + printf("Error in loading file %s:\n%s\n",argv[1],ymMusicGetLastError(pMusic)); + return -1; + } + + ymMusicDestroy(pMusic); + + return 0; +} + diff -urN 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/ymplayer.cpp 16-STYMulator-0.21a_restructure_layout/ymplayer/ymplayer.cpp --- 15-STYMulator-0.21a_update_more_correct_on_clock/ymplayer/ymplayer.cpp 1970-01-01 01:00:00.000000000 +0100 +++ 16-STYMulator-0.21a_restructure_layout/ymplayer/ymplayer.cpp 2010-04-25 12:27:30.254614061 +0200 @@ -0,0 +1,230 @@ +/* file: ymplayer.cpp + + This file is a part of STYMulator - GNU/Linux YM player + + Player & ST-Sound GPL library GNU/Linux port by Grzegorz Tomasz Stanczyk + Project Page: http://atariarea.krap.pl/stymulator + + Original ST-Sound GPL library by Arnaud Carre (http://leonard.oxg.free.fr) + ALSA (Advanced Linux Sound Architecture) library (http://www.alsa-project.org/) + +----------------------------------------------------------------------------- + * STYMulator is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * STYMulator is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with STYMulator; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +---------------------------------------------------------------------------*/ + +#if defined(__x86_64__) || defined(__alpha__) || defined(__ia64__)\ + || defined(__ppc64__) || defined(__s390x__) +#define PLATFORM 1 +#else +#define PLATFORM 0 +#endif + +#include "config.h" +#include "stsoundlib/StSoundLibrary.h" +#include "ui.h" +#include "sound.h" +#ifdef HAVE_OSS +#include +#include +#include +#include +#endif +#include +#include +#include + +bool digi; + +int main(int argc, char **argv) +{ +bool quit = false; +bool repeat = false; +bool rmode = true; +bool stop = false; +bool pmode = true; +bool paused = false; +bool playing; +bool ff = false; +bool rew = false; + +const char *platform; + + if (PLATFORM) + platform = "64bit"; + else + platform = "32bit"; + + if (argc != 2) { + printf("STYMulator v0.21a (%s) - Copyright (C) 2005-2007 by Grzegorz Tomasz Stanczyk\n", platform); + printf("http://atariarea.krap.pl/stymulator\n"); + printf("\nUsage: ymplayer \n\n"); + return -1; + } + +#ifdef HAVE_ALSA + snd_pcm_t *pcm_handle; + snd_pcm_hw_params_t *hwparams; + snd_pcm_hw_params_alloca(&hwparams); + + snd_output_t *output = NULL; + char pcm_name[] = "default"; + int err; +#endif +#ifdef HAVE_OSS + int audio_fd; + char pcm_name[] = "/dev/dsp"; +#endif + + unsigned int buf; + + + YMMUSIC *pMusic = ymMusicCreate(); + + if (ymMusicLoad(pMusic,argv[1])) { +#ifdef HAVE_ALSA + if ((err = snd_output_stdio_attach(&output, stdout, 0)) < 0) { + printf("Output failed: %s\n", snd_strerror(err)); + return 0; + } + if ((err = snd_pcm_open(&pcm_handle, pcm_name, SND_PCM_STREAM_PLAYBACK, 0)) < 0) { + printf("Playback open error: %s\n", snd_strerror(err)); + return 0; + } + if ((err = alsa_init(pcm_handle, hwparams)) < 0) { + printf("Setting of hwparams failed: %s\n", snd_strerror(err)); + exit(EXIT_FAILURE); + } +#endif +#ifdef HAVE_OSS + if ((audio_fd = open(pcm_name, O_WRONLY)) < 0) { + printf("device open error: %s\n", strerror(errno)); + return 0; + } + if (oss_init(audio_fd) < 0) { + printf("Setting of hwparams failed: %s\n", strerror(errno)); + exit(EXIT_FAILURE); + } +#endif + + buf = period_size; + ymsample *convertBuffer = new ymsample[buf]; + + ymMusicInfo_t info; + ymMusicGetInfo(pMusic,&info); + + digi = strncmp(info.pSongType,"MIX1",4); + + ui_init(); + draw_frame(); + draw_info(info, argv[1]); + + while(!quit) { + playing = ymMusicCompute(pMusic,convertBuffer, buf); + if (digi) + draw_time(ymMusicGetPos(pMusic) / 1000); +#ifdef HAVE_ALSA + if ((err = snd_pcm_writei(pcm_handle, convertBuffer, buf)) == -EPIPE) { + err = snd_pcm_prepare(pcm_handle); + } else if (err == -ESTRPIPE) { + while ((err = snd_pcm_resume(pcm_handle)) == -EAGAIN) + sleep(1); + if (err < 0) { + err = snd_pcm_prepare(pcm_handle); + } + } +#endif +#ifdef HAVE_OSS + if (write(audio_fd, convertBuffer, buf*2) < 0) { + perror("audio device not ready for data"); + } +#endif + switch(getch()) { + case 27: case 'q': quit = true; break; + case 'z': pmode = true; break; //play + case 'x': paused = true; break; //pause + case 'c': pmode = false; break; //stop + case 'r': rmode = true; break; + case 'm': ff = true; break; + case 'n': rew = true; break; + } + if (rmode) + { + if (repeat) { + ymMusicSetLoopMode(pMusic,YMTRUE); + mvaddstr(pos_y+7,pos_x+67,"Yes"); + rmode = false; + repeat = false; + } else { + ymMusicSetLoopMode(pMusic,YMFALSE); + mvaddstr(pos_y+7,pos_x+67,"No "); + rmode = false; + repeat = true; + } + } + if (!stop && playing) { + if (pmode && !paused) + mvaddstr(pos_y+6,pos_x+67,"Play"); //play + else if (pmode && paused) { + ymMusicPause(pMusic); //pause + mvaddstr(pos_y+6,pos_x+67,"Pause"); + stop = true; + pmode = false; + + } else if (!pmode) { //stop + ymMusicStop(pMusic); + mvaddstr(pos_y+6,pos_x+67,"Stop "); + stop = true; + } + } else if (pmode && playing) { + ymMusicPlay(pMusic); + mvaddstr(pos_y+6,pos_x+67,"Play "); + stop = false; + paused = false; + } else if (!playing) { + ymMusicLoad(pMusic,argv[1]); // hmmm :/ + pmode = false; + } + + if (ymMusicIsSeekable(pMusic) && digi) + { + if (ff) { + ymMusicSeek(pMusic, ymMusicGetPos(pMusic) + 1000); + ff = false; + } else if (rew) { + ymMusicSeek(pMusic, ymMusicGetPos(pMusic) - 1000); + rew = false; + } + } + } + + ymMusicStop(pMusic); +#ifdef HAVE_ALSA + snd_pcm_close(pcm_handle); +#endif +#ifdef HAVE_OSS + close(audio_fd); +#endif + delete convertBuffer; + ui_end(); + + } else { + printf("Error in loading file %s: %s\n", argv[1], ymMusicGetLastError(pMusic)); + } + + ymMusicDestroy(pMusic); + + return 0; +}