changeset 0:acb5694e93d9

Initial import.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 18 May 2010 04:25:44 +0300
parents
children c991b6639ede
files COMPILING COPYING Makefile configure.c final_isi/Makefile final_isi/README final_isi/filogo.h final_isi/fiscroll.c final_isi/fiscroll.o final_isi/fisi.h final_isi/fisi3d.c final_isi/fisi3d.o final_isi/fisiansi.h final_isi/fisidemo.c final_isi/fisidemo.o final_isi/fisieffu.c final_isi/fisieffu.o final_isi/fisifont.c final_isi/fisifont.o final_isi/fisimain.c final_isi/fisimain.o final_isi/fisimusa.h final_isi/fisitime.c final_isi/fisitime.o final_isi/sini.h final_isi/sini16.h final_isi/tmp final_isi/wrapper.c final_isi/wrapper.h flier/Makefile flier/pwpflier.c font/vizn7.fnt font/vizn7.fnt.pl msdos/asmo.asm msdos/menu.c msdos/pwplib.h msdos/timer.c nykyaeka/Makefile.in nykyaeka/font.c nykyaeka/font.h nykyaeka/font.pl nykyaeka/joo nykyaeka/landscro.c nykyaeka/main.c nykyaeka/make-mssrc.sh nykyaeka/musa.c nykyaeka/musa.h nykyaeka/musa.pl nykyaeka/pics.h nykyaeka/planes.c nykyaeka/pwp-sf.txt nykyaeka/pwpdemo.h nykyaeka/spritegen.c nykyaeka/sprites.c nykyaeka/sprites.h nykyaeka/sprites.pl oldchsool/Makefile.in oldchsool/font.c oldchsool/font.h oldchsool/font.pl oldchsool/joo oldchsool/landscro.c oldchsool/main.c oldchsool/musa.c oldchsool/musa.h oldchsool/musa.pl oldchsool/pics.h oldchsool/planes.c oldchsool/pwpdemo.h oldchsool/spritegen.c oldchsool/sprites.c oldchsool/sprites.h oldchsool/sprites.pl peluce/Makefile.in peluce/elevdemo.c peluce/font-gen.pl peluce/font.c peluce/font.h peluce/landscroll.c peluce/main.c peluce/musa.c peluce/musa.h peluce/peluce peluce/planes.c peluce/pwpdemo.h peluce/spritegen.c peluce/sprites.c peluce/sprites.h pwplib/Makefile.in pwplib/X11.c pwplib/attrconv.c pwplib/auconv.c pwplib/colorterm.c pwplib/config.h pwplib/convert.c pwplib/convert.h pwplib/decterm.c pwplib/dumbterm.c pwplib/gb.c pwplib/glyphgen.c pwplib/init.c pwplib/linuxcon.c pwplib/locale.c pwplib/lossy.c pwplib/pvp.c pwplib/pwplib-unix.c pwplib/pwplib-w32.c pwplib/pwplib.c pwplib/pwplib.h pwplib/pwplib.todo pwplib/rastconv.c pwplib/sdl.c pwplib/setup.c pwplib/snd-hpux.c pwplib/snd-oss.c pwplib/snd-sdl.c pwplib/snd-w32.c pwplib/tty.c pwplib/tty.h pwplib/types.h pwplib/win32con.c pwpzax/Final_Isi.h pwpzax/Future_Moottori.h pwpzax/Go_Mazzembly.h pwpzax/Ikuisuus.h pwpzax/iku_musa.h pwpzax/zaxplay.c
diffstat 127 files changed, 23888 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/COMPILING	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,18 @@
+Quick and dirty guide to make it:
+
+- Just type make and follow the instructions
+- Or just do make <your desired systype>
+
+The available systypes are: unix, linux, hpux, cygwin, win32
+
+The experience on previous versions of pwplib also suggests succesful
+compilation on the following platforms:
+   - Solaris/SPARC (without sound support; also with native compiler)
+   - AIX/PowerPC (without sound support; also with native compiler)
+
+We hope to support even more platforms (such as msdos, palmos,
+macos and msx) in the future.
+
+We will release a final version sometimes after the party (Proxy 2001),
+hopefully with tested+easier compilation.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/COPYING	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,339 @@
+		    PWP GENERAL PUBLIC LICENSE
+		       Version 2, June 2001
+
+ Copyright (C) 2001, 2001 Elite Warez Foundation, Inc.
+                          675 Mass Ave, Cambridge, MA 02139, Alpha Centauri
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most Warez are designed to take away your
+Elitedom to share and change it.  By contrast, the PWP General Public
+License is intended to guarantee your Elitedom to share and change Elite
+Warez--to make sure the Warez is Elite for all its users.  This
+General Public License applies to most of the Elite Warez
+Foundation's Warez and to any other program whose authors commit to
+using it.  (Some other Elite Warez Foundation Warez is covered by
+the PWP Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of Elite Warez, we are referring to Elitedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the Elitedom to distribute copies of Elite Warez (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the Warez or use pieces of it
+in new Elite programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the Warez, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the Warez, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the Warez.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this Elite
+Warez.  If the Warez is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any Elite program is threatened constantly by Warez
+patents.  We wish to avoid the danger that redistributors of a Elite
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's Elite use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    PWP GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for Warez interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for Warez interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-Elite redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the Elite Warez distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of Warez distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute Warez through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Elite Warez Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Elite
+Warez Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Elite Warez
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other Elite
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For Warez which is copyrighted by the Elite
+Warez Foundation, write to the Elite Warez Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the Elite status of all derivatives of our Elite Warez and
+of promoting the sharing and reuse of Warez generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED Elite OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	Appendix: How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+Elite Warez which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    This program is Elite Warez; you can redistribute it and/or modify
+    it under the terms of the PWP General Public License as published by
+    the Elite Warez Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program 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
+    PWP General Public License for more details.
+
+    You should have received a copy of the PWP General Public License
+    along with this program; if not, write to the Elite Warez
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, Alpha Centauri.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Fucking Shit version 69, Copyright (C) 19yy name of author
+    Fucking Shit comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is Elite Warez, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Fucking Shit' (which makes passes at compilers) written by James Hacker.
+
+  <signature of viznut>, 1 April 2001
+  viznut, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the PWP Library General
+Public License instead of this License.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,46 @@
+all: pwplib.a
+	cd peluce; make
+	cd nykyaeka; make
+	cd oldchsool; make
+
+./configure:
+	$(CC) configure.c -o configure
+
+pwplib/Makefile: ./configure
+	./configure
+	exit 123
+
+pwplib.a: pwplib/Makefile
+	cd pwplib; make
+
+clean:
+	rm -f *~ ./configure ./configure.exe
+	cd pwplib; make clean; rm -f Makefile
+	cd peluce; make clean; rm -f Makefile
+	cd nykyaeka; make clean; rm -f Makefile
+	cd oldchsool; make clean; rm -f Makefile
+
+linux: ./configure
+	./configure linux
+	make all
+
+sdl: ./configure
+	./configure sdl
+	make all
+
+unix: ./configure
+	./configure unix
+	make all
+
+hpux: ./configure
+	./configure hpux
+	make all
+
+cygwin: ./configure
+	./configure cygwin
+	make all
+
+win32: ./configure
+	./configure win32
+	make all
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/configure.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,184 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+/*
+ *	WE BE ELEET ENOUGH NOT TO HASSLE WITH PHUKKEN
+ *	BOURNE SHELL SCRIPTAHS
+ */
+
+const char*pwplogo=
+"\033[2J\033[H\n"
+"   \033[36;46mMMmmmmmmMM\033[0m\n"
+"       \033[36;46mMM\033[0m\n"
+"    \033[31;41mxxxxxxxxxxxx\033[0m\n"
+"    \033[31;41mxxxxxxxxxxxxxxxxxxx\033[0m\n"
+"   \033[31;41mxxxxxxxxx\033[0m\n"
+"   \033[33;43mZZZZZ\033[34;44m....\033[0m        %%%%%%%%%  %%%        %%%  %%%%%%%%%\n"
+"  \033[37;47m@@@@\033[34;44m......\033[0m        %%%%%%%%%. %%%....... %%%. %%%%%%%%%....\n"
+"  \033[37;47m@@@@\033[34;44m....\033[37mo\033[34m.\033[0m   .....%%%   %%%  %%%   %%%  %%%  %%%   %%%\n"
+" \033[37;47m@@@@@@@\033[34;44m....\033[0m        %%%   %%%  %%%   %%%  %%%  %%%   %%%\n"
+" \033[37;47m@@@@@@@@@@@\033[0m        %%%%  %%%  %%%   %%%  %%%  %%%%  %%%\n"
+" \033[37;47m@@@@@@@@@@@@@\033[0m      %%%%  %%%  %%%   %%%  %%%  %%%%  %%%\n"
+" \033[37;47m@@@@@@@@@@@@@@@\033[0m    %%%%%%%%%  %%%   %%%  %%%  %%%%%%%%%\n"
+"  \033[37;47m@@@@\033[0m              %%%%%%%%%  %%%   %%%  %%%  %%%%%%%%%\n"
+"  \033[37;47m@@@@@@\033[0m            %%%        %%%%% %%%  %%%  %%%\n"
+"  \033[37;47m@@@@@@@@@@\033[0m  \033[31;41mxx\033[0m    %%%        %%%%% %%%  %%%  %%%\n"
+"  \033[37;47m@@@@@@@@@@@@@@\033[0m    %%%        %%%%% %%%% %%%  %%%\n"
+"   \033[37;47m@@@@@@@@@@@\033[0m      %%%        %%%%% %%%% %%%  %%%\n"
+"   \033[37;47m@@@@@@@@@\033[0m   .....%%%....... %%%%%%%%%%%%%%. %%%..........\n"
+"     \033[37;47m@@@@@\033[0m          %%%        %%%%%%%%%%%%%%  %%%\n"
+"     \033[37;47m@@@@\033[0m\n\n";
+
+
+char*prods[] = { "pwplib", "peluce", "nykyaeka", "oldchsool", NULL };
+
+void printconfig_win32native(f,name,mingwdir,mingwgcclib)
+     FILE*f; char*name,*mingwdir,*mingwgcclib;
+{
+    if(strcmp(name,"pwplib")) {
+
+    fprintf(f,"\n\n"
+             "%s: $(OBJS)\n"
+             "\tld -Bdynamic -o %s.exe %s/lib/crt2.o "
+                  "-L%s/lib -L%s $(OBJS) ../pwplib.a "
+                  "-lgcc -lmoldname -lmsvcrt -lkernel32 "
+                  "-lwinmm -lmingw32\n"
+             "\tstrip %s.exe\n"
+             "\tupx %s.exe\n\n",
+
+             name,
+             name,mingwdir,
+             mingwdir,mingwgcclib,
+             name,name);
+   }
+
+   fprintf(f,"%%.o: %%.c\n"
+             "\tgcc -O2 -mno-cygwin -I../pwplib -c -o $@ -DDRIVE_WIN32 $(@:.o=.c)\n\n");
+}
+
+char*systype;
+
+int cpu_is_little_endian()
+{
+   int numeric=1;
+   char*s=(char*)&numeric;
+   return (int)(*s);
+}
+
+void printconfig_unix(f,name,ccinvo,ldflags)
+     FILE*f; char*name,*ccinvo,*ldflags;
+{
+   if(strcmp(name,"pwplib")) {
+
+   fprintf(f,"\n\n"
+             "%s: $(OBJS) ../pwplib.a\n"
+             "\t%s -o $@ $+ %s\n\n",
+             name,ccinvo,ldflags);
+   }
+
+   fprintf(f,"%%.o: %%.c\n"
+             "\t%s -I../pwplib -c -o $@ $(@:.o=.c)\n\n",
+             ccinvo);
+}
+
+void print_valid_systypes()
+{
+   puts("* Valid systypes are:\n"
+        "  linux  - linux with oss & vcsa console (host endian check)\n"
+        "  sdl    - generic unix with SDL library (host endian check)\n"
+        "  unix   - generic unix without sound support (host endian check)\n"
+        "  hpux   - hp-ux (big-endian unix with native sound support)\n"
+        "  cygwin - windows pc system with cygwin\n"
+        "  win32  - native win32 binary (cygwin + mingw32 libraries)\n\n");
+}
+
+void makeconfig(prodname,systype)
+     char*prodname,*systype;
+{
+    char makefile_in[32],makefile[32];
+    FILE *f_in,*f;
+
+    printf("* Writing makefile for %s\n",prodname);
+
+    sprintf(makefile_in,"%s/Makefile.in",prodname);
+    sprintf(makefile,   "%s/Makefile",   prodname);
+
+    f_in = fopen(makefile_in,"r");
+    f    = fopen(makefile,   "w");
+
+    if(f==NULL) { puts("* Error writing Makefile\n"); exit(1); }
+    if(f_in==NULL) { puts("* Error reading Makefile.in\n"); exit(1); }
+
+    {int c;
+     while((c=fgetc(f_in))!=EOF) { fputc(c,f); }}
+
+    if(!strcmp(systype,"unix"))
+    {
+       if(!cpu_is_little_endian())
+       printconfig_unix(f,prodname,"gcc -O2 -DUNIX -DBIG_ENDIAN","-lm"); else
+       printconfig_unix(f,prodname,"gcc -O2 -DUNIX","-lm");
+    }
+    else
+    if(!strcmp(systype,"hpux"))
+       printconfig_unix(f,prodname,"gcc -O2 -DUNIX -DBIG_ENDIAN -DDRIVE_HPUX","-lm");
+    else
+    if(!strcmp(systype,"linux"))
+    {
+       if(!cpu_is_little_endian())
+       printconfig_unix(f,prodname,"gcc -O2 -DUNIX -DDRIVE_OSS -DDRIVE_LINUXCON -DBIG_ENDIAN","-lm");else
+       printconfig_unix(f,prodname,"gcc -O2 -DUNIX -DDRIVE_OSS -DDRIVE_LINUXCON","-lm");
+    }
+    else
+    if(!strcmp(systype,"sdl"))
+    {
+       if(!cpu_is_little_endian())
+       printconfig_unix(f,prodname,"gcc -O2 -DUNIX -DDRIVE_SDL -DBIG_ENDIAN `sdl-config --cflags`","-lm `sdl-config --libs`");else
+       printconfig_unix(f,prodname,"gcc -O2 -DUNIX -DDRIVE_SDL `sdl-config --cflags`","-lm `sdl-config --libs`");
+    }
+    else
+    if(!strcmp(systype,"cygwin")) 
+       printconfig_unix(f,prodname,"gcc -O2 -DDRIVE_WIN32","-lm -lwinmm");   
+    else
+    if(!strcmp(systype,"win32"))
+      printconfig_win32native
+      (f,prodname,"/usr/local/mingw",
+       "/usr/local/mingw/lib/gcc-lib/mingw32/2.95.3-4");
+    else
+    {
+       puts("* Invalid systype!"); print_valid_systypes();
+       exit(1);
+    }
+
+    fclose(f_in);
+    fclose(f);
+}
+
+int main(argc,argv)
+    int argc; char**argv;
+{
+    puts(pwplogo);
+
+    if(argc<=1)
+    {
+       printf("* Usage: %s systype\n",argv[0]);
+       print_valid_systypes();
+       exit(0);
+    }
+     else systype=argv[1];
+
+    {char**p=prods;
+     while(*p!=NULL)
+     {
+        makeconfig(*p,systype);
+        p++;
+     }
+    }
+
+    puts("* Finished writing makefiles! Now 'make'\n");
+
+    return 0;
+}
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/Makefile	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,17 @@
+TARGETS=fisi
+
+all: fisi
+
+CFLAGS = -g -O2 -W -Wall
+LDFLAGS = -g
+
+OBJS = fiscroll.o fisi3d.o fisidemo.o fisieffu.o fisifont.o fisimain.o fisitime.o wrapper.o
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $<
+
+fisi: $(OBJS) ../pwplib.a
+	$(CC) $(LDFLAGS) -c -o $@ $+ `sdl-config --libs`
+
+clean:
+	$(RM) $(TARGETS) *.o
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/README	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,3 @@
+Final Isi port requires a standard pwplib version to compile.
+
+Get it from http://www.hytti.uku.fi/~vheikkil/pwp/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/filogo.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,68 @@
+/* TheDraw C Crunched Screen Image.  Date: 05/17/98 */
+#define LOGO_WIDTH 80
+#define LOGO_DEPTH 25
+#define LOGO_LENGTH 749
+unsigned char LOGO [] = {
+   0x03, 0x10, 0x1A, 0x0A,  'Û', 0x19, 0x03,  'ß',  'ß',  'ß', 0x1A, 0x03,
+    'Û',  'ß',  'ß',  'ß', 0x19, 0x03,  'Û',  'Û',  'Û', 0x1A, 0x05,  'ß',
+    'Û',  'Û',  'Û', 0x19, 0x03,  'Û',  'Û',  'Û', 0x1A, 0x05,  'ß',  'Û',
+    'Û',  'Û', 0x19, 0x02,  'Û',  'Û',  'Û', 0x18,  'Û',  'Û',  'Û', 0x1A,
+   0x04,  'Ü', 0x19, 0x09, 0x1A, 0x03,  'Û', 0x19, 0x06,  'Û',  'Û',  'Û',
+   0x19, 0x05,  'Û',  'Û',  'Û', 0x19, 0x03,  'Û',  'Û',  'Û', 0x1A, 0x05,
+    'ß',  'Û',  'Û',  'Û', 0x19, 0x02,  'Û',  'Û',  'Û', 0x1A, 0x09,  'Ü',
+   0x18,  'Û',  'Û',  'Û', 0x19, 0x0B,  'Ü',  'Ü',  'Ü', 0x1A, 0x03,  'Û',
+    'Ü',  'Ü',  'Ü', 0x19, 0x03,  'Û',  'Û',  'Û', 0x19, 0x05,  'ß',  'ß',
+    'ß', 0x19, 0x03,  'ß',  'ß',  'ß', 0x19, 0x05,  'Û',  'Û',  'Û', 0x19,
+   0x02, 0x08,  'Ü', 0x18, 0x19,  ' ', 0x07,  'Ü', 0x06, 0x17,  '°',  '°',
+    ' ',  '°',  '°',  '°',  ' ',  ' ',  '°',  '°', 0x00,  'ß', 0x10, 0x19,
+   0x0E, 0x08,  'Û',  ' ',  'Û', 0x18, 0x19, 0x17, 0x07,  'Ú', 0x1A, 0x05,
+    'Ä',  ' ',  'Þ', 0x17,  ' ',  ' ', 0x04,  '(', 0x02,  '-', 0x04,  ')',
+    ' ',  ' ',  '(', 0x02,  '-', 0x04,  ')',  ' ',  ' ', 0x07, 0x10,  'Ý',
+    ' ',  ' ',  'Ä',  'Ä',  'Ä',  '¿',  ' ',  ' ',  'Ú',  'Ä',  'Ä',  ' ',
+   0x08,  'Ü', 0x1A, 0x03,  'Û',  'Ü',  'Ü',  'Ü', 0x18, 0x19, 0x08, 0x07,
+    'Ú', 0x1A, 0x08,  'Ä',  '¿', 0x19, 0x03,  '³', 0x19, 0x06, 0x17, 0x19,
+   0x05, 0x04,  'ú',  'ú', 0x19, 0x05, 0x10, 0x19, 0x04, 0x07,  '³',  ' ',
+    'Ä',  'Ù',  ' ',  ' ', 0x08, 0x1A, 0x04,  'Û',  'Ü',  'Ü', 0x18, 0x19,
+   0x08, 0x07,  '³', 0x09,  'þ',  'þ',  'þ', 0x19, 0x05, 0x07,  '³', 0x1A,
+   0x04,  'Ä',  '¿', 0x19, 0x05, 0x17,  ' ', 0x0C,  ')',  ' ',  ' ', 0x00,
+    'Ü', 0x06,  'Ü', 0x00,  'Ü', 0x0F,  'Ü', 0x06,  'Ü', 0x00,  'Ü',  ' ',
+    ' ', 0x0C,  '(',  ' ', 0x10, 0x19, 0x04, 0x07,  '³', 0x19, 0x03, 0x08,
+    'Ü', 0x1A, 0x03,  'Û', 0x18, 0x19, 0x02, 0x07,  'Ú', 0x1A, 0x03,  'Ä',
+    ' ',  '³', 0x09,  'þ',  'þ', 0x19, 0x06, 0x07,  '³', 0x19, 0x04,  '³',
+   0x19, 0x05,  'Þ', 0x17,  ' ',  ' ', 0x00,  'ß', 0x06,  'ß', 0x0F,  'ß',
+   0x00,  'ß', 0x06,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß',  ' ',  ' ',
+   0x07, 0x10,  'Ý', 0x19, 0x08, 0x08, 0x1A, 0x04,  'Û', 0x18, 0x19, 0x02,
+   0x07,  '³', 0x09,  'þ',  'þ',  'þ',  ' ',  ' ', 0x07,  '³', 0x09,  'þ',
+   0x19, 0x07, 0x07,  '³', 0x19, 0x06, 0x08, 0x1A, 0x04,  'Ü', 0x17,  '°',
+    '°',  '°', 0x1A, 0x06,  '±', 0x1A, 0x03,  '°', 0x10, 0x1A, 0x04,  'Ü',
+    ' ',  ' ',  'Ü', 0x1A, 0x04,  'Û', 0x19, 0x03, 0x07,  'Ú', 0x1A, 0x04,
+    'Ä',  '¿', 0x18, 0x19, 0x02,  '³', 0x09,  'þ',  'þ', 0x19, 0x02, 0x07,
+    '³', 0x19, 0x0D, 0x08,  'Ü', 0x17, 0x1A, 0x06,  'Û',  '°',  '°',  '°',
+   0x1A, 0x04,  '±',  '²', 0x1A, 0x04,  '°', 0x1A, 0x05,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x19, 0x04, 0x07,  '³', 0x19, 0x04,  '³', 0x18, 0x19, 0x02,
+    '³', 0x09,  'þ', 0x19, 0x03, 0x07,  '³', 0x19, 0x0B, 0x08,  'Ü', 0x17,
+   0x1A, 0x06,  'Û',  '±', 0x1A, 0x03,  '°',  '±',  '±',  '±',  '²',  '²',
+    '²', 0x1A, 0x05,  '°', 0x1A, 0x07,  'Û', 0x10,  'Û',  'Û', 0x19, 0x03,
+   0x07,  'Ú',  'Ä',  '´', 0x19, 0x04,  '³', 0x18, 0x19, 0x02,  '³', 0x19,
+   0x04,  '³', 0x19, 0x09, 0x08,  'Ü', 0x17, 0x1A, 0x07,  'Û',  '°',  '°',
+    '°',  'Û',  '°',  '°',  '±',  '±',  '²',  '²',  '²',  '±', 0x1A, 0x04,
+    '°', 0x1A, 0x09,  'Û', 0x10,  'Û', 0x19, 0x03, 0x07,  '³', 0x18, 0x19,
+   0x08,  '³', 0x19, 0x07, 0x08,  'Ü', 0x17, 0x1A, 0x0F,  'Û',  '±', 0x1A,
+   0x04,  '²', 0x1A, 0x0F,  'Û', 0x18, 0x10, 0x19, 0x0E,  'Ü', 0x17, 0x1A,
+   0x12,  'Û',  '±',  '²',  '²',  '°',  '±', 0x1A, 0x10,  'Û', 0x18, 0x10,
+   0x19, 0x0D,  'Ü', 0x17, 0x1A, 0x05,  'Û', 0x10,  ' ', 0x17, 0x1A, 0x0C,
+    'Û',  '±',  '²',  '²', 0x1A, 0x12,  'Û', 0x18, 0x10, 0x19, 0x0C, 0x17,
+   0x1A, 0x05,  'Û', 0x10,  'Ý',  ' ',  'Þ', 0x17, 0x1A,  '!',  'Û', 0x10,
+    'Ý', 0x18, 0x19, 0x0B, 0x17, 0x1A, 0x05,  'Û', 0x10,  'Ý',  ' ',  ' ',
+   0x17, 0x1A, 0x22,  'Û', 0x18, 0x10, 0x19, 0x0B,  'ß',  ' ',  'Û',  ' ',
+    'Û',  ' ',  'ß', 0x19, 0x02, 0x1A,  ' ',  'Û', 0x18, 0x19, 0x16,  'ß',
+    'ß', 0x1A, 0x1B,  'Û',  'ß', 0x18, 0x19, 0x1A, 0x1A, 0x09,  'Û', 0x19,
+   0x04,  'ß', 0x1A, 0x06,  'Û',  'Ü', 0x18, 0x19, 0x1A, 0x1A, 0x09,  'Û',
+   0x19, 0x06,  'ß', 0x1A, 0x06,  'Û',  'Ü', 0x19, 0x04,  'Ü',  'Ü', 0x18,
+   0x19, 0x0A,  'Ü', 0x1A, 0x19,  'Û', 0x19, 0x07,  'ß', 0x1A, 0x0D,  'Û',
+    'Ü', 0x18, 0x03, 0x1A, 0x15,  'Û', 0x19, 0x04, 0x1A, 0x15,  'Û', 0x19,
+   0x02, 0x1A, 0x15,  'Û', 0x18, 0x19, 0x07, 0x1A, 0x05,  'Û', 0x19, 0x0C,
+   0x1A, 0x04,  'Û', 0x1A, 0x10,  'Ü', 0x19, 0x0B, 0x1A, 0x05,  'Û', 0x18,
+   0x1A, 0x07,  'Ü', 0x1A, 0x05,  'Û', 0x1A, 0x07,  'Ü', 0x19, 0x04, 0x1A,
+   0x0F,  'Ü', 0x1A, 0x05,  'Û', 0x19, 0x02, 0x1A, 0x08,  'Ü', 0x1A, 0x05,
+    'Û', 0x1A, 0x06,  'Ü', 0x18};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/fiscroll.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,118 @@
+#include "wrapper.h"
+
+#include "fisi.h"
+
+/********************** sKROLLER *******************************/
+
+struct{
+	int offset;
+	int zoom;
+}skrl[50];
+
+/*extern char txr_slime[];*/
+/*#define skrmap0 txr_slime*/
+
+char skrmap0[256]={
+0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,
+0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,
+0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,
+0x01,0x01,0x00,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,
+0x01,0x01,0x00,0x01,0x10,0x10,0x11,0x11,0x11,0x11,0x11,0x11,0x10,0x10,0x01,0x01,
+0x01,0x01,0x01,0x01,0x10,0x11,0x11,0x10,0x10,0x10,0x10,0x11,0x11,0x10,0x10,0x01,
+0x01,0x01,0x01,0x10,0x10,0x11,0x10,0x10,0x01,0x01,0x10,0x10,0x11,0x11,0x10,0x01,
+0x01,0x01,0x01,0x10,0x11,0x11,0x10,0x10,0x01,0x01,0x10,0x10,0x11,0x11,0x10,0x01,
+0x01,0x01,0x10,0x10,0x11,0x11,0x10,0x10,0x10,0x10,0x10,0x11,0x11,0x10,0x01,0x01,
+0x01,0x10,0x10,0x11,0x11,0x10,0x10,0x10,0x11,0x11,0x11,0x11,0x10,0x10,0x01,0x01,
+0x01,0x10,0x11,0x11,0x10,0x01,0x10,0x10,0x11,0x10,0x10,0x10,0x10,0x01,0x01,0x10,
+0x01,0x10,0x11,0x10,0x01,0x01,0x01,0x10,0x11,0x10,0x01,0x01,0x01,0x01,0x11,0x10,
+0x01,0x10,0x11,0x10,0x10,0x01,0x10,0x10,0x11,0x10,0x01,0x10,0x11,0x10,0x11,0x10,
+0x01,0x10,0x10,0x11,0x10,0x10,0x10,0x11,0x10,0x10,0x01,0x10,0x11,0x10,0x01,0x10,
+0x01,0x01,0x10,0x11,0x11,0x11,0x11,0x11,0x10,0x01,0x01,0x01,0x01,0x10,0x01,0x00,
+0x00,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01
+};
+
+char skrmap[512];
+unsigned char skramble[256];
+
+extern char sini[];
+
+int skr_parms;
+int skr_ambles;
+
+extern char lensb[],txr_neon[],txr_dunneon[],txr_slime[];
+
+scr_txr(int k)
+{
+      int i;char*j=skrmap;char*txr;
+      if(k==0)txr=skrmap0;
+      if(k==1)txr=lensb;
+      if(k==2)txr=txr_neon;
+      if(k==3)txr=txr_dunneon;
+      if(k==4)txr=txr_slime;
+      for(i=256;i;i--)*j++=*txr++;
+}
+
+scroller_init(int parms)
+{
+	int y;
+	skr_parms=parms;
+
+	if(parms&HORIZON){
+        for(y=0;y<50;y++){
+		skrl[y].offset=(200/(4+y))<<12; /* 10+ */
+                skrl[y].zoom  =1000/(10+y);  /* 2400 */
+	}
+	}else
+        for(y=0;y<50;y++){
+		skrl[y].offset=(1200/(20+y))<<12;  /* 1200 */
+		skrl[y].zoom  =2000/(10+y);        /* 2000 */
+	}
+
+	if(parms&NOSKRAMBLE){
+		memcpy(skrmap,skrmap0,256);
+		skr_ambles=0;
+	}
+	else
+	{
+	memset(skrmap,0,256);
+	for(y=0;y<256;y++)skramble[y]=y;
+	for(y=0;y<256;y++){
+		int j=rand()&255,tmp;
+		tmp=skramble[j];skramble[j]=skramble[y];skramble[y]=tmp;
+	}
+	skr_ambles=256;
+	}
+}
+
+scroller_do(char*buf,int t,int hg)
+{
+
+	static int lastt=0;
+	char*d=buf;int y,offy;
+
+        if(hg<0)hg=0;else if(hg>49)hg=49;
+
+        memset(d,0,80*(50-hg));
+        d+=80*(50-hg);
+
+	if(skr_ambles){int tt=t;if(tt>256)tt=256;
+  	  while(lastt<tt)if(skr_ambles){
+		int j=skramble[skr_ambles--&255];
+                skrmap[j]=skrmap0[j];
+		/*skrmap[j+256]=skrmap0[j];*/
+		lastt++;
+	}}
+
+	if(skr_parms&HORIZON)
+		offy=-(t<<6)+(t<<12)&~3;else offy=(t<<6);
+
+        for(y=0;y<hg;y++){
+		register int ofz=skrl[y].offset+offy,dofz=skrl[y].zoom;
+		#ifndef MSDOS_ASM
+		  {int x=80;for(;x;x--)*d++=skrmap[((ofz+=dofz)>>8)&255];}
+		#else
+  		  skr_dorow(d,skrmap,dofz,ofz);
+                  d+=80;
+                #endif
+	}
+}
Binary file final_isi/fiscroll.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/fisi.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,26 @@
+#define SINGLE 1
+#define HYBRID 2
+#define DOUBLE 3
+
+/***********************/
+
+#define NONE 0
+
+/***********************/
+
+#define SCROLLER 1
+
+#define NOSKRAMBLE 1
+#define HORIZON 2
+
+/***********************/
+
+typedef struct{signed int curr,targ,frac;}framekey;
+
+#define OX 0
+#define OY 1
+#define OZOOM 2
+#define OROT 3
+#define OHGT 4
+#define OFLX 5
+#define OFLY 6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/fisi3d.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,385 @@
+#include "wrapper.h"
+
+/*****/
+
+char txr_wsygn[16*16]={  /* syaani/sininen. hieno. parempi keltapunas„vyiss„? */
+0x11,0x19,0x97,0x97,0x97,0x11,0x11,0x11,0x79,0x97,0x97,0x97,0x11,0x11,0x11,0x11,
+0x11,0x79,0x97,0x97,0x97,0x79,0x19,0x11,0x79,0x97,0x97,0x97,0x11,0x19,0x11,0x11,
+0x11,0x11,0x91,0x97,0x97,0x97,0x19,0x11,0x19,0x97,0x97,0x97,0x79,0x19,0x11,0x11,
+0x11,0x19,0x79,0x97,0x97,0x97,0x19,0x11,0x11,0x91,0x97,0x97,0x97,0x19,0x11,0x11,
+0x11,0x91,0x97,0x97,0x97,0x91,0x11,0x11,0x19,0x79,0x97,0x97,0x97,0x79,0x11,0x11,
+0x11,0x19,0x97,0x77,0x97,0x11,0x11,0x11,0x19,0x97,0x97,0x97,0x91,0x19,0x11,0x11,
+0x11,0x79,0x97,0x97,0x97,0x97,0x79,0x19,0x11,0x97,0x97,0x97,0x79,0x19,0x11,0x11,
+0x11,0x11,0x91,0x97,0x77,0x97,0x19,0x11,0x11,0x91,0x97,0x97,0x97,0x79,0x10,0x10,
+0x11,0x11,0x11,0x97,0x77,0x97,0x19,0x11,0x11,0x11,0x97,0x77,0x97,0x11,0x11,0x10,
+0x11,0x19,0x79,0x97,0x97,0x97,0x19,0x11,0x19,0x79,0x97,0x97,0x97,0x19,0x11,0x10,
+0x11,0x19,0x97,0x97,0x97,0x91,0x11,0x11,0x19,0x97,0x97,0x97,0x91,0x19,0x11,0x10,
+0x11,0x19,0x97,0x77,0x97,0x11,0x11,0x11,0x11,0x97,0x77,0x97,0x79,0x19,0x11,0x11,
+0x11,0x79,0x97,0x97,0x97,0x79,0x19,0x11,0x10,0x97,0x97,0x97,0x97,0x19,0x11,0x11,
+0x11,0x11,0x91,0x97,0x97,0x97,0x19,0x11,0x19,0x79,0x97,0x97,0x97,0x11,0x11,0x11,
+0x11,0x19,0x79,0x97,0x97,0x97,0x19,0x11,0x19,0x97,0x97,0x97,0x91,0x19,0x11,0x11,
+0x11,0x79,0x97,0x97,0x97,0x79,0x19,0x11,0x79,0x97,0x97,0x97,0x79,0x19,0x11,0x10
+};
+
+
+char txr_dunneon[16*16]={  /* neonjuovia. k„ytett„v„. */
+0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x80,
+0x80,0x80,0x80,0x00,0x08,0x80,0x80,0x08,0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x80,
+0x80,0x80,0x08,0x00,0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x80,
+0x80,0x80,0x80,0x00,0x08,0x80,0x80,0x00,0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x80,
+0x80,0x80,0x80,0x08,0x80,0x80,0x08,0x00,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x80,
+0x80,0x80,0x80,0x08,0x80,0x80,0x08,0x00,0x80,0x80,0x80,0x00,0x08,0x80,0x80,0x80,
+0x80,0x80,0x08,0x00,0x80,0x80,0x08,0x00,0x80,0x80,0x80,0x00,0x08,0x80,0x80,0x80,
+0x80,0x80,0x08,0x00,0x80,0x80,0x08,0x08,0x80,0x80,0x80,0x08,0x08,0x80,0x80,0x80,
+0x80,0x80,0x08,0x00,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x80,
+0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x80,
+0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x80,
+0x80,0x80,0x08,0x00,0x08,0x80,0x80,0x08,0x80,0x80,0x80,0x00,0x08,0x80,0x80,0x80,
+0x80,0x80,0x80,0x00,0x08,0x80,0x80,0x08,0x80,0x80,0x08,0x00,0x08,0x80,0x80,0x80,
+0x80,0x80,0x08,0x00,0x80,0x80,0x80,0x08,0x80,0x80,0x08,0x08,0x08,0x80,0x80,0x80,
+0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x00,0x08,0x80,0x80,0x80,
+0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x08,0x80,0x80,0x80,0x80
+};
+
+char txr_unneon[16*16]={  
+0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x78,
+0x78,0x78,0x78,0x00,0x07,0x78,0x78,0x07,0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x78,
+0x78,0x78,0x07,0x00,0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x78,
+0x78,0x78,0x78,0x00,0x07,0x78,0x78,0x00,0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x78,
+0x78,0x78,0x78,0x07,0x78,0x78,0x07,0x00,0x78,0x78,0x78,0x00,0x78,0x78,0x78,0x78,
+0x78,0x78,0x78,0x07,0x78,0x78,0x07,0x00,0x78,0x78,0x78,0x00,0x07,0x78,0x78,0x78,
+0x78,0x78,0x07,0x00,0x78,0x78,0x07,0x00,0x78,0x78,0x78,0x00,0x07,0x78,0x78,0x78,
+0x78,0x78,0x07,0x00,0x78,0x78,0x07,0x07,0x78,0x78,0x78,0x07,0x07,0x78,0x78,0x78,
+0x78,0x78,0x07,0x00,0x78,0x78,0x78,0x00,0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x78,
+0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x78,
+0x78,0x78,0x78,0x00,0x78,0x78,0x78,0x00,0x78,0x78,0x78,0x00,0x78,0x78,0x78,0x78,
+0x78,0x78,0x07,0x00,0x07,0x78,0x78,0x07,0x78,0x78,0x78,0x00,0x07,0x78,0x78,0x78,
+0x78,0x78,0x78,0x00,0x07,0x78,0x78,0x07,0x78,0x78,0x07,0x00,0x07,0x78,0x78,0x78,
+0x78,0x78,0x07,0x00,0x78,0x78,0x78,0x07,0x78,0x78,0x07,0x07,0x07,0x78,0x78,0x78,
+0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x00,0x07,0x78,0x78,0x78,
+0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x78,0x78,0x78,0x78,0x07,0x78,0x78,0x78,0x78
+};
+
+char txr_neon[16*16]={  
+0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x5c,0x04,0x00,0x00,0x40,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
+0x00,0x00,0x04,0x5c,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x5c,0x04,0x00,0x00,0x5c,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x40,0x00,0x00,0x04,0x5c,0x00,0x00,0x00,0x5c,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x40,0x00,0x00,0x04,0x5c,0x00,0x00,0x00,0x5c,0x04,0x00,0x00,0x00,
+0x00,0x00,0x04,0x5c,0x00,0x00,0x04,0x5c,0x00,0x00,0x00,0x5c,0x04,0x00,0x00,0x00,
+0x00,0x00,0x04,0x5c,0x00,0x00,0x04,0x40,0x00,0x00,0x00,0x40,0x04,0x00,0x00,0x00,
+0x00,0x00,0x04,0x5c,0x00,0x00,0x00,0x5c,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x5c,0x00,0x00,0x00,0x5c,0x00,0x00,0x00,0x5c,0x00,0x00,0x00,0x00,
+0x00,0x00,0x04,0x5c,0x04,0x00,0x00,0x40,0x00,0x00,0x00,0x5c,0x04,0x00,0x00,0x00,
+0x00,0x00,0x00,0x5c,0x04,0x00,0x00,0x40,0x00,0x00,0x04,0x5c,0x04,0x00,0x00,0x00,
+0x00,0x00,0x04,0x5c,0x00,0x00,0x00,0x04,0x00,0x00,0x04,0x40,0x04,0x00,0x00,0x00,
+0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x5c,0x04,0x00,0x00,0x00,
+0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00
+};
+
+char txr_gslime[16*16]={  
+0x88,0x80,0x00,0x80,0x80,0x88,0x88,0x88,0x80,0x08,0x00,0x00,0x08,0x88,0x80,0x00,
+0x80,0x08,0x00,0x08,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x80,0x88,0x80,0x08,0x00,
+0x08,0x00,0x00,0x00,0x08,0x08,0x80,0x00,0x00,0x00,0x08,0x80,0x80,0x00,0x00,0x88,
+0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x80,0x00,0x08,0x88,0x80,
+0x00,0x08,0x80,0x08,0x00,0x00,0x08,0x88,0x88,0x88,0x00,0x80,0x00,0x08,0x80,0x00,
+0x08,0x80,0x80,0x08,0x00,0x08,0x80,0x88,0x88,0x88,0x08,0x80,0x00,0x00,0x00,0x08,
+0x88,0x88,0x88,0x80,0x00,0x08,0x80,0x88,0x88,0x88,0x80,0x80,0x00,0x00,0x08,0x80,
+0x88,0x88,0x80,0x80,0x00,0x00,0x08,0x80,0x80,0x08,0x00,0x00,0x00,0x80,0x88,0x88,
+0x88,0x88,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x88,0x88,
+0x80,0x80,0x00,0x00,0x08,0x08,0x00,0x00,0x08,0x80,0x80,0x80,0x80,0x80,0x08,0x88,
+0x08,0x00,0x08,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x08,0x08,0x80,0x80,0x08,0x88,
+0x80,0x80,0x80,0x80,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x80,
+0x88,0x88,0x88,0x88,0x88,0x80,0x80,0x80,0x08,0x08,0x00,0x00,0x08,0x08,0x00,0x80,
+0x88,0x88,0x88,0x88,0x88,0x80,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,
+0x88,0x88,0x88,0x08,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x00,0x00,0x80,0x80,0x00,
+0x88,0x08,0x00,0x00,0x00,0x00,0x08,0x08,0x80,0x80,0x80,0x08,0x00,0x88,0x80,0x80
+};
+
+char txr_slime[16*16]={  /* vihre„ laikukas. hienokiva. */
+0x22,0x20,0x00,0x20,0x20,0x22,0x22,0x22,0x20,0x02,0x00,0x00,0x02,0x22,0x20,0x00,
+0x20,0x02,0x00,0x02,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x20,0x22,0x20,0x02,0x00,
+0x02,0x00,0x00,0x00,0x02,0x02,0x20,0x00,0x00,0x00,0x02,0x20,0x20,0x00,0x00,0x22,
+0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x20,0x00,0x02,0x22,0x20,
+0x00,0x02,0x20,0x02,0x00,0x00,0x02,0x22,0x22,0x22,0x00,0x20,0x00,0x02,0x20,0x00,
+0x02,0x20,0x20,0x02,0x00,0x02,0x20,0x22,0x22,0x22,0x02,0x20,0x00,0x00,0x00,0x02,
+0x22,0x22,0x22,0x20,0x00,0x02,0x20,0x22,0x22,0x22,0x20,0x20,0x00,0x00,0x02,0x20,
+0x22,0x22,0x20,0x20,0x00,0x00,0x02,0x20,0x20,0x02,0x00,0x00,0x00,0x20,0x22,0x22,
+0x22,0x22,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x22,0x22,
+0x20,0x20,0x00,0x00,0x02,0x02,0x00,0x00,0x02,0x20,0x20,0x20,0x20,0x20,0x02,0x22,
+0x02,0x00,0x02,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x02,0x02,0x20,0x20,0x02,0x22,
+0x20,0x20,0x20,0x20,0x02,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x20,
+0x22,0x22,0x22,0x22,0x22,0x20,0x20,0x20,0x02,0x02,0x00,0x00,0x02,0x02,0x00,0x20,
+0x22,0x22,0x22,0x22,0x22,0x20,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,
+0x22,0x22,0x22,0x02,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x20,0x20,0x00,
+0x22,0x02,0x00,0x00,0x00,0x00,0x02,0x02,0x20,0x20,0x20,0x02,0x00,0x22,0x20,0x20
+};
+
+typedef struct{signed int x,z,y;}xyz;
+typedef struct{signed int a,r,y;}cyl;
+typedef struct{int p[3]; int nn; char*txrf,*txrb;}face;
+
+typedef struct{
+
+	int numvxes;
+	cyl*vxes;
+	xyz*rotated;
+
+	int numfaces;
+	face*faces;
+
+}obj3d;
+
+#define sint signed int
+
+/** XWING **/
+
+/*
+xyz cube_vxes[]={
+	-6000,-1000,2000,
+	-6000,-1000,-2000,
+	6000,-1000,2000,
+	6000,-1000,-2000,
+
+	-1500,2000,0,
+	-1500,-1000,0,
+	1500,2000,0,
+	1500,-100,0,
+
+	0,2500,0,
+
+	0,1000,-1500
+};
+
+face cube_faces[]={
+	0,4,5, 0, txr_wsygn,txr_dunneon,
+   1,5,4, 0, txr_wsygn,txr_dunneon,
+	2,7,6, 0, txr_wsygn,txr_dunneon,
+	3,6,7, 0, txr_wsygn,txr_dunneon,
+
+	9,8,4, 0, txr_wsygn,NULL,
+	9,7,8, 0, txr_wsygn,NULL,
+	9,4,5, 0, txr_unneon,NULL,
+	9,7,6, 0, txr_unneon,NULL,
+	9,5,6, 0, txr_unneon,NULL
+};
+*/
+
+/********/
+/********/
+
+cyl xwing_vxes[]={
+	134,6082,1000,
+	134,6082,-1000,
+	250,6082,1000,
+	250,6082,-1000,
+	91,3000,0,  /* 2500 */
+	151,1802,0,
+	37,3000,0,  /* 2500 */
+	254,1503,0,
+	64,2500,0,
+	64,1000,-750
+};
+
+face xwing_faces[]={
+	4,5,0, 0, txr_wsygn,txr_dunneon,
+	1,5,4, 0, txr_wsygn,txr_dunneon,
+	7,6,2, 0, txr_wsygn,txr_dunneon,
+	3,6,7, 0, txr_wsygn,txr_dunneon,
+
+	9,8,4, 0, txr_wsygn,NULL,
+	9,7,8, 0, txr_wsygn,NULL,
+	9,4,5, 0, txr_unneon,NULL,
+	9,7,6, 0, txr_unneon,NULL,
+	9,5,6, 0, txr_unneon,NULL
+};
+
+obj3d xwing={
+	10,xwing_vxes,NULL,9,xwing_faces
+};
+
+cyl bugi_vxes[]={
+	96,2828,0,
+	32,2828,0,
+	224,2828,0,
+	160,2828,0,
+	0,0,-800,
+	45,6708,1000,
+	238,6708,1000,
+	173,6708,1000,
+	110,6708,1000
+};
+
+face bugi_faces[]={
+	4,1,0, 0, txr_slime,NULL,
+	4,2,1, 0, txr_slime,NULL,
+	4,3,2, 0, txr_slime,NULL,
+	4,0,3, 0, txr_slime,NULL,
+
+	0,1,5, 0, txr_slime,txr_gslime,
+	1,2,6, 0, txr_slime,txr_gslime,
+	2,3,7, 0, txr_slime,txr_gslime,
+	3,0,8, 0, txr_slime,txr_gslime
+};
+
+obj3d bugi={
+	9,bugi_vxes,NULL,8,bugi_faces
+};
+
+obj3d obu;
+
+#include "sini16.h"
+
+sint dvhtab[50];
+sint dutab[320];
+
+eggine_init()
+{
+	int i;
+	dvhtab[0]=32760;
+	for(i=1;i<50;i++)dvhtab[i]=4096/i;
+	dutab[0]=32760;
+	for(i=1;i<320;i++)dutab[i]=(64*256)/i;
+}
+
+eggine_load(sint n)
+{
+      obj3d*o;
+      if(!n)o=&xwing;else o=&bugi;
+
+	if(o->rotated==NULL)
+		o->rotated=malloc(o->numvxes*sizeof(xyz));
+
+	memcpy(&obu,o,sizeof(obu));
+}
+
+extern int polytxloop
+      (sint h,char*di,unsigned int x1,sint dx0,sint dx1,char*txr,
+       sint dv,sint du);
+
+sint polytxr(
+	char*buf,
+	sint y,sint h,sint x0,sint x1,sint dx0,sint dx1,
+	char*txr){
+
+	register sint du; char joo=0;
+
+        if(y+h>=50)h=49-y;
+	if(h>0)if(y>=0){
+
+	if((x0>x1)||((x0==x1)&&(dx0>dx1)))
+                {sint tmp=x0;x0=x1;x1=tmp;
+		     tmp=dx0;dx0=dx1;dx1=tmp;
+		     joo=1;}
+	x1-=x0;dx1-=dx0;
+
+	du=x1>>6;
+	if(!du)du=((dx1-dx0)*h) >>6;     /* dx1-dx0?? */
+	if(du)du=(64*256)/du;/*dutab[du];*/
+
+        x1=polytxloop(h,buf+80*y+(x0>>8),
+		x1,
+		dx0,
+		dx1,
+		txr,
+		dvhtab[h],
+		du);
+
+	return (!joo)?x0+x1+h*dx0:x1;
+	}
+}
+
+/*******************************/
+
+extern signed int mul32(signed int a,signed int b);
+
+#define jmul32(a,b) (((long)(a)*(long)(b))>>16)
+
+extern int taimeri;
+
+eggine_do(char*b,sint rot,int zoom,int basex,int basey) {
+	register sint i; sint j; sint fzed[20],fcez[20];
+
+	if(obu.faces==bugi_faces){
+		bugi_vxes[5].y=bugi_vxes[6].y=
+			1000+mul32(700,sini16[(taimeri*13)&255]);
+		bugi_vxes[7].y=bugi_vxes[8].y=
+			1000+mul32(700,sini16[(taimeri*7)&255]);
+	}
+
+	/***** rotate vertices *****/
+
+	{cyl*v=obu.vxes;xyz*r=obu.rotated;
+
+	for(i=obu.numvxes;i;i--) {
+        r->y=mul32(v->y,zoom)+basey;
+        r->x=mul32(mul32(v->r,sini16[(rot+v->a)&255]),zoom)+basex;
+	r->z=mul32(mul32(v->r,sini16[(rot+v->a+64)&255]),zoom);
+	r++;v++;
+	}}
+
+	/***** calc facezeds, sort faces *****/
+
+        {sint *t=fzed;face*f=obu.faces; for(i=obu.numfaces;i;i--){
+		*t++=obu.rotated[f->p[0]].z+ obu.rotated[f->p[1]].z+
+           obu.rotated[f->p[2]].z; f++;
+	}}
+
+        {sint *t=fcez;sint j=0; for(i=obu.numfaces;i;i--)*t++=j++; }
+
+		/* stupid bubblesort */
+
+for(i=0;i<obu.numfaces-1;i++){ sint min=fzed[i],where=i;
+for(j=i+1;j<obu.numfaces;j++){
+		if(fzed[j]<min){min=fzed[j];where=j;} }
+
+                {sint tmp=fzed[i];fzed[i]=fzed[where];fzed[where]=tmp;} {sint
+      tmp=fcez[i];fcez[i]=fcez[where];fcez[where]=tmp;}
+	}
+
+	/***** draw faces *****/
+
+	{sint*fc=fcez; for(i=obu.numfaces;i;i--) {
+		face*f=&obu.faces[*fc++];
+
+		{ sint x0,x1,x2,y0,y1,y2,nz; char*txr;
+
+		/***************************************/
+
+		{xyz*tmp=obu.rotated;
+		x0=tmp[f->p[0]].x<<3;
+		y0=tmp[f->p[0]].y>>5;
+		x1=tmp[f->p[1]].x<<3;
+		y1=tmp[f->p[1]].y>>5;
+		x2=tmp[f->p[2]].x<<3;
+		y2=tmp[f->p[2]].y>>5;
+		}
+
+		nz=((x1-x0)>>8)*(y2-y0)-((x2-x0)>>8)*(y1-y0);
+		if(nz<0)txr=f->txrf;else txr=f->txrb;
+		if(txr!=NULL)
+		{
+
+	if(y0!=y2){
+
+	    sint tmpk,tmpx2;
+
+        if (y0!=y1)
+            tmpx2=polytxr(b,y0,y1-y0,x0,x0,
+                     (x1-x0)/(y1-y0),
+                     tmpk=(x2-x0)/(y2-y0), txr);
+            else {tmpk=(x2-x0)/(y2-y0);tmpx2=x0;}
+
+        if (y1!=y2)
+            polytxr(b,y1,y2-y1,x1,tmpx2,
+                     (x2-x1)/(y2-y1),
+                     tmpk, txr);
+        }
+		}
+		/***************************************/
+		}
+
+	}}/* end drawfaces*/
+}
Binary file final_isi/fisi3d.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/fisiansi.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,1096 @@
+unsigned char LOGO [749] = {
+   0x03, 0x10, 0x1A, 0x0A,  'Û', 0x19, 0x03,  'ß',  'ß',  'ß', 0x1A, 0x03,
+    'Û',  'ß',  'ß',  'ß', 0x19, 0x03,  'Û',  'Û',  'Û', 0x1A, 0x05,  'ß',
+    'Û',  'Û',  'Û', 0x19, 0x03,  'Û',  'Û',  'Û', 0x1A, 0x05,  'ß',  'Û',
+    'Û',  'Û', 0x19, 0x02,  'Û',  'Û',  'Û', 0x18,  'Û',  'Û',  'Û', 0x1A,
+   0x04,  'Ü', 0x19, 0x09, 0x1A, 0x03,  'Û', 0x19, 0x06,  'Û',  'Û',  'Û',
+   0x19, 0x05,  'Û',  'Û',  'Û', 0x19, 0x03,  'Û',  'Û',  'Û', 0x1A, 0x05,
+    'ß',  'Û',  'Û',  'Û', 0x19, 0x02,  'Û',  'Û',  'Û', 0x1A, 0x09,  'Ü',
+   0x18,  'Û',  'Û',  'Û', 0x19, 0x0B,  'Ü',  'Ü',  'Ü', 0x1A, 0x03,  'Û',
+    'Ü',  'Ü',  'Ü', 0x19, 0x03,  'Û',  'Û',  'Û', 0x19, 0x05,  'ß',  'ß',
+    'ß', 0x19, 0x03,  'ß',  'ß',  'ß', 0x19, 0x05,  'Û',  'Û',  'Û', 0x19,
+   0x02, 0x08,  'Ü', 0x18, 0x19,  ' ', 0x07,  'Ü', 0x06, 0x17,  '°',  '°',
+    ' ',  '°',  '°',  '°',  ' ',  ' ',  '°',  '°', 0x00,  'ß', 0x10, 0x19,
+   0x0E, 0x08,  'Û',  ' ',  'Û', 0x18, 0x19, 0x17, 0x07,  'Ú', 0x1A, 0x05,
+    'Ä',  ' ',  'Þ', 0x17,  ' ',  ' ', 0x04,  '(', 0x02,  '-', 0x04,  ')',
+    ' ',  ' ',  '(', 0x02,  '-', 0x04,  ')',  ' ',  ' ', 0x07, 0x10,  'Ý',
+    ' ',  ' ',  'Ä',  'Ä',  'Ä',  '¿',  ' ',  ' ',  'Ú',  'Ä',  'Ä',  ' ',
+   0x08,  'Ü', 0x1A, 0x03,  'Û',  'Ü',  'Ü',  'Ü', 0x18, 0x19, 0x08, 0x07,
+    'Ú', 0x1A, 0x08,  'Ä',  '¿', 0x19, 0x03,  '³', 0x19, 0x06, 0x17, 0x19,
+   0x05, 0x04,  'ú',  'ú', 0x19, 0x05, 0x10, 0x19, 0x04, 0x07,  '³',  ' ',
+    'Ä',  'Ù',  ' ',  ' ', 0x08, 0x1A, 0x04,  'Û',  'Ü',  'Ü', 0x18, 0x19,
+   0x08, 0x07,  '³', 0x09,  'þ',  'þ',  'þ', 0x19, 0x05, 0x07,  '³', 0x1A,
+   0x04,  'Ä',  '¿', 0x19, 0x05, 0x17,  ' ', 0x0C,  ')',  ' ',  ' ', 0x00,
+    'Ü', 0x06,  'Ü', 0x00,  'Ü', 0x0F,  'Ü', 0x06,  'Ü', 0x00,  'Ü',  ' ',
+    ' ', 0x0C,  '(',  ' ', 0x10, 0x19, 0x04, 0x07,  '³', 0x19, 0x03, 0x08,
+    'Ü', 0x1A, 0x03,  'Û', 0x18, 0x19, 0x02, 0x07,  'Ú', 0x1A, 0x03,  'Ä',
+    ' ',  '³', 0x09,  'þ',  'þ', 0x19, 0x06, 0x07,  '³', 0x19, 0x04,  '³',
+   0x19, 0x05,  'Þ', 0x17,  ' ',  ' ', 0x00,  'ß', 0x06,  'ß', 0x0F,  'ß',
+   0x00,  'ß', 0x06,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß',  ' ',  ' ',
+   0x07, 0x10,  'Ý', 0x19, 0x08, 0x08, 0x1A, 0x04,  'Û', 0x18, 0x19, 0x02,
+   0x07,  '³', 0x09,  'þ',  'þ',  'þ',  ' ',  ' ', 0x07,  '³', 0x09,  'þ',
+   0x19, 0x07, 0x07,  '³', 0x19, 0x06, 0x08, 0x1A, 0x04,  'Ü', 0x17,  '°',
+    '°',  '°', 0x1A, 0x06,  '±', 0x1A, 0x03,  '°', 0x10, 0x1A, 0x04,  'Ü',
+    ' ',  ' ',  'Ü', 0x1A, 0x04,  'Û', 0x19, 0x03, 0x07,  'Ú', 0x1A, 0x04,
+    'Ä',  '¿', 0x18, 0x19, 0x02,  '³', 0x09,  'þ',  'þ', 0x19, 0x02, 0x07,
+    '³', 0x19, 0x0D, 0x08,  'Ü', 0x17, 0x1A, 0x06,  'Û',  '°',  '°',  '°',
+   0x1A, 0x04,  '±',  '²', 0x1A, 0x04,  '°', 0x1A, 0x05,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x19, 0x04, 0x07,  '³', 0x19, 0x04,  '³', 0x18, 0x19, 0x02,
+    '³', 0x09,  'þ', 0x19, 0x03, 0x07,  '³', 0x19, 0x0B, 0x08,  'Ü', 0x17,
+   0x1A, 0x06,  'Û',  '±', 0x1A, 0x03,  '°',  '±',  '±',  '±',  '²',  '²',
+    '²', 0x1A, 0x05,  '°', 0x1A, 0x07,  'Û', 0x10,  'Û',  'Û', 0x19, 0x03,
+   0x07,  'Ú',  'Ä',  '´', 0x19, 0x04,  '³', 0x18, 0x19, 0x02,  '³', 0x19,
+   0x04,  '³', 0x19, 0x09, 0x08,  'Ü', 0x17, 0x1A, 0x07,  'Û',  '°',  '°',
+    '°',  'Û',  '°',  '°',  '±',  '±',  '²',  '²',  '²',  '±', 0x1A, 0x04,
+    '°', 0x1A, 0x09,  'Û', 0x10,  'Û', 0x19, 0x03, 0x07,  '³', 0x18, 0x19,
+   0x08,  '³', 0x19, 0x07, 0x08,  'Ü', 0x17, 0x1A, 0x0F,  'Û',  '±', 0x1A,
+   0x04,  '²', 0x1A, 0x0F,  'Û', 0x18, 0x10, 0x19, 0x0E,  'Ü', 0x17, 0x1A,
+   0x12,  'Û',  '±',  '²',  '²',  '°',  '±', 0x1A, 0x10,  'Û', 0x18, 0x10,
+   0x19, 0x0D,  'Ü', 0x17, 0x1A, 0x05,  'Û', 0x10,  ' ', 0x17, 0x1A, 0x0C,
+    'Û',  '±',  '²',  '²', 0x1A, 0x12,  'Û', 0x18, 0x10, 0x19, 0x0C, 0x17,
+   0x1A, 0x05,  'Û', 0x10,  'Ý',  ' ',  'Þ', 0x17, 0x1A,  '!',  'Û', 0x10,
+    'Ý', 0x18, 0x19, 0x0B, 0x17, 0x1A, 0x05,  'Û', 0x10,  'Ý',  ' ',  ' ',
+   0x17, 0x1A, 0x22,  'Û', 0x18, 0x10, 0x19, 0x0B,  'ß',  ' ',  'Û',  ' ',
+    'Û',  ' ',  'ß', 0x19, 0x02, 0x1A,  ' ',  'Û', 0x18, 0x19, 0x16,  'ß',
+    'ß', 0x1A, 0x1B,  'Û',  'ß', 0x18, 0x19, 0x1A, 0x1A, 0x09,  'Û', 0x19,
+   0x04,  'ß', 0x1A, 0x06,  'Û',  'Ü', 0x18, 0x19, 0x1A, 0x1A, 0x09,  'Û',
+   0x19, 0x06,  'ß', 0x1A, 0x06,  'Û',  'Ü', 0x19, 0x04,  'Ü',  'Ü', 0x18,
+   0x19, 0x0A,  'Ü', 0x1A, 0x19,  'Û', 0x19, 0x07,  'ß', 0x1A, 0x0D,  'Û',
+    'Ü', 0x18, 0x03, 0x1A, 0x15,  'Û', 0x19, 0x04, 0x1A, 0x15,  'Û', 0x19,
+   0x02, 0x1A, 0x15,  'Û', 0x18, 0x19, 0x07, 0x1A, 0x05,  'Û', 0x19, 0x0C,
+   0x1A, 0x04,  'Û', 0x1A, 0x10,  'Ü', 0x19, 0x0B, 0x1A, 0x05,  'Û', 0x18,
+   0x1A, 0x07,  'Ü', 0x1A, 0x05,  'Û', 0x1A, 0x07,  'Ü', 0x19, 0x04, 0x1A,
+   0x0F,  'Ü', 0x1A, 0x05,  'Û', 0x19, 0x02, 0x1A, 0x08,  'Ü', 0x1A, 0x05,
+    'Û', 0x1A, 0x06,  'Ü', 0x18};
+
+#define VPELU0_LENGTH 371
+unsigned char VPELU0 [371] = {
+   0x09, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x02, 0x08,
+    '(',  ')',  'Ñ',  '(',  ')', 0x18, 0x19, 0x04, 0x04,  '³', 0x19, 0x11,
+   0x07,  'Ä',  'Â', 0x1A, 0x04,  'Ä', 0x19,  '#',  'Ä',  'Â', 0x1A, 0x06,
+    'Ä', 0x18, 0x19, 0x02, 0x04,  'Þ', 0x1A, 0x05,  'Û',  'Ü',  'Ü',  'Ü',
+   0x19, 0x05, 0x07, 0x1A, 0x05,  'Ä',  'Ù', 0x19, 0x1B,  'Ä',  'Ä',  'Â',
+   0x1A, 0x0A,  'Ä',  'Á',  'Ä', 0x18, 0x19, 0x02, 0x0E, 0x14,  'Ü',  'Ü',
+    'Ü', 0x01,  'Ü',  'Ü', 0x10, 0x19, 0x1A, 0x07,  'Ú',  'Ä', 0x19, 0x07,
+    'Ä',  'Ä',  'Ä',  'Â', 0x1A, 0x06,  'Ä',  'Á',  'Ä',  'Ä', 0x18,  ' ',
+    ' ',  'Þ',  'Û',  'Û', 0x01,  'Û',  'Û', 0x0F, 0x11,  'ú', 0x10, 0x19,
+   0x19, 0x07,  'Ä',  'Ù', 0x19, 0x08,  'Ä',  'Ä',  'Ä',  'Á',  'Ä',  'Ä',
+   0x18,  ' ',  ' ',  'Û',  'Û',  'Û', 0x11,  'Û',  'Ü',  'Ü', 0x18, 0x08,
+   0x10,  'Ä',  'Ä', 0x07, 0x1A, 0x06,  'Û',  'Ü', 0x08, 0x1A,  'D',  'Ä',
+   0x18,  ' ',  ' ', 0x07,  'Þ',  'Û',  'Û',  'Û',  'ß', 0x18,  ' ',  ' ',
+    'Þ',  'Û',  'Û', 0x1A, 0x03,  'Ü', 0x04, 0x17,  'ß', 0x18, 0x10, 0x19,
+   0x02, 0x07, 0x1A, 0x04,  'Û',  'ß', 0x19,  '*', 0x03, 0x1A, 0x05,  'Ü',
+   0x13, 0x19, 0x14, 0x18, 0x10, 0x19, 0x03, 0x07,  'Û',  'Û',  'Û', 0x19,
+    '!', 0x03, 0x1A, 0x05,  'Ü', 0x13, 0x19, 0x1F, 0x18, 0x04, 0x10, 0x1A,
+   0x03,  'Ü', 0x07, 0x14,  'ß',  'ß',  'ß', 0x10, 0x19, 0x19, 0x03,  'Ü',
+    'Ü',  'Ü', 0x13, 0x19, 0x05, 0x00, 0x1A, 0x05,  'Ü', 0x19, 0x06, 0x1A,
+   0x0B,  'Û', 0x19, 0x0B, 0x18, 0x10, 0x19, 0x03, 0x07, 0x1A, 0x03,  'Û',
+   0x19, 0x02,  'Ü',  'Ü',  'Ü', 0x19, 0x0C, 0x03,  'Ü',  'Ü',  'Ü', 0x13,
+   0x19, 0x09, 0x00, 0x1A, 0x08,  'Û', 0x19, 0x02, 0x1A, 0x1A,  'Û', 0x18,
+   0x10, 0x19, 0x03, 0x07, 0x1A, 0x04,  'Û',  ' ',  'Û',  'Û',  'ß',  'Û',
+    'Û',  'Ü', 0x19, 0x08, 0x13, 0x19, 0x0D, 0x00, 0x1A, 0x1C,  'Û', 0x19,
+   0x0A, 0x18, 0x04, 0x10,  'Ü',  'Ü',  'Ü', 0x07, 0x14, 0x1A, 0x07,  'ß',
+   0x10,  'ß',  ' ',  ' ',  'ß',  'Û',  'Û',  'Ü', 0x19, 0x07, 0x13, 0x19,
+   0x0D, 0x00, 0x1A, 0x08,  'Û', 0x19, 0x02, 0x1A, 0x1A,  'Û', 0x18, 0x10,
+   0x19, 0x02, 0x07,  'Þ', 0x1A, 0x04,  'Û',  'ß', 0x19, 0x05,  'ß',  'Û',
+    'Û',  'Û', 0x19, 0x07, 0x03, 0x1A, 0x04,  'ß', 0x13, 0x19, 0x07, 0x00,
+   0x1A, 0x06,  'ß', 0x19, 0x06, 0x1A, 0x0B,  'Û', 0x19, 0x0B, 0x18, 0x10,
+   0x19,  '%', 0x03, 0x1A, 0x0D,  'ß', 0x13, 0x19, 0x1A, 0x18, 0x18};
+
+unsigned char VPELU2 [372] = {
+   0x09, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x02, 0x08,
+    '(',  ')',  'Ñ',  '(',  ')', 0x18, 0x19, 0x04, 0x04,  '³', 0x19, 0x11,
+   0x07,  'Ä',  'Â', 0x1A, 0x04,  'Ä', 0x19,  '#',  'Ä',  'Â', 0x1A, 0x06,
+    'Ä', 0x18, 0x19, 0x02, 0x04,  'Þ', 0x1A, 0x05,  'Û',  'Ü',  'Ü',  'Ü',
+   0x19, 0x05, 0x07, 0x1A, 0x05,  'Ä',  'Ù', 0x19, 0x1B,  'Ä',  'Ä',  'Â',
+   0x1A, 0x0A,  'Ä',  'Á',  'Ä', 0x18, 0x19, 0x02, 0x0E, 0x14,  'Ü',  'Ü',
+    'Ü', 0x01,  'Ü',  'Ü', 0x10, 0x19, 0x1A, 0x07,  'Ú',  'Ä', 0x19, 0x07,
+    'Ä',  'Ä',  'Ä',  'Â', 0x1A, 0x06,  'Ä',  'Á',  'Ä',  'Ä', 0x18,  ' ',
+    ' ',  'Þ',  'Û',  'Û', 0x01,  'Û',  'Û', 0x0F, 0x11,  'ú', 0x10, 0x19,
+   0x19, 0x07,  'Ä',  'Ù', 0x19, 0x08,  'Ä',  'Ä',  'Ä',  'Á',  'Ä',  'Ä',
+   0x18,  ' ',  ' ',  'Û',  'Û',  'Û', 0x11,  'Û',  'Ü',  'Ü', 0x18, 0x08,
+   0x10,  'Ä',  'Ä', 0x07, 0x1A, 0x06,  'Û',  'Ü', 0x08, 0x1A,  'D',  'Ä',
+   0x18,  ' ',  ' ', 0x07,  'Þ',  'Û',  'Û',  'Û',  'ß', 0x18,  ' ',  ' ',
+    'Þ',  'Û',  'Û', 0x1A, 0x03,  'Ü', 0x04, 0x17,  'ß', 0x18, 0x10, 0x19,
+   0x02, 0x07, 0x1A, 0x04,  'Û',  'ß', 0x19,  '*', 0x03, 0x1A, 0x05,  'Ü',
+   0x13, 0x19, 0x14, 0x18, 0x10, 0x19, 0x03, 0x07,  'Û',  'Û',  'Û', 0x19,
+    '!', 0x03, 0x1A, 0x05,  'Ü', 0x13, 0x19, 0x1F, 0x18, 0x04, 0x10, 0x1A,
+   0x03,  'Ü', 0x07, 0x14,  'ß',  'ß',  'ß', 0x10, 0x19, 0x19, 0x03,  'Ü',
+    'Ü',  'Ü', 0x13, 0x19, 0x05, 0x00, 0x1A, 0x05,  'Ü', 0x19, 0x06, 0x1A,
+   0x0B,  'Û', 0x19, 0x0B, 0x18, 0x10, 0x19, 0x03, 0x07, 0x1A, 0x03,  'Û',
+   0x19, 0x02,  'Ü',  'Ü',  'Ü', 0x19, 0x0C, 0x03,  'Ü',  'Ü',  'Ü', 0x13,
+   0x19, 0x09, 0x00,  'Ü', 0x1A, 0x08,  'Û', 0x19, 0x02, 0x1A, 0x19,  'Û',
+   0x18, 0x10, 0x19, 0x03, 0x07, 0x1A, 0x04,  'Û',  ' ',  'Û',  'Û',  'ß',
+    'Û',  'Û',  'Ü', 0x19, 0x08, 0x13, 0x19, 0x0D, 0x00, 0x1A, 0x1C,  'Û',
+   0x19, 0x0A, 0x18, 0x04, 0x10,  'Ü',  'Ü',  'Ü', 0x07, 0x14, 0x1A, 0x07,
+    'ß', 0x10,  'ß',  ' ',  ' ',  'ß',  'Û',  'Û',  'Ü', 0x19, 0x07, 0x13,
+   0x19, 0x0D, 0x00, 0x1A, 0x09,  'Û', 0x19, 0x02, 0x1A, 0x19,  'Û', 0x18,
+   0x10, 0x19, 0x02, 0x07,  'Þ', 0x1A, 0x04,  'Û',  'ß', 0x19, 0x05,  'ß',
+    'Û',  'Û',  'Û', 0x19, 0x07, 0x03, 0x1A, 0x04,  'ß', 0x13, 0x19, 0x08,
+   0x00, 0x1A, 0x06,  'ß', 0x19, 0x05, 0x1A, 0x0B,  'Û', 0x19, 0x0B, 0x18,
+   0x10, 0x19,  '%', 0x03, 0x1A, 0x0D,  'ß', 0x13, 0x19, 0x1A, 0x18, 0x18};
+
+
+unsigned char VPELU1 [361] = {
+   0x0F, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x02, 0x08,
+    '(',  ')',  'Ñ',  '(',  ')', 0x18, 0x19, 0x04, 0x04,  '³', 0x19, 0x11,
+   0x07,  'Ä',  'Â', 0x1A, 0x04,  'Ä', 0x19,  '#',  'Ä',  'Â', 0x1A, 0x06,
+    'Ä', 0x18, 0x19, 0x02, 0x04,  'Þ', 0x1A, 0x05,  'Û',  'Ü',  'Ü',  'Ü',
+   0x19, 0x05, 0x07, 0x1A, 0x05,  'Ä',  'Ù', 0x19, 0x1B,  'Ä',  'Ä',  'Â',
+   0x1A, 0x0A,  'Ä',  'Á',  'Ä', 0x18, 0x19, 0x02, 0x0E, 0x14,  'Ü',  'Ü',
+    'Ü', 0x01,  'Ü',  'Ü', 0x10, 0x19, 0x1A, 0x07,  'Ú',  'Ä', 0x19, 0x07,
+    'Ä',  'Ä',  'Ä',  'Â', 0x1A, 0x06,  'Ä',  'Á',  'Ä',  'Ä', 0x18,  ' ',
+    ' ',  'Þ',  'Û',  'Û', 0x01,  'Û',  'Û', 0x0F, 0x11,  'ú', 0x10, 0x19,
+   0x19, 0x07,  'Ä',  'Ù', 0x19, 0x08,  'Ä',  'Ä',  'Ä',  'Á',  'Ä',  'Ä',
+   0x18,  ' ',  ' ',  'Û',  'Û',  'Û', 0x11,  'Û',  'Ü',  'Ü', 0x18, 0x08,
+   0x10,  'Ä',  'Ä', 0x07, 0x1A, 0x06,  'Û',  'Ü', 0x08, 0x1A,  'D',  'Ä',
+   0x18,  ' ',  ' ', 0x07,  'Þ',  'Û',  'Û',  'Û',  'ß', 0x18,  ' ',  ' ',
+    'Þ', 0x1A, 0x05,  'Û',  'ß', 0x18, 0x19, 0x02, 0x1A, 0x03,  'Û',  'ß',
+   0x19,  '+', 0x03, 0x1A, 0x05,  'Ü', 0x13, 0x19, 0x14, 0x18, 0x10, 0x19,
+   0x03, 0x07,  'Û',  'Û',  'Û', 0x19,  '!', 0x03, 0x1A, 0x05,  'Ü', 0x13,
+   0x19, 0x1F, 0x18, 0x04, 0x10, 0x1A, 0x03,  'Ü', 0x07, 0x14,  'ß',  'ß',
+    'ß', 0x10, 0x19, 0x04,  'Ü', 0x19, 0x13, 0x03,  'Ü',  'Ü',  'Ü', 0x13,
+   0x19, 0x05, 0x00, 0x1A, 0x05,  'Ü', 0x19, 0x06, 0x1A, 0x0B,  'Û', 0x19,
+   0x0B, 0x18, 0x10, 0x19, 0x03, 0x07, 0x1A, 0x03,  'Û',  ' ',  ' ',  'Ü',
+    'Û',  'Û',  'Ü', 0x19, 0x0C, 0x03,  'Ü',  'Ü',  'Ü', 0x13, 0x19, 0x09,
+   0x00, 0x1A, 0x08,  'Û', 0x19, 0x02, 0x1A, 0x1A,  'Û', 0x18, 0x10, 0x19,
+   0x03, 0x07, 0x1A, 0x07,  'Û',  'ß',  'Û',  'Û', 0x19, 0x09, 0x13, 0x19,
+   0x0D, 0x00, 0x1A, 0x1C,  'Û', 0x19, 0x0A, 0x18, 0x04, 0x10,  'Ü',  'Ü',
+    'Ü', 0x07, 0x14, 0x1A, 0x07,  'ß', 0x10,  'ß',  ' ',  'Û',  'Û', 0x19,
+   0x0A, 0x13, 0x19, 0x0D, 0x00, 0x1A, 0x08,  'Û', 0x19, 0x02, 0x1A, 0x1A,
+    'Û', 0x18, 0x10, 0x19, 0x02, 0x07, 0x1A, 0x04,  'Û',  'ß', 0x19, 0x03,
+    'Û',  'Û',  'Ü',  'Ü', 0x19, 0x0A, 0x03, 0x1A, 0x04,  'ß', 0x13, 0x19,
+   0x07, 0x00, 0x1A, 0x06,  'ß', 0x19, 0x06, 0x1A, 0x0B,  'Û', 0x19, 0x0B,
+   0x18, 0x10, 0x19,  '%', 0x03, 0x1A, 0x0D,  'ß', 0x13, 0x19, 0x1A, 0x18,
+   0x18};
+
+unsigned char VMPELU0 [554] = {
+   0x09, 0x10, 0x18, 0x18, 0x19,  '5', 0x05,  '(',  ')',  'Â',  '(',  ')',
+   0x19, 0x0E, 0x07,  'Ü',  'Ü',  'Ü',  'ß',  'Û', 0x18, 0x19,  '7', 0x05,
+    '³', 0x19, 0x0A, 0x07,  'Ü',  'Ü',  'Ü',  'ß',  'ß',  'ß', 0x19, 0x03,
+    'Û', 0x18, 0x19,  '0', 0x03,  'Ü',  'Ü',  'Ü', 0x1A, 0x05,  'Û',  'Ý',
+   0x19, 0x08, 0x07,  'Û', 0x19, 0x08,  'Û', 0x18, 0x19,  '5', 0x03, 0x14,
+    'ß',  'ß', 0x0D, 0x13,  'Ü',  'Ü',  'Ü', 0x10, 0x19, 0x08, 0x07,  'Û',
+   0x19, 0x08,  'Û', 0x18, 0x19,  '5', 0x0F, 0x14,  'ú',  ' ',  ' ', 0x08,
+   0x10,  'Û',  'Û',  'Ý', 0x19, 0x07, 0x07,  'Û', 0x19, 0x08,  'Û', 0x18,
+   0x19,  '5', 0x08, 0x14,  'Ü',  'Ü',  'Û', 0x10,  'Û',  'Û',  'Û', 0x19,
+   0x07, 0x07,  'Û', 0x19, 0x08,  'Û', 0x18, 0x19,  '3', 0x08,  'Ü', 0x1A,
+   0x06,  'Û', 0x19, 0x07, 0x07,  'Û', 0x19, 0x08,  'Û', 0x18, 0x19,  '7',
+   0x08,  'Ü',  'Û',  'Û',  'Ý', 0x19, 0x07, 0x07,  'Û', 0x19, 0x08,  'Û',
+   0x18,  'Ä', 0x19,  '#',  'Ä',  'Â', 0x1A, 0x06,  'Ä', 0x19, 0x05, 0x08,
+   0x14,  'Ü', 0x10,  'Ü', 0x1A, 0x04,  'Û',  'Ý', 0x19, 0x07, 0x07,  'Û',
+   0x19, 0x08,  'Û', 0x18, 0x19, 0x17,  'Ä',  'Ä',  'Â', 0x1A, 0x0A,  'Ä',
+    'Á',  'Ä', 0x19, 0x0C, 0x08,  'ß', 0x1A, 0x04,  'Û', 0x19, 0x08, 0x07,
+    'Û', 0x19, 0x08,  'Û', 0x18, 0x19, 0x04,  'Ú',  'Ä', 0x19, 0x07,  'Ä',
+    'Ä',  'Ä',  'Â', 0x1A, 0x06,  'Ä',  'Á',  'Ä',  'Ä', 0x19, 0x19, 0x08,
+    'Û',  'Û',  'Û', 0x19, 0x09, 0x07,  'Û', 0x19, 0x08,  'Û', 0x18, 0x19,
+   0x03,  'Ä',  'Ù', 0x19, 0x08,  'Ä',  'Ä',  'Ä',  'Á',  'Ä',  'Ä', 0x19,
+    '!', 0x08,  'Û',  'Û',  'Û', 0x19, 0x09, 0x07,  'Û', 0x19, 0x08,  'Û',
+   0x18, 0x19,  '5', 0x09, 0x1A, 0x04,  'Û', 0x19, 0x08, 0x07,  'Û', 0x19,
+   0x08,  'Û', 0x18, 0x08, 0x1A,  '4',  'Ä', 0x09, 0x11,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x08, 0x1A, 0x04,  'Ä',  ' ',  'Ä',  'Ä', 0x07,  'Û', 0x08,
+   0x1A, 0x08,  'Ä', 0x07,  'Û', 0x08,  'Ä', 0x18, 0x19,  '4', 0x09, 0x11,
+    'Û', 0x10, 0x1A, 0x05,  'Û', 0x19, 0x07, 0x07,  'Û', 0x19, 0x08,  'Û',
+   0x18, 0x19,  '4', 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x19, 0x07,
+   0x07,  'Û', 0x19, 0x08,  'Û', 0x18, 0x19, 0x15, 0x03, 0x1A, 0x05,  'Ü',
+   0x13, 0x19, 0x14, 0x10, 0x1A, 0x03,  'Û', 0x09, 0x11,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x03,  'Û',  'Û', 0x19, 0x0F, 0x07,  'Û', 0x18, 0x19, 0x0A,
+   0x03, 0x1A, 0x05,  'Ü', 0x13, 0x19, 0x1F, 0x10, 0x1A, 0x03,  'Û', 0x09,
+   0x13,  'ß', 0x10, 0x1A, 0x04,  'Û', 0x13,  'ß', 0x03, 0x10,  'Û',  'Û',
+   0x19, 0x0F, 0x07,  'Û', 0x18, 0x19, 0x02, 0x03,  'Ü',  'Ü',  'Ü', 0x13,
+   0x19, 0x05, 0x00, 0x1A, 0x05,  'Ü', 0x19, 0x06, 0x1A, 0x0C,  'Û', 0x19,
+   0x0A, 0x03, 0x10, 0x1A, 0x05,  'Û', 0x09,  'Û',  'Û',  'Û', 0x03, 0x1A,
+   0x03,  'Û', 0x19, 0x0F, 0x07,  'Û', 0x18, 0x13, 0x19, 0x09, 0x00,  'Ü',
+   0x1A, 0x08,  'Û', 0x19, 0x02, 0x1A, 0x19,  'Û', 0x03, 0x10,  'ß',  'ß',
+    'Û', 0x13,  ' ', 0x11,  'ß',  'ß', 0x09, 0x10,  'Û',  'Û',  'Û', 0x03,
+   0x1A, 0x03,  'Û', 0x19, 0x0F, 0x07,  'Û', 0x18, 0x13, 0x19, 0x08, 0x00,
+   0x1A, 0x1C,  'Û', 0x19, 0x0A, 0x03, 0x10, 0x1A, 0x05,  'Û', 0x09,  'Û',
+    'Û',  'Û', 0x03, 0x1A, 0x03,  'Û', 0x19, 0x0F, 0x07,  'Û', 0x18, 0x13,
+   0x19, 0x09, 0x00, 0x1A, 0x09,  'Û', 0x19, 0x02, 0x1A, 0x19,  'Û', 0x03,
+   0x10,  'ß',  'ß',  'ß', 0x09, 0x13,  'Ü',  'Ü',  'Ü', 0x10,  'Û',  'Û',
+    'Û', 0x03, 0x1A, 0x03,  'Û', 0x19, 0x0F, 0x07,  'Û', 0x18, 0x03,  'ß',
+    'ß',  'ß', 0x13, 0x19, 0x08, 0x00, 0x1A, 0x06,  'ß', 0x19, 0x05, 0x1A,
+   0x0C,  'Û', 0x19, 0x0A, 0x03, 0x10, 0x1A, 0x0C,  'Û', 0x19, 0x0F, 0x07,
+    'Û', 0x18};
+
+unsigned char VMPELU1 [558] = {
+   0x09, 0x10, 0x18, 0x18, 0x19,  '5', 0x05,  '(',  ')',  'Â',  '(',  ')',
+   0x19, 0x0E, 0x07,  'Ü',  'Ü',  'Ü',  'ß',  'Û', 0x18, 0x19,  '7', 0x05,
+    '³', 0x19, 0x0A, 0x07,  'Ü',  'Ü',  'Ü',  'ß',  'ß',  'ß', 0x19, 0x03,
+    'Û', 0x18, 0x19,  '0', 0x03,  'Ü',  'Ü',  'Ü', 0x1A, 0x05,  'Û',  'Ý',
+   0x19, 0x08, 0x07,  'Û', 0x19, 0x08,  'Û', 0x18, 0x19,  '5', 0x03, 0x14,
+    'ß',  'ß', 0x0D, 0x13,  'Ü',  'Ü',  'Ü', 0x10, 0x19, 0x08, 0x07,  'Û',
+   0x19, 0x08,  'Û', 0x18, 0x19,  '5', 0x0F, 0x14,  'ú',  ' ',  ' ', 0x08,
+   0x10,  'Û',  'Û',  'Ý', 0x19, 0x07, 0x07,  'Û', 0x19, 0x08,  'Û', 0x18,
+   0x19,  '5', 0x08, 0x14,  'Ü',  'Ü',  'Û', 0x10,  'Û',  'Û',  'Û', 0x19,
+   0x07, 0x07,  'Û', 0x19, 0x08,  'Û', 0x18, 0x19,  '3', 0x08,  'Ü', 0x1A,
+   0x06,  'Û', 0x19, 0x07, 0x07,  'Û', 0x19, 0x08,  'Û', 0x18, 0x19,  '3',
+   0x08,  'Ü',  'Ü',  'Ü',  ' ',  'Ü',  'Û',  'Û',  'Ý', 0x19, 0x07, 0x07,
+    'Û', 0x19, 0x08,  'Û', 0x18,  'Ä', 0x19,  '#',  'Ä',  'Â', 0x1A, 0x06,
+    'Ä', 0x19, 0x06, 0x08,  'ß', 0x1A, 0x04,  'Û',  'Ý', 0x19, 0x07, 0x07,
+    'Û', 0x19, 0x08,  'Û', 0x18, 0x19, 0x17,  'Ä',  'Ä',  'Â', 0x1A, 0x0A,
+    'Ä',  'Á',  'Ä', 0x19, 0x0E, 0x08, 0x1A, 0x03,  'Û', 0x19, 0x08, 0x07,
+    'Û', 0x19, 0x08,  'Û', 0x18, 0x19, 0x04,  'Ú',  'Ä', 0x19, 0x07,  'Ä',
+    'Ä',  'Ä',  'Â', 0x1A, 0x06,  'Ä',  'Á',  'Ä',  'Ä', 0x19, 0x19, 0x08,
+    'Û',  'Û',  'Û', 0x19, 0x09, 0x07,  'Û', 0x19, 0x08,  'Û', 0x18, 0x19,
+   0x03,  'Ä',  'Ù', 0x19, 0x08,  'Ä',  'Ä',  'Ä',  'Á',  'Ä',  'Ä', 0x19,
+    '!', 0x08,  'Û',  'Û',  'Û', 0x19, 0x09, 0x07,  'Û', 0x19, 0x08,  'Û',
+   0x18, 0x19,  '5', 0x09, 0x1A, 0x04,  'Û', 0x19, 0x08, 0x07,  'Û', 0x19,
+   0x08,  'Û', 0x18, 0x08, 0x1A,  '4',  'Ä', 0x09, 0x11,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x08, 0x1A, 0x04,  'Ä',  ' ',  'Ä',  'Ä', 0x07,  'Û', 0x08,
+   0x1A, 0x08,  'Ä', 0x07,  'Û', 0x08,  'Ä', 0x18, 0x19,  '4', 0x09, 0x11,
+    'Û', 0x10, 0x1A, 0x05,  'Û', 0x19, 0x07, 0x07,  'Û', 0x19, 0x08,  'Û',
+   0x18, 0x19,  '4', 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x19, 0x07,
+   0x07,  'Û', 0x19, 0x08,  'Û', 0x18, 0x19, 0x15, 0x03, 0x1A, 0x05,  'Ü',
+   0x13, 0x19, 0x14, 0x10, 0x1A, 0x03,  'Û', 0x09, 0x11,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x03,  'Û',  'Û', 0x19, 0x0F, 0x07,  'Û', 0x18, 0x19, 0x0A,
+   0x03, 0x1A, 0x05,  'Ü', 0x13, 0x19, 0x1F, 0x10, 0x1A, 0x03,  'Û', 0x09,
+   0x13,  'ß', 0x10, 0x1A, 0x04,  'Û', 0x13,  'ß', 0x03, 0x10,  'Û',  'Û',
+   0x19, 0x0F, 0x07,  'Û', 0x18, 0x19, 0x02, 0x03,  'Ü',  'Ü',  'Ü', 0x13,
+   0x19, 0x04, 0x00, 0x1A, 0x06,  'Ü', 0x19, 0x06, 0x1A, 0x0C,  'Û', 0x19,
+   0x0A, 0x03, 0x10, 0x1A, 0x05,  'Û', 0x09,  'Û',  'Û',  'Û', 0x03, 0x1A,
+   0x03,  'Û', 0x19, 0x0F, 0x07,  'Û', 0x18, 0x13, 0x19, 0x08, 0x00,  'Ü',
+   0x1A, 0x08,  'Û',  'Ý', 0x19, 0x02,  'Þ', 0x1A, 0x18,  'Û', 0x03, 0x10,
+    'ß',  'ß',  'Û', 0x13,  ' ', 0x11,  'ß',  'ß', 0x09, 0x10,  'Û',  'Û',
+    'Û', 0x03, 0x1A, 0x03,  'Û', 0x19, 0x0F, 0x07,  'Û', 0x18, 0x13, 0x19,
+   0x08, 0x00, 0x1A, 0x1C,  'Û', 0x19, 0x0A, 0x03, 0x10, 0x1A, 0x05,  'Û',
+   0x09,  'Û',  'Û',  'Û', 0x03, 0x1A, 0x03,  'Û', 0x19, 0x0F, 0x07,  'Û',
+   0x18, 0x13, 0x19, 0x08, 0x00, 0x1A, 0x09,  'Û',  'Ý', 0x19, 0x02,  'Þ',
+   0x1A, 0x18,  'Û', 0x03, 0x10,  'ß',  'ß',  'ß', 0x09, 0x13,  'Ü',  'Ü',
+    'Ü', 0x10,  'Û',  'Û',  'Û', 0x03, 0x1A, 0x03,  'Û', 0x19, 0x0F, 0x07,
+    'Û', 0x18, 0x03,  'ß',  'ß',  'ß', 0x13, 0x19, 0x06, 0x00, 0x1A, 0x06,
+    'ß', 0x19, 0x07, 0x1A, 0x0C,  'Û', 0x19, 0x0A, 0x03, 0x10, 0x1A, 0x0C,
+    'Û', 0x19, 0x0F, 0x07,  'Û', 0x18};
+
+
+unsigned char SYBER0 [508] = {
+   0x08, 0x10, 0x19,  '!', 0x07,  'Ú', 0x1A, 0x0A,  'Ä',  '¿', 0x18, 0x19,
+   0x1D,  'Ú',  'Ä',  'Ä',  'Ä',  '³',  ' ',  's',  ' ',  'y',  ' ',  'b',
+    ' ',  'e',  ' ',  'r',  ' ',  'Ã', 0x1A, 0x04,  'Ä',  '¿', 0x18, 0x19,
+   0x1A, 0x08,  'Ü',  'Û',  'Û', 0x07,  '³', 0x03,  '°',  '°',  '°', 0x07,
+    'À', 0x1A, 0x0A,  'Ä',  'Ù', 0x03, 0x1A, 0x04,  '°', 0x07,  '³', 0x08,
+    'Ü', 0x18, 0x19, 0x18, 0x1A, 0x04,  'Û',  'ß', 0x03, 0x1A, 0x13,  '°',
+   0x08,  'ß',  'ß', 0x1A, 0x03,  'Û',  'Ü', 0x18, 0x19, 0x17, 0x1A, 0x05,
+    'Û',  'ß', 0x07, 0x1A, 0x11,  'Ä', 0x08,  'ß', 0x1A, 0x08,  'Û',  'Ü',
+   0x18, 0x19, 0x15,  'Ü', 0x1A, 0x03,  'Û',  'ß', 0x19, 0x04, 0x07,  'Ü',
+   0x06, 0x17,  '°',  '°',  ' ',  '°',  '°',  '°',  ' ',  ' ',  '°',  '°',
+   0x00,  'ß', 0x10, 0x19, 0x08, 0x08,  'ß', 0x1A, 0x05,  'Û',  'Ü', 0x18,
+   0x19, 0x13,  'Ü', 0x1A, 0x04,  'Û',  'ß', 0x19, 0x04, 0x07,  'Þ', 0x17,
+    ' ',  ' ', 0x04,  '(', 0x02,  '-', 0x04,  ')',  ' ',  ' ',  '(', 0x02,
+    '-', 0x04,  ')',  ' ',  ' ', 0x07, 0x10,  'Ý', 0x19, 0x09, 0x08,  'ß',
+   0x1A, 0x05,  'Û',  'Ü', 0x18, 0x19, 0x11,  'Ü', 0x1A, 0x04,  'Û',  'ß',
+   0x19, 0x06, 0x17, 0x19, 0x05, 0x04,  'ú',  'ú', 0x19, 0x05, 0x10, 0x19,
+   0x0A, 0x08,  'Ü', 0x1A, 0x05,  'Û',  'ß', 0x18, 0x19, 0x12,  'ß', 0x1A,
+   0x04,  'Û',  'Ü', 0x19, 0x05, 0x17,  ' ', 0x0C,  ')',  ' ',  ' ', 0x00,
+    'Ü', 0x06,  'Ü', 0x00,  'Ü', 0x0F,  'Ü', 0x06,  'Ü', 0x00,  'Ü',  ' ',
+    ' ', 0x0C,  '(',  ' ', 0x10, 0x19, 0x08, 0x08,  'Ü', 0x1A, 0x05,  'Û',
+    'ß', 0x18, 0x19, 0x14,  'ß', 0x1A, 0x04,  'Û',  'Ü', 0x19, 0x03, 0x07,
+    'Þ', 0x17,  ' ',  ' ', 0x00,  'ß', 0x06,  'ß', 0x0F,  'ß', 0x00,  'ß',
+   0x06,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß',  ' ',  ' ', 0x07, 0x10,
+    'Ý', 0x19, 0x06, 0x08,  'Ü', 0x1A, 0x05,  'Û',  'ß', 0x18, 0x19, 0x16,
+   0x1A, 0x05,  'Û',  'Ü',  'Ü',  'Ü', 0x17,  '°',  '°',  '°', 0x1A, 0x06,
+    '±', 0x1A, 0x03,  '°', 0x10, 0x1A, 0x05,  'Ü', 0x1A, 0x05,  'Û',  'ß',
+   0x18, 0x19, 0x16,  'Þ',  'Û', 0x17, 0x1A, 0x06,  'Û',  '°',  '°',  '°',
+   0x1A, 0x04,  '±',  '²', 0x1A, 0x04,  '°', 0x1A, 0x05,  'Û', 0x10, 0x1A,
+   0x03,  'Û',  'ß', 0x18, 0x19, 0x17, 0x17, 0x1A, 0x05,  'Û',  '±', 0x1A,
+   0x03,  '°',  '±',  '±',  '±',  '²',  '²',  '²', 0x1A, 0x05,  '°', 0x1A,
+   0x07,  'Û', 0x10,  'Û', 0x18, 0x19, 0x16,  'Þ', 0x17, 0x1A, 0x04,  'Û',
+    '°',  '°',  '°',  'Û',  '°',  '°',  '±',  '±',  '²',  '²',  '²',  '±',
+   0x1A, 0x04,  '°', 0x1A, 0x09,  'Û', 0x18, 0x10, 0x19, 0x16, 0x17, 0x1A,
+   0x0B,  'Û',  '±', 0x1A, 0x04,  '²', 0x1A, 0x0E,  'Û', 0x10,  'Ý', 0x18,
+   0x19, 0x15, 0x17, 0x1A, 0x0C,  'Û',  '±',  '²',  '²',  '°',  '±', 0x1A,
+   0x0F,  'Û', 0x10,  'Û', 0x18, 0x19, 0x15, 0x17, 0x1A, 0x0C,  'Û',  '±',
+    '²',  '²', 0x1A, 0x12,  'Û', 0x18, 0x10, 0x19, 0x14,  'Þ', 0x17, 0x1A,
+    '!',  'Û', 0x10,  'Ý', 0x18, 0x19, 0x14, 0x17, 0x1A, 0x22,  'Û', 0x18,
+   0x10, 0x19, 0x15, 0x1A,  ' ',  'Û', 0x18, 0x19, 0x16,  'ß',  'ß', 0x1A,
+   0x1B,  'Û',  'ß', 0x18, 0x19, 0x1A, 0x1A, 0x09,  'Û', 0x19, 0x04, 0x1A,
+   0x07,  'Û', 0x18, 0x19, 0x1A, 0x1A, 0x09,  'Û', 0x19, 0x04, 0x1A, 0x07,
+    'Û', 0x18, 0x19, 0x0A,  'Ü', 0x1A, 0x18,  'Û', 0x19, 0x04, 0x1A, 0x15,
+    'Û',  'Ü', 0x18, 0x18};
+
+unsigned char SYBER1 [453] = {
+   0x08, 0x10, 0x18, 0x18, 0x19,  '!', 0x07,  'Ú', 0x1A, 0x0A,  'Ä',  '¿',
+   0x18, 0x19, 0x1D,  'Ú',  'Ä',  'Ä',  'Ä',  '³',  ' ',  's',  ' ',  'y',
+    ' ',  'b',  ' ',  'e',  ' ',  'r',  ' ',  'Ã', 0x1A, 0x04,  'Ä',  '¿',
+   0x18, 0x19, 0x19, 0x08,  'Ü',  'Ü',  'Û',  'Û', 0x07,  '³', 0x03,  '°',
+    '°',  '°', 0x07,  'À', 0x1A, 0x0A,  'Ä',  'Ù', 0x03, 0x1A, 0x04,  '°',
+   0x07,  '³', 0x08,  'Ü', 0x18, 0x19, 0x15,  'Ü', 0x1A, 0x06,  'Û',  'ß',
+   0x03, 0x1A, 0x13,  '°', 0x08,  'ß',  'ß', 0x1A, 0x03,  'Û',  'Ü', 0x18,
+   0x19, 0x11,  'Ü',  'Ü', 0x1A, 0x06,  'Û', 0x1A, 0x03,  'ß', 0x07, 0x1A,
+   0x11,  'Ä', 0x08,  'ß', 0x1A, 0x0A,  'Û',  'Ü',  'Ü',  'Ü', 0x18, 0x19,
+   0x0D,  'Ü',  'Ü', 0x1A, 0x06,  'Û',  'ß', 0x19, 0x07, 0x17, 0x19, 0x05,
+   0x04,  'ú',  'ú', 0x19, 0x05, 0x10, 0x19, 0x09, 0x08, 0x1A, 0x04,  'ß',
+   0x1A, 0x05,  'Û',  'Ü',  'Ü', 0x18, 0x19, 0x0F,  'ß',  'ß', 0x1A, 0x04,
+    'Û',  'Ü',  'Ü', 0x19, 0x06, 0x17,  ' ', 0x0C,  ')',  ' ',  ' ', 0x00,
+    'Ü', 0x06,  'Ü', 0x00,  'Ü', 0x0F,  'Ü', 0x06,  'Ü', 0x00,  'Ü',  ' ',
+    ' ', 0x0C,  '(',  ' ', 0x10, 0x19, 0x0B, 0x08,  'Ü',  'Ü', 0x1A, 0x04,
+    'Û',  'ß',  'ß', 0x18, 0x19, 0x13,  'ß', 0x1A, 0x04,  'Û',  'Ü', 0x19,
+   0x04, 0x07,  'Þ', 0x17,  ' ',  ' ', 0x00,  'ß', 0x06,  'ß', 0x0F,  'ß',
+   0x00,  'ß', 0x06,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß',  ' ',  ' ',
+   0x07, 0x10,  'Ý', 0x19, 0x07, 0x08,  'Ü',  'Ü', 0x1A, 0x03,  'Û',  'ß',
+    'ß',  'ß', 0x18, 0x19, 0x15,  'ß', 0x1A, 0x05,  'Û',  'Ü',  'Ü',  'Ü',
+   0x17,  '°',  '°',  '°', 0x1A, 0x06,  '±', 0x1A, 0x03,  '°', 0x10, 0x1A,
+   0x06,  'Ü', 0x1A, 0x03,  'Û',  'ß', 0x18, 0x19, 0x16,  'Þ',  'Û', 0x17,
+   0x1A, 0x06,  'Û',  '°',  '°',  '°', 0x1A, 0x04,  '±',  '²', 0x1A, 0x04,
+    '°', 0x1A, 0x05,  'Û', 0x10, 0x1A, 0x03,  'Û', 0x18, 0x19, 0x17, 0x17,
+   0x1A, 0x05,  'Û',  '±', 0x1A, 0x03,  '°',  '±',  '±',  '±',  '²',  '²',
+    '²', 0x1A, 0x05,  '°', 0x1A, 0x07,  'Û', 0x10,  'Û', 0x18, 0x19, 0x16,
+    'Þ', 0x17, 0x1A, 0x04,  'Û',  '°',  '°',  '°',  'Û',  '°',  '°',  '±',
+    '±',  '²',  '²',  '²',  '±', 0x1A, 0x04,  '°', 0x1A, 0x09,  'Û', 0x18,
+   0x10, 0x19, 0x16, 0x17, 0x1A, 0x0B,  'Û',  '±', 0x1A, 0x04,  '²', 0x1A,
+   0x0E,  'Û', 0x10,  'Ý', 0x18, 0x19, 0x15, 0x17, 0x1A, 0x0C,  'Û',  '±',
+    '²',  '²',  '°',  '±', 0x1A, 0x0F,  'Û', 0x10,  'Û', 0x18, 0x19, 0x15,
+   0x17, 0x1A, 0x0C,  'Û',  '±',  '²',  '²', 0x1A, 0x12,  'Û', 0x18, 0x10,
+   0x19, 0x14,  'Þ', 0x17, 0x1A,  '!',  'Û', 0x10,  'Ý', 0x18, 0x19, 0x14,
+   0x17, 0x1A, 0x22,  'Û', 0x18, 0x10, 0x19, 0x15, 0x1A,  ' ',  'Û', 0x18,
+   0x19, 0x16,  'ß',  'ß', 0x1A, 0x1B,  'Û',  'ß', 0x18, 0x19, 0x1A, 0x1A,
+   0x09,  'Û', 0x19, 0x04, 0x1A, 0x07,  'Û', 0x18, 0x19, 0x1A, 0x1A, 0x09,
+    'Û', 0x19, 0x04, 0x1A, 0x07,  'Û', 0x18, 0x19, 0x0A,  'Ü', 0x1A, 0x18,
+    'Û', 0x19, 0x04, 0x1A, 0x15,  'Û',  'Ü', 0x18, 0x18};
+
+unsigned char SYBER2 [387] = {
+   0x08, 0x10, 0x18, 0x18, 0x18, 0x18, 0x19, 0x1F, 0x07,  'Ú', 0x1A, 0x0A,
+    'Ä',  '¿', 0x18, 0x19, 0x1B,  'Ú',  'Ä',  'Ä',  'Ä',  '³',  ' ',  's',
+    ' ',  'y',  ' ',  'b',  ' ',  'e',  ' ',  'r',  ' ',  'Ã', 0x1A, 0x04,
+    'Ä',  '¿', 0x18, 0x19, 0x17, 0x08,  'Ü',  'Ü',  'Û',  'Û', 0x07,  '³',
+   0x03,  '°',  '°',  '°', 0x07,  'À', 0x1A, 0x0A,  'Ä',  'Ù', 0x03, 0x1A,
+   0x04,  '°', 0x07,  '³', 0x08,  'Ü', 0x18, 0x19, 0x10, 0x1A, 0x03,  'Ü',
+   0x1A, 0x06,  'Û',  'ß', 0x03, 0x1A, 0x13,  '°', 0x08,  'ß',  'ß', 0x1A,
+   0x03,  'Û', 0x1A, 0x03,  'Ü', 0x18, 0x19, 0x0A,  'Ü',  'Ü',  'Ü', 0x1A,
+   0x07,  'Û', 0x1A, 0x06,  'ß', 0x07, 0x1A, 0x11,  'Ä', 0x08,  'ß', 0x1A,
+   0x0E,  'Û',  'Ü',  'Ü', 0x18, 0x19, 0x0D,  'ß',  'ß', 0x1A, 0x06,  'Û',
+    'Ü',  'Ü',  'Ü', 0x19, 0x05, 0x07,  'Þ', 0x17,  ' ',  ' ', 0x00,  'ß',
+   0x06,  'ß', 0x0F,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß', 0x06,  'ß',
+   0x00,  'ß',  ' ',  ' ', 0x07, 0x10,  'Ý', 0x19, 0x07, 0x08,  'Ü',  'Ü',
+   0x1A, 0x09,  'Û',  'ß', 0x18, 0x19, 0x12,  'ß',  'ß', 0x1A, 0x07,  'Û',
+    'Ü',  'Ü',  'Ü', 0x17,  '°',  '°',  '°', 0x1A, 0x06,  '±', 0x1A, 0x03,
+    '°', 0x10, 0x1A, 0x03,  'Ü', 0x1A, 0x09,  'Û',  'ß',  'ß',  'ß', 0x18,
+   0x19, 0x15,  'ß',  'ß',  'Û', 0x17, 0x1A, 0x06,  'Û',  '°',  '°',  '°',
+   0x1A, 0x04,  '±',  '²', 0x1A, 0x04,  '°', 0x1A, 0x04,  'Û', 0x10, 0x1A,
+   0x04,  'Û', 0x18, 0x19, 0x17, 0x17, 0x1A, 0x05,  'Û',  '±', 0x1A, 0x03,
+    '°',  '±',  '±',  '±',  '²',  '²',  '²', 0x1A, 0x05,  '°', 0x1A, 0x07,
+    'Û', 0x10,  'Û', 0x18, 0x19, 0x16,  'Þ', 0x17, 0x1A, 0x04,  'Û',  '°',
+    '°',  '°',  'Û',  '°',  '°',  '±',  '±',  '²',  '²',  '²',  '±', 0x1A,
+   0x04,  '°', 0x1A, 0x09,  'Û', 0x18, 0x10, 0x19, 0x16, 0x17, 0x1A, 0x0B,
+    'Û',  '±', 0x1A, 0x04,  '²', 0x1A, 0x0E,  'Û', 0x10,  'Ý', 0x18, 0x19,
+   0x15, 0x17, 0x1A, 0x0C,  'Û',  '±',  '²',  '²',  '°',  '±', 0x1A, 0x0F,
+    'Û', 0x10,  'Û', 0x18, 0x19, 0x15, 0x17, 0x1A, 0x0C,  'Û',  '±',  '²',
+    '²', 0x1A, 0x12,  'Û', 0x18, 0x10, 0x19, 0x14,  'Þ', 0x17, 0x1A,  '!',
+    'Û', 0x10,  'Ý', 0x18, 0x19, 0x14, 0x17, 0x1A, 0x22,  'Û', 0x18, 0x10,
+   0x19, 0x15, 0x1A,  ' ',  'Û', 0x18, 0x19, 0x16,  'ß',  'ß', 0x1A, 0x1B,
+    'Û',  'ß', 0x18, 0x19, 0x1A, 0x1A, 0x09,  'Û', 0x19, 0x04, 0x1A, 0x07,
+    'Û', 0x18, 0x19, 0x1A, 0x1A, 0x09,  'Û', 0x19, 0x04, 0x1A, 0x07,  'Û',
+   0x18, 0x19, 0x0A,  'Ü', 0x1A, 0x18,  'Û', 0x19, 0x04, 0x1A, 0x15,  'Û',
+    'Ü', 0x18, 0x18};
+
+unsigned char P_SPR [159-31] = {
+   0x0F, 0x10, 0x19, 0x02, 0x08,  '(',  ')',  'Ñ',  '(',  ')', 0x18, 0x19,
+   0x04, 0x04,  '³', 0x18, 0x19, 0x02,  'Þ', 0x1A, 0x05,  'Û',  'Ü',  'Ü',
+    'Ü', 0x18, 0x19, 0x02, 0x0E, 0x14,  'Ü',  'Ü',  'Ü', 0x01,  'Ü',  'Ü',
+   0x18, 0x10,  ' ',  ' ', 0x07,  'Þ',  'Û',  'Û', 0x01,  'Û',  'Û', 0x0F,
+   0x11,  'ú', 0x18, 0x10,  ' ',  ' ', 0x07,  'Û',  'Û',  'Û', 0x11,  'Û',
+    'Ü',  'Ü', 0x18, 0x10,  ' ',  ' ', 0x1A, 0x06,  'Û',  'Ü', 0x18,  ' ',
+    ' ',  'Þ',  'Û',  'Û',  'Û',  'ß', 0x18,  ' ',  ' ',  'Þ',  'Û',  'Û',
+   0x1A, 0x03,  'Ü', 0x04, 0x17,  'ß', 0x18, 0x10, 0x19, 0x02, 0x07, 0x1A,
+   0x04,  'Û',  'ß', 0x18, 0x19, 0x03,  'Û',  'Û',  'Û', 0x18, 0x04,  'Ü',
+    'Ü',  'Ü', 0x07, 0x14, 0x1A, 0x04,  'ß', 0x18, 0x10,  ' ',  ' ', 0x1A,
+   0x06,  'Û', 0x18,  ' ',  ' ', 0x1A, 0x06,  'Û' /*, 0x18, 0x04,  'Ü',  'Ü',
+   0x07, 0x14, 0x1A, 0x06,  'ß', 0x18, 0x10,  ' ',  ' ', 0x1A, 0x06,  'Û',
+   0x18,  ' ',  ' ', 0x1A, 0x06,  'Û', 0x18,  ' ',  ' ',  'ß', 0x1A, 0x04,
+    'Û',  'ß', 0x18*/};
+
+unsigned char P_SPR1 [161-31] = {
+   0x0F, 0x10, 0x19, 0x02, 0x08,  '(',  ')',  'Ñ',  '(',  ')', 0x18, 0x19,
+   0x04, 0x04,  '³', 0x18, 0x19, 0x02,  'Þ', 0x1A, 0x05,  'Û',  'Ü',  'Ü',
+    'Ü', 0x18, 0x19, 0x02, 0x0E, 0x14,  'Ü',  'Ü',  'Ü', 0x01,  'Ü',  'Ü',
+   0x18, 0x10,  ' ',  ' ', 0x07,  'Þ',  'Û',  'Û', 0x01,  'Û',  'Û', 0x0F,
+   0x11,  'ú', 0x18, 0x10,  ' ',  ' ', 0x07,  'Û',  'Û',  'Û', 0x11,  'Û',
+    'Ü',  'Ü', 0x18, 0x10,  ' ',  ' ', 0x1A, 0x06,  'Û',  'Ü', 0x18,  ' ',
+    ' ',  'Þ',  'Û',  'Û',  'Û',  'ß', 0x18,  ' ',  ' ',  'Þ',  'Û',  'Û',
+   0x14, 0x1A, 0x03,  'Û', 0x10,  'ß', 0x18, 0x19, 0x02, 0x1A, 0x03,  'Û',
+   0x00, 0x17,  'Ü', 0x18, 0x10, 0x19, 0x03, 0x07,  'Û',  'Û',  'Û', 0x18,
+   0x04,  'Ü',  'Ü',  'Ü', 0x07, 0x14, 0x1A, 0x04,  'ß', 0x18, 0x10,  ' ',
+    ' ', 0x1A, 0x06,  'Û', 0x18,  ' ',  ' ', 0x1A, 0x06,  'Û' /*, 0x18, 0x04,
+    'Ü',  'Ü', 0x07, 0x14, 0x1A, 0x06,  'ß', 0x18, 0x10,  ' ',  ' ', 0x1A,
+   0x06,  'Û', 0x18,  ' ',  ' ', 0x1A, 0x06,  'Û', 0x18,  ' ',  ' ',  'ß',
+   0x1A, 0x04,  'Û',  'ß', 0x18*/};
+
+unsigned char MP_SPR [155-27] = {
+   0x0F, 0x10, 0x19, 0x04, 0x05,  '(',  ')',  'Â',  '(',  ')', 0x18, 0x19,
+   0x06,  '³', 0x18, 0x03,  'Ü',  'Ü',  'Ü', 0x1A, 0x05,  'Û',  'Ý', 0x18,
+   0x19, 0x04, 0x14,  'ß',  'ß', 0x0D, 0x13,  'Ü',  'Ü',  'Ü', 0x18, 0x10,
+   0x19, 0x04, 0x0F, 0x14,  'ú',  ' ',  ' ', 0x08, 0x10,  'Û',  'Û',  'Ý',
+   0x18, 0x19, 0x04, 0x14,  'Ü',  'Ü',  'Û', 0x10,  'Û',  'Û',  'Û', 0x18,
+   0x19, 0x02,  'Ü', 0x1A, 0x06,  'Û', 0x18, 0x19, 0x06,  'Ü',  'Û',  'Û',
+    'Ý', 0x18, 0x19, 0x02, 0x14,  'Ü', 0x10,  'Ü', 0x1A, 0x04,  'Û',  'Ý',
+   0x18, 0x19, 0x03,  'ß', 0x1A, 0x04,  'Û', 0x18, 0x19, 0x05,  'Û',  'Û',
+    'Û', 0x18, 0x19, 0x05,  'Û',  'Û',  'Û', 0x18, 0x19, 0x04, 0x09, 0x1A,
+   0x04,  'Û', 0x18, 0x19, 0x03, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18,
+   0x19, 0x03, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û' /*, 0x18, 0x19, 0x03, 0x11,
+    'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x03, 0x11,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x18, 0x19, 0x03,  'ß', 0x1A, 0x04,  'Û',  'ß', 0x18*/};
+
+unsigned char MP_SPR1 [156-27] = {
+   0x0F, 0x10, 0x19, 0x04, 0x05,  '(',  ')',  'Â',  '(',  ')', 0x18, 0x19,
+   0x06,  '³', 0x18, 0x03,  'Ü',  'Ü',  'Ü', 0x1A, 0x05,  'Û',  'Ý', 0x18,
+   0x19, 0x04, 0x14,  'ß',  'ß', 0x0D, 0x13,  'Ü',  'Ü',  'Ü', 0x18, 0x10,
+   0x19, 0x04, 0x0F, 0x14,  'ú',  ' ',  ' ', 0x08, 0x10,  'Û',  'Û',  'Ý',
+   0x18, 0x19, 0x04, 0x14,  'Ü',  'Ü',  'Û', 0x10,  'Û',  'Û',  'Û', 0x18,
+   0x19, 0x02,  'Ü', 0x1A, 0x06,  'Û', 0x18, 0x19, 0x02,  'Ü',  'Ü',  'Ü',
+    ' ',  'Ü',  'Û',  'Û',  'Ý', 0x18, 0x19, 0x02,  'ß', 0x1A, 0x05,  'Û',
+    'Ý', 0x18, 0x19, 0x04,  'ß', 0x1A, 0x03,  'Û', 0x18, 0x19, 0x05,  'Û',
+    'Û',  'Û', 0x18, 0x19, 0x05,  'Û',  'Û',  'Û', 0x18, 0x19, 0x04, 0x09,
+   0x1A, 0x04,  'Û', 0x18, 0x19, 0x03, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û',
+   0x18, 0x19, 0x03, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û'/*, 0x18, 0x19, 0x03,
+   0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x03, 0x11,  'Û', 0x10,
+   0x1A, 0x05,  'Û', 0x18, 0x19, 0x03,  'ß', 0x1A, 0x04,  'Û',  'ß', 0x18*/};
+
+unsigned char MP_SPR2 [156-27] = {
+   0x0F, 0x10, 0x19, 0x04, 0x05,  '(',  ')',  'Â',  '(',  ')', 0x18, 0x19,
+   0x06,  '³', 0x18, 0x03,  'Ü',  'Ü',  'Ü', 0x1A, 0x05,  'Û',  'Ý', 0x18,
+   0x19, 0x04, 0x14,  'ß',  'ß', 0x0D, 0x13,  'Ü',  'Ü',  'Ü', 0x18, 0x10,
+   0x19, 0x04, 0x0F, 0x14,  'þ',  ' ',  ' ', 0x08, 0x10,  'Û',  'Û',  'Ý',
+   0x18, 0x19, 0x04, 0x14,  'Ü',  'Ü',  'Û', 0x10,  'Û',  'Û',  'Û', 0x18,
+   0x19, 0x02,  'Ü', 0x1A, 0x06,  'Û', 0x18, 0x19, 0x07,  'Û',  'Û',  'Ý',
+   0x18, 0x19, 0x02, 0x14,  'Ü', 0x10,  'Ü',  'Ü',  'Ü',  'Û',  'Û',  'Û',
+    'Ý', 0x18, 0x19, 0x03,  'ß', 0x1A, 0x04,  'Û', 0x18, 0x19, 0x05,  'Û',
+    'Û',  'Û', 0x18, 0x19, 0x05,  'Û',  'Û',  'Û', 0x18, 0x19, 0x04, 0x09,
+   0x1A, 0x04,  'Û', 0x18, 0x19, 0x03, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û',
+   0x18, 0x19, 0x03, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û' /*, 0x18, 0x19, 0x03,
+   0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x03, 0x11,  'Û', 0x10,
+   0x1A, 0x05,  'Û', 0x18, 0x19, 0x03,  'ß', 0x1A, 0x04,  'Û',  'ß', 0x18*/};
+
+unsigned char SINIPELU [485] = {
+   0x0F, 0x10, 0x19, 0x07, 0x08,  '±', 0x07,  '°',  '±',  '²', 0x08,  'Û',
+    '²', 0x18, 0x19, 0x05,  '²', 0x07,  '²',  'Û',  '±', 0x08,  '²', 0x07,
+    '°',  '±',  '°',  '±', 0x08,  '±',  '°', 0x07,  '°',  '±',  'Û', 0x08,
+    '²',  '±', 0x19, 0x0D,  '°', 0x07,  '±', 0x08,  '°', 0x18, 0x19, 0x03,
+    '±', 0x07,  '°',  '±',  'Û', 0x08,  '±',  '°', 0x19, 0x02,  '°', 0x07,
+    '°',  '±',  'Û', 0x08,  '²',  '±', 0x07,  '°',  '±',  'Û', 0x19, 0x0D,
+   0x08,  '²',  'Û', 0x07,  'Û', 0x18, 0x19, 0x03,  '±',  '²', 0x08,  '²',
+    ' ',  '(',  ')',  'Ñ',  '(',  ')', 0x19, 0x06,  '±', 0x07,  '°',  '±',
+   0x19, 0x07, 0x08,  '±', 0x07,  '±', 0x08,  '±',  '°',  '°', 0x07,  '°',
+    '±',  '±', 0x18,  ' ',  ' ', 0x08,  '²', 0x07,  '±',  '²',  'Û', 0x19,
+   0x03, 0x02,  '³', 0x19, 0x08, 0x07,  '°',  '±',  'Û', 0x08,  '°', 0x19,
+   0x06, 0x07,  '±', 0x08,  'Û', 0x07,  '°', 0x08,  '±', 0x18,  ' ',  ' ',
+    'Û', 0x07,  '°',  '±',  '²',  ' ',  ' ', 0x02,  'Þ', 0x1A, 0x05,  'Û',
+    'Ü',  'Ü',  'Ü', 0x19, 0x02, 0x08,  'Û', 0x07,  '°',  '±', 0x19, 0x06,
+    '±',  'Û', 0x08,  'Û', 0x07,  '±', 0x18,  ' ',  ' ',  '²',  '±', 0x08,
+    '±',  '²',  ' ',  ' ', 0x07, 0x12,  'Ü',  'Ü',  'Ü', 0x02, 0x10,  'ß',
+    'ß', 0x19, 0x06, 0x08,  '±', 0x07,  '°',  '±',  'Û',  ' ',  ' ',  '±',
+    '°', 0x08,  '±',  ' ',  ' ',  '±', 0x07,  '°',  '±',  '°', 0x18,  ' ',
+   0x08,  '°', 0x07,  '±',  '°', 0x08,  '°',  ' ',  ' ', 0x09,  'Þ',  'Û',
+    'Û',  ' ',  ' ', 0x0F,  'ú', 0x19, 0x06, 0x07,  '°',  '±',  'Û', 0x19,
+   0x02,  '°', 0x08,  'Û', 0x07,  '±', 0x18,  ' ', 0x08,  '°', 0x07,  '±',
+   0x08,  '²',  'Û',  ' ',  ' ', 0x09, 0x1A, 0x03,  'Û',  'Ü',  'Ü', 0x19,
+   0x06, 0x08,  '²',  '°', 0x07,  '±',  '±',  ' ',  ' ', 0x08,  '°', 0x07,
+    '°',  '±', 0x18,  ' ',  '°',  '±',  'Û', 0x08,  '°',  ' ',  ' ', 0x09,
+   0x1A, 0x06,  'Û',  'Ü', 0x19, 0x04, 0x08,  '°', 0x07,  '°',  '±',  '°',
+   0x18, 0x08,  '°', 0x07,  '°',  '±',  'Û', 0x19, 0x02, 0x09,  'Þ',  'Û',
+    'Û',  'Ü', 0x19, 0x07, 0x08,  '±', 0x07,  '°',  '±',  'Û', 0x08,  '°',
+   0x18,  '°', 0x07,  '°',  '±',  'Û', 0x19, 0x02, 0x09,  'Þ', 0x1A, 0x04,
+    'Û',  'Ü', 0x14,  'Ü', 0x10, 0x19, 0x03, 0x08,  '²', 0x07,  '°',  '±',
+   0x08,  '°',  '°', 0x18, 0x07,  '°',  '±',  'Û', 0x08,  '²', 0x19, 0x03,
+   0x09, 0x1A, 0x04,  'Û',  'ß', 0x19, 0x03, 0x08,  '°', 0x07,  '°',  '±',
+   0x08,  '±',  '±', 0x18,  '±', 0x07,  '°',  '±',  'Û', 0x08,  'Û', 0x19,
+   0x03, 0x09,  'Û',  'Û',  'Û', 0x19, 0x04, 0x07,  '±',  '²',  'Û', 0x08,
+    '±',  '°',  '°', 0x18,  ' ',  '²', 0x07,  '°',  '±',  'Û', 0x19, 0x03,
+   0x09, 0x12,  'Û',  'Û',  'Û', 0x10, 0x19, 0x04, 0x08,  '°',  '±', 0x07,
+    '±',  '²',  'Û', 0x18,  ' ',  '°',  '±',  'Û', 0x08,  '²',  'Û', 0x19,
+   0x09, 0x07,  '°',  '±',  'Û',  '°',  '°', 0x08,  '±',  '°', 0x18, 0x19,
+   0x02, 0x07,  '°',  '±',  'Û', 0x08,  '°',  '±', 0x07,  '°',  '°',  '±',
+    'Û', 0x08,  'Û', 0x07,  '°',  '°',  '²',  'Û', 0x08,  '±',  '²', 0x18,
+   0x19, 0x04, 0x07,  '°',  '±',  'Û',  '°', 0x08,  '±',  '²', 0x07,  '°',
+    '±',  'Û', 0x08,  '°', 0x18};
+
+unsigned char JINJANG [459] = {
+   0x0F, 0x10, 0x19, 0x08, 0x08,  '±', 0x07,  '°',  '±',  '²', 0x08,  'Û',
+    '²', 0x18, 0x19, 0x06,  '²', 0x07,  '²',  'Û',  '±', 0x08,  '²', 0x07,
+    '°',  '±',  '°',  '±', 0x08,  '±',  '°', 0x07,  '°',  '±',  'Û', 0x08,
+    '²',  '±', 0x19, 0x0D,  '°', 0x07,  '±', 0x08,  '°', 0x18, 0x19, 0x04,
+    '±', 0x07,  '°',  '±',  'Û', 0x08,  '±',  '°', 0x19, 0x02,  '°', 0x07,
+    '°',  '±',  'Û', 0x08,  '²',  '±', 0x07,  '°',  '±',  'Û', 0x19, 0x0D,
+   0x08,  '²',  'Û', 0x07,  'Û', 0x18, 0x19, 0x04,  '±',  '²', 0x08,  '²',
+   0x19, 0x0C,  '±', 0x07,  '°',  '±', 0x19, 0x07, 0x08,  '±', 0x07,  '±',
+   0x08,  '±',  '°',  '°', 0x07,  '°',  '±',  '±', 0x18, 0x19, 0x02, 0x08,
+    '²', 0x07,  '±',  '²',  'Û', 0x19, 0x0D,  '°',  '±',  'Û', 0x08,  '°',
+   0x19, 0x06, 0x07,  '±', 0x08,  'Û', 0x07,  '°', 0x08,  '±', 0x18, 0x19,
+   0x02,  'Û', 0x07,  '°',  '±',  '²', 0x19, 0x0E, 0x08,  'Û', 0x07,  '°',
+    '±', 0x19, 0x06,  '±',  'Û', 0x08,  'Û', 0x07,  '±', 0x18, 0x19, 0x02,
+    '²',  '±', 0x08,  '±',  '²',  ' ',  ' ', 0x07, 0x1A, 0x07,  'Ü', 0x19,
+   0x03, 0x08,  '±', 0x07,  '°',  '±',  'Û',  ' ',  ' ',  '±',  '°', 0x08,
+    '±',  ' ',  ' ',  '±', 0x07,  '°',  '±',  '°', 0x18,  ' ',  ' ', 0x08,
+    '°', 0x07,  '±',  '°', 0x08,  '°',  ' ', 0x07,  'Ü',  'ß', 0x19, 0x07,
+    'ß',  'Ü',  ' ',  ' ',  '°',  '±',  'Û', 0x19, 0x02,  '°', 0x08,  'Û',
+   0x07,  '±', 0x18,  ' ',  ' ', 0x08,  '°', 0x07,  '±', 0x08,  '²',  'Û',
+    ' ', 0x07,  'Û', 0x19, 0x06,  'Û',  'Û',  ' ',  'Û',  ' ',  ' ', 0x08,
+    '²',  '°', 0x07,  '±',  '±',  ' ',  ' ', 0x08,  '°', 0x07,  '°',  '±',
+   0x18,  ' ',  ' ',  '°',  '±',  'Û', 0x08,  '°',  ' ', 0x07,  'Û',  'Ü',
+    'Û',  'Û',  'Û',  'Ü', 0x19, 0x04,  'Û',  ' ',  ' ', 0x08,  '°', 0x07,
+    '°',  '±',  '°', 0x18,  ' ', 0x08,  '°', 0x07,  '°',  '±',  'Û',  ' ',
+    ' ',  'Û',  'Û',  'ß',  'ß',  'Û',  'Û',  'Û',  'Ü',  'Ü',  'Ü',  'Û',
+    'Û',  ' ', 0x08,  '±', 0x07,  '°',  '±',  'Û', 0x08,  '°', 0x18,  ' ',
+    '°', 0x07,  '°',  '±',  'Û',  ' ',  ' ',  'Û',  'Û',  'Ü',  'Ü', 0x1A,
+   0x07,  'Û',  ' ', 0x08,  '²', 0x07,  '°',  '±', 0x08,  '°',  '°', 0x18,
+    ' ', 0x07,  '°',  '±',  'Û', 0x08,  '²', 0x19, 0x02, 0x07,  'ß', 0x1A,
+   0x07,  'Û',  'ß',  ' ', 0x08,  '°', 0x07,  '°',  '±', 0x08,  '±',  '±',
+   0x18,  ' ',  '±', 0x07,  '°',  '±',  'Û', 0x08,  'Û', 0x19, 0x0B, 0x07,
+    '±',  '²',  'Û', 0x08,  '±',  '°',  '°', 0x18,  ' ',  ' ',  '²', 0x07,
+    '°',  '±',  'Û', 0x19, 0x0B, 0x08,  '°',  '±', 0x07,  '±',  '²',  'Û',
+   0x18,  ' ',  ' ',  '°',  '±',  'Û', 0x08,  '²',  'Û', 0x19, 0x09, 0x07,
+    '°',  '±',  'Û',  '°',  '°', 0x08,  '±',  '°', 0x18, 0x19, 0x03, 0x07,
+    '°',  '±',  'Û', 0x08,  '°',  '±', 0x07,  '°',  '°',  '±',  'Û', 0x08,
+    'Û', 0x07,  '°',  '°',  '²',  'Û', 0x08,  '±',  '²', 0x18, 0x19, 0x05,
+   0x07,  '°',  '±',  'Û',  '°', 0x08,  '±',  '²', 0x07,  '°',  '±',  'Û',
+   0x08,  '°', 0x18};
+
+
+unsigned char WINNUKE0 [917] = {
+   0x01, 0x10, 0x1A,  'N',  'ý', 0x18, 0x1A,  'N',  'ý', 0x18, 0x1A, 0x06,
+    'ý', 0x03,  'Ü',  'Ü', 0x1A, 0x1C,  'Û',  'Ü',  'Ü', 0x01, 0x1A,  '&',
+    'ý', 0x18, 0x1A, 0x05,  'ý', 0x03,  'Û', 0x01, 0x1A,  ' ',  'ý', 0x03,
+    'Û', 0x01, 0x1A,  '%',  'ý', 0x18, 0x1A, 0x05,  'ý', 0x03,  'Û', 0x01,
+   0x1A, 0x06,  'ý', 0x06,  'Ü', 0x1A, 0x13,  'Û',  'Ü', 0x01, 0x1A, 0x03,
+    'ý', 0x03,  'Û', 0x01, 0x1A,  '%',  'ý', 0x18, 0x1A, 0x05,  'ý', 0x03,
+    'Û', 0x01, 0x1A, 0x05,  'ý', 0x06, 0x1A, 0x07,  'Û', 0x07, 0x16,  'Ü',
+   0x06, 0x17,  '°',  '°',  ' ',  '°',  '°',  '°',  ' ',  ' ',  '°',  '°',
+   0x07, 0x16,  'Ü', 0x06, 0x10, 0x1A, 0x03,  'Û', 0x01,  'ý',  'ý',  'ý',
+   0x03,  'Û', 0x01, 0x1A,  '%',  'ý', 0x18, 0x1A, 0x05,  'ý', 0x03,  'Û',
+   0x01, 0x1A, 0x05,  'ý', 0x06, 0x1A, 0x06,  'Û', 0x07, 0x16,  'Þ', 0x17,
+    ' ',  ' ', 0x04,  '(', 0x02,  '-', 0x04,  ')',  ' ',  ' ',  '(', 0x02,
+    '-', 0x04,  ')',  ' ',  ' ', 0x07, 0x16,  'Ý', 0x06, 0x10,  'Û',  'Û',
+    'Û', 0x01,  'ý',  'ý',  'ý', 0x03,  'Û', 0x01, 0x1A,  '%',  'ý', 0x18,
+   0x1A, 0x05,  'ý', 0x03,  'Û', 0x01, 0x1A, 0x05,  'ý', 0x06, 0x1A, 0x06,
+    'Û', 0x17, 0x19, 0x05, 0x04,  'ú',  'ú', 0x19, 0x05, 0x06, 0x10,  'Û',
+    'Û',  'Û', 0x01,  'ý',  'ý',  'ý', 0x03,  'Û', 0x01, 0x1A,  '%',  'ý',
+   0x18, 0x1A, 0x05,  'ý', 0x03,  'Û', 0x01, 0x1A, 0x05,  'ý', 0x06, 0x1A,
+   0x06,  'Û', 0x17,  ' ', 0x0C,  ')',  ' ',  ' ', 0x00,  'Ü', 0x06,  'Ü',
+   0x00,  'Ü', 0x0F,  'Ü', 0x06,  'Ü', 0x00,  'Ü',  ' ',  ' ', 0x0C,  '(',
+    ' ', 0x06, 0x10,  'Û',  'Û',  'Û', 0x01,  'ý',  'ý',  'ý', 0x03,  'Û',
+   0x01, 0x1A,  '%',  'ý', 0x18, 0x03, 0x1A, 0x05,  'ß', 0x01, 0x1A, 0x06,
+    'ý', 0x06, 0x1A, 0x06,  'Û', 0x07, 0x16,  'Þ', 0x17,  ' ',  ' ', 0x00,
+    'ß', 0x06,  'ß', 0x0F,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß', 0x06,
+    'ß', 0x00,  'ß',  ' ',  ' ', 0x07, 0x16,  'Ý', 0x06, 0x10,  'Û',  'Û',
+    'Û', 0x01, 0x1A, 0x03,  'ý', 0x03, 0x1A,  '%',  'ß', 0x18, 0x01, 0x1A,
+   0x0C,  'ý', 0x06,  'Û',  'Û', 0x08, 0x16, 0x1A, 0x04,  'Ü', 0x17,  '°',
+    '°',  '°', 0x1A, 0x06,  '±', 0x1A, 0x03,  '°', 0x16,  'Ü',  'Ü',  'Ü',
+   0x10,  'Ü',  'Ü',  'Ü', 0x01, 0x1A,  '&',  'ý', 0x18, 0x05, 0x1A, 0x0B,
+    'ß', 0x08, 0x15,  'Ü', 0x17, 0x1A, 0x06,  'Û',  '°',  '°',  '°', 0x1A,
+   0x04,  '±',  '²', 0x1A, 0x04,  '°', 0x1A, 0x05,  'Û', 0x10, 0x1A, 0x04,
+    'Û', 0x15, 0x1A, 0x03,  'Ü', 0x05, 0x10, 0x1A, 0x1D,  'ß', 0x18, 0x19,
+   0x09, 0x08,  'Ü', 0x17, 0x1A, 0x06,  'Û',  '±', 0x1A, 0x03,  '°',  '±',
+    '±',  '±',  '²',  '²',  '²', 0x1A, 0x05,  '°', 0x1A, 0x07,  'Û', 0x10,
+   0x1A, 0x0D,  'Û', 0x1A, 0x03,  'Ü', 0x18, 0x19, 0x07,  'Ü', 0x17, 0x1A,
+   0x07,  'Û',  '°',  '°',  '°',  'Û',  '°',  '°',  '±',  '±',  '²',  '²',
+    '²',  '±', 0x1A, 0x04,  '°', 0x1A, 0x09,  'Û', 0x10, 0x1A, 0x15,  'Û',
+   0x03,  'Ü', 0x18, 0x19, 0x05, 0x08,  'Ü', 0x17, 0x1A, 0x0F,  'Û',  '±',
+   0x1A, 0x04,  '²', 0x1A, 0x0D,  'Û', 0x10, 0x1A, 0x08,  'ß', 0x1A, 0x08,
+    'Û', 0x13,  'Ü',  'Ü',  'Ü', 0x03, 0x10,  'Û',  'Û',  'Û', 0x18,  ' ',
+   0x06,  'Ü',  'Û',  'Û',  'Û', 0x08, 0x1A,  '%',  'Û', 0x19, 0x12, 0x03,
+   0x1A, 0x03,  'Û',  'ß', 0x18,  ' ', 0x06, 0x1A, 0x03,  'Û', 0x08, 0x1A,
+    '%',  'Û',  'Ý', 0x19, 0x10, 0x03,  'Ü',  'Û',  'ß',  'ß', 0x18,  ' ',
+   0x06, 0x1A, 0x03,  'Û', 0x08, 0x1A,  '%',  'Û',  'Ý', 0x19, 0x0E, 0x03,
+    'Ü',  'Û',  'ß', 0x18, 0x05,  'Ú', 0x06, 0x1A, 0x03,  'ß', 0x04,  'ß',
+    'ß', 0x08,  'ß', 0x0C,  'ß',  'ß', 0x08,  'ß', 0x0C,  'ß',  'ß', 0x08,
+    'ß', 0x04,  'ß',  'ß', 0x08,  'ß', 0x04,  'ß',  'ß', 0x08,  'ß', 0x04,
+    'ß',  'ß', 0x08,  'ß', 0x04,  'ß',  'ß', 0x08,  'ß', 0x04,  'ß',  'ß',
+   0x08,  'ß', 0x0E,  'ß',  'ß', 0x08,  'ß', 0x04,  'ß',  'ß', 0x08,  'ß',
+   0x04,  'ß',  'ß', 0x05, 0x1A, 0x03,  'Ä',  ' ', 0x04,  'Ü',  'Ü',  'Ü',
+    ' ',  'Ü',  'Ü',  'Ü', 0x19, 0x06, 0x03,  'Ü',  'Ü',  'Û',  'Û',  'Ü',
+   0x19, 0x08, 0x0A,  'Ü',  'Ü',  'Ü', 0x18, 0x05,  '³',  ' ',  ' ', 0x0C,
+    'Ü',  'Ü',  'Ü', 0x19, 0x02,  'Ü',  'Ü',  'Ü', 0x19, 0x02, 0x04,  'Ü',
+    'Ü',  'Ü', 0x19, 0x02, 0x0C,  'Ü',  'Ü',  'Ü', 0x19, 0x02,  'Ü',  'Ü',
+    'Ü', 0x19, 0x02, 0x04,  'Ü',  'Ü',  'Ü', 0x19, 0x02, 0x03,  '°', 0x1A,
+   0x22,  'ß',  '±', 0x18, 0x05,  '³',  ' ',  ' ', 0x0C,  'Û',  'Û',  'Û',
+   0x19, 0x02,  'Û',  'Û',  'Û', 0x19, 0x02, 0x04,  'Û',  'Û',  'Û', 0x19,
+   0x02, 0x0C,  'Û',  'Û',  'Û', 0x19, 0x02,  'Û',  'Û',  'Û', 0x19, 0x02,
+   0x04,  'Û',  'Û',  'Û', 0x19, 0x02, 0x03,  '°',  ' ',  'Ü', 0x19, 0x02,
+    'Ü',  ' ',  'Ü',  ' ', 0x1A, 0x03,  'Ü',  ' ', 0x1A, 0x03,  'Ü',  ' ',
+    'Ü',  ' ',  ' ',  'Ü',  ' ',  'Ü', 0x19, 0x02,  'Ü',  ' ', 0x1A, 0x03,
+    'Ü',  ' ',  '±', 0x18, 0x05,  'À',  'Ü',  'Ü',  'Ä',  'Ü',  'Ä',  'Ü',
+    'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',
+    'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',
+    'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',  ' ', 0x03,  '°',  ' ',  'Û',
+   0x19, 0x02,  'Û',  ' ',  'Û',  ' ',  'Û',  ' ',  ' ',  'Û',  ' ',  'Û',
+    ' ',  ' ',  'Û',  ' ',  'Û',  ' ',  ' ',  'Û',  ' ',  'Û',  ' ',  'Ü',
+    'ß',  ' ',  ' ',  'Û', 0x19, 0x03,  '±', 0x18, 0x01, 0x1A,  '$',  'ý',
+   0x05,  'Û',  ' ', 0x03,  '°',  ' ',  'Û',  ' ',  'Û',  ' ',  'Û',  ' ',
+    'Û',  ' ',  'Û',  ' ',  ' ',  'Û',  ' ',  'Û',  ' ',  ' ',  'Û',  ' ',
+    'Û',  ' ',  ' ',  'Û',  ' ',  'Û',  'ß',  'ß',  'Ü',  ' ',  ' ',  'Û',
+    'ß',  'ß',  ' ',  ' ',  '±', 0x18, 0x01, 0x1A,  '$',  'ý', 0x05,  'Û',
+    ' ', 0x03,  '°',  ' ',  'Û',  'Ü',  'Û',  'Ü',  'Û',  ' ',  'Û',  ' ',
+    'Û',  ' ',  ' ',  'Û',  ' ',  'Û',  ' ',  ' ',  'Û',  ' ',  'Û',  'Ü',
+    'Ü',  'Û',  ' ',  'Û', 0x19, 0x02,  'Û',  ' ',  'Û',  'Ü',  'Ü',  'Ü',
+    ' ',  '±', 0x18, 0x01, 0x1A,  '$',  'ý', 0x05,  'Û',  ' ', 0x03,  '°',
+   0x1A, 0x22,  'Ü',  '±', 0x18};
+
+unsigned char WINNUKE1 [913] = {
+   0x01, 0x10, 0x1A,  'N',  'ý', 0x18, 0x1A,  'N',  'ý', 0x18, 0x1A, 0x06,
+    'ý', 0x03,  'Ü',  'Ü', 0x1A, 0x1C,  'Û',  'Ü',  'Ü', 0x01, 0x1A,  '&',
+    'ý', 0x18, 0x1A, 0x05,  'ý', 0x03,  'Û', 0x01, 0x1A,  ' ',  'ý', 0x03,
+    'Û', 0x01, 0x1A,  '%',  'ý', 0x18, 0x1A, 0x05,  'ý', 0x03,  'Û', 0x01,
+   0x1A, 0x06,  'ý', 0x06,  'Ü', 0x1A, 0x13,  'Û',  'Ü', 0x01, 0x1A, 0x03,
+    'ý', 0x03,  'Û', 0x01, 0x1A,  '%',  'ý', 0x18, 0x1A, 0x05,  'ý', 0x03,
+    'Û', 0x01, 0x1A, 0x05,  'ý', 0x06, 0x1A, 0x07,  'Û', 0x07, 0x16,  'Ü',
+   0x06, 0x17,  '°',  '°',  ' ',  '°',  '°',  '°',  ' ',  ' ',  '°',  '°',
+   0x07, 0x16,  'Ü', 0x06, 0x10, 0x1A, 0x03,  'Û', 0x01,  'ý',  'ý',  'ý',
+   0x03,  'Û', 0x01, 0x1A,  '%',  'ý', 0x18, 0x1A, 0x05,  'ý', 0x03,  'Û',
+   0x01, 0x1A, 0x05,  'ý', 0x06, 0x1A, 0x06,  'Û', 0x07, 0x16,  'Þ', 0x17,
+    ' ',  ' ', 0x04,  '(', 0x02,  '-', 0x04,  ')',  ' ',  ' ',  '(', 0x02,
+    '-', 0x04,  ')',  ' ',  ' ', 0x07, 0x16,  'Ý', 0x06, 0x10,  'Û',  'Û',
+    'Û', 0x01,  'ý',  'ý',  'ý', 0x03,  'Û', 0x01, 0x1A,  '%',  'ý', 0x18,
+   0x1A, 0x05,  'ý', 0x03,  'Û', 0x01, 0x1A, 0x05,  'ý', 0x06, 0x1A, 0x06,
+    'Û', 0x17, 0x19, 0x05, 0x04,  'ú',  'ú', 0x19, 0x05, 0x06, 0x10,  'Û',
+    'Û',  'Û', 0x01,  'ý',  'ý',  'ý', 0x03,  'Û', 0x01, 0x1A,  '%',  'ý',
+   0x18, 0x1A, 0x05,  'ý', 0x03,  'Û', 0x01, 0x1A, 0x05,  'ý', 0x06, 0x1A,
+   0x06,  'Û', 0x17,  ' ', 0x0C,  ')',  ' ',  ' ', 0x00,  'Ü', 0x06,  'Ü',
+   0x00,  'Ü', 0x0F,  'Ü', 0x06,  'Ü', 0x00,  'Ü',  ' ',  ' ', 0x0C,  '(',
+    ' ', 0x06, 0x10,  'Û',  'Û',  'Û', 0x01,  'ý',  'ý',  'ý', 0x03,  'Û',
+   0x01, 0x1A,  '%',  'ý', 0x18, 0x03, 0x1A, 0x05,  'ß', 0x01, 0x1A, 0x06,
+    'ý', 0x06, 0x1A, 0x06,  'Û', 0x07, 0x16,  'Þ', 0x17,  ' ',  ' ', 0x00,
+    'ß', 0x06,  'ß', 0x0F,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß', 0x06,
+    'ß', 0x00,  'ß',  ' ',  ' ', 0x07, 0x16,  'Ý', 0x06, 0x10,  'Û',  'Û',
+    'Û', 0x01, 0x1A, 0x03,  'ý', 0x03, 0x1A,  '%',  'ß', 0x18, 0x01, 0x1A,
+   0x0C,  'ý', 0x06,  'Û',  'Û', 0x08, 0x16, 0x1A, 0x04,  'Ü', 0x17,  '°',
+    '°',  '°', 0x1A, 0x06,  '±', 0x1A, 0x03,  '°', 0x16,  'Ü',  'Ü',  'Ü',
+   0x10, 0x1A, 0x06,  'Ü', 0x01, 0x1A, 0x22,  'ý', 0x18, 0x05, 0x1A, 0x0B,
+    'ß', 0x08, 0x15,  'Ü', 0x17, 0x1A, 0x06,  'Û',  '°',  '°',  '°', 0x1A,
+   0x04,  '±',  '²', 0x1A, 0x04,  '°', 0x1A, 0x05,  'Û', 0x10, 0x1A, 0x07,
+    'Û', 0x15, 0x1A, 0x07,  'Ü', 0x05, 0x10, 0x1A, 0x16,  'ß', 0x18, 0x19,
+   0x09, 0x08,  'Ü', 0x17, 0x1A, 0x06,  'Û',  '±', 0x1A, 0x03,  '°',  '±',
+    '±',  '±',  '²',  '²',  '²', 0x1A, 0x05,  '°', 0x1A, 0x07,  'Û', 0x10,
+   0x1A, 0x0D,  'Û',  'Ü', 0x18, 0x19, 0x07,  'Ü', 0x17, 0x1A, 0x07,  'Û',
+    '°',  '°',  '°',  'Û',  '°',  '°',  '±',  '±',  '²',  '²',  '²',  '±',
+   0x1A, 0x04,  '°', 0x1A, 0x09,  'Û', 0x10, 0x1A, 0x0D,  'Û', 0x03,  'Ü',
+   0x18, 0x19, 0x05, 0x08,  'Ü', 0x17, 0x1A, 0x0F,  'Û',  '±', 0x1A, 0x04,
+    '²', 0x1A, 0x0D,  'Û', 0x10,  'ß', 0x19, 0x06,  'ß',  'Û', 0x13,  'Ü',
+    'Ü',  'Ü', 0x03, 0x10,  'Û',  'Û',  'Û', 0x18,  ' ', 0x06,  'Ü',  'Û',
+    'Û',  'Û', 0x08, 0x1A,  '%',  'Û', 0x19, 0x09, 0x03, 0x1A, 0x03,  'Û',
+    'ß', 0x18,  ' ', 0x06, 0x1A, 0x03,  'Û', 0x08, 0x1A,  '%',  'Û',  'Ý',
+   0x19, 0x09, 0x03,  'ß',  'Û',  'Ü', 0x18,  ' ', 0x06, 0x1A, 0x03,  'Û',
+   0x08, 0x1A,  '%',  'Û',  'Ý', 0x19, 0x0B, 0x03,  'ß',  'Û',  'Ü', 0x18,
+   0x05,  'Ú', 0x06, 0x1A, 0x03,  'ß', 0x04,  'ß',  'ß', 0x08,  'ß', 0x0C,
+    'ß',  'ß', 0x08,  'ß', 0x0C,  'ß',  'ß', 0x08,  'ß', 0x0E,  'ß',  'ß',
+   0x08,  'ß', 0x04,  'ß',  'ß', 0x08,  'ß', 0x04,  'ß',  'ß', 0x08,  'ß',
+   0x04,  'ß',  'ß', 0x08,  'ß', 0x04,  'ß',  'ß', 0x08,  'ß', 0x0E,  'ß',
+    'ß', 0x08,  'ß', 0x04,  'ß',  'ß', 0x08,  'ß', 0x04,  'ß',  'ß', 0x05,
+   0x1A, 0x03,  'Ä',  ' ', 0x0C,  'Ü',  'Ü',  'Ü',  ' ',  'Ü',  'Ü',  'Ü',
+   0x19, 0x06, 0x03,  'Ü',  'Ü',  'Û',  'Û',  'Ü', 0x19, 0x08, 0x0A,  'Ü',
+    'Ü',  'Ü', 0x18, 0x05,  '³',  ' ',  ' ', 0x0C,  'Ü',  'Ü',  'Ü', 0x19,
+   0x02,  'Ü',  'Ü',  'Ü', 0x19, 0x02, 0x04,  'Ü',  'Ü',  'Ü', 0x19, 0x02,
+   0x0C,  'Ü',  'Ü',  'Ü', 0x19, 0x02,  'Ü',  'Ü',  'Ü', 0x19, 0x02, 0x04,
+    'Ü',  'Ü',  'Ü', 0x19, 0x02, 0x03,  '°', 0x1A, 0x22,  'ß',  '±', 0x18,
+   0x05,  '³',  ' ',  ' ', 0x0C,  'Û',  'Û',  'Û', 0x19, 0x02,  'Û',  'Û',
+    'Û', 0x19, 0x02, 0x04,  'Û',  'Û',  'Û', 0x19, 0x02, 0x0C,  'Û',  'Û',
+    'Û', 0x19, 0x02,  'Û',  'Û',  'Û', 0x19, 0x02, 0x04,  'Û',  'Û',  'Û',
+   0x19, 0x02, 0x03,  '°',  ' ',  'Ü', 0x19, 0x02,  'Ü',  ' ',  'Ü',  ' ',
+   0x1A, 0x03,  'Ü',  ' ', 0x1A, 0x03,  'Ü',  ' ',  'Ü',  ' ',  ' ',  'Ü',
+    ' ',  'Ü', 0x19, 0x02,  'Ü',  ' ', 0x1A, 0x03,  'Ü',  ' ',  '±', 0x18,
+   0x05,  'À',  'Ü',  'Ü',  'Ä',  'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',
+    'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',
+    'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',  'Ä',  'Ü',  'Ü',
+    'Ä',  'Ü',  'Ü',  ' ', 0x03,  '°',  ' ',  'Û', 0x19, 0x02,  'Û',  ' ',
+    'Û',  ' ',  'Û',  ' ',  ' ',  'Û',  ' ',  'Û',  ' ',  ' ',  'Û',  ' ',
+    'Û',  ' ',  ' ',  'Û',  ' ',  'Û',  ' ',  'Ü',  'ß',  ' ',  ' ',  'Û',
+   0x19, 0x03,  '±', 0x18, 0x01, 0x1A,  '$',  'ý', 0x05,  'Û',  ' ', 0x03,
+    '°',  ' ',  'Û',  ' ',  'Û',  ' ',  'Û',  ' ',  'Û',  ' ',  'Û',  ' ',
+    ' ',  'Û',  ' ',  'Û',  ' ',  ' ',  'Û',  ' ',  'Û',  ' ',  ' ',  'Û',
+    ' ',  'Û',  'ß',  'ß',  'Ü',  ' ',  ' ',  'Û',  'ß',  'ß',  ' ',  ' ',
+    '±', 0x18, 0x01, 0x1A,  '$',  'ý', 0x05,  'Û',  ' ', 0x03,  '°',  ' ',
+    'Û',  'Ü',  'Û',  'Ü',  'Û',  ' ',  'Û',  ' ',  'Û',  ' ',  ' ',  'Û',
+    ' ',  'Û',  ' ',  ' ',  'Û',  ' ',  'Û',  'Ü',  'Ü',  'Û',  ' ',  'Û',
+   0x19, 0x02,  'Û',  ' ',  'Û',  'Ü',  'Ü',  'Ü',  ' ',  '±', 0x18, 0x01,
+   0x1A,  '$',  'ý', 0x05,  'Û',  ' ', 0x03,  '°', 0x1A, 0x22,  'Ü',  '±',
+   0x18};
+
+unsigned char SAVE0 [733] = {
+   0x09, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x0D, 0x07,  'Ü',
+   0x06, 0x17,  '°',  '°',  ' ',  '°',  '°',  '°',  ' ',  ' ',  '°',  '°',
+   0x00,  'ß', 0x10, 0x19, 0x1E, 0x08,  '(',  ')',  'Ñ',  '(',  ')', 0x19,
+   0x0B, 0x05,  '(',  ')',  'Â',  '(',  ')', 0x18, 0x19, 0x0C, 0x07,  'Þ',
+   0x17,  ' ',  ' ', 0x04,  '(', 0x02,  '-', 0x04,  ')',  ' ',  ' ',  '(',
+   0x02,  '-', 0x04,  ')',  ' ',  ' ', 0x07, 0x10,  'Ý', 0x19, 0x1F, 0x04,
+    '³', 0x19, 0x0F, 0x05,  '³', 0x18, 0x19, 0x0C, 0x17, 0x19, 0x05, 0x04,
+    'ú',  'ú', 0x19, 0x05, 0x10, 0x19, 0x1D,  'Þ', 0x1A, 0x05,  'Û',  'Ü',
+    'Ü',  'Ü',  ' ',  ' ', 0x03,  'Ü',  'Ü',  'Ü', 0x1A, 0x05,  'Û',  'Ý',
+   0x18, 0x19, 0x0C, 0x17,  ' ', 0x0C,  ')',  ' ',  ' ', 0x00,  'Ü', 0x06,
+    'Ü', 0x00,  'Ü', 0x0F,  'Ü', 0x06,  'Ü', 0x00,  'Ü',  ' ',  ' ', 0x0C,
+    '(',  ' ', 0x10, 0x19, 0x1D, 0x0E, 0x14,  'Ü',  'Ü',  'Ü', 0x01,  'Ü',
+    'Ü', 0x10, 0x19, 0x0B, 0x03, 0x14,  'ß',  'ß', 0x0D, 0x13,  'Ü',  'Ü',
+    'Ü', 0x18, 0x10, 0x19, 0x0C, 0x07,  'Þ', 0x17,  ' ',  ' ', 0x00,  'ß',
+   0x06,  'ß', 0x0F,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß', 0x06,  'ß',
+   0x00,  'ß',  ' ',  ' ', 0x07, 0x10,  'Ý', 0x19, 0x1C,  'Þ',  'Û',  'Û',
+   0x01,  'Û',  'Û', 0x0F, 0x11,  'ú', 0x10, 0x19, 0x0B, 0x14,  'ú',  ' ',
+    ' ', 0x08, 0x10,  'Û',  'Û',  'Ý', 0x18, 0x19, 0x07, 0x1A, 0x04,  'Ü',
+   0x17,  '°',  '°',  '°', 0x1A, 0x06,  '±', 0x1A, 0x03,  '°', 0x10, 0x1A,
+   0x04,  'Ü', 0x19, 0x17, 0x07,  'Û',  'Û',  'Û', 0x11,  'Û',  'Ü',  'Ü',
+   0x10, 0x19, 0x0B, 0x08, 0x14,  'Ü',  'Ü',  'Û', 0x10,  'Û',  'Û',  'Û',
+   0x18, 0x19, 0x04,  'Ü', 0x17, 0x1A, 0x06,  'Û',  '°',  '°',  '°', 0x1A,
+   0x04,  '±',  '²', 0x1A, 0x04,  '°', 0x1A, 0x05,  'Û', 0x10,  'Û',  'Û',
+   0x1A, 0x09,  'Ü', 0x09, 0x1A, 0x09,  'Ü',  ' ', 0x07, 0x1A, 0x06,  'Û',
+    'Ü', 0x19, 0x07, 0x08,  'Ü', 0x1A, 0x06,  'Û', 0x18, 0x19, 0x02,  'Ü',
+   0x17, 0x1A, 0x06,  'Û',  '±', 0x1A, 0x03,  '°',  '±',  '±',  '±',  '²',
+    '²',  '²', 0x1A, 0x05,  '°', 0x1A, 0x07,  'Û', 0x10, 0x1A, 0x08,  'Û',
+    'ß', 0x09,  'Û',  'Û', 0x1A, 0x04,  'ß', 0x19, 0x02, 0x07,  'Þ',  'Û',
+    'Û',  'Û',  'ß', 0x19, 0x0E, 0x08,  'Ü',  'Û',  'Û',  'Ý', 0x18,  ' ',
+    'Ü', 0x17, 0x1A, 0x07,  'Û',  '°',  '°',  '°',  'Û',  '°',  '°',  '±',
+    '±',  '²',  '²',  '²',  '±', 0x1A, 0x04,  '°', 0x1A, 0x09,  'Û', 0x10,
+    'Û', 0x19, 0x06, 0x09, 0x1A, 0x03,  'Û', 0x19, 0x06, 0x07,  'Þ',  'Û',
+    'Û', 0x1A, 0x03,  'Ü', 0x04, 0x17,  'ß', 0x10, 0x19, 0x07, 0x08, 0x14,
+    'Ü', 0x10,  'Ü', 0x1A, 0x04,  'Û',  'Ý', 0x18,  'Û', 0x17, 0x1A, 0x0E,
+    'Û',  '±', 0x1A, 0x04,  '²', 0x1A, 0x0F,  'Û', 0x10, 0x19, 0x07, 0x09,
+    'ß',  'ß', 0x19, 0x08, 0x07, 0x1A, 0x04,  'Û',  'ß', 0x19, 0x09, 0x08,
+    'ß', 0x1A, 0x04,  'Û', 0x18,  'Û', 0x17, 0x1A, 0x0E,  'Û',  '±',  '²',
+    '²',  '°',  '±', 0x1A, 0x10,  'Û', 0x10, 0x19, 0x0E, 0x06,  '²',  '°',
+   0x19, 0x02, 0x07,  'Û',  'Û',  'Û', 0x19, 0x0D, 0x08,  'Û',  'Û',  'Û',
+   0x18,  'Û', 0x17,  'Û', 0x10,  ' ', 0x17, 0x1A, 0x0C,  'Û',  '±',  '²',
+    '²', 0x1A, 0x12,  'Û', 0x10, 0x19, 0x0E, 0x06, 0x14,  'ß',  'ß', 0x04,
+   0x10,  'Ü',  'Ü',  'Ü', 0x07, 0x14,  'ß',  'ß',  'ß', 0x10, 0x19, 0x0D,
+   0x08,  'Û',  'Û',  'Û', 0x18,  'Û',  ' ',  'Þ', 0x17, 0x1A,  '!',  'Û',
+   0x10,  'Ý', 0x19, 0x0E, 0x06,  'Û',  '²',  ' ',  ' ', 0x07,  'Þ', 0x1A,
+   0x03,  'Û', 0x19, 0x0B, 0x09, 0x1A, 0x04,  'Û', 0x18, 0x08,  'Û',  ' ',
+   0x17, 0x1A, 0x22,  'Û', 0x10, 0x19, 0x0F, 0x06,  '±',  'Û',  ' ',  ' ',
+   0x07,  'Þ', 0x1A, 0x04,  'Û', 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x18, 0x19, 0x02, 0x08, 0x1A,  ' ',  'Û', 0x19, 0x10, 0x06,
+   0x14,  'ß',  'ß', 0x04, 0x10,  'Ü',  'Ü', 0x07, 0x14, 0x1A, 0x04,  'ß',
+   0x04, 0x17,  'Ü', 0x10, 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,
+    'Û', 0x18, 0x19, 0x03, 0x08,  'ß',  'ß', 0x1A, 0x1B,  'Û',  'ß', 0x19,
+   0x11, 0x06,  'Û',  '±',  ' ',  ' ', 0x07, 0x1A, 0x05,  'Û', 0x19, 0x09,
+   0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x07, 0x08, 0x1A,
+   0x09,  'Û', 0x19, 0x04,  'ß', 0x1A, 0x06,  'Û',  'Ü', 0x19, 0x14, 0x06,
+    '²',  '°',  ' ',  ' ', 0x07, 0x1A, 0x05,  'Û', 0x19, 0x09, 0x09, 0x11,
+    'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x07, 0x08, 0x1A, 0x09,  'Û',
+   0x19, 0x06,  'ß', 0x1A, 0x06,  'Û',  'Ü', 0x19, 0x04,  'Ü',  'Ü', 0x19,
+   0x0B, 0x06,  '±',  'Û',  ' ',  ' ', 0x07, 0x1A, 0x05,  'Û', 0x19, 0x09,
+   0x09,  'ß', 0x1A, 0x04,  'Û',  'ß', 0x18,  ' ', 0x08, 0x1A, 0x11,  'Û',
+   0x19, 0x07,  'ß', 0x1A, 0x0D,  'Û',  'Ü', 0x19, 0x09, 0x06,  '°',  '±',
+   0x19, 0x02, 0x07, 0x1A, 0x03,  'Û', 0x19, 0x0C, 0x09,  'Û',  'Û',  'Û',
+   0x18};
+
+unsigned char SAVE1 [752] = {
+   0x09, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x0D, 0x07,  'Ü',
+   0x06, 0x17,  '°',  '°',  ' ',  '°',  '°',  '°',  ' ',  ' ',  '°',  '°',
+   0x00,  'ß', 0x10, 0x19, 0x1E, 0x08,  '(',  ')',  'Ñ',  '(',  ')', 0x19,
+   0x0B, 0x05,  '(',  ')',  'Â',  '(',  ')', 0x18, 0x19, 0x0C, 0x07,  'Þ',
+   0x17,  ' ',  ' ', 0x04,  '(', 0x02,  '-', 0x04,  ')',  ' ',  ' ',  '(',
+   0x02,  '-', 0x04,  ')',  ' ',  ' ', 0x07, 0x10,  'Ý', 0x19, 0x1F, 0x04,
+    '³', 0x19, 0x0F, 0x05,  '³', 0x18, 0x19, 0x0C, 0x17, 0x19, 0x05, 0x04,
+    'ú',  'ú', 0x19, 0x05, 0x10, 0x19, 0x1D,  'Þ', 0x1A, 0x05,  'Û',  'Ü',
+    'Ü',  'Ü',  ' ',  ' ', 0x03,  'Ü',  'Ü',  'Ü', 0x1A, 0x05,  'Û',  'Ý',
+   0x18, 0x19, 0x0C, 0x17,  ' ', 0x0C,  ')',  ' ',  ' ', 0x00,  'Ü', 0x06,
+    'Ü', 0x00,  'Ü', 0x0F,  'Ü', 0x06,  'Ü', 0x00,  'Ü',  ' ',  ' ', 0x0C,
+    '(',  ' ', 0x10, 0x19, 0x1D, 0x0E, 0x14,  'Ü',  'Ü',  'Ü', 0x01,  'Ü',
+    'Ü', 0x10, 0x19, 0x0B, 0x03, 0x14,  'ß',  'ß', 0x0D, 0x13,  'Ü',  'Ü',
+    'Ü', 0x18, 0x10, 0x19, 0x0C, 0x07,  'Þ', 0x17,  ' ',  ' ', 0x00,  'ß',
+   0x06,  'ß', 0x0F,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß', 0x06,  'ß',
+   0x00,  'ß',  ' ',  ' ', 0x07, 0x10,  'Ý', 0x19, 0x1C, 0x0C, 0x14,  '°',
+    '±',  'Û',  '°',  '±',  'Û',  '°',  '±', 0x10, 0x19, 0x09, 0x0F, 0x14,
+    'ú',  ' ',  ' ', 0x08, 0x10,  'Û',  'Û',  'Ý', 0x18, 0x19, 0x07, 0x1A,
+   0x04,  'Ü', 0x17,  '°',  '°',  '°', 0x1A, 0x06,  '±', 0x1A, 0x03,  '°',
+   0x10, 0x1A, 0x04,  'Ü', 0x19, 0x16, 0x14,  ' ',  ' ', 0x0C,  '°',  '±',
+    'Û',  '°',  '±',  'Û', 0x10, 0x19, 0x0A, 0x08, 0x14,  'Ü',  'Ü',  'Û',
+   0x10,  'Û',  'Û',  'Û', 0x18, 0x19, 0x04,  'Ü', 0x17, 0x1A, 0x06,  'Û',
+    '°',  '°',  '°', 0x1A, 0x04,  '±',  '²', 0x1A, 0x04,  '°', 0x1A, 0x05,
+    'Û', 0x10,  'Û',  'Û', 0x1A, 0x09,  'Ü', 0x09, 0x1A, 0x09,  'Ü',  ' ',
+   0x0C, 0x14,  '°',  '±',  'Û',  '°',  '±',  'Û',  '°',  '±', 0x10, 0x19,
+   0x07, 0x08,  'Ü', 0x1A, 0x06,  'Û', 0x18, 0x19, 0x02,  'Ü', 0x17, 0x1A,
+   0x06,  'Û',  '±', 0x1A, 0x03,  '°',  '±',  '±',  '±',  '²',  '²',  '²',
+   0x1A, 0x05,  '°', 0x1A, 0x07,  'Û', 0x10, 0x1A, 0x08,  'Û',  'ß', 0x09,
+    'Û',  'Û', 0x1A, 0x04,  'ß', 0x19, 0x02, 0x0C, 0x14,  '°',  '±',  'Û',
+    '°',  '±',  'Û',  '°',  '±', 0x10, 0x19, 0x0B, 0x08,  'Ü',  'Û',  'Û',
+    'Ý', 0x18,  ' ',  'Ü', 0x17, 0x1A, 0x07,  'Û',  '°',  '°',  '°',  'Û',
+    '°',  '°',  '±',  '±',  '²',  '²',  '²',  '±', 0x1A, 0x04,  '°', 0x1A,
+   0x09,  'Û', 0x10,  'Û', 0x19, 0x06, 0x09, 0x1A, 0x03,  'Û', 0x19, 0x06,
+   0x0C, 0x14,  '°',  '±',  'Û',  '°',  '±',  'Û',  '°',  '±', 0x10, 0x19,
+   0x07, 0x08, 0x14,  'Ü', 0x10,  'Ü', 0x1A, 0x04,  'Û',  'Ý', 0x18,  'Û',
+   0x17, 0x1A, 0x0E,  'Û',  '±', 0x1A, 0x04,  '²', 0x1A, 0x0F,  'Û', 0x10,
+   0x19, 0x07, 0x09,  'ß',  'ß', 0x19, 0x08, 0x0C, 0x14,  '°',  '±',  'Û',
+    '°',  '±',  'Û', 0x10, 0x19, 0x09, 0x08,  'ß', 0x1A, 0x04,  'Û', 0x18,
+    'Û', 0x17, 0x1A, 0x0E,  'Û',  '±',  '²',  '²',  '°',  '±', 0x1A, 0x10,
+    'Û', 0x10, 0x19, 0x0E, 0x06,  '²',  '°', 0x19, 0x02, 0x07,  'Û',  'Û',
+    'Û', 0x19, 0x0D, 0x08,  'Û',  'Û',  'Û', 0x18,  'Û', 0x17,  'Û', 0x10,
+    ' ', 0x17, 0x1A, 0x0C,  'Û',  '±',  '²',  '²', 0x1A, 0x12,  'Û', 0x10,
+   0x19, 0x0E, 0x06, 0x14,  'ß',  'ß', 0x04, 0x10,  'Ü',  'Ü',  'Ü', 0x07,
+   0x14,  'ß',  'ß',  'ß', 0x10, 0x19, 0x0D, 0x08,  'Û',  'Û',  'Û', 0x18,
+    'Û',  ' ',  'Þ', 0x17, 0x1A,  '!',  'Û', 0x10,  'Ý', 0x19, 0x0E, 0x06,
+    'Û',  '²',  ' ',  ' ', 0x07,  'Þ', 0x1A, 0x03,  'Û', 0x19, 0x0B, 0x09,
+   0x1A, 0x04,  'Û', 0x18, 0x08,  'Û',  ' ', 0x17, 0x1A, 0x22,  'Û', 0x10,
+   0x19, 0x0F, 0x06,  '±',  'Û',  ' ',  ' ', 0x07,  'Þ', 0x1A, 0x04,  'Û',
+   0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x02,
+   0x08, 0x1A,  ' ',  'Û', 0x19, 0x10, 0x06, 0x14,  'ß',  'ß', 0x04, 0x10,
+    'Ü',  'Ü', 0x07, 0x14, 0x1A, 0x04,  'ß', 0x04, 0x17,  'Ü', 0x10, 0x19,
+   0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x03, 0x08,
+    'ß',  'ß', 0x1A, 0x1B,  'Û',  'ß', 0x19, 0x11, 0x06,  'Û',  '±',  ' ',
+    ' ', 0x07, 0x1A, 0x05,  'Û', 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x18, 0x19, 0x07, 0x08, 0x1A, 0x09,  'Û', 0x19, 0x04,  'ß',
+   0x1A, 0x06,  'Û',  'Ü', 0x19, 0x14, 0x06,  '²',  '°',  ' ',  ' ', 0x07,
+   0x1A, 0x05,  'Û', 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û',
+   0x18, 0x19, 0x07, 0x08, 0x1A, 0x09,  'Û', 0x19, 0x06,  'ß', 0x1A, 0x06,
+    'Û',  'Ü', 0x19, 0x04,  'Ü',  'Ü', 0x19, 0x0B, 0x06,  '±',  'Û',  ' ',
+    ' ', 0x07, 0x1A, 0x05,  'Û', 0x19, 0x09, 0x09,  'ß', 0x1A, 0x04,  'Û',
+    'ß', 0x18,  ' ', 0x08, 0x1A, 0x11,  'Û', 0x19, 0x07,  'ß', 0x1A, 0x0D,
+    'Û',  'Ü', 0x19, 0x09, 0x06,  '°',  '±', 0x19, 0x02, 0x07, 0x1A, 0x03,
+    'Û', 0x19, 0x0C, 0x09,  'Û',  'Û',  'Û', 0x18};
+
+unsigned char SAVE2 [813] = {
+   0x09, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x0D, 0x07,  'Ü',
+   0x06, 0x17,  '°',  '°',  ' ',  '°',  '°',  '°',  ' ',  ' ',  '°',  '°',
+   0x00,  'ß', 0x10, 0x19, 0x16, 0x0C, 0x14,  '°',  '±',  '²', 0x10, 0x19,
+   0x04, 0x08,  '(', 0x0C, 0x14,  '°',  '±',  'Û', 0x08, 0x10,  ')', 0x19,
+   0x0B, 0x05,  '(',  ')',  'Â',  '(',  ')', 0x18, 0x19, 0x0C, 0x07,  'Þ',
+   0x17,  ' ',  ' ', 0x04,  '(', 0x02,  '-', 0x04,  ')',  ' ',  ' ',  '(',
+   0x02,  '-', 0x04,  ')',  ' ',  ' ', 0x07, 0x10,  'Ý', 0x19, 0x1F, 0x04,
+    '³', 0x19, 0x0F, 0x05,  '³', 0x18, 0x19, 0x0C, 0x17, 0x19, 0x05, 0x04,
+    'ú',  'ú', 0x19, 0x05, 0x10, 0x19, 0x17, 0x0C, 0x14,  '°',  '±',  '²',
+   0x10, 0x19, 0x02, 0x04,  'Þ', 0x0C, 0x14,  '°',  '±',  'Û',  '°',  '±',
+    'Û', 0x04, 0x10,  'Ü',  'Ü',  'Ü',  ' ',  ' ', 0x03,  'Ü',  'Ü',  'Ü',
+   0x1A, 0x05,  'Û',  'Ý', 0x18, 0x19, 0x0C, 0x17,  ' ', 0x0C,  ')',  ' ',
+    ' ', 0x00,  'Ü', 0x06,  'Ü', 0x00,  'Ü', 0x0F,  'Ü', 0x06,  'Ü', 0x00,
+    'Ü',  ' ',  ' ', 0x0C,  '(',  ' ', 0x10, 0x19, 0x18, 0x14,  '°',  '±',
+    '²', 0x10,  ' ',  ' ', 0x14,  '°',  '±',  'Û',  '°',  '±',  'Û', 0x10,
+   0x19, 0x0A, 0x03, 0x14,  'ß',  'ß', 0x0D, 0x13,  'Ü',  'Ü',  'Ü', 0x18,
+   0x10, 0x19, 0x0C, 0x07,  'Þ', 0x17,  ' ',  ' ', 0x00,  'ß', 0x06,  'ß',
+   0x0F,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß',
+    ' ',  ' ', 0x07, 0x10,  'Ý', 0x19, 0x1C, 0x0C, 0x14,  '°',  '±',  'Û',
+    '°',  '±',  'Û',  '°',  '±', 0x10, 0x19, 0x09, 0x0F, 0x14,  'ú',  ' ',
+    ' ', 0x08, 0x10,  'Û',  'Û',  'Ý', 0x18, 0x19, 0x07, 0x1A, 0x04,  'Ü',
+   0x17,  '°',  '°',  '°', 0x1A, 0x06,  '±', 0x1A, 0x03,  '°', 0x10, 0x1A,
+   0x04,  'Ü', 0x19, 0x16, 0x14,  ' ',  ' ', 0x0C,  '°',  '±',  'Û',  '°',
+    '±',  'Û', 0x10, 0x19, 0x0A, 0x08, 0x14,  'Ü',  'Ü',  'Û', 0x10,  'Û',
+    'Û',  'Û', 0x18, 0x19, 0x04,  'Ü', 0x17, 0x1A, 0x06,  'Û',  '°',  '°',
+    '°', 0x1A, 0x04,  '±',  '²', 0x1A, 0x04,  '°', 0x1A, 0x05,  'Û', 0x10,
+    'Û',  'Û', 0x1A, 0x09,  'Ü', 0x09, 0x1A, 0x09,  'Ü',  ' ', 0x0C, 0x14,
+    '°',  '±',  'Û',  '°',  '±',  'Û',  '°',  '±', 0x10, 0x19, 0x07, 0x08,
+    'Ü', 0x1A, 0x06,  'Û', 0x18, 0x19, 0x02,  'Ü', 0x17, 0x1A, 0x06,  'Û',
+    '±', 0x1A, 0x03,  '°',  '±',  '±',  '±',  '²',  '²',  '²', 0x1A, 0x05,
+    '°', 0x1A, 0x07,  'Û', 0x10, 0x1A, 0x08,  'Û',  'ß', 0x09,  'Û',  'Û',
+   0x1A, 0x04,  'ß', 0x19, 0x02, 0x0C, 0x14,  '°',  '±',  'Û',  '°',  '±',
+    'Û',  '°',  '±', 0x10, 0x19, 0x0B, 0x08,  'Ü',  'Û',  'Û',  'Ý', 0x18,
+    ' ',  'Ü', 0x17, 0x1A, 0x07,  'Û',  '°',  '°',  '°',  'Û',  '°',  '°',
+    '±',  '±',  '²',  '²',  '²',  '±', 0x1A, 0x04,  '°', 0x1A, 0x09,  'Û',
+   0x10,  'Û', 0x19, 0x06, 0x09, 0x1A, 0x03,  'Û', 0x19, 0x06, 0x0C, 0x14,
+    '°',  '±',  'Û',  '°',  '±',  'Û',  '°',  '±', 0x10, 0x19, 0x07, 0x08,
+   0x14,  'Ü', 0x10,  'Ü', 0x1A, 0x04,  'Û',  'Ý', 0x18,  'Û', 0x17, 0x1A,
+   0x0E,  'Û',  '±', 0x1A, 0x04,  '²', 0x1A, 0x0F,  'Û', 0x10, 0x19, 0x07,
+   0x09,  'ß',  'ß', 0x19, 0x08, 0x0C, 0x14,  '°',  '±',  'Û',  '°',  '±',
+    'Û', 0x10, 0x19, 0x09, 0x08,  'ß', 0x1A, 0x04,  'Û', 0x18,  'Û', 0x17,
+   0x1A, 0x0E,  'Û',  '±',  '²',  '²',  '°',  '±', 0x1A, 0x10,  'Û', 0x10,
+   0x19, 0x0E, 0x06,  '²',  '°', 0x19, 0x02, 0x0C, 0x14,  '°',  '±',  'Û',
+    '°',  '±', 0x10, 0x19, 0x0B, 0x08,  'Û',  'Û',  'Û', 0x18,  'Û', 0x17,
+    'Û', 0x10,  ' ', 0x17, 0x1A, 0x0C,  'Û',  '±',  '²',  '²', 0x1A, 0x12,
+    'Û', 0x10, 0x19, 0x0E, 0x06, 0x14,  'ß',  'ß', 0x04, 0x10,  'Ü',  'Ü',
+    'Ü', 0x07, 0x14,  'ß',  'ß',  'ß', 0x10, 0x19, 0x0D, 0x08,  'Û',  'Û',
+    'Û', 0x18,  'Û',  ' ',  'Þ', 0x17, 0x1A,  '!',  'Û', 0x10,  'Ý', 0x19,
+   0x0E, 0x06,  'Û',  '²',  ' ',  ' ', 0x07,  'Þ', 0x1A, 0x03,  'Û',  ' ',
+    ' ', 0x0C, 0x14,  '°',  '±',  'Û', 0x10, 0x19, 0x06, 0x09, 0x1A, 0x04,
+    'Û', 0x18, 0x08,  'Û',  ' ', 0x17, 0x1A, 0x22,  'Û', 0x10, 0x19, 0x0B,
+   0x0C, 0x14,  '°',  '±',  'Û', 0x10,  ' ', 0x06,  '±',  'Û',  ' ',  ' ',
+   0x07,  'Þ', 0x1A, 0x04,  'Û', 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x18, 0x19, 0x02, 0x08, 0x1A,  ' ',  'Û', 0x19, 0x10, 0x06,
+   0x14,  'ß',  'ß', 0x04, 0x10,  'Ü',  'Ü', 0x07, 0x14, 0x1A, 0x04,  'ß',
+   0x04, 0x17,  'Ü', 0x10, 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,
+    'Û', 0x18, 0x19, 0x03, 0x08,  'ß',  'ß', 0x1A, 0x1B,  'Û',  'ß', 0x19,
+   0x05, 0x0C, 0x14,  '°',  '±',  'Û', 0x10, 0x19, 0x08, 0x06,  'Û',  '±',
+    ' ',  ' ', 0x07, 0x1A, 0x05,  'Û', 0x19, 0x09, 0x09, 0x11,  'Û', 0x10,
+   0x1A, 0x05,  'Û', 0x18, 0x19, 0x07, 0x08, 0x1A, 0x09,  'Û', 0x19, 0x04,
+    'ß', 0x1A, 0x06,  'Û',  'Ü', 0x19, 0x14, 0x06,  '²',  '°',  ' ',  ' ',
+   0x07, 0x1A, 0x05,  'Û', 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,
+    'Û', 0x18, 0x19, 0x07, 0x08, 0x1A, 0x09,  'Û', 0x19, 0x06,  'ß', 0x1A,
+   0x06,  'Û',  'Ü', 0x19, 0x04,  'Ü',  'Ü', 0x19, 0x0B, 0x06,  '±',  'Û',
+    ' ',  ' ', 0x07, 0x1A, 0x05,  'Û', 0x19, 0x09, 0x09,  'ß', 0x1A, 0x04,
+    'Û',  'ß', 0x18,  ' ', 0x08, 0x1A, 0x11,  'Û', 0x19, 0x07,  'ß', 0x1A,
+   0x0D,  'Û',  'Ü', 0x19, 0x09, 0x06,  '°',  '±', 0x19, 0x02, 0x07, 0x1A,
+   0x03,  'Û', 0x19, 0x0C, 0x09,  'Û',  'Û',  'Û', 0x18};
+
+unsigned char SAVE3 [742] = {
+   0x09, 0x10, 0x18, 0x18, 0x18, 0x19,  ',', 0x0C, 0x14,  '°',  '±',  'Û',
+   0x18, 0x18, 0x18, 0x10, 0x19, 0x0D, 0x07,  'Ü', 0x06, 0x17,  '°',  '°',
+    ' ',  '°',  '°',  '°',  ' ',  ' ',  '°',  '°', 0x00,  'ß', 0x10, 0x19,
+   0x16, 0x0C, 0x14,  '°',  '±',  '²', 0x10, 0x19, 0x05, 0x14,  '°',  '±',
+    'Û', 0x10, 0x19, 0x0C, 0x05,  '(',  ')',  'Â',  '(',  ')', 0x18, 0x19,
+   0x0C, 0x07,  'Þ', 0x17,  ' ',  ' ', 0x04,  '(', 0x02,  '-', 0x04,  ')',
+    ' ',  ' ',  '(', 0x02,  '-', 0x04,  ')',  ' ',  ' ', 0x07, 0x10,  'Ý',
+   0x19,  '0', 0x05,  '³', 0x18, 0x19, 0x0C, 0x17, 0x19, 0x05, 0x04,  'ú',
+    'ú', 0x19, 0x05, 0x10, 0x19, 0x17, 0x0C, 0x14,  '°',  '±',  '²', 0x10,
+   0x19, 0x02, 0x04,  'Þ', 0x0C, 0x14,  '°',  '±',  'Û', 0x10, 0x19, 0x07,
+   0x03,  'Ü',  'Ü',  'Ü', 0x1A, 0x05,  'Û',  'Ý', 0x18, 0x19, 0x0C, 0x17,
+    ' ', 0x0C,  ')',  ' ',  ' ', 0x00,  'Ü', 0x06,  'Ü', 0x00,  'Ü', 0x0F,
+    'Ü', 0x06,  'Ü', 0x00,  'Ü',  ' ',  ' ', 0x0C,  '(',  ' ', 0x10, 0x19,
+   0x18, 0x14,  '°',  '±',  '²', 0x10,  ' ',  ' ', 0x14,  '°',  '±',  'Û',
+    '°',  '±', 0x10, 0x19, 0x0B, 0x03, 0x14,  'ß',  'ß', 0x0D, 0x13,  'Ü',
+    'Ü',  'Ü', 0x18, 0x10, 0x19, 0x0C, 0x07,  'Þ', 0x17,  ' ',  ' ', 0x00,
+    'ß', 0x06,  'ß', 0x0F,  'ß', 0x00,  'ß', 0x06,  'ß', 0x00,  'ß', 0x06,
+    'ß', 0x00,  'ß',  ' ',  ' ', 0x07, 0x10,  'Ý', 0x19, 0x1C, 0x0C, 0x14,
+    '°',  '±',  'Û',  '°', 0x10,  ' ',  ' ', 0x14,  '°',  '±', 0x10, 0x19,
+   0x09, 0x0F, 0x14,  'ú',  ' ',  ' ', 0x08, 0x10,  'Û',  'Û',  'Ý', 0x18,
+   0x19, 0x07, 0x1A, 0x04,  'Ü', 0x17,  '°',  '°',  '°', 0x1A, 0x06,  '±',
+   0x1A, 0x03,  '°', 0x10, 0x1A, 0x04,  'Ü', 0x19, 0x16, 0x14,  ' ',  ' ',
+   0x0C,  '°', 0x10, 0x19, 0x02, 0x14,  '±',  'Û', 0x10, 0x19, 0x0A, 0x08,
+   0x14,  'Ü',  'Ü',  'Û', 0x10,  'Û',  'Û',  'Û', 0x18, 0x19, 0x04,  'Ü',
+   0x17, 0x1A, 0x06,  'Û',  '°',  '°',  '°', 0x1A, 0x04,  '±',  '²', 0x1A,
+   0x04,  '°', 0x1A, 0x05,  'Û', 0x10,  'Û',  'Û', 0x1A, 0x09,  'Ü', 0x09,
+   0x1A, 0x09,  'Ü',  ' ', 0x0C, 0x14,  '°', 0x10, 0x19, 0x05, 0x14,  '±',
+   0x10, 0x19, 0x07, 0x08,  'Ü', 0x1A, 0x06,  'Û', 0x18, 0x19, 0x02,  'Ü',
+   0x17, 0x1A, 0x06,  'Û',  '±', 0x1A, 0x03,  '°',  '±',  '±',  '±',  '²',
+    '²',  '²', 0x1A, 0x05,  '°', 0x1A, 0x07,  'Û', 0x10, 0x1A, 0x08,  'Û',
+    'ß', 0x09,  'Û',  'Û', 0x1A, 0x04,  'ß', 0x19, 0x09, 0x0C, 0x14,  '±',
+   0x10, 0x19, 0x0B, 0x08,  'Ü',  'Û',  'Û',  'Ý', 0x18,  ' ',  'Ü', 0x17,
+   0x1A, 0x07,  'Û',  '°',  '°',  '°',  'Û',  '°',  '°',  '±',  '±',  '²',
+    '²',  '²',  '±', 0x1A, 0x04,  '°', 0x1A, 0x09,  'Û', 0x10,  'Û', 0x19,
+   0x06, 0x09, 0x1A, 0x03,  'Û', 0x19, 0x16, 0x08, 0x14,  'Ü', 0x10,  'Ü',
+   0x1A, 0x04,  'Û',  'Ý', 0x18,  'Û', 0x17, 0x1A, 0x0E,  'Û',  '±', 0x1A,
+   0x04,  '²', 0x1A, 0x0F,  'Û', 0x10, 0x19, 0x07, 0x09,  'ß',  'ß', 0x19,
+   0x18, 0x08,  'ß', 0x1A, 0x04,  'Û', 0x18,  'Û', 0x17, 0x1A, 0x0E,  'Û',
+    '±',  '²',  '²',  '°',  '±', 0x1A, 0x10,  'Û', 0x10, 0x19, 0x0E, 0x06,
+    '²',  '°', 0x19, 0x13, 0x08,  'Û',  'Û',  'Û', 0x18,  'Û', 0x17,  'Û',
+   0x10,  ' ', 0x17, 0x1A, 0x0C,  'Û',  '±',  '²',  '²', 0x1A, 0x12,  'Û',
+   0x10, 0x19, 0x0E, 0x06, 0x14,  'ß',  'ß', 0x04, 0x10,  'Ü',  'Ü',  'Ü',
+   0x19, 0x10, 0x08,  'Û',  'Û',  'Û', 0x18,  'Û',  ' ',  'Þ', 0x17, 0x1A,
+    '!',  'Û', 0x10,  'Ý', 0x19, 0x0E, 0x06,  'Û',  '²', 0x19, 0x02, 0x0C,
+   0x14,  '°',  '±',  'Û',  '°', 0x10, 0x19, 0x0B, 0x09, 0x1A, 0x04,  'Û',
+   0x18, 0x08,  'Û',  ' ', 0x17, 0x1A, 0x22,  'Û', 0x10, 0x19, 0x0F, 0x06,
+    '±',  'Û',  ' ',  ' ', 0x07,  'Þ', 0x1A, 0x04,  'Û', 0x19, 0x09, 0x09,
+   0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x02, 0x08, 0x1A,  ' ',
+    'Û', 0x19, 0x10, 0x06, 0x14,  'ß',  'ß', 0x04, 0x10,  'Ü',  'Ü', 0x07,
+   0x14, 0x1A, 0x04,  'ß', 0x04, 0x17,  'Ü', 0x10, 0x19, 0x09, 0x09, 0x11,
+    'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x03, 0x08,  'ß',  'ß', 0x1A,
+   0x1B,  'Û',  'ß', 0x19, 0x11, 0x06,  'Û',  '±',  ' ',  ' ', 0x07, 0x1A,
+   0x05,  'Û', 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18,
+   0x19, 0x07, 0x08, 0x1A, 0x09,  'Û', 0x19, 0x04,  'ß', 0x1A, 0x06,  'Û',
+    'Ü', 0x19, 0x14, 0x06,  '²',  '°',  ' ',  ' ', 0x07, 0x1A, 0x05,  'Û',
+   0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x07,
+   0x08, 0x1A, 0x09,  'Û', 0x19, 0x06,  'ß', 0x1A, 0x06,  'Û',  'Ü', 0x19,
+   0x04,  'Ü',  'Ü', 0x19, 0x0B, 0x06,  '±',  'Û',  ' ',  ' ', 0x07, 0x1A,
+   0x05,  'Û', 0x19, 0x09, 0x09,  'ß', 0x1A, 0x04,  'Û',  'ß', 0x18,  ' ',
+   0x08, 0x1A, 0x11,  'Û', 0x19, 0x07,  'ß', 0x1A, 0x0B,  'Û', 0x0C, 0x14,
+    '°',  '±',  'Û', 0x10, 0x19, 0x09, 0x06,  '°',  '±', 0x19, 0x02, 0x07,
+   0x1A, 0x03,  'Û', 0x19, 0x0C, 0x09,  'Û',  'Û',  'Û', 0x18};
+
+unsigned char SAVE4 [639] = {
+   0x09, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x0D, 0x07,  'Ü',
+   0x06, 0x17,  '°',  '°',  ' ',  '°',  '°',  '°',  ' ',  ' ',  '°',  '°',
+   0x00,  'ß', 0x10, 0x19,  '/', 0x05,  '(',  ')',  'Â',  '(',  ')', 0x18,
+   0x19, 0x0C, 0x07,  'Þ', 0x17,  ' ',  ' ', 0x04,  '(', 0x02,  '-', 0x04,
+    ')',  ' ',  ' ',  '(', 0x02,  '-', 0x04,  ')',  ' ',  ' ', 0x07, 0x10,
+    'Ý', 0x19,  '0', 0x05,  '³', 0x18, 0x19, 0x0C, 0x17, 0x19, 0x05, 0x04,
+    'ú',  'ú', 0x19, 0x05, 0x10, 0x19,  ')', 0x03,  'Ü',  'Ü',  'Ü', 0x1A,
+   0x05,  'Û',  'Ý', 0x18, 0x19, 0x0C, 0x17,  ' ', 0x0C,  ')',  ' ',  ' ',
+   0x00,  'Ü', 0x06,  'Ü', 0x00,  'Ü', 0x0F,  'Ü', 0x06,  'Ü', 0x00,  'Ü',
+    ' ',  ' ', 0x0C,  '(',  ' ', 0x10, 0x19,  '.', 0x03, 0x14,  'ß',  'ß',
+   0x0D, 0x13,  'Ü',  'Ü',  'Ü', 0x18, 0x10, 0x19, 0x0C, 0x07,  'Þ', 0x17,
+    ' ',  ' ', 0x00,  'ß', 0x06,  'ß', 0x0F,  'ß', 0x00,  'ß', 0x06,  'ß',
+   0x00,  'ß', 0x06,  'ß', 0x00,  'ß',  ' ',  ' ', 0x07, 0x10,  'Ý', 0x19,
+    '.', 0x0F, 0x14,  'ú',  ' ',  ' ', 0x08, 0x10,  'Û',  'Û',  'Ý', 0x18,
+   0x19, 0x07, 0x1A, 0x04,  'Ü', 0x17,  '°',  '°',  '°', 0x1A, 0x06,  '±',
+   0x1A, 0x03,  '°', 0x10, 0x1A, 0x04,  'Ü', 0x19,  ')', 0x14,  'Ü',  'Ü',
+    'Û', 0x10,  'Û',  'Û',  'Û', 0x18, 0x19, 0x04,  'Ü', 0x17, 0x1A, 0x06,
+    'Û',  '°',  '°',  '°', 0x1A, 0x04,  '±',  '²', 0x1A, 0x04,  '°', 0x1A,
+   0x05,  'Û', 0x10,  'Û',  'Û', 0x1A, 0x09,  'Ü', 0x09, 0x1A, 0x09,  'Ü',
+   0x19, 0x10, 0x08,  'Ü', 0x1A, 0x06,  'Û', 0x18, 0x19, 0x02,  'Ü', 0x17,
+   0x1A, 0x06,  'Û',  '±', 0x1A, 0x03,  '°',  '±',  '±',  '±',  '²',  '²',
+    '²', 0x1A, 0x05,  '°', 0x1A, 0x07,  'Û', 0x10, 0x1A, 0x08,  'Û',  'ß',
+   0x09,  'Û',  'Û', 0x1A, 0x04,  'ß', 0x19, 0x16, 0x08,  'Ü',  'Û',  'Û',
+    'Ý', 0x18,  ' ',  'Ü', 0x17, 0x1A, 0x07,  'Û',  '°',  '°',  '°',  'Û',
+    '°',  '°',  '±',  '±',  '²',  '²',  '²',  '±', 0x1A, 0x04,  '°', 0x1A,
+   0x09,  'Û', 0x10,  'Û', 0x19, 0x06, 0x09, 0x1A, 0x03,  'Û', 0x19, 0x16,
+   0x08, 0x14,  'Ü', 0x10,  'Ü', 0x1A, 0x04,  'Û',  'Ý', 0x18,  'Û', 0x17,
+   0x1A, 0x0E,  'Û',  '±', 0x1A, 0x04,  '²', 0x1A, 0x0F,  'Û', 0x10, 0x19,
+   0x07, 0x09,  'ß',  'ß', 0x19, 0x18, 0x08,  'ß', 0x1A, 0x04,  'Û', 0x18,
+    'Û', 0x17, 0x1A, 0x0E,  'Û',  '±',  '²',  '²',  '°',  '±', 0x1A, 0x10,
+    'Û', 0x10, 0x19, 0x0E, 0x06,  '²',  '°', 0x19, 0x13, 0x08,  'Û',  'Û',
+    'Û', 0x18,  'Û', 0x17,  'Û', 0x10,  ' ', 0x17, 0x1A, 0x0C,  'Û',  '±',
+    '²',  '²', 0x1A, 0x12,  'Û', 0x10, 0x19, 0x0E, 0x06, 0x14,  'ß',  'ß',
+   0x04, 0x10,  'Ü',  'Ü',  'Ü', 0x19, 0x10, 0x08,  'Û',  'Û',  'Û', 0x18,
+    'Û',  ' ',  'Þ', 0x17, 0x1A,  '!',  'Û', 0x10,  'Ý', 0x19, 0x0E, 0x06,
+    'Û',  '²', 0x19, 0x02, 0x0C, 0x14,  '°',  '±',  'Û',  '°', 0x10, 0x19,
+   0x0B, 0x09, 0x1A, 0x04,  'Û', 0x18, 0x08,  'Û',  ' ', 0x17, 0x1A, 0x22,
+    'Û', 0x10, 0x19, 0x0F, 0x06,  '±',  'Û',  ' ',  ' ', 0x07,  'Þ', 0x1A,
+   0x04,  'Û', 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18,
+   0x19, 0x02, 0x08, 0x1A,  ' ',  'Û', 0x19, 0x10, 0x06, 0x14,  'ß',  'ß',
+   0x04, 0x10,  'Ü',  'Ü', 0x07, 0x14, 0x1A, 0x04,  'ß', 0x04, 0x17,  'Ü',
+   0x10, 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19,
+   0x03, 0x08,  'ß',  'ß', 0x1A, 0x1B,  'Û',  'ß', 0x19, 0x11, 0x06,  'Û',
+    '±',  ' ',  ' ', 0x07, 0x1A, 0x05,  'Û', 0x19, 0x09, 0x09, 0x11,  'Û',
+   0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x07, 0x08, 0x1A, 0x09,  'Û', 0x19,
+   0x04,  'ß', 0x1A, 0x06,  'Û',  'Ü', 0x19, 0x14, 0x06,  '²',  '°',  ' ',
+    ' ', 0x07, 0x1A, 0x05,  'Û', 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x18, 0x19, 0x07, 0x08, 0x1A, 0x09,  'Û', 0x19, 0x06,  'ß',
+   0x1A, 0x06,  'Û',  'Ü', 0x19, 0x04,  'Ü',  'Ü', 0x19, 0x0B, 0x06,  '±',
+    'Û',  ' ',  ' ', 0x07, 0x1A, 0x05,  'Û', 0x19, 0x09, 0x09,  'ß', 0x1A,
+   0x04,  'Û',  'ß', 0x18,  ' ', 0x08, 0x1A, 0x11,  'Û', 0x19, 0x07,  'ß',
+   0x1A, 0x0B,  'Û', 0x0C, 0x14,  '°',  '±',  'Û', 0x10, 0x19, 0x09, 0x06,
+    '°',  '±', 0x19, 0x02, 0x07, 0x1A, 0x03,  'Û', 0x19, 0x0C, 0x09,  'Û',
+    'Û',  'Û', 0x18};
+
+unsigned char SAVE5 [643] = {
+   0x09, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x0D, 0x07,  'Ü',
+   0x06, 0x17,  '°',  '°',  ' ',  '°',  '°',  '°',  ' ',  ' ',  '°',  '°',
+   0x00,  'ß', 0x10, 0x19,  '/', 0x05,  '(',  ')',  'Â',  '(',  ')', 0x18,
+   0x19, 0x0C, 0x07,  'Þ', 0x17,  ' ',  ' ', 0x04,  '(', 0x02,  '-', 0x04,
+    ')',  ' ',  ' ',  '(', 0x02,  '-', 0x04,  ')',  ' ',  ' ', 0x07, 0x10,
+    'Ý', 0x19,  '0', 0x05,  '³', 0x18, 0x19, 0x0C, 0x17, 0x19, 0x05, 0x04,
+    'ú',  'ú', 0x19, 0x05, 0x10, 0x19,  ')', 0x03,  'Ü',  'Ü',  'Ü', 0x1A,
+   0x05,  'Û',  'Ý', 0x18, 0x19, 0x0C, 0x17,  ' ', 0x0C,  ')',  ' ',  ' ',
+   0x00,  'Ü', 0x06,  'Ü', 0x00,  'Ü', 0x0F,  'Ü', 0x06,  'Ü', 0x00,  'Ü',
+    ' ',  ' ', 0x0C,  '(',  ' ', 0x10, 0x19,  '.', 0x03, 0x14,  'ß',  'ß',
+   0x0D, 0x13,  'Ü',  'Ü',  'Ü', 0x18, 0x10, 0x19, 0x0C, 0x07,  'Þ', 0x17,
+    ' ',  ' ', 0x00,  'ß', 0x06,  'ß', 0x0F,  'ß', 0x00,  'ß', 0x06,  'ß',
+   0x00,  'ß', 0x06,  'ß', 0x00,  'ß',  ' ',  ' ', 0x07, 0x10,  'Ý', 0x19,
+    '.', 0x0F, 0x14,  'ú',  ' ',  ' ', 0x08, 0x10,  'Û',  'Û',  'Ý', 0x18,
+   0x19, 0x07, 0x1A, 0x04,  'Ü', 0x17,  '°',  '°',  '°', 0x1A, 0x06,  '±',
+   0x1A, 0x03,  '°', 0x10, 0x1A, 0x04,  'Ü', 0x19,  ')', 0x14,  'Ü',  'Ü',
+    'Û', 0x10,  'Û',  'Û',  'Û', 0x18, 0x19, 0x04,  'Ü', 0x17, 0x1A, 0x06,
+    'Û',  '°',  '°',  '°', 0x1A, 0x04,  '±',  '²', 0x1A, 0x04,  '°', 0x1A,
+   0x05,  'Û', 0x10,  'Û',  'Û', 0x1A, 0x04,  'Ü', 0x19, 0x1F,  'Ü', 0x1A,
+   0x06,  'Û', 0x18, 0x19, 0x02,  'Ü', 0x17, 0x1A, 0x06,  'Û',  '±', 0x1A,
+   0x03,  '°',  '±',  '±',  '±',  '²',  '²',  '²', 0x1A, 0x05,  '°', 0x1A,
+   0x07,  'Û', 0x10, 0x1A, 0x04,  'Û', 0x19, 0x22,  'Ü',  'Û',  'Û',  'Ý',
+   0x18,  ' ',  'Ü', 0x17, 0x1A, 0x07,  'Û',  '°',  '°',  '°',  'Û',  '°',
+    '°',  '±',  '±',  '²',  '²',  '²',  '±', 0x1A, 0x04,  '°', 0x1A, 0x09,
+    'Û', 0x10,  'Û',  'Þ',  'Û',  'Û',  'Ý', 0x19, 0x1D, 0x14,  'Ü', 0x10,
+    'Ü', 0x1A, 0x04,  'Û',  'Ý', 0x18,  'Û', 0x17, 0x1A, 0x0E,  'Û',  '±',
+   0x1A, 0x04,  '²', 0x1A, 0x0F,  'Û', 0x10,  'Þ',  'Û',  'Û',  'Û', 0x19,
+   0x1E,  'ß', 0x1A, 0x04,  'Û', 0x18,  'Û', 0x17, 0x1A, 0x0E,  'Û',  '±',
+    '²',  '²',  '°',  '±', 0x1A, 0x10,  'Û', 0x10,  ' ',  'Û',  'Û',  'Û',
+   0x19, 0x0A, 0x06,  '²',  '°', 0x19, 0x13, 0x08,  'Û',  'Û',  'Û', 0x18,
+    'Û', 0x17,  'Û', 0x10,  ' ', 0x17, 0x1A, 0x0C,  'Û',  '±',  '²',  '²',
+   0x1A, 0x12,  'Û', 0x10,  ' ', 0x09,  'Û',  'Û',  'Û', 0x19, 0x0A, 0x06,
+   0x14,  'ß',  'ß', 0x04, 0x10,  'Ü',  'Ü',  'Ü', 0x19, 0x10, 0x08,  'Û',
+    'Û',  'Û', 0x18,  'Û',  ' ',  'Þ', 0x17, 0x1A,  '!',  'Û', 0x10,  'Ý',
+    ' ',  ' ', 0x09,  'Û',  'Û', 0x19, 0x0A, 0x06,  'Û',  '²', 0x19, 0x02,
+   0x0C, 0x14,  '°',  '±',  'Û',  '°', 0x10, 0x19, 0x0B, 0x09, 0x1A, 0x04,
+    'Û', 0x18, 0x08,  'Û',  ' ', 0x17, 0x1A, 0x22,  'Û', 0x10, 0x19, 0x03,
+   0x09,  'Û', 0x19, 0x0A, 0x06,  '±',  'Û',  ' ',  ' ', 0x07,  'Þ', 0x1A,
+   0x04,  'Û', 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18,
+   0x19, 0x02, 0x08, 0x1A,  ' ',  'Û', 0x19, 0x04, 0x09,  'Û', 0x19, 0x0A,
+   0x06, 0x14,  'ß',  'ß', 0x04, 0x10,  'Ü',  'Ü', 0x07, 0x14, 0x1A, 0x04,
+    'ß', 0x04, 0x17,  'Ü', 0x10, 0x19, 0x09, 0x09, 0x11,  'Û', 0x10, 0x1A,
+   0x05,  'Û', 0x18, 0x19, 0x03, 0x08,  'ß',  'ß', 0x1A, 0x1B,  'Û',  'ß',
+   0x19, 0x11, 0x06,  'Û',  '±',  ' ',  ' ', 0x07, 0x1A, 0x05,  'Û', 0x19,
+   0x09, 0x09, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x07, 0x08,
+   0x1A, 0x09,  'Û', 0x19, 0x04,  'ß', 0x1A, 0x06,  'Û',  'Ü', 0x19, 0x14,
+   0x06,  '²',  '°',  ' ',  ' ', 0x07, 0x1A, 0x05,  'Û', 0x19, 0x09, 0x09,
+   0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x07, 0x08, 0x1A, 0x09,
+    'Û', 0x19, 0x06,  'ß', 0x1A, 0x06,  'Û',  'Ü', 0x19, 0x04,  'Ü',  'Ü',
+   0x19, 0x0B, 0x06,  '±',  'Û',  ' ',  ' ', 0x07, 0x1A, 0x05,  'Û', 0x19,
+   0x09, 0x09,  'ß', 0x1A, 0x04,  'Û',  'ß', 0x18,  ' ', 0x08, 0x1A, 0x11,
+    'Û', 0x19, 0x07,  'ß', 0x1A, 0x0B,  'Û', 0x0C, 0x14,  '°',  '±',  'Û',
+   0x10, 0x19, 0x09, 0x06,  '°',  '±', 0x19, 0x02, 0x07, 0x1A, 0x03,  'Û',
+   0x19, 0x0C, 0x09,  'Û',  'Û',  'Û', 0x18};
+
+unsigned char XFOR [162] = {
+   0x09, 0x10, 0x19, 0x04, 0x08,  '(',  ')',  'Â',  '(',  ')', 0x18, 0x19,
+   0x06,  '³', 0x18, 0x04,  'Ü',  'Ü',  'Ü', 0x1A, 0x05,  'Û',  'Ý', 0x18,
+   0x19, 0x04, 0x01, 0x14,  'Ü',  'Ü', 0x0E,  'Ü',  'Ü',  'Ü', 0x18, 0x10,
+   0x19, 0x04, 0x0F, 0x11,  'ú',  ' ',  ' ', 0x07,  'Û',  'Û', 0x10,  'Ý',
+   0x18, 0x19, 0x04, 0x01, 0x17,  'ß',  'ß', 0x07, 0x10, 0x1A, 0x03,  'Û',
+   0x18, 0x19, 0x02,  'Ü', 0x1A, 0x06,  'Û', 0x18, 0x19, 0x06,  'Ü',  'Û',
+    'Û',  'Û', 0x18, 0x19, 0x02, 0x14,  'Ü', 0x10,  'Ü', 0x1A, 0x04,  'Û',
+    'Ý', 0x18, 0x19, 0x03,  'ß', 0x1A, 0x04,  'Û', 0x18, 0x19, 0x05,  'Û',
+    'Û',  'Û', 0x18, 0x19, 0x05,  'Û',  'Û',  'Û', 0x18, 0x19, 0x04, 0x09,
+   0x1A, 0x04,  'Û', 0x18, 0x19, 0x03, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û',
+   0x18, 0x19, 0x03, 0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x03,
+   0x11,  'Û', 0x10, 0x1A, 0x05,  'Û', 0x18, 0x19, 0x03, 0x11,  'Û', 0x10,
+   0x1A, 0x05,  'Û', 0x18, 0x19, 0x03,  'ß', 0x1A, 0x04,  'Û',  'ß', 0x18,
+   0x19, 0x05,  'Û',  'Û',  'Û', 0x18};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/fisidemo.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,752 @@
+#include "wrapper.h"
+
+#include "fisi.h"
+#include "fisiansi.h"
+
+#ifdef TURBOC
+  #define FAR far
+#else
+  #define FAR
+#endif
+
+extern volatile int taimeri;
+
+extern int bgcol,txtcol,ansifrom;
+extern char buffclass;
+
+extern char fx_main;   /* p„„effu: 1=tunneli */
+extern char fx_main_spex;
+extern char fx_3d;
+extern char fx_flare;
+
+extern char FAR *ruutu,*txb,*abb,*vib;
+
+extern framekey o0[];
+
+prforhyb(char*h)
+{
+      int i;
+      for(i=80*25;i;i--){
+	    if((*h==32)||(!*h))if(!(*(h+1)&0xf0)){*h=253;*(h+1)=1;}
+            h+=2;
+      }
+}
+
+demoloop()
+{
+      char lastkey=0;
+      int dt=0;
+      int fader=0,fadetype=1;
+
+      while(lastkey!=27){
+	if(kbhit()){lastkey=getch();
+
+/*	if(lastkey=='0'){o0[OY].targ=25*32;o0[OROT].targ=150;
+		o0[OZOOM].targ=25000;}
+	if(lastkey=='9')fx_3d=0;
+
+	if(lastkey=='1')o0[OHGT].targ=45*256;
+	if(lastkey=='2')o0[OHGT].targ=25*256;
+	if(lastkey=='3')o0[OHGT].targ=5*256;*/
+	}
+
+	while(dt<taimeri){
+	
+
+/***********************************************************/
+
+      #define b break
+      #define sc strcpy
+
+      signed int d=dt;
+
+/*    d+=5*256;*/
+
+	loopflush(); /* <-- muualle! */
+
+      if(d<5*384)
+      if(!(d%5))switch(d/5){
+	    case(0):
+                  scroller_init(0);
+                  preparebuff(SINGLE);
+		  fx_main=SCROLLER;
+		  fx_main_spex=0;
+		  b;
+	    case(64):
+		fader=7;fadetype=1;
+		txtline(txb+80*10,"elet{{n","the`year");
+		b;
+	    case(66):
+		txtline(txb+80*20,"vuotta","is");b;
+	    case(68):
+		txtline(txb+80*30,"}o}~","}o}~");b;
+	    case(96):
+		fader=31;fadetype=2;b;
+	    case(100):
+		clrline(txb+80*10);b;
+	    case(116):
+		clrline(txb+80*10);b;
+
+	    case(128):
+		fader=7;fadetype=1;
+		memset(txb,0,80*50);
+		txtline(txb+80*10,"kaaos","chaos");
+		b;
+	    case(132):
+		txtline(txb+80*20,"on`t{ytt{nyt","has`taken");b;
+	    case(134):
+		txtline(txb+80*30,"maan","the`earth");b;
+	    case(128+32):
+		fader=31;fadetype=2;b;
+	    case(128+48):
+		clrline(txb+80*20);b;
+	    case(128+64):
+		fader=7;fadetype=1;
+		memset(txb,0,80*50);
+		txtline(txb+80*2,"maailman","the`great");
+		b;
+	    case(192+4):
+		txtline(txb+80*14,"suuri","leader`of");b;
+	    case(192+8):
+		txtline(txb+80*26,"johtaja","the`world`has");b;
+	    case(192+12):
+		txtline(txb+80*38,"on`vangittu","been`captured");b;
+	    case(192+32):
+		fader=31;fadetype=2;b;
+	    case(192+64):
+		fader=7;fadetype=1;
+		memset(txb,0,80*50);
+		txtline(txb+80*2,"ja`vain","and");
+		b;
+	    case(192+70):
+		txtline(txb+80*11,"yksi`mies","only");b;
+	    case(192+72):
+		txtline(txb+80*20,"voi","one`man");b;
+	    case(192+74):
+		txtline(txb+80*29,"pelastaa","can");b;
+	    case(192+76):
+		txtline(txb+80*38,"h{net","save`him");b;
+	    case(192+96):
+		fader=31;fadetype=2;b;
+	    case(256+64):
+		memset(txb,0,80*50);
+		fader=7;fadetype=1;
+		txtline(txb+80*20,"i`s`i","i`s`i");
+		b;
+	    case(256+64+32):
+		txtline(txb+80*8,"final","final");b;
+	    case(256+104):
+		fader=31;fadetype=2;b;
+	    case(256+112):
+		memset(txb,0xff,80*50);
+		fader=15;fadetype=3;b;
+            case(256+118):
+                  preparebuff(NONE);fx_main=NONE;
+                  uncrunch(LOGO,ruutu,sizeof(LOGO));
+                  b;
+      }
+
+      d-=5*(256+128+28);
+      if(d>=0)if(!(d&3))switch(d>>2){
+		case(0):preparebuff(SINGLE);fx_main=SCROLLER;
+		scroller_init(HORIZON|NOSKRAMBLE);
+		memset(txb,0,80*25*2);
+		scr_txr(1);
+		o0[OHGT].curr=48*256;o0[OHGT].targ=22*256;
+		o0[OHGT].frac=2048;
+		o0[OZOOM].curr=o0[OZOOM].targ=10;fx_3d=1;
+		txtline(txb+80*8,"isi","daddy");
+		txtline(txb+80*18,"ei`turhia","wont`wait");
+		txtline(txb+80*28,"aikaile","too`long");fader=7;fadetype=1;
+		b;
+		case(32):fader=31;fadetype=2;b;
+		case(64):
+		memset(txb,0,80*25*2);
+		txtline(txb+80*5,"isi`laittaa","daddy");
+		txtline(txb+80*15,"p{{h{ns{","puts`on`his");
+		txtline(txb+80*25,"virtuaalisen","virtual");
+		txtline(txb+80*35,"kyp{r{n","helm");
+		fader=7;fadetype=3;b;
+
+                case(64+32):
+		fader=31;fadetype=2;b;
+
+		case(64+40):preparebuff(NONE);
+                memset(ruutu,0,80*25*2);
+                uncrunch(SYBER0,ruutu,sizeof(SYBER0));
+                b;
+
+		case(64+44):
+                memset(ruutu,0,80*25*2);
+                uncrunch(SYBER1,ruutu,sizeof(SYBER1));
+                b;
+
+		case(64+48):
+                memset(ruutu,0,80*25*2);
+                uncrunch(SYBER2,ruutu,sizeof(SYBER2));
+                b;
+
+		case(64+52):preparebuff(SINGLE);
+		memset(txb,0xee,80*25*2);
+		fader=31;fadetype=2;
+		o0[OFLX].curr=o0[OFLX].targ=20*256;
+		o0[OFLY].curr=o0[OFLY].targ=-15*256;fx_flare=1;
+		b;
+
+		case(64+58):fader=31;fadetype=2;fx_flare=0;b;
+
+		case(64+64):fx_flare=1;
+		memset(txb,0,80*25*2);
+		txtline(txb+80*5,"ja`hetkess{","and");
+		txtline(txb+80*15,"h{nest{","instantly");
+                txtline(txb+80*25,"tulee","he`becomes");
+		fader=7;fadetype=3;
+		b;
+
+		case(64+64+32):fx_flare=0;
+                memset(txb,0,80*25*2);
+		txtline(txb+80*30,"salaper{inen","the");
+		txtline(txb+80*40,"","mysterious");
+		b;
+
+		case(64+64+32+16):
+		fx_3d=1;eggine_load(0);
+		o0[OY].curr=70*32;o0[OY].targ=25*32;
+		o0[OROT].targ=800;
+		o0[OZOOM].targ=31000;
+		b;
+
+		case(64+64+64):
+		memset(txb,0,80*25*2);
+		o0[OY].targ=25*32;
+		txtline(txb+80*20,"virtuaalimies","virtual`man");
+		b;
+
+		case(64+64+64+16):
+		o0[OROT].targ=760;o0[OROT].frac=512;b;
+
+		case(64+64+64+32):
+                fadetype=4;fader=1;
+		fx_3d=1;eggine_load(0);
+		b;
+
+		case(64+64+64+40):
+                o0[OZOOM].targ=100;o0[OZOOM].frac=4096;
+		b;
+
+		case(64+64+64+48):memset(txb,0xff,80*25*2);
+		b;
+
+      }
+
+      d-=8*128;
+      if(d>=0)if(!(d&3))switch(d>>2){
+	    case(0):
+		fx_3d=fx_flare=0;
+		  preparebuff(HYBRID);
+                  memset(abb,0x0000,80*25*2);
+                  memset(txb,0x0000,80*25*2);
+		  memset(vib,0,80*50);
+                  fx_main=NONE;
+		  uncrunch(VPELU0,abb,sizeof(VPELU0));
+		  uncrunch(VPELU1,txb,sizeof(VPELU1));
+                  prforhyb(abb);prforhyb(txb);
+		ansifrom=2;
+		atxtline(vib,"kuka`sin{","who`are",0);
+		atxtline(vib+9*80,"``olet","``you",0);
+		b;
+	    case(64):
+		memset(vib,0,80*50);
+		atxtline(vib,"ja","and",0);
+		atxtline(vib+9*80,"``miksi`olet","why`have`you",0);
+		b;
+	    case(64+16):
+		memset(vib,0,80*50);
+		atxtline(vib,"vanginnut","captured",0);
+		atxtline(vib+9*80,"``minut","``me",0);
+		b;
+	    case(64+32):
+		ansifrom=0;
+		memset(txb,0,80*25*2);
+		uncrunch(VPELU2,txb,sizeof(VPELU2));
+		prforhyb(txb);
+		b;
+	    case(128):
+		ansifrom=2;
+		memset(vib,0,80*50);
+		atxtline(vib,"min{`olen","i`am",1);
+		b;
+	    case(128+16):
+		atxtline(vib+9*80,"sinun","your",1);
+		b;
+	    case(128+32):
+		memset(vib,0,80*50);
+		atxtline(vib,"pime{","dark",1);
+		atxtline(vib+9*80,"puoliskosi","half",1);
+		b;
+	    case(128+64):
+                  memset(abb,0x0000,80*25*2);
+                  memset(txb,0x0000,80*25*2);
+		  memset(vib,0,80*50);
+		  ansifrom=2;
+		  uncrunch(VMPELU0,abb,sizeof(VMPELU0));
+		  uncrunch(VMPELU1,txb,sizeof(VMPELU1));
+                  prforhyb(abb);prforhyb(txb);
+		  atxtline(vib,"musta","the`black",0);
+		  atxtline(vib+9*80,"``pelu","``pelu",0);
+                  b;
+      }
+
+      d-=((128+128)*4);
+      if(d>=0)if(!(d&3))switch(d>>2){
+	case(0):
+		memset(txb,0,80*25*2);
+		preparebuff(SINGLE);
+		scroller_init(HORIZON|NOSKRAMBLE);
+		scr_txr(1);
+		fx_main=SCROLLER;
+		fx_main_spex=1;
+		fx_3d=1;eggine_load(0);
+		o0[OY].curr=70*32;o0[OY].targ=25*32;
+		o0[OY].frac=2048;
+
+		o0[OZOOM].curr=25000;
+		o0[OZOOM].targ=100;o0[OZOOM].frac=1024;
+
+		fader=7;fadetype=1;
+		memset(txb,0,80*25*2);
+		txtline(txb+9*80,"isi","daddy");
+		txtline(txb+18*80,"etsii","looks`for");
+		txtline(txb+27*80,"poikaansa","his`son");
+		txtline(txb+36*80,"urheasti","bravely");
+		b;
+
+	case(32):fader=31;fadetype=2;b;
+
+	case(48):o0[OHGT].targ=5*256;o0[OHGT].frac=4096;b;
+
+	case(64):eggine_load(1);
+		memset(txb,0,80*25*2);
+		o0[OY].curr=70*32;o0[OY].targ=25*32;
+		o0[OY].frac=2048;
+		o0[OZOOM].curr=20000;o0[OZOOM].targ=27000;
+		o0[OROT].targ=1000;o0[OROT].frac=4096;
+
+		txtline(txb+2*80,"mutta","but");
+		txtline(txb+11*80,"pimeyden","the`dark");
+		txtline(txb+20*80,"varjostajat","shadows");
+		txtline(txb+29*80,"huomaavat","notice");
+		txtline(txb+38*80,"h{net","him");
+		fader=7;fadetype=1;
+		b;
+	case(64+32):fader=31;fadetype=2;
+		o0[OROT].targ=700;o0[OROT].frac=2048;
+		o0[OROT].frac=1024;
+	b;
+	case(64+48):o0[OROT].targ=1000;b;
+	case(64+56):o0[OROT].targ=200;b;
+	case(64+64):o0[OZOOM].targ=100;o0[OZOOM].frac=4096;b;
+
+/*	case(64+64):
+		o0[OY].curr=70*32;o0[OY].targ=25*32;
+		o0[OY].frac=4096;
+		o0[OROT].targ=50;
+		o0[OZOOM].curr=31000;
+		o0[OZOOM].targ=100;o0[OZOOM].frac=4096;
+		b;*/
+	case(64+64+16):
+		o0[OY].curr=70*32;o0[OY].targ=25*32;
+		o0[OY].frac=4096;
+		o0[OROT].targ=500;
+		o0[OZOOM].curr=31000;
+		o0[OZOOM].targ=100;o0[OZOOM].frac=4096;
+		memset(txb,0,80*25*2);
+		txtline(txb+8*80,"pimeyden","there`is");
+		txtline(txb+18*80,"varjostajia","a`lot`of");
+		txtline(txb+28*80,"tulee","dark");
+		txtline(txb+38*80,"paljon","shadows");
+		fader=7;fadetype=1;
+		b;
+	case(64+64+32):
+		o0[OY].curr=70*32;o0[OY].targ=25*32;
+		o0[OY].frac=4096;
+		o0[OROT].targ=50;
+		o0[OZOOM].curr=31000;
+		o0[OZOOM].targ=100;o0[OZOOM].frac=4096;
+
+		b;
+	case(64+64+48):
+		o0[OY].curr=70*32;o0[OY].targ=25*32;
+		o0[OY].frac=4096;
+		o0[OROT].targ=500;
+		o0[OZOOM].curr=31000;
+		o0[OZOOM].targ=100;o0[OZOOM].frac=4096;
+		fader=31;fadetype=2;
+		b;
+	case(64+64+64):
+		memset(txb,0,80*25*2);
+		txtline(txb+8*80,"ja`isi","and`daddy");
+		txtline(txb+18*80,"on`nyt","is`now");
+		txtline(txb+28*80,"katalassa","in`quite");
+		txtline(txb+38*80,"pinteess{","`a`trouble");
+		fader=7;fadetype=1;
+		b;
+	case(64+64+64+32):fader=31;fadetype=2;b;
+      }
+
+      d-=256*4;
+      if(d>=0)if(!(d&3))switch(d>>2){
+        case(0):
+        preparebuff(HYBRID);
+        memset(txb,0,80*25*2);ansifrom=2;
+	uncrunch(P_SPR,txb+11*160,sizeof(P_SPR));
+	uncrunch(MP_SPR,txb+60*2+10*160,sizeof(MP_SPR));
+	memset(abb,0,80*25*2);
+	uncrunch(P_SPR,abb+11*160,sizeof(P_SPR));
+	uncrunch(MP_SPR1,abb+60*2+10*160,sizeof(MP_SPR1));
+        prforhyb(abb);prforhyb(txb);
+        fx_main=0;fx_3d=0;
+        memset(vib,0,80*25*2);
+	atxtline(vib,"lapsena","as`children",1);
+	atxtline(vib+9*80,"olimme`yksi`","we`were`one``",1);
+        b;
+
+	case(32):
+	uncrunch(SINIPELU,abb+20*2+7*160,sizeof(SINIPELU));
+	b;
+
+	case(64):
+	ansifrom=2;memset(abb,0,80*25*2);
+	uncrunch(P_SPR,abb+11*160,sizeof(P_SPR1));
+	uncrunch(MP_SPR1,abb+60*2+10*160,sizeof(MP_SPR1));
+	prforhyb(abb);
+        memset(vib,0,80*25*2);
+	atxtline(vib,"sitten`meid{t","then`we`were",1);
+	atxtline(vib+9*80,"erotettiin`","separated``",1);
+        b;
+
+	case(96):
+/*	uncrunch(JINJANG,abb+20*2+7*160,sizeof(JINJANG));*/
+	memset(vib,0,80*25*2);
+	atxtline(vib,"sin{`olet","you`are`good",1);
+	atxtline(vib+9*80,"hyv{```","i`am`evil",1);
+	atxtline(vib+18*80,"min{`paha`","",1);
+	b;
+
+	case(96+16):
+	memset(vib,0,80*25*2);
+	atxtline(vib,"sin{`valkea","you`are`white",1);
+	atxtline(vib+9*80,"min{`musta`","i`am`dark",1);
+	b;
+
+/*	case(96+24):
+
+	b;*/
+
+	case(128):
+	ansifrom=2;memset(abb,0,80*25*2);
+	uncrunch(P_SPR,abb+11*160,sizeof(P_SPR1));
+	uncrunch(MP_SPR1,abb+60*2+10*160,sizeof(MP_SPR1));
+	prforhyb(abb);
+        memset(vib,0,80*25*2);
+	atxtline(vib,"meid{n","we`should",1);
+	atxtline(vib+9*80,"pit{isi`taas","unite`again",1);
+	atxtline(vib+18*80,"yhdisty{``","",1);
+        b;
+
+	case(128+32):
+	uncrunch(JINJANG,abb+20*2+7*160,sizeof(JINJANG));
+	prforhyb(abb);
+	b;
+
+	case(128+64):
+        memset(txb,0,80*25*2);ansifrom=2;
+	uncrunch(P_SPR,txb+11*160,sizeof(P_SPR));
+	uncrunch(MP_SPR,txb+60*2+10*160,sizeof(MP_SPR));
+	memset(abb,0,80*25*2);
+	uncrunch(P_SPR1,abb+11*160,sizeof(P_SPR1));
+	uncrunch(MP_SPR,abb+60*2+10*160,sizeof(MP_SPR));
+	prforhyb(abb);prforhyb(txb);
+	memset(vib,0,80*25*2);
+	atxtline(vib,"mutta","but",0);
+	atxtline(vib+9*80,"mit{`siit{","what`would`it",0);
+	atxtline(vib+18*80,"``seuraisi","``lead`to",0);
+        b;
+
+	case(128+64+32):
+	uncrunch(MP_SPR2,abb+60*2+10*160,sizeof(MP_SPR2));ansifrom=1;
+        memset(vib,0,80*25*2);
+        atxtline(vib,"maailmanloppu","the`end",1);
+        atxtline(vib+9*80,"","of`the`world",1);
+        b;
+      }
+
+      d-=4*256;
+      if(d>=0)if(!(d&3))switch(d>>2){
+		case(0):preparebuff(SINGLE);fx_main=SCROLLER;
+		scroller_init(HORIZON|NOSKRAMBLE);
+/*		scr_txr(4);*/
+		memset(txb,0,80*25*2);txtcol=0;
+		o0[OHGT].curr=o0[OHGT].targ=256*25;o0[OHGT].frac=2048;
+		o0[OFLX].curr=-50*256;
+		o0[OFLY].curr=-30*256;
+		o0[OFLX].targ=10*256;
+		o0[OFLY].targ=-20*256;
+		fx_3d=fx_flare=1;eggine_load(0);
+		o0[OZOOM].curr=100;
+		o0[OZOOM].targ=25000;
+		o0[OZOOM].frac=4096;
+		o0[OROT].curr=500;
+		o0[OX].curr=40*32;o0[OY].curr=25*32;
+
+		case(16):o0[OROT].targ=80;
+			b;
+		case(32):o0[OY].targ=70*32;o0[OZOOM].targ=15000;
+			o0[OFLX].targ=-20*256;o0[OFLY].targ=-7*256;
+			o0[OHGT].targ=10*256;
+		b;
+		case(40):eggine_load(1);
+			o0[OZOOM].curr=100;o0[OZOOM].targ=31000;
+			o0[OY].curr=o0[OY].targ=25*32;
+			o0[OFLX].targ=0*256;
+		b;
+		case(48):
+			o0[OZOOM].targ=25000;
+		b;
+		case(56):
+			memset(txb,0,80*50);
+			txtline(txb+9*80,"isi","daddy");
+			txtline(txb+18*80,"on`nyt","is`now");
+			txtline(txb+27*80,"saarrettu","trapped");
+			fader=7;fadetype=1;
+		b;
+		case(64+16):fader=31;fadetype=2;b;
+		case(64+32):
+			o0[OROT].targ=400;o0[OROT].frac=4096;
+			memset(txb,0xee,80*50);fader=7;fadetype=1;
+			b;
+		case(64+36):fader=7;fadetype=1;
+			o0[OROT].targ=10;o0[OFLX].targ=10*32;
+			o0[OFLY].targ=-20*32;b;
+		case(64+40):fader=31;fadetype=2;
+			eggine_load(0);o0[OY].curr=10*32;o0[OY].targ=30*32;
+			o0[OROT].targ=600;
+			fx_flare=0;
+			o0[OHGT].curr=o0[OHGT].targ=40*256;
+			o0[OZOOM].curr=o0[OZOOM].targ=20000;
+			b;
+		case(64+48):o0[OY].targ=20*32;b;
+		case(64+56):o0[OZOOM].targ=30000;b;
+		case(64+64):o0[OHGT].targ=25*256;o0[OY].targ=30*32;
+			memset(txb,0,80*50);
+			txtline(txb+4*80,"onneksi","fortunately");
+			txtline(txb+14*80,"isill{`on","daddy`has");
+			txtline(txb+24*80,"salainen","a`secret");
+			txtline(txb+34*80,"ase","weapon");
+			fader=7;fadetype=1;
+			b;
+		case(64+64+16):o0[OROT].targ=500;
+			fx_flare=1;o0[OFLX].curr=-40*256;o0[OFLX].targ=30*256;b;
+		case(64+64+24):fader=31;fadetype=2;b;
+		case(64+64+32):
+                        preparebuff(HYBRID);
+                        memset(txb,0,80*50);
+			memset(abb,0,80*50);
+			uncrunch(WINNUKE0,txb,sizeof(WINNUKE0));
+			uncrunch(WINNUKE1,abb,sizeof(WINNUKE1));
+                        ansifrom=1;
+                        fx_flare=0;eggine_load(1);
+			o0[OY].targ=o0[OY].curr=15*32;
+                        o0[OROT].curr=500;o0[OROT].targ=200;
+			o0[OZOOM].curr=o0[OZOOM].targ=25000;
+			o0[OHGT].curr=o0[OHGT].targ=40*256;
+                        b;
+		case(64+64+32+16):ansifrom=0;b;
+		case(64+64+32+24):
+			preparebuff(SINGLE);
+                        o0[OZOOM].curr=o0[OZOOM].targ=25000;
+			o0[OROT].curr=o0[OROT].targ=500;
+			o0[OHGT].curr=o0[OHGT].targ=15*256;
+                        fx_flare=1;
+			b;
+		case(64+64+32+32):o0[OROT].targ=200;
+			o0[OHGT].targ=45*256;
+			o0[OFLY].targ=-25*256;o0[OFLX].targ=-30*256;
+
+			b;
+                case(64+64+32+36):o0[OZOOM].targ=100;
+                        fx_flare=1;
+
+                        o0[OFLY].curr=(15-25)*256;
+                        o0[OFLX].curr=0;
+
+                        o0[OFLY].targ=(35-25)*256;
+                        o0[OFLX].targ=(10-40)*256;
+			o0[OY].targ=35*32;
+                        o0[OX].targ=10*32;
+
+                        o0[OX].frac=8192;
+			o0[OY].frac=8192;
+                        o0[OFLX].frac=8192;
+                        o0[OFLY].frac=8192;
+		b;
+		case(64+64+32+48):memset(txb,0xcc,80*50);
+			fader=31;fadetype=2;fx_flare=0;
+			b;
+		case(64+64+32+52):fx_flare=1;b;
+		case(64+64+32+56):fader=31;fadetype=2;fx_flare=0;b;
+      }
+
+      d-=4*256;
+
+      if(d>=0)if(!(d&3))switch(d>>2){
+                case(0):
+			eggine_load(0);
+			o0[OHGT].targ=5*256;
+			o0[OZOOM].targ=o0[OZOOM].curr=28000;
+			o0[OROT].targ=300;
+			o0[OX].curr=o0[OX].targ=40*32;
+			o0[OY].curr=60*32;
+			o0[OY].targ=25*32;
+
+			b;
+		case(16):o0[OZOOM].targ=100;
+			memset(txb,0,80*50);
+                        txtline(txb+4*80,"isi`jatkaa","daddy");
+                        txtline(txb+14*80,"matkaansa","journeys`on");
+                        txtline(txb+24*80,"mustan`pelun","to`black`pelu");
+			txtline(txb+34*80,"linnakkeelle","fortress");
+			fader=7;fadetype=1;
+		b;
+		case(48):fader=31;fadetype=2;b;
+		case(64):preparebuff(HYBRID);fx_main=0;
+                    memset(txb,0,80*25*2);ansifrom=0;
+                    uncrunch(P_SPR,txb+11*160,sizeof(P_SPR));
+                    uncrunch(MP_SPR2,txb+30*2+10*160,sizeof(MP_SPR2));b;
+		case(64+16):
+                    memset(txb,0,80*25*2);
+                    memset(vib,0,80*25*2);
+                    uncrunch(P_SPR,txb+11*160,sizeof(P_SPR));
+		    uncrunch(MP_SPR2,txb+27*2+10*160,sizeof(MP_SPR2));
+                    atxtline(vib,"isiiii","daddeeeee",0);
+                    atxtline(vib+9*80,"pelasta`jo","save`meeee",0);
+                    prforhyb(txb);
+                    b;
+		case(64+32):
+		    memset(txb,0,80*25*2);
+                    uncrunch(P_SPR,txb+11*160,sizeof(P_SPR));
+		    uncrunch(MP_SPR2,txb+24*2+10*160,sizeof(MP_SPR2));
+                    prforhyb(txb);
+		    b;
+		case(64+48):
+		    memset(txb,0,80*25*2);
+                    uncrunch(P_SPR,txb+11*160,sizeof(P_SPR));
+		    uncrunch(MP_SPR2,txb+2*21+10*160,sizeof(MP_SPR2));
+		    b;
+		case(64+56):preparebuff(SINGLE);fx_main=SCROLLER;
+			txtcol=0;memset(vib,0,80*25*2);
+			o0[OHGT].targ=5*256;
+                        o0[OZOOM].curr=100;o0[OZOOM].targ=28000;
+			o0[OROT].curr=200;o0[OROT].targ=700;
+                        o0[OFLX].curr=30*256;o0[OFLY].curr=-15*256;
+                        o0[OFLX].targ=-30*256;o0[OFLY].targ=15*256;
+			o0[OY].targ=40*32;
+			b;
+		case(128+5):
+			o0[OY].targ=60*32;o0[OZOOM].targ=20000;b;
+		case(128+16):
+                        preparebuff(HYBRID);fx_main=0;ansifrom=0;
+                        fx_3d=0;
+                        memset(vib,0,80*50);
+                        memset(txb,0,80*50);
+			uncrunch(SAVE0,txb,sizeof(SAVE0));b;
+		case(128+20):
+                        memset(txb,0,80*50);
+			uncrunch(SAVE1,txb,sizeof(SAVE1));b;
+		case(128+24):
+                        memset(txb,0,80*50);
+			uncrunch(SAVE2,txb,sizeof(SAVE2));b;
+		case(128+28):
+                        memset(txb,0,80*50);
+			uncrunch(SAVE3,txb,sizeof(SAVE3));b;
+		case(128+32):
+                        memset(txb,0,80*50);
+			uncrunch(SAVE4,txb,sizeof(SAVE4));b;
+		case(128+36):
+                        memset(txb,0,80*50);
+			uncrunch(SAVE5,txb,sizeof(SAVE5));b;
+		case(128+48):
+                        prforhyb(txb);
+                        atxtline(vib,"oho","uh`oh",0);b;
+		case(128+64):
+                        memset(vib,0,80*50);
+			atxtline(vib,"isiiii","daddeeee",1);b;
+                case(128+64+16):
+			uncrunch(XFOR,txb+50*160,sizeof(XFOR));
+			memset(vib,0,80*50);
+			atxtline(vib,"pelastit","you`saved",1);b;
+                case(128+64+32):
+			/*uncrunch(XFOR,txb+50*160,sizeof(XFOR));*/
+			memset(vib,0,80*50);
+			atxtline(vib,"minut`ja","me`and",1);b;
+                case(128+64+48):
+			/*uncrunch(XFOR,txb+50*160,sizeof(XFOR));*/
+			memset(vib,0,80*50);
+			atxtline(vib,"maailman","the`world``",1);b;
+			b;
+                case(256):preparebuff(SINGLE);memset(txb,0,80*50);
+                          memset(abb,0,80*50);memset(vib,0,80*50);
+                        txtline(txb+8*80,"mites`nyt","how`can");
+                        txtline(txb+24*80,"noin`k{vi","this`happen");
+                        fader=31;fadetype=1;
+                        b;
+                case(256+64):
+                        memset(txb,0,80*50);
+                        txtline(txb+6*80,"no`eip{`ole","well");
+                        txtline(txb+16*80,"meid{n","thats`not");
+                        txtline(txb+26*80,"ongelma","our`problem");b;
+                case(256+128):
+                        memset(txb,0,80*50);
+                        txtline(txb+22*80,"the`end","the`end");b;
+                case(256+128+64):lastkey=27;b;
+      }
+
+      if(fader){
+	int f=fader;int joo[8]={
+		0x0000,
+		0x0808,
+		0x0707,
+		0x7070,
+		0x7777,
+		0x7f7f,
+		0xf7f7,
+		0xffff };
+	if(fadetype==2)f=7-f/4;
+	if(fadetype==3)f=f/2;
+	if(fadetype==4){f&=7;fader+=2;}
+
+	if(f>7)f=7;if(f<0)f=0;
+	txtcol=joo[7-f];
+	fader--;
+      }
+
+/*
+
+^@pwp^@pwp^@final`isi^@final`isi
+
+^@code^@code^@musax^@musax^@gfx^@gfx^@viznut^@viznut
+
+^@t{{ll{^@t{{ll{^@on`ihan^@on`ihan^@tyhm{{^@tyhm{{^@
+
+*/
+
+
+/***********************************************************/
+
+	  dt++;
+	  }
+
+	if (buffclass) effu(taimeri);
+}}
+
+
Binary file final_isi/fisidemo.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/fisieffu.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,487 @@
+#include "wrapper.h"
+
+#include "fisi.h"
+
+/* #include "dos.h" */
+
+#define uchar unsigned char
+#define uint unsigned int
+#define sint signed int
+
+#include "sini.h"
+
+extern void waitretrace();
+extern signed int mul32(signed int a,signed int b);
+
+/*************** setup *******************/
+
+      char setup_rtc=1;
+      char setup_force25=0;
+      char setup_nohibit=0;
+
+/*************** multimedia interface **********/
+
+      char buffclass;   /* preparebuff == setmode etc */
+
+      int bgcol=0;
+      int txtcol=0;
+      int ansifrom=0;
+
+      /*************/
+
+      char fx_main=0;
+      char fx_main_spex=0;
+      char fx_3d=0;
+      char fx_flare=0;
+
+      /*************/
+
+uchar txl[6][20];
+
+/*************** cOnstANTZ eTC *************/
+
+#ifdef MSDOS
+  char FAR *ruutu = (char *) 0xb8000000;
+  #define   monoruutu (char*)0xb0000000;
+#else
+  uchar ruutu__[80*25*2];
+  uchar*ruutu=ruutu__;
+#endif
+
+uchar symtab[50][80];
+uchar videobuf[80*50];  /* 80x50! */
+uchar textbuf[80*50];
+uchar ansibuf[80*25*2];   /* 80x25! */
+/*char xorru[120*75];*/
+uchar*abb=ansibuf;
+uchar*txb=textbuf;
+uchar*vib=videobuf;
+
+/*********/
+
+/***************.: STATiK dEMO mAiNLOOP eT sETUppES :.******************/
+
+extern int taimeri;
+
+setmono() {
+  #ifdef MSDOS
+    ruutu=monoruutu;
+  #endif
+}
+
+/******************.: tABLES, pRECALX :.*********************/
+
+char fadetab[256];            /* fadetaulu on ihan hY™DYKE */
+fadetab_make(char *ft)
+{
+      int s;char d;
+      for(s=0;s<256;s++){
+      switch(s&0x88){
+	    case(0x88):d=s&~8;break;              /* 99 -> 91 */
+	    case(0x80):d=(s&0x70)|(s>>4);break;   /* 91 -> 19 */
+	    case(0x08):if(s&0xf0)d=((s&7)<<4)|(s&7);
+		       else d=(s&7)<<4; break;	  /* 19 -> 11 */
+						  /* 09 -> 10 */
+	    case(0x00):
+		  if((s&0xf0)&&(s&0x0f))d=s&0xf0; /* 11 -> 10 */
+		  else d=s>>4;                    /* 10 -> 01 */
+            break;
+      }
+      *ft++=d;}
+}
+
+uchar sqrt[256];
+sqrt_make()
+{
+      uint l=0,l2=0,sq;       /* m„„rjoukko: 0..255 */
+			      /* arvojoukko: 0..255 (=<<8) */
+      for(;l<256;l++){
+            sq=(l*l)>>8;
+	    while(l2<=sq) sqrt[l2++]=l;
+      }
+      while(l2<=255) sqrt[l2++]=255;
+}
+
+/************************ xORRUTUS *************************/
+
+/************************* TUNNELZ ************************/
+/************************* TUNNELZ ************************/
+/************************* TUNNELZ   etc ******************/
+
+char lenssprite[256]={
+0x00,0x00,0x00,0x00,0x00,0x88,0xff,0xff,0xff,0xff,0x88,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,
+0x00,0x00,0xff,0xff,0xff,0xff,0x77,0x88,0x88,0x77,0xff,0xff,0xff,0xff,0x00,0x00,
+0x00,0xff,0xff,0xff,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0xff,0xff,0xff,0x00,
+0x88,0xff,0xff,0xff,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0xff,0xff,0xff,0x88,
+0xff,0xff,0xff,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0xff,0xff,0xff,
+0xff,0xff,0xff,0x88,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x88,0xff,0xff,0xff,
+0xff,0xff,0xff,0x88,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x88,0xff,0xff,0xff,
+0xff,0xff,0xff,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0xff,0xff,0xff,
+0x88,0xff,0xff,0xff,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0xff,0xff,0xff,0x88,
+0x00,0xff,0xff,0xff,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0xff,0xff,0xff,0x00,
+0x00,0x00,0xff,0xff,0xff,0xff,0x77,0x88,0x88,0x77,0xff,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x77,0xff,0xff,0xff,0xff,0x77,0x00,0x00,0x00,0x00,0x00
+};
+
+
+/*
+symtab_tunnel()
+{
+	int x,y;
+	uchar*d=symtab[0];
+	for(y=0;y<50;y++)
+	for(x=0;x<80;x++){
+		sint r=(x-40)*(x-40)+(y-25)*(y-25);
+		*d++=sqrt[r/10];
+	}
+}
+
+uchar tunxlat[4*16]={
+      0x00,0x00,0x00,0x00,
+      0x01,0x01,0x10,0x10,
+      0x11,0x11,0x11,0x19,
+      0x19,0x91,0x99,0xff,
+
+      0x00,0x08,0x80,0x88,
+      0x87,0x78,0x77,0x7f,
+      0xff,0xff,0xff,0xff,
+      0xfe,0xef,0xee,0xe6,
+
+      0x00,0x00,0x00,0x00,
+      0x02,0x02,0x20,0x20,
+      0x20,0x22,0x22,0x22,
+      0x2a,0x2a,0xa2,0xa2,
+
+      0x00,0x08,0x80,0x88,
+      0x87,0x78,0x77,0x7f,
+      0xff,0xff,0xff,0xff,
+      0xfe,0xef,0xee,0xe6,
+      };
+
+
+xorrutab()
+{
+	int x,y;
+	uchar*d=xorru;
+	for(y=0;y<75;y++)
+	for(x=0;x<120;x++){
+		char joo;
+		sint r=(x-60)*(x-60)+(y-37)*(y-37);
+		r=sqrt[r/20];
+		joo=tunxlat[(r>>3)&15];
+		if(r&16)joo^=0xcc;
+		*d++=joo;
+	}
+}
+
+do_xorru(int t)
+{
+	sint x,y,zoom,q=t/6;
+	uchar*s0,*s1;
+	uchar*d=videobuf;
+
+	x=sini[t&255];y=sini[(t+64)&255];
+	x=20+(x/4);y=12+(y/10);
+	s0=xorru+x+120*y;
+
+	x=sini[(-t+q+128+47)&255];y=sini[(-t+q+128+64+22)&255]*zoom;
+	x=20+(x/4);y=12+(y/10);
+	s1=xorru+x+120*y;
+
+	xorrase(s0,s1,videobuf,bgcol);
+}
+
+char paletti[255];
+
+dotunneltxt(int t)
+{
+	int i,j=0;uchar*d=paletti;
+	for(i=64;i;i--){
+		j+=i+192;
+		*d++=fadetab[tunxlat[((t+(j>>6))>>4)&63]|bgcol];
+	}
+	for(i=192;i;i--){
+		j+=i;
+		*d++=tunxlat[((t+(j>>6))>>4)&63]|bgcol;
+	}
+}
+*/
+
+/*
+tunxshl()
+{
+	int l;
+	for(l=0;l<16;l++) tunxlat[l]<<=1;
+}
+*/
+
+/*        ^^3   ^^2  */
+
+
+/******************.: eFFECTZ hANDLER :.*********************/
+
+char wirez[16]={
+        ' ', '¼', 'È', 'Í', '»', 'º', 'Î', 'É',
+        'É', 'Î', 'º', '»', 'Í', 'È', '¼', ' ' };
+
+char zbpalli[]={
+      0x00,0x01,0x10,0x11,0x13,0x31,0x33,0x3c,0xc3,0xcc,0xcf,0xfc,0xff};
+
+int fps=0,framez,lasttik=0;
+
+preparebuff(int c)
+{
+      if(c!=buffclass)
+      switch(c){
+	case(NONE):case(HYBRID):txtmode(0);
+		memfill(ruutu,0x0000,80*25*2);
+		memfill(ansibuf,253,80*25*2);
+		break;
+
+	case(SINGLE):
+                txtmode(1-setup_force25);
+                if(!setup_force25)memfill(ruutu,176+256*176,80*50*2);
+			     else memfill(ruutu,223+256*223,80*25*2);
+		break;
+      }
+	buffclass=c;
+}
+
+/*
+txtmode(int c)
+{
+  #ifdef MSDOS
+      _AX=0x0003;_BX=0;geninterrupt(0x10);
+      _AX=0x1003;_BX=0;geninterrupt(0x10);
+      if (c){_AX=0x1112;_BX=0;geninterrupt(0x10);}
+  #else
+  #endif
+}
+*/
+
+/**********************************/
+
+framekey o0[7]={
+      40*32,40*32,1024,  /* OX */
+      25*32,25*32,1024,  /* OY */
+      25000,25000,1024,  /* OZOOM */
+      0,0,1024,          /* OROT */
+
+      25*256,25*256,4096,/* OHGT */
+      0*256,0*256,4096,/* OFLX */
+      0*256,0*256,4096 /* OFLY */
+};
+
+char ltcols[]={
+      0x00,
+      0x00,
+      0x00,
+      0x80,
+      0x00,
+      0x08,
+      0x88,
+      0x88,
+      0x87,
+      0x78,
+      0x77,
+      0x87,
+      0x7e,
+      0xe7,
+      0xe6,
+      0xee,
+      0xef,
+      0xfe,
+      0xf7,
+      0xff,
+      0xff,
+      0xff,
+      0xff
+};
+
+uchar*ltloc;
+doltsrc(char*b,int x,int y,int lev)
+{
+      int i;char*tmp;
+      x+=40;y+=25;
+      b+=x+y*80;ltloc=b;
+
+      *b=0xff;
+
+      tmp=b;
+      i=lev;if(i>x-1)i=x-1;
+            if(i>0)
+            while(i--){tmp--;*tmp|=ltcols[i+(rand()&3)];}
+      tmp=b;
+      i=lev;if(i>79-x)i=79-x;
+            if(i>0)
+            while(i--){tmp++;*tmp|=ltcols[i+(rand()&3)];}
+
+      tmp=b;
+      i=lev;if(i>y-1)i=y-1;
+            if(i>0)
+            while(i--){tmp-=80;*tmp|=ltcols[i+(rand()&3)];}
+
+      tmp=b;
+      i=lev;if(i>49-y)i=49-y;
+            if(i>0)
+            while(i--){tmp+=80;*tmp|=ltcols[i+(rand()&3)];}
+}
+
+/********************************************/
+
+psetpic(char *buf, char *pic, sint x, sint y, int xsize, int ysize,int method)
+{
+      sint xstart=0,ystart=0,xclip=xsize,yclip=ysize;
+      x-=(xsize>>1);y-=(ysize>>1);
+
+      if (x>=0-xsize) if (x<=80+xsize)
+      if (y>=0-ysize) if (y<=50+ysize){
+
+      if (x<0){xstart=0-x;xclip-=xstart;x=0;}
+      if (y<0){ystart=0-y;yclip-=ystart;y=0;}
+
+      if (x+xclip>79) xclip-=abs((x+xclip)-79);
+      if (y+yclip>49) yclip-=abs((y+yclip)-49);
+
+      if (xclip>0) if (yclip>0)
+      picmov(pic+xsize*ystart+xstart,
+             buf+y*80+x,
+             xsize,xclip,yclip,method);
+}}
+
+char lensb[256],lensg[256],lensr[256];
+
+lflare_do(signed int x,signed int y)
+{
+	if(abs(x)<40*4)if(abs(y)<25*4)
+	if(*ltloc==0xff){
+	    doltsrc(videobuf,(x+(rand()&1)) >>2,(y+(rand()&1)) >>2,20);
+	    psetpic(videobuf,lensr,40-(x>>3),25-(y>>3),16,16,1);
+	    psetpic(videobuf,lensb,40-(x>>2),25-(y>>2),16,16,1);
+	    psetpic(videobuf,lensg,40-(x>>1),25-(y>>1),16,16,1);
+        }
+}
+
+flarez_init()
+{
+	char*s=lenssprite;
+	char*d0=lensb,*d1=lensg,*d2=lensr;
+	int i;
+	for(i=256;i;i--){*d0++=*s&0x9c;
+	*d1++=*s&0x9a;*d2++=*s++&0xec;}
+}
+
+
+do3ddezign(int tskip)
+{
+      int i;
+      for(i=0;i<7;i++){
+            o0[i].curr+=
+            tskip*mul32(o0[i].targ-o0[i].curr,o0[i].frac);
+      }
+
+      if(o0[OZOOM].curr>100)eggine_do(videobuf,o0[OROT].curr&255,
+      o0[OZOOM].curr,o0[OX].curr,o0[OY].curr);
+}
+
+precalx()
+{
+/*      cprintf("cREATiNG!!! ");*/
+	fillbuf(textbuf,0,80*50);
+      eggine_init();
+      flarez_init();
+}
+
+effu(int t)
+{
+      static int lastt=0;
+      char*ggg;
+      if (setup_rtc) retracecheck();
+
+      switch(buffclass){
+	    case(SINGLE):
+	       #ifdef MSDOS
+		  if(!setup_force25)
+	       #endif
+			if(txtcol)
+                                attr2dump(textbuf,videobuf,ruutu+1,
+					80*50,txtcol);
+			else
+				attrdump(videobuf,ruutu+1,80*50);
+		#ifdef MSDOS
+		  else{
+			int z=0xf0f0;if(setup_nohibit)z=0x7070;
+			if(!txtcol)
+			dump16(videobuf,ruutu,z);else
+			dump216(textbuf,videobuf,ruutu,txtcol,z);
+		  }
+		#endif
+		  break;
+
+	    case(HYBRID):
+                if(ansifrom)ggg=ansibuf;else ggg=textbuf;
+                if(ansifrom==2)if(t&16)ggg=textbuf;
+                dumphybrid(ggg,videobuf,ruutu);
+		break;
+      }
+
+/*      framez++;gotoxy(1,1);textcolor(15);cprintf("%i  %i  %i  ..%i           ",taimeri,buffclass,fps,fx_3d);
+      if (taimeri>lasttik+70) { lasttik=taimeri;fps=framez;framez=0;}*/
+
+      /*** EFFUEZ ***/
+
+/*      o0[OFLX].curr=sini[(t/3)&255]*30;
+      o0[OFLY].curr=sini[(t+64)&255]*30;*/
+
+      if (buffclass){
+	int c=bgcol;
+	if(buffclass==1)c*=0x101;
+
+	/*if(fx_main==NONE)fillbuf(videobuf,c,80*50);*/
+
+	if(fx_main==SCROLLER)scroller_do(videobuf,t,o0[OHGT].curr>>8);
+
+        if(fx_flare)
+	    doltsrc(videobuf,o0[OFLX].curr>>8,o0[OFLY].curr>>8,10);
+	if(fx_3d)do3ddezign(t-lastt);
+	if(fx_flare)lflare_do(o0[OFLX].curr>>6,o0[OFLY].curr>>6);
+	    }
+     /**************/
+
+
+        lastt=t;
+}
+
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+/*****************************************/
+
Binary file final_isi/fisieffu.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/fisifont.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,281 @@
+#include "wrapper.h"
+
+char setup_english;
+
+char phont[]=
+{
+0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,
+
+0x00,0x00,0x00,0xff,0xff,0x00,
+0x00,0x00,0xff,0xff,0xff,0x00,
+0x00,0xff,0xff,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+
+0xff,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,
+
+0xff,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0x00,0xff,0xff,0xff,0x00,0x00,
+
+0xff,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,
+
+0xff,0xff,0xff,0xff,0xff,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0x00,
+
+0xff,0xff,0xff,0xff,0xff,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+
+0xff,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0x00,0xff,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0x00,0xff,0xff,0xff,0xff,0x00,
+
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+
+0x00,0xff,0xff,0xff,0xff,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0xff,0xff,0xff,0xff,0x00,
+
+0x00,0x00,0x00,0xff,0xff,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0x00,0xff,0xff,0xff,0xff,0x00,
+
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0xff,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0x00,
+
+0xff,0x00,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0xff,0xff,0x00,
+0xff,0x00,0xff,0x00,0xff,0x00,
+0xff,0x00,0x00,0x00,0xff,0x00,
+0xff,0x00,0x00,0x00,0xff,0x00,
+0xff,0x00,0x00,0x00,0xff,0x00,
+0xff,0x00,0x00,0x00,0xff,0x00,
+
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0xff,0x00,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0x00,
+0xff,0xff,0x00,0xff,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+
+0x00,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0x00,0xff,0xff,0xff,0x00,0x00,
+
+0xff,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0x00,
+0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0x00,0x00,0x00,0x00,0x00,
+
+0x00,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0xff,0xff,0x00,
+0x00,0xff,0xff,0xff,0xff,0x00,
+
+0xff,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,
+0xff,0x00,0xff,0xff,0x00,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0x00,0xff,0x00,
+
+0x00,0xff,0xff,0xff,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,
+
+0xff,0xff,0xff,0xff,0xff,0xff,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0x00,0xff,0xff,0xff,0x00,0x00,
+
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0x00,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0xff,0x00,0x00,0x00,
+
+0xff,0x00,0x00,0x00,0xff,0x00,
+0xff,0x00,0x00,0x00,0xff,0x00,
+0xff,0x00,0x00,0x00,0xff,0x00,
+0xff,0x00,0x00,0x00,0xff,0x00,
+0xff,0x00,0xff,0x00,0xff,0x00,
+0xff,0xff,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0x00,0xff,0x00,
+
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0x00,0xff,0x00,0xff,0x00,0x00,
+0x00,0x00,0xff,0x00,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0xff,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0x00,0xff,0xff,0xff,0xff,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0xff,0xff,0xff,0x00,0x00,
+
+0xff,0xff,0xff,0xff,0xff,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0xff,0xff,0x00,0x00,0x00,
+0x00,0xff,0xff,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0x00,
+
+0xff,0xff,0x00,0x00,0xff,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0xff,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+
+0xff,0xff,0x00,0x00,0xff,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0xff,0xff,0xff,0x00,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0xff,0x00,0x00,0xff,0xff,0x00,
+0x00,0xff,0xff,0xff,0x00,0x00,
+
+0x00,0xff,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0xff,0xff,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0xff,0xff,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0x00,
+
+0x00,0xff,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0xff,0xff,0x00,0x00,0xff,0x00,
+0x00,0xff,0xff,0xff,0x00,0x00
+};
+
+addchar(char *buf,char *c)
+{
+	int x,y;
+	for(y=7;y;y--){
+	for(x=6;x;x--)*buf++=*c++;
+	buf+=80-6;}
+}
+
+txtline(char *buf,char *txt,char *txten)
+{
+	if(setup_english)txt=txten;
+	buf+=40-3*strlen(txt);
+	while(*txt){addchar(buf,&phont[7*6*(*txt-'`')]);buf+=6;txt++;}
+}
+
+atxtline(char *buf,char *txt,char *txten,int align)
+{
+	if(setup_english)txt=txten;
+	if(align==1)buf+=79-6*strlen(txt);
+	while(*txt){addchar(buf,&phont[7*6*(*txt-'`')]);buf+=6;txt++;}
+}
+
+clrline(char*buf)
+{
+	memset(buf,0,8*80);
+}
Binary file final_isi/fisifont.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/fisimain.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,35 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "../pwplib/pwplib.h"
+
+char setup_english=0;
+
+extern void playtick();
+
+int main(int argc,char**argv)
+{
+   if(!pwplib_init(&argc,argv))return 1;
+
+   pwpwrite("final isi (1st at abduction '98 pc introcompo)\n");
+
+   pwplib.videobuf.width=80;
+   pwplib.videobuf.height=50;
+   
+   if(!pwplib.setup[SETUP_NOSOUND])
+      pwplib.player=playtick;
+
+   precalx();
+   
+   pwpwrite(setup_english?"using the english language\n"
+                         :"puhumme suomea\n");
+
+   pwplib_startup();
+   
+   demoloop();
+   
+   timer_off();
+
+   pwplib_end();
+
+   return 0;
+}
Binary file final_isi/fisimain.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/fisimusa.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,142 @@
+char patord[]={
+
+	0,0,1,1,2,3,	/* intropart */
+	6,7,8,9,	/* isi #0 */
+        0,0,14,14,        /* pelu #0 */
+
+	6,7,8,9,
+
+	0,0,14,14,        /* pelu #1 */
+
+        10,11,12,13,6,7,8,9,
+
+	4,4,4,
+
+	5,5,15,15,16,17,4  /* not used */
+	};
+
+char trax[][3][64]={
+
+/***************************** iNTRO pART ******/
+
+/* PATTERN 0 */
+32,254,32,254,32,254,32,254,32,255,255,254,32,255,255,254,32,254,32,254,32,254,32,254,32,255,255,254,32,255,255,254,35,254,35,254,35,254,35,254,35,255,255,254,35,255,255,254,34,254,34,254,34,254,34,254,35,255,255,254,50,254,34,254,
+39,254,39,254,39,254,39,254,39,255,255,254,39,255,255,254,39,254,39,254,39,254,39,254,39,255,255,254,39,255,255,254,42,254,42,254,42,254,42,254,42,255,255,254,42,255,255,254,41,254,41,254,41,254,41,254,42,255,255,254,57,254,41,255,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,
+
+/* PATTERN 1 */
+32,254,32,254,32,254,32,254,32,255,255,254,32,255,255,254,32,254,32,254,32,254,32,254,32,255,255,254,32,255,255,254,35,254,35,254,35,254,35,254,35,255,255,254,35,255,255,254,34,254,34,254,34,254,34,254,35,255,255,254,50,254,34,254,
+80,255,255,254,71,254,80,254,83,254,80,254,71,254,80,254,83,255,255,254,80,254,71,255,255,254,80,254,71,254,80,254,83,255,255,254,74,254,83,254,82,254,74,254,82,254,83,254,82,255,255,254,85,254,82,255,255,254,73,254,82,254,82,254,
+64,254,67,254,71,254,67,254,64,254,255,255,67,254,255,255,64,254,67,254,71,254,67,254,64,254,255,255,67,254,255,255,67,254,71,254,74,254,71,254,67,254,74,254,71,254,67,254,66,254,69,254,73,254,69,254,67,254,255,255,66,254,67,254,
+
+/* PATTERN 2 */
+37,254,37,254,37,254,37,254,37,255,255,254,37,255,255,254,37,254,37,254,37,254,37,254,37,255,255,254,37,255,255,254,40,254,40,254,40,254,40,254,40,255,255,254,40,255,255,254,39,254,39,254,39,254,39,254,40,255,255,254,55,254,39,254,
+85,255,255,254,80,254,85,254,88,254,85,254,80,254,85,254,88,255,255,254,85,254,80,255,255,254,85,254,80,254,85,254,88,255,255,254,83,254,88,254,87,254,83,254,87,254,88,254,87,255,255,254,90,254,87,255,255,254,82,254,87,254,87,254,
+69,254,72,254,80,254,72,254,69,254,255,255,72,254,255,255,69,254,72,254,80,254,72,254,69,254,255,255,72,254,255,255,72,254,80,254,83,254,80,254,72,254,83,254,80,254,72,254,71,254,74,254,82,254,74,254,72,254,255,255,71,254,72,254,
+
+/* PATTERN 2 */
+37,254,37,254,37,254,37,254,37,255,255,254,37,255,255,254,37,254,37,254,37,254,37,254,37,255,255,254,37,255,255,254,40,254,40,254,40,254,40,254,40,255,255,254,40,255,255,254,39,254,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+85,255,255,254,80,254,85,254,88,254,85,254,80,254,85,254,88,255,255,254,85,254,80,255,255,254,85,254,80,254,85,254,88,255,255,254,83,254,88,254,87,254,83,254,87,254,88,254,87,254,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+69,254,72,254,80,254,72,254,69,254,255,255,72,254,255,255,69,254,72,254,80,254,72,254,69,254,255,255,72,254,255,255,72,254,80,254,83,254,80,254,72,254,83,254,80,254,72,254,71,254,
+253,255,255,255,255,255,255,255,255,255,255,255,255,252,
+
+/*************************** tODELLUUS PART */
+
+/* 4 == tyhjae */
+
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,250,
+
+/* 6==fmoottori1 */
+48,255,64,255,48,255,64,255,48,255,64,255,51,255,67,255,48,255,64,255,48,255,64,255,48,255,64,255,50,255,66,255,48,255,64,255,48,255,64,255,51,255,67,255,55,255,71,255,51,255,67,255,51,255,67,255,53,255,69,255,50,255,66,255,
+80,254,96,87,96,87,80,87,80,254,96,87,99,90,87,90,80,254,87,80,96,87,80,87,80,254,87,254,98,89,85,89,80,254,96,87,96,87,83,87,83,254,90,85,87,82,87,82,99,254,90,254,85,254,99,254,85,254,82,254,82,254,85,82,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,
+
+/* PATTERN 1 */
+/*254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,25
+255,255,
+66,254,255,255,50,254,255,255,82,73,82,254,66,254,255,255,66,254,255,255,50,254,255,255,82,73,82,254,66,254,255,255,64,254,255,255,48,254,255,255,80,71,80,254,64,254,255,255,48,254,255,255,255,254,255,255,96,254,96,254,96,254,96,254,
+50,255,255,254,66,254,50,254,50,255,255,254,66,254,50,254,50,255,255,254,66,254,50,254,50,255,255,254,66,254,50,254,48,255,255,254,64,254,48,254,48,255,255,254,64,254,48,254,48,254,255,255,255,255,255,255,48,255,255,254,48,254,64,254,
+*/
+
+80,254,255,255,80,254,74,255,80,255,74,255,80,254,255,255,255,255,71,255,255,254,72,254,71,254,72,255,71,255,72,255,74,254,255,255,74,254,72,255,74,255,72,255,74,254,255,255,255,255,69,255,255,254,71,254,69,254,255,255,69,254,74,255,
+64,254,255,255,48,254,255,255,80,71,80,254,64,254,255,255,64,254,255,255,48,254,255,255,80,71,80,254,64,254,255,255,58,254,255,255,42,254,255,255,74,69,74,254,58,254,255,255,58,254,255,255,42,254,255,255,74,69,74,254,58,254,255,255,
+48,255,255,254,64,254,48,254,48,255,255,254,64,254,48,254,48,255,255,254,64,254,48,254,48,254,64,254,48,254,64,254,42,255,255,254,58,254,42,254,42,255,255,254,58,254,42,254,42,255,255,254,58,254,42,254,42,254,58,254,42,254,58,254,
+
+82,254,255,255,82,254,80,255,82,255,80,255,82,254,255,255,255,255,73,255,255,254,74,254,73,255,74,255,73,255,74,255,80,254,255,255,80,254,74,255,80,255,74,255,80,254,255,255,255,255,71,255,255,254,73,254,87,254,87,254,87,254,87,254,
+66,254,255,255,50,254,255,255,82,73,82,254,66,254,255,255,66,254,255,255,50,254,255,255,82,73,82,254,66,254,255,255,64,254,255,255,48,254,255,255,80,71,80,254,64,254,255,255,48,254,255,255,48,254,255,255,80,71,80,254,64,254,255,255,
+50,255,255,254,66,254,50,254,50,255,255,254,66,254,50,254,50,255,255,254,66,254,50,254,50,255,255,254,66,254,50,254,48,255,255,254,64,254,48,254,48,255,255,254,64,254,48,254,48,255,255,254,64,254,48,254,48,255,255,254,48,254,64,254,
+
+85,254,255,255,85,254,83,255,85,255,83,255,85,254,255,255,255,255,80,255,255,254,81,254,80,254,81,255,80,255,81,255,83,254,255,255,83,254,81,255,83,255,81,255,83,254,255,255,255,255,74,255,255,254,80,254,74,254,255,255,74,254,83,255,
+69,254,255,255,53,254,255,255,85,80,85,254,69,254,255,255,69,254,255,255,53,254,255,255,85,80,85,254,69,254,255,255,67,254,255,255,51,254,255,255,83,74,83,254,67,254,255,255,67,254,255,255,51,254,255,255,83,74,83,254,67,254,255,255,
+53,255,255,254,69,254,53,254,53,255,255,254,69,254,53,254,53,255,255,254,69,254,53,254,53,254,69,254,53,254,69,254,51,255,255,254,67,254,51,254,51,255,255,254,67,254,51,254,51,255,255,254,67,254,51,254,51,254,67,254,51,254,67,254,
+
+87,254,255,255,87,254,85,255,87,255,85,255,87,254,255,255,255,255,82,255,255,254,83,254,82,255,83,255,82,255,83,255,85,254,255,255,85,254,83,255,85,255,83,255,85,254,255,255,255,255,80,255,255,254,82,254,96,254,255,255,255,255,255,255,
+71,254,255,255,55,254,255,255,87,82,87,254,71,254,255,255,71,254,255,255,55,254,255,255,87,82,87,254,71,254,255,255,69,254,255,255,53,254,255,255,85,80,85,254,69,254,255,255,53,254,255,255,53,254,255,255,85,254,255,255,255,255,255,255,
+55,255,255,254,71,254,55,254,55,255,255,254,71,254,55,254,55,255,255,254,71,254,55,254,55,255,255,254,71,254,55,254,53,255,255,254,69,254,53,254,53,255,255,254,69,254,53,254,53,255,255,254,69,254,53,254,53,254,255,255,255,255,255,255,
+
+/* PATTERN 6 */
+86,254,255,255,81,254,255,255,73,254,255,255,81,254,255,255,86,254,81,255,73,255,81,255,86,254,255,255,89,254,86,255,84,254,255,255,75,254,255,255,59,254,255,255,75,254,255,255,84,254,75,255,65,255,72,255,81,255,72,255,68,255,97,255,
+86,254,255,255,70,254,255,255,86,81,70,254,86,81,70,254,86,254,255,255,70,254,255,255,102,97,86,254,86,81,70,254,84,254,255,255,68,254,255,255,100,91,84,254,84,75,68,254,84,254,255,255,68,254,255,255,100,91,84,254,84,75,68,254,
+54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,52,255,255,254,68,254,52,254,52,255,255,254,68,254,52,254,52,255,255,254,68,254,52,254,52,255,255,254,68,254,52,254,
+
+/* PATTERN 0 */
+88,254,255,255,83,254,255,255,75,254,255,255,83,254,255,255,88,254,83,255,75,255,83,255,88,254,255,255,91,254,88,255,86,254,255,255,81,254,255,255,65,254,255,255,81,254,255,255,86,254,81,254,70,254,81,254,86,254,81,254,86,254,81,254,
+72,254,255,255,56,254,255,255,88,83,72,254,72,254,255,255,72,254,255,255,56,254,255,255,88,83,72,254,72,254,255,255,70,254,255,255,54,254,255,255,86,81,70,254,70,254,255,255,86,254,70,254,86,254,70,254,86,81,70,254,86,81,70,254,
+56,255,255,254,72,254,56,254,56,255,255,254,72,254,56,254,56,255,255,254,72,254,56,254,56,255,255,254,72,254,56,254,54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,
+
+/* PATTERN 1 */
+86,254,255,255,81,254,255,255,73,254,255,255,81,254,255,255,86,254,81,255,73,255,81,255,86,254,255,255,89,254,86,255,84,254,255,255,75,254,255,255,59,254,255,255,75,254,255,255,84,254,75,255,65,255,72,255,81,255,72,255,68,255,97,255,
+86,254,255,255,70,254,255,255,86,81,70,254,86,81,70,254,86,254,255,255,70,254,255,255,102,97,86,254,86,81,70,254,84,254,255,255,68,254,255,255,100,91,84,254,84,75,68,254,84,254,255,255,68,254,255,255,100,91,84,254,84,75,68,254,
+54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,52,255,255,254,68,254,52,254,52,255,255,254,68,254,52,254,52,255,255,254,68,254,52,254,52,255,255,254,68,254,52,254,
+
+/* PATTERN 2 */
+88,254,255,255,83,254,255,255,75,254,255,255,83,254,255,255,88,254,83,255,75,255,83,255,88,254,255,255,91,254,88,255,86,254,255,255,81,254,255,255,65,254,255,255,81,254,255,255,86,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+72,254,255,255,56,254,255,255,88,83,72,254,72,254,255,255,72,254,255,255,56,254,255,255,88,83,72,254,72,254,255,255,70,254,255,255,54,254,255,255,86,81,70,254,70,254,255,255,86,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+56,255,255,254,72,254,56,254,56,255,255,254,72,254,56,254,56,255,255,254,72,254,56,254,56,255,255,254,72,254,56,254,54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,54,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+
+/********************************************/
+
+/* PATTERN 14 == 0 nostettuna 3:lla */
+35,254,35,254,35,254,35,254,35,255,255,254,35,255,255,254,35,254,35,254,35,254,35,254,35,255,255,254,35,255,255,254,38,254,38,254,38,254,38,254,38,255,255,254,38,255,255,254,37,254,37,254,37,254,37,254,38,255,255,254,53,254,37,254,
+42,254,42,254,42,254,42,254,42,255,255,254,42,255,255,254,42,254,42,254,42,254,42,254,42,255,255,254,42,255,255,254,45,254,45,254,45,254,45,254,45,255,255,254,45,255,255,254,44,254,44,254,44,254,44,254,45,255,255,254,60,254,44,255,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,
+
+/*****************/
+
+/* PATTERN 15 */
+53,255,69,255,53,255,69,255,53,255,69,255,56,255,72,255,53,255,69,255,53,255,69,255,53,255,69,255,55,255,71,255,53,255,69,255,53,255,69,255,56,255,72,255,64,255,80,255,56,255,72,255,56,255,72,255,58,255,74,255,55,255,71,255,
+85,254,101,96,101,96,85,96,85,254,101,96,104,99,96,99,85,254,96,85,101,96,85,96,85,254,96,254,103,98,90,98,85,254,101,96,101,96,88,96,88,254,99,90,96,87,96,87,104,254,99,254,90,254,104,254,90,254,87,254,87,254,90,87,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,
+
+51,255,67,255,51,255,67,255,51,255,67,255,54,255,70,255,51,255,67,255,51,255,67,255,51,255,67,255,53,255,69,255,51,255,67,255,51,255,67,255,54,255,70,255,58,255,74,255,54,255,70,255,54,255,70,255,56,255,72,255,53,255,69,255,
+83,254,255,255,255,255,255,255,255,255,255,255,86,254,255,255,83,254,255,255,255,255,255,255,255,255,255,255,85,254,85,254,83,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,86,254,255,255,255,255,255,255,88,254,88,254,85,254,85,254,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,
+
+51,255,67,255,51,255,67,255,51,255,67,255,54,255,70,255,51,255,67,255,51,255,67,255,51,255,67,255,53,255,69,255,51,255,67,255,51,255,67,255,54,255,70,255,58,255,74,255,54,255,70,255,54,255,70,255,88,254,88,254,88,254,88,254,
+83,254,255,255,255,255,255,255,255,255,255,255,86,254,255,255,83,254,255,255,255,255,255,255,255,255,255,255,85,254,85,254,83,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,86,254,255,255,255,255,255,255,83,88,83,88,96,88,96,88,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,
+
+48,255,64,255,48,255,64,255,48,255,64,255,51,255,67,255,48,255,64,255,48,255,64,255,48,255,64,255,50,255,66,255,48,255,64,255,48,255,64,255,51,255,67,255,55,255,71,255,51,255,67,255,51,255,67,255,53,255,69,255,50,255,66,255,
+80,254,96,87,96,87,80,87,80,254,96,87,99,254,255,255,80,254,87,80,96,87,80,87,80,254,87,254,98,254,98,82,80,254,96,87,96,254,255,255,83,254,90,85,87,254,255,255,99,254,90,254,85,254,99,254,85,254,82,254,255,255,82,254,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,
+
+53,255,69,255,53,255,69,255,53,255,69,255,56,255,72,255,53,255,69,255,53,255,69,255,53,255,69,255,55,255,71,255,53,255,69,255,53,255,69,255,56,255,72,255,64,255,80,255,56,255,72,255,56,255,72,255,58,255,74,255,55,255,71,255,
+85,254,101,96,101,96,85,96,85,254,101,96,104,254,255,255,85,254,96,85,101,96,85,96,85,254,96,254,103,254,103,87,85,254,101,96,101,254,255,255,88,254,99,90,96,254,255,255,104,254,99,254,90,254,104,254,90,254,87,254,255,255,87,254,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255
+
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/fisitime.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,224 @@
+#include "fisimusa.h"
+
+#ifdef MSDOS
+  #include <dos.h>
+#endif
+
+#define NUMCH 3
+
+char cord=0,cpat=0,crow=0,drmt=0xff,drms=0;
+
+char auditype;
+
+int plrbeep[2];
+int musatempo=5;
+
+#ifdef MSDOS
+
+/***************** h00KiNG nEW iNTERRuPT hANDLeRs **************/
+
+#define setadlib adlib
+
+unsigned int taimeri;
+
+void interrupt int_8();
+void interrupt (*old_int8)();
+
+kellovauhti(char spiidi)
+{
+      disable();
+      outportb(0x43,0x36);
+      outportb(0x40,0x00);
+      outportb(0x40,spiidi);
+      enable();
+}
+
+timer_on()
+{   taimeri=0;
+
+    if(auditype){initsound();
+                 cpat=patord[0];}
+    disable();
+    old_int8=getvect(0x08);
+    setvect(0x08,int_8);
+    enable();
+    kellovauhti(64);
+}
+
+timer_off()
+{
+      disable();
+      setvect(0x08,old_int8);
+      enable();
+      kellovauhti(0);
+
+      if(auditype)initsound();
+}
+
+void interrupt int_8()
+{
+      taimeri++;
+      if (!(taimeri&3)) (*old_int8)(); else outport(0x20,0x20);
+      if(auditype)playtick();
+}
+
+/**********************************************************/
+/******************* pLAYVVERr RUTiNE ********************/
+
+char instru[2][11]={
+    0xa1,0xa1,0xff,0xff,0x0f,0x0f,0x03,0x03,0x01,0x00,0x00,  /* bass? */
+    0xa2,0xa2,0xff,0xff,0x0f,0x0f,0x03,0x03,0x01,0x00,0x00,  /* ohrgan */
+};
+
+adl_ldinstr(int kanava,int i)
+{
+    char*ins=instru[i];
+    char osotte[11] = {
+    0x20,0x23,0x60,0x63,0x80,0x83,0xe0,0xe3,0xc0,0x40,0x43 };
+      char *tmp=ins; char l;
+      for(l=0;l<11;l++) adlib(kanava+osotte[l],*tmp++);
+}
+
+initsound()
+{
+      int l;
+
+      if(auditype==1) nosound();
+
+      if(auditype==2){
+            for(l=0;l<244;l++) adlib(l,0);
+            adlib(0x01,0x20);
+	    adl_ldinstr(0,1);
+	    adl_ldinstr(1,1);
+	    adl_ldinstr(2,1);}
+
+}
+#endif
+
+int freku[12] = {
+		0x157,0x16b,0x181,0x198,0x1b0,0x1ca,
+		 0x1e5,0x202,0x220,0x241,0x263,0x287
+		 };
+char plst=0;
+
+/**********************
+ **********************/
+
+playtick()
+{
+      plst++;
+
+      #ifdef MSDOS
+
+      if(auditype==1){
+	      if(plst==musatempo/3){
+                  if (plrbeep[0]) sound(plrbeep[0]>>3);
+			      else
+			      if(plrbeep[0])sound(plrbeep[0]>>3);else nosound();
+			      }
+	    if(plst==musatempo/2){
+                  if (plrbeep[1]) sound(plrbeep[1]>>3);
+			      else
+			      if(plrbeep[2])sound(plrbeep[2]>>3);else nosound();
+			      }
+
+			      }
+
+      if (auditype==2){int l;for(l=0;l<NUMCH;l++)
+		if (plrbeep[l]<0xf0){
+			adlib(0x40+l,2);
+			adlib(0x43+l,1);}}
+
+      #endif
+
+      if (plst==musatempo) { uusinuotti(); plst=0; }
+}
+
+/*char ison[3]={1,1,1};*/
+char hvilk[3]={0xfe,0xfe,0xfe};
+
+int lizayz=0;
+
+uusinuotti()
+{
+      int l;
+      unsigned char mark,mkrl;
+
+      for(l=0;l<NUMCH;l++) {
+
+	    mkrl=mark=trax[cpat][l][crow];
+
+	    if(mark<0xf0)mkrl=mark+=lizayz;
+
+	    if (auditype==2) plrbeep[l]=mark;
+
+	    if(mark==0xfa){musatempo=8;lizayz=-16;}
+
+	    if (mark==0xfb)if(auditype==2){
+		  if(crow&1)mark=0xfe;else
+			    mark=hvilk[l];
+			    plrbeep[l]=mark;
+			    }
+
+	    if (mark==0xfe)
+	    #ifdef MSDOS
+	     {if(auditype==2){adlib(0x40+l,63);
+					     adlib(0x43+l,63);}
+					else plrbeep[l]=0;
+			      /*ison[l]=0;*/
+		}
+	    #else
+	        gbsound(l,0);
+	    #endif
+
+	    if (mark==0xfd) musatempo=16;
+	    if (mark==0xfc) musatempo=4;
+
+            if (mark<0xf0) {
+
+		if(mark==mkrl)hvilk[l]=mark;
+		if((mark&15)>=12)mark+=4;
+
+            #ifdef MSDOS
+
+            /*********  ADLiB ********/
+
+	     if(auditype==2){
+
+              int hum=(freku[mark&15])             /* note */
+                       |(32*256)|                  /* key on */
+		      (((mark&(255-15))-32) *64);  /* octave */
+
+              adlib(0xb0+l,hum>>8);
+              adlib(0xa0+l,hum&255);
+	      adlib(0x40+l,12);
+	      adlib(0x43+l,15);
+	      }
+
+            /******** iBM sPEAKER *****/
+
+              if(auditype==1){
+
+		plrbeep[l]=freku[mark&15];
+		plrbeep[l]<<=((( (mark&(255-15)) >>4)&15)-2);
+
+		/*
+		if (plrbeep[0]) sound(plrbeep[0]>>3);
+			   else if (plrbeep[1]) sound(plrbeep[1]>>3);
+					else nosound();*/
+
+		}
+
+            /*********************/
+
+            #else
+              gbsound(l,(mark&15)+((mark>>4)*12));
+            #endif
+
+      }       }
+
+     crow++;   if (crow==64) {
+                crow=0;cord++;
+                cpat=patord[cord];
+                if (cpat==99) { cord=0; cpat=patord[cord]; }}
+}
Binary file final_isi/fisitime.o has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/sini.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,21 @@
+signed char sini[256]= {
+
+0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51,
+54, 57, 59, 62, 65, 67, 70, 73, 75, 78, 80, 82, 85, 87, 89, 91, 94, 96,
+98, 100, 102, 103, 105, 107, 108, 110, 112, 113, 114, 116, 117, 118,
+119, 120, 121, 122, 123, 123, 124, 125, 125, 126, 126, 126, 126, 126,126,
+126, 126, 126, 126, 126, 126, 125, 125, 124, 123, 123, 122, 121, 120,
+119, 118, 117, 116, 114, 113, 112, 110, 108, 107, 105, 103, 102, 100,
+98, 96, 94, 91, 89, 87, 85, 82, 80, 78, 75, 73, 70, 67, 65, 62, 59, 57,
+54, 51, 48, 45, 42, 39, 36, 33, 30, 27, 24, 21, 18, 15, 12, 9, 6, 3, 0,
+-4, -7, -10, -13, -16, -19, -22, -25, -28, -31, -34, -37, -40, -43, -46,
+-49, -52, -55, -58, -60, -63, -66, -68, -71, -74, -76, -79, -81, -83,
+-86, -88, -90, -92, -95, -97, -99, -101, -103, -104, -106, -108, -109,
+-111, -113, -114, -115, -117, -118, -119, -120, -121, -122, -123, -124,
+-124, -125, -126, -126, -127, -127, -127, -127, -127, -127, -127, -127,
+-127, -127, -126, -126, -125, -124, -124, -123, -122, -121, -120, -119,
+-118, -117, -115, -114, -113, -111, -109, -108, -106, -104, -103, -101,
+-99, -97, -95, -92, -90, -88, -86, -83, -81, -79, -76, -74, -71, -68,
+-66, -63, -60, -58, -55, -52, -49, -46, -43, -40, -37, -34, -31, -28,
+-25, -22, -19, -16, -13, -10, -7, -4 };
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/sini16.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,29 @@
+
+unsigned int sini16[256]={
+0, 804, 1607, 2410, 3211, 4011, 4807, 5601, 6392, 7179, 7961, 8739,
+9511, 10278, 11038, 11792, 12539, 13278, 14009, 14732, 15446, 16150,
+16845, 17530, 18204, 18867, 19519, 20159, 20787, 21402, 22004, 22594,
+23169, 23731, 24278, 24811, 25329, 25831, 26318, 26789, 27244, 27683,
+28105, 28510, 28897, 29268, 29621, 29955, 30272, 30571, 30851, 31113,
+31356, 31580, 31785, 31970, 32137, 32284, 32412, 32520, 32609, 32678,
+32727, 32757, 32767, 32757, 32727, 32678, 32609, 32520, 32412, 32284,
+32137, 31970, 31785, 31580, 31356, 31113, 30851, 30571, 30272, 29955,
+29621, 29268, 28897, 28510, 28105, 27683, 27244, 26789, 26318, 25831,
+25329, 24811, 24278, 23731, 23169, 22594, 22004, 21402, 20787, 20159,
+19519, 18867, 18204, 17530, 16845, 16150, 15446, 14732, 14009, 13278,
+12539, 11792, 11038, 10278, 9511, 8739, 7961, 7179, 6392, 5601, 4807,
+4011, 3211, 2410, 1607, 804, 0, -805, -1608, -2411, -3212 ,-4012, -4808,
+-5602, -6393, -7180, -7962, -8740, -9512, -10279, -11039, -11793,
+-12540, -13279, -14010, -14733, -15447, -16151, -16846, -17531, -18205,
+-18868, -19520, -20160, -20788, -21403, -22005, -22595, -23170, -23732,
+-24279, -24812, -25330, -25832, -26319, -26790, -27245, -27684, -28106,
+-28511, -28898, -29269, -29622, -29956, -30273, -30572, -30852, -31114,
+-31357, -31581, -31786, -31971, -32138, -32285, -32413, -32521, -32610,
+-32679, -32728, -32758, -32767, -32758, -32728, -32679, -32610, -32521,
+-32413, -32285, -32138, -31971, -31786, -31581, -31357, -31114, -30852,
+-30572, -30273, -29956, -29622, -29269, -28898, -28511, -28106, -27684,
+-27245, -26790, -26319, -25832, -25330, -24812, -24279, -23732, -23170,
+-22595, -22005, -21403, -20788, -20160, -19520, -18868, -18205, -17531,
+-16846, -16151, -15447, -14733, -14010, -13279, -12540, -11793, -11039,
+-10279, -9512, -8740, -7962, -7180, -6393, -5602, -4808, -4012, -3212,
+-2411, -1608, -805 };
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/tmp	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,8 @@
+fiscroll.c
+fisi3d.c
+fisidemo.c
+fisieffu.c
+fisifont.c
+fisimain.c
+fisitime.c
+wrapper.c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/wrapper.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,269 @@
+#include "wrapper.h"
+
+/** conio stuff **/
+
+int clrscr()
+{
+//  fprintf(stderr,"\033[2J\033[H");
+}
+int getch()
+{
+  return '.';
+}
+int kbhit()
+{
+  return 1;
+}
+
+/*****/
+
+void loopflush()
+{
+  pwplib.loopflush();
+}
+
+void sound(int freq) /* beepsound */
+{
+}
+
+void gbsound(int ch,int freq)
+{
+  if(freq)pwplib.sound(ch,freq<<8,pwplib.setup[SETUP_VOLUME]);
+     else pwplib.sound(ch,0,0);
+}
+
+/** video stuff **/
+
+void retracecheck(){}
+void setvideo()
+{
+  fprintf(stderr,"setvideo\n");
+}
+
+/** timing stuff **/
+
+int get_timerval()
+{
+  return pwplib_timer();
+}
+void timer_on(void(*player)())
+{
+  pwplib_init(); /* test if <48 ==> 25ize */
+    pwplib.videobuf.width=80;
+    pwplib.videobuf.height=50;
+
+  pwplib.player=player;
+  /* etc */
+}
+void timer_off()
+{
+  /* pwplib_exit(); */
+}
+
+/** fx stuff **/
+
+/*************************************************/
+
+void fillbuf(char*d,int w16,int lgt)  /* iku */
+{
+  short*dd=(short*)d;
+  for(;lgt;lgt--)*dd++=w16;
+}
+void dump28025()  /* iku */
+{
+  fprintf(stderr,"dump28025\n");
+}
+void dump2buf(char*s0,char*s1,char*d,int lgt)  /* iku */
+{
+  char tmp[80*50*2];d=tmp;lgt=80*50;lgt<<=1;
+  tmp[0]=tmp[1]=tmp[2]=tmp[3]=0;
+  {int j=lgt;
+  for(;j;j--){d[0]=176;d[1]=*s0++|*s1++;d+=2;}}
+  
+  pwplib.videobuf.d=tmp;
+  pwplib.dump_ibm();
+}
+void dumpbuf(char*s,char*d,int lgt)  /* iku */
+{
+  {char*tmp=pwplib.videobuf.d;
+   pwplib.videobuf.d=s;
+   pwplib.dump_rast();
+   pwplib.videobuf.d=tmp;
+  }
+/*  
+  char tmp[80*50*2];d=tmp;lgt<<=1;
+  tmp[0]=tmp[1]=tmp[2]=tmp[3]=0;
+  {int j=lgt;
+  for(;j;j--){d[0]=176;d[1]=*s++;d+=2;}}
+  
+  pwplib.videobuf.d=tmp;pwplib.dump_ibm();*/
+}
+void dump_attr(char*s)
+{
+  pwplib.videobuf.d=s;pwplib.dump_ibm();
+}
+void txtmode(int c)
+{
+  clrscr();
+  pwplib.videobuf.height=c?50:25;
+}
+
+#define USE_RUUTU
+
+/** uncrunch **/
+
+/* thedraw uncrunch */
+
+#ifdef USE_RUUTU
+  extern char *ruutu;
+#endif
+void uncrunch(unsigned char*src,char*dst,int lgt)
+{
+  char attr=0x07,*nxtlin=dst+160;
+  #ifdef USE_RUUTU
+    int upd=((dst>=ruutu) && (dst<ruutu+80*25))?1:0;
+  #endif  
+  for(;lgt>0;lgt--){
+    int c=*src++;
+    if(c>=32){dst[0]=c;dst[1]=attr;dst+=2;}else
+    if(c<16)attr=(attr&0xf0)|c;else
+    if(c<24)attr=(attr&0x8f)|((c-16)<<4);else
+    if(c==24){dst=nxtlin;nxtlin+=160;}else
+    if(c==25){int i=1+*src++;
+       for(;i;i--){dst[0]=32;dst[1]=attr;dst+=2;}lgt--;}else
+    if(c==26){int i=1+src[0],t=src[1];src+=2;
+      for(;i;i--){dst[0]=t;dst[1]=attr;dst+=2;}lgt-=2;}
+    else if(c==27)attr^=0x80;
+  }
+  #ifdef USE_RUUTU
+    if(upd)dump_attr(ruutu);
+  #endif
+}
+
+/*
+  char hou[80*56];d=hou;lgt<<=1;
+  fprintf(stderr,"\033[1;1H");
+  lgt-=(lgt>>3);
+  for(;lgt;lgt--)*d++=32+(*s++&63);
+  *d++=0;
+  fprintf(stderr,hou);*/
+
+void fadebuf(char*b,char*tab,int lgt)  /* iku */
+{
+  for(lgt<<=1;lgt;lgt--){*b=tab[*b];b++;}
+}
+void drawsym(char*d,int*symt,char*bm,int off,int lgt)  /* iku */
+{
+  for(;lgt;lgt--)*d++=bm[(off+*symt++)&1023];
+}
+
+#define SENTINEL 32123
+void drawjulia(char*d,int*c2tab,int cmod)  /* iku */
+{
+/*  int i=80*50,*c2=c2tab;
+  for(;i;i--){
+    int c=*c2++;
+    if(c==SENTINEL){d++;goto boh;}
+        c=c2tab[(c+cmod)&65535];
+    if(c==SENTINEL){*d++|=0x01;goto boh;}
+        c=c2tab[(c+cmod)&8191];
+    if(c==SENTINEL){*d++|=0x10;goto boh;}
+        c=c2tab[(c+cmod)&8191];
+    if(c==SENTINEL){*d++|=0x11;goto boh;}
+        c=c2tab[(c+cmod)&8191];
+    if(c==SENTINEL){*d++|=0x19;goto boh;}
+        *d++|=0x91;
+    boh:
+  }*/
+}
+#undef SENTINEL
+
+void addzbmapL(char*d,char*s,int xcount,int xadd,int ycount,
+               int yadd,int fixcount)  /* iku */
+{
+  for(;ycount>0;ycount--){
+  {int i=0,x=xcount;char*dd=d;char*ss=&s[32*(fixcount>>8)];
+   for(;x;x--){*dd++|=ss[i>>8];i+=xadd;}}
+  d+=80;
+  fixcount+=yadd;}
+}
+void addzbmapR(char*d,char*s,int xcount,int xadd,int ycount,
+               int yadd,int fixcount)  /* iku */
+{
+  for(;ycount>0;ycount--){
+  {int i=0,x=xcount;char*dd=d;char*ss=&s[32*(fixcount>>8)];
+   for(;x;x--){*dd--|=ss[i>>8];i+=xadd;}}
+  d+=80;
+  fixcount+=yadd;}
+}
+void dump8025(){
+  fprintf(stderr,"dump8025\n");
+}
+
+/* taimeri => gettimer(); */
+
+/*int taimeri=0;*/
+
+/***/
+
+void textcolor(int c){}
+void picmov(){}
+void memfill(){}
+
+int mul32(int a,int b)
+{
+  return (a*b)>>16;
+}
+
+int attr2dump(char*s0,char*s1,char*d,int lgt,int ander)  /* fisi */
+{
+  char tmp[80*50];d=tmp;lgt=80*50;
+  tmp[0]=tmp[1]=tmp[2]=tmp[3]=0;
+  {int j=lgt;
+  for(;j;j--)*d++=(*s0++&ander)|*s1++;
+  }
+  pwplib.videobuf.d=tmp;
+  pwplib.dump_rast();
+}
+
+int attrdump(char*s,char*d,int howmany)  /* fisi */
+{
+  dumpbuf(s,d,howmany>>1);
+}
+
+int dump16()  /* fisi */
+{
+  fprintf(stderr,"dump16\n");  /* fisi */
+}
+int dump216()
+{
+  fprintf(stderr,"dump216\n");  /* fisi */
+}
+
+int dumphybrid(uchar*a,uchar*b,uchar*d)  /* fisi */
+{
+  char tmp[80*50*2];int y=25;d=tmp;
+  
+  for(;y;y--){int x=80;
+  for(;x;x--)
+  {
+    if(*a!=253){d[0]=*a;d[1]=a[1];}else
+               {int z=(b[0]&0xf0)|(b[80]>>4);
+                d[0]=z?220:32;d[1]=z;}
+    a+=2;d+=2;b++;
+  }b+=80;}
+
+  pwplib.videobuf.d=tmp;pwplib.dump_ibm();
+}
+
+int gotoxy()  /* fisi */
+{}
+int polytxloop(sint h,char*di,uint x1,sint dx0,sint dx1,char*txr,
+               sint dv,sint du)  /* fisi */
+{
+  int x0=0,u=0,tpv=0;
+  for(;h>0;h--){
+  {char*d=di+(x0>>8);int c=(x1>>8)&127,tp=(tpv<<4)&0xf000;
+                     if(c>0)for(;c;c--){*d++=txr[(tp>>8)&0xff];tp+=du;}}
+  x0+=dx0;x1+=dx1;di+=80;tpv+=dv;/*dv*/}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_isi/wrapper.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,24 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "../pwplib/pwplib.h"
+
+#define sqrt sqrt__
+#define cprintf printf
+
+#define DEBUG(a) fprintf(stderr,a "\n")
+
+#define taimeri get_timerval()
+
+/*extern inline int dummy(){}*/
+
+/* taimeri => gettimer(); */
+
+typedef unsigned char uchar;
+typedef signed int sint;
+#define uint unsigned int
+typedef signed char schar;
+
+/**/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flier/Makefile	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,47 @@
+ASCFLIERS=pwpflier0-small.txt pwpflier0-big.txt
+PSFLIERS=pwpflier0.ps pwpflier0b.ps pwpflier0c.ps
+
+all: ascfliers psfliers
+
+ascfliers: $(ASCFLIERS)
+
+psfliers: $(PSFLIERS)
+
+pwpflier: pwpflier.c
+	cc pwpflier.c -o pwpflier
+
+pwpflier0-small.txt: pwpflier
+	./pwpflier 3 3 > pwpflier0-small.txt
+
+pwpflier0-big.txt: pwpflier
+	./pwpflier 7 5 > pwpflier0-big.txt
+
+pwpflier0b-big.txt: pwpflier
+	./pwpflier 4 3 > pwpflier0b-big.txt
+
+pwpflier0c-big.txt: pwpflier
+	./pwpflier 7 5 plasma > pwpflier0c-big.txt
+
+pwpflier0-big2.txt: pwpflier0-big.txt
+	cat pwpflier0-big.txt pwpflier0-big.txt > pwpflier0-big2.txt
+
+pwpflier0b-big2.txt: pwpflier0b-big.txt
+	cat pwpflier0b-big.txt pwpflier0b-big.txt > pwpflier0b-big2.txt
+
+pwpflier0c-big2.txt: pwpflier0c-big.txt
+	cat pwpflier0c-big.txt pwpflier0c-big.txt > pwpflier0c-big2.txt
+
+pwpflier0.ps: pwpflier pwpflier0-big2.txt
+	a2ps --prologue=bold --no-header --chars-per-line=230 \
+	     --copies=4 pwpflier0-big2.txt > pwpflier0.ps
+
+pwpflier0b.ps: pwpflier pwpflier0b-big2.txt
+	a2ps --prologue=bold --no-header --chars-per-line=140 \
+	     pwpflier0b-big2.txt > pwpflier0b.ps
+
+pwpflier0c.ps: pwpflier pwpflier0c-big2.txt
+	a2ps --prologue=bold --no-header --chars-per-line=230 \
+	     --copies=4 pwpflier0c-big2.txt > pwpflier0c.ps
+
+clean:
+	rm -f *~ pwpflier $(ASCFLIERS) $(PSFLIERS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flier/pwpflier.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,320 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+
+char protomap[256][256];
+
+int rasterizer[8]={0,32,16,48,8,40,24,56};
+
+#define LIM(a) ((a)<0?0:((a)>255?255:(a)))
+
+void recursive_plasma(int x0,int y0,int x1,int y1,int lev)
+{
+   if(x1>x0 && y1>y0)
+   {
+      int a=protomap[x0&255][y0&255],
+          b=protomap[x1&255][y0&255],
+          c=protomap[x0&255][y1&255],
+          d=protomap[x1&255][y1&255],
+
+          xm=(x0+x1)>>1,
+          ym=(y0+y1)>>1;
+
+      protomap[xm][y0]=(a+b)>>1;
+      protomap[xm][y1]=(c+d)>>1;
+      protomap[x0][ym]=(a+c)>>1;
+      protomap[x1][ym]=(b+d)>>1;
+
+        // 4:single detail, 8:g00d, 32:mess with great contrast
+      { int k=rand()%((abs(x0-x1)<<lev)+1);
+        if(k&1)k=0-k;
+        protomap[xm][ym]=LIM((a+b+c+d+k)>>2);
+      }
+
+      if(x1>x0+1)
+      {
+         recursive_plasma(x0,y0,xm,ym,lev);
+         recursive_plasma(xm,y0,x1,ym,lev);
+         recursive_plasma(x0,ym,xm,y1,lev);
+         recursive_plasma(xm,ym,x1,y1,lev);
+      }
+   }
+}
+
+
+void drawflier(char*pic0,char*bg0,int xzoom,int yzoom)
+{
+   int iy=0,ix;
+
+   char*pic=pic0,
+       *bg=bg0;
+
+   while(*pic!='\0')
+   {
+      char*line=pic;
+      int y=yzoom;
+
+      for(;y;y--)
+      {
+         pic=line;
+         while(*pic!='\n')
+         {
+            int x=xzoom;
+            for(;x;x--)
+            {
+               if(*pic!=' ')
+               {
+                  putchar(*bg);
+                  bg++;
+                    if(*bg=='\0')bg=bg0;
+               }
+                else
+               {
+                  int k=protomap[iy&255][ix&255]+rasterizer[(iy^(ix<<1))&7];
+                  putchar(" ..:;"[(k>>6)%5]);
+               }
+               ix++;
+            }
+
+            pic++;
+              if(pic=='\0')pic=pic0;
+         }
+         iy++;
+         ix=0;
+         putchar('\n');
+      }
+      pic++;
+   }
+}
+
+/********************************************************************/
+
+char*pwpflier0=
+
+   "                               \n"
+   "                               \n"
+   "                               \n"
+   "         ** ********           \n" 
+   "         ******** **           \n"
+   "             ***               \n"
+   "             ***               \n"
+   "          *************        \n"
+   "          *******************  \n"
+   "         **********            \n"
+   "         xxxxxx                \n"
+   "        *****                  \n"
+   "        *****    x             \n"
+   "       ********                \n"
+   "       ************            \n"
+   "       **************          \n"
+   "       ****************        \n"
+   "        *****                  \n"
+   "        *******                \n"
+   "        ***********  xx        \n"
+   "        ***************        \n"
+   "         ************          \n"
+   "         **********            \n"
+   "           ******              \n"
+   "           ******              \n"
+   "           ******              \n"
+   "                               \n"
+   "   ******** **      ** ********\n" 
+   "   ******** **      ** ********\n"
+   "   **    ** **      ** **    **\n"
+   "   **    ** **      ** **    **\n"
+   "   ******** **  **  ** ********\n"
+   "   ******** **  **  ** ********\n"
+   "   **       **  **  ** **      \n"
+   "   **       **  **  ** **      \n"
+   "   **       ********** **      \n"
+   "   **       ********** **      \n"
+   "                               \n";
+
+/* 
+ *  From Jeesuksen Opetuslapset ry - freely distributable text
+ *
+ *  http://personal.inet.fi/yhdistys/jeesuksenopetuslapsetry./
+ *
+ */
+
+char*jolry_bg=
+   "Ottaisin päälleni vaikka minkälaisia ruttoja, jos saisin Jumalalta "
+   "VOIMALLISTEN TEKOJEN ARMOLAHJAN! HENKIEN ULOSAJAMISEN ARMOLAHJAN! "
+   "VAIKKA PUOLEKSI VUODEKSI!  ILMAN NIITÄ EN VOI KUN ITKEÄ JA VALVOA "
+   "ÖITÄNI! KYLLÄ NE MIELESSÄ ON NUO VUODET JA NE YÖT KUN TUOLLA KÄVELIN "
+   "JA NÄIN KERTOMAANI! JA NYT SAAN KUULLA, ETTÄ TÄMÄ TOUHU KASVAA!!! JA "
+   "JUURI TÄHÄN AIKAAN!!!! SAATANA on vuositolkulla tietänyt "
+   "Hengellisistä asoista enemmän kuin uskovat!   "
+
+   "1990 luvun alussa JUMALALTA tuli profetia: \"Nyt, MINÄ JUMALA, ALAN "
+   "KURITTAMAAN SUOMEN KANSAA TOSI MIELESSÄ, SIITÄ SYYSTÄ, ETTÄ SUOMEN "
+   "KANSASTA EI LÖYDY HÄNELLE KELPAAVASSA USKOSSA OLEVIA IHMISIÄ, "
+   "HÄNELLE RIITTÄVÄÄ MÄÄRÄÄ!   "
+
+   "Kuinka paljon sinun perheessäsi on tuhottu äänitteitä, joilla on ns. "
+   "Hevy metalli rokkia? ns. Gospel musiikkia? Joita varhaisnuoret "
+   "kuuntelevat, kuin ei mitään pahaa olisi!   "
+
+   "SIINÄ TÄLLÄ MENETELMÄLLÄ MENEVÄT SITTEN 30 luvun Raamattu ja "
+   "Herramme JEESUS MUKANA! VALITAN! NÄIN VAKAVISTA ASIOISTA ON KYSE! "
+   "MINKÄS MINÄ HEILLE VOIN?! ITKEÄ JA KOITTAA KUINKA KOVIA LYÖNTEJÄ "
+   "TÄMÄ NÄPPÄIMISTÖ KESTÄÄ! JA SYÖDÄ PSYKOSOMAATTISIIN SAIRAUKSIINI "
+   "PURKKI KAUPALLA PILLEREITÄ! JOITA LÄÄKÄRINI KIELSI SYÖMÄSTÄ! Kun ei "
+   "ole varaa niihin lääkkeisiin, joita tarvitsen!   "
+ 
+   "HÄVETKÄÄ! JOS OSAATTE!  RAAMATTU KERTOO, ETTÄ ISRAELIN KANSA "
+   "EVANKELIOIDAAN AIVAN MERKILLISELLÄ TAVALLA! MITEN SAMASTA ASIASTA "
+   "VOI OLLA KAKSI ERI VERSIOTA! PAINUKAA LUOLIIN JA TUKKIKAA SUUNNE! "
+   "SANON MINÄ!  JOS EI TEILLÄ MUUTA PUHUTTAVAA OLE! ON RAAMATUN "
+   "LUKUNNEKIN OLLUT AIVAN TURHAA!  KUN ETTE YMMÄRRÄ LUKEMAANNE! VOI "
+   "PYHÄ YKSINKERTAISUUS!  Pystyisin kaatamaan joka ainoan väitteenne! "
+   "TE TULETTE RAAMATULLA!  JA AIVAN SAMALLA KIRJALLA MINÄ KAADAN "
+   "JOKAISEN VALHEELLISEN VÄITTEENNE! MUTTA EN JAKSA! MUTTA VAROITAN "
+   "KYLLÄ NÄISTÄ KIRJANOPPINEISTA! ÄLKÄÄ KUUNNELKO HEITÄ! KUUNNELKEE "
+   "JEESUSTA! HÄN OPETTAA TEILLE RAAMATUN PERUSTOTUUDET HYVINKIN "
+   "NOPEASTI! EIKÄ NYT KYLLÄ PITKIIN KURSSEIHIN AIKAA OLEKKAAN! VAINON "
+   "AJAT OVAT LÄHELLÄ!  JA TÄMÄ KANSA EI TIEDÄ MITÄÄN!  ILMIANTAJIA ON "
+   "TUHATMÄÄRIN ENEMMÄN;KUIN NIITÄ AITOJA JEESUKSEN SEURAAJIA JOITA "
+   "TÄSSÄKIN MAASSA ALETAAN VAINOTA! NÄIN IKÄVÄSTI ON NYT ASIAT! JA "
+   "VIELÄ YRITÄTTE SAATANAN JOUKKOJEN KEHOITUKSESTA TULEMAAN ESIIN! SE "
+   "ON MIINA JOHON ME EMME NYT TULE! ANTEEKSI VAAN! TAIDAMME JOUTUA "
+   "POISTUMAAN AIKAISEMMIN, KUIN OLETINKAAN!  VALMIINA KYLLÄ OLLAAN! EI "
+   "SIINÄ MITÄÄN! HUKASSA ON JO PALJON SUOMEN AITOJA USKOVAISIA! "
+   "POISTUMME HETI KUN SILTÄ NÄYTTÄÄ! JEESUS ANTAA MERKIN! EMME TARVITSE "
+   "KUIN TIEDON YÖLLÄ! SEURAAVANA PÄIVÄNÄ OLEMME JO KATEISSA! NIIN "
+   "YKSINKERTAISTA!   "
+
+   "YLEINEN VÄITTÄMÄ; JOKA TAANNOIN VIIMEKSI MINULLEKKIN TAAS POSTIN "
+   "KAUTTA HEITETTIIN:\" AITO PROFEETTA EI PUHU MILLOINKAAN "
+   "VALHEPROFETIOITA!\" AIVAN VARMASTI JOUTUU PUHUMAAN! ILMESTYKSIÄ "
+   "NÄKEVÄ; JOUTUU AIVAN VARMASTI KATSELEMAAN SAATANAN LUOMIA "
+   "ILMESTYKSIÄ!!!! SAARNAAJAT JA OPETTAJAT JOUTUVAT AIVAN VARMASTI "
+   "NÄIHIN MIINOIHIN! JOUDUMME YLIHENGELLISYYTEEN! JOUDUMME LAN ALLE! "
+   "IHAN VARMASTI JA AIVAN KÄYTÄNNÖSSÄ! TÄMÄ TAPAHTUU KOULUTTUKSEN "
+   "AIKANA. KAIKKI NÄMÄ! JA SENKIN JÄLKEEN SAATTAA LIPSUA!   "
+
+   "Nyt VELI TEMPAISIKIN SUOMEKSI KOMENNON: JEESUKSEN KRISTUKSEN "
+   "NASARETTILAISEN NIMESSÄ! ANNETTIIN PIMEYDEN HENKILLE LÄHTÖKÄSKY! "
+   "Mitäs nyt tapahtui?   "
+
+   "AMERIKASTAKIN KUULEMMA AINAKIN YKSI BÄNDI TULEE! Sinne sitten vaan "
+   "kuuntelemaan tuota SAATANAN LUOMAA MUSIIKKIA! Englannin sanakirjan "
+   "mukaan gospel tarkoittaa suomeksi: evankeliumi! ETTÄ SIIHEN MALLIIN "
+   "MEILLÄ PÄIN!  Täytyy teille kertoa ihan tosiasia! JA JÄLLEEN "
+   "VALITETTAVASTI HYVIN MONIEN PETTYMYKSEKSI! SANAT OSIN RAAMATUSTA! "
+   "SÄVELLYS SAATANAN! TÄHÄN EI OLE ALUSTA ALKAENKAAN YHTYNYT JUMALA! EI "
+   "PYHÄ HENKI! EIKÄ TULE MILLOINKAAN YHTYMÄÄN MIHINKÄÄN! MISSÄ SAATANA "
+   "TAI HÄNEN JOUKKONSA OVAT MUKANA! NIIISSÄ LIIKKUU PIMEYDEN HENGET JA "
+   "TUNTEET! PALJONHAN NIILLÄKIN AIKAAN SAADAAN! Pelottavin aikaan "
+   "saannos tuollakin on JUMALAN VIHA!!! Maatamme kohtaan! SINNE NYT "
+   "VANHEMMAT: KAKAROITANNE PÄÄSTÄTTE! SUORASTAAN TYRKYTÄTTE! JA "
+   "KANNATTE USKOVAISEN NIMEÄ! Jättäkää tuo nimi pois! Ihan totta! "
+   "Katsokaas, kun JUMALALLA JA SAATANALLA EI OLE MITÄÄN TEKEMISTÄ "
+   "TOISTENSA KANSSA! EI HIUSKARVAN VERTAA! EI OLE MILLOINKAAN OLLUT! "
+   "SEN JÄLKEEN KUN SAATANA JA LANGENNEET ENKELIT TAIVAASTA VISKATTIIN! "
+   "EIKÄ TULE OLEMAAN! SAATANA ON KAIKEN MUSIIKIN JA KAIKKIEN SOITTIMIEN "
+   "ASIANTUNTIJA! SITÄ HÄN OLI JO TAIVAASSA! ENNEN KUIN RYHTYI KAPINAAN "
+   "JUMALAN KANSSA! Näin Raamattu meille kertoo! Valtavalle määrälle "
+   "teistä, tuo asia on tuttu! Mutta se nyt ikäänkuin ei kuuluisi "
+   "teille! ARVATKAAPA: KUULUUKO???   "
+
+   "Erotkaa, rakkaat ystävät, noista VOUHOTTAJISTA, JOTKA EIVÄT MITÄÄN "
+   "TIEDÄ!!!  Kasetilla on sanoittus suurista ihmeistä ja Raamatusta! "
+   "SÄVELLYS ON SAATANAN!  LAULU ESITYS TÄYSIN TEKNINEN SUORITUS! JA "
+   "KAIKEN LISÄKSI SURKEA SELLAINEN! SAMAT ARVOSANAT KIRJASTA! SAATANAN "
+   "JOUKKOJEN KÄTYRI! Kuuluisuudestaan huolimatta; RIKU RINNE! AINAKIN "
+   "NYT! Jos muutosta tapahtuu? VIE SE TUOLTA PAIKALTA, MISSÄ HÄN NYT "
+   "ON: MELKO PITKÄN AIKAA! EN TUOMITSE! MUTTA PALJASTAN! JA VAROITAN!   "
+
+   "ELLEMME PÄÄSE ALKUSEURAKUNNAN KALTAISEEN JUMALAN VOIMAN VAIKUTUKSEN "
+   "ALLE? ON TULOSSA ILMESTYSKIRJAN MUKAAN SELLAISTA TAVARAA MYÖS "
+   "SUOMEEN! ETTÄ ILMAN TÄTÄ VOIMAA VOIMMEKIN SITTEN SANOA AIVAN "
+   "VARMASTI TOISILLEMME HYVÄSTI JA HYVÄÄ YÖTÄ! OHJEET ANTAA JEESUS "
+   "ALKUVALMISTELUT VOITTE TEHDÄ ALKUSEURAKUNNAN TAPAAN! KERRAN MEIDÄT "
+   "JOKAINEN RIISUTAAN!  ELLET NÄIHIN USKO? Älä vaan sitten käytä "
+   "itsestäsi nimitystä uskovainen tai kristitty! VAAN JOS VÄITÄT ettei "
+   "nämä kuulu sinulle!  Eikä meille tänä aikana?! SINÄ OLET TÄYSI "
+   "PELLE!   "
+
+   "JA NÄMÄKÄÄN EIVÄT VIELÄ OLE TAKUULIPPU TAIVAASEEN! MUTTA, KUN "
+   "KUULIAISESTI HERRAA TÄMÄN JÄLKEEN SEURAILEE. Voi joku saada "
+   "kerrottua asian lapsilleen sukulaisilleen jne, NIMITTÄIN JOS NÄMÄ "
+   "RUKOUKSET TEET AIVAN VILPITTÖMÄSTI !  Tarkoitan tuollaista tietoista "
+   "vilppiä. KAIKKI ME NYT MUUTOIN OLLAAN KAIKKEA PAHUUTTA TÄYNNÄ "
+   "TIEDÄTKÖ? SIELTÄ....TAIVAASTA KAJAHTAA MAHTAVA VOIMA !   "
+
+   "Ja raha on tuossa osavaltiossa ollut pois käytössä tuon kokeen ajan. "
+   "TÄMÄ ON ILMESTYSKIRJASSA KERROTTU PEDON MERKKI! JOLLA TUOTA MERKKIÄ "
+   "EI OLE; HÄNELTÄ EI OSTETA MITÄÄN! EIKÄ MYYDÄ MITÄÄN! SEHÄN ON "
+   "SELVIÖ! KUN RAHA POISTETAAN KÄYTÖSTÄ.  ON MAHDOTON ostaa tai myydä "
+   "ilman tuota pedon merkkiä! Pyrin selittämään tämän hyvin "
+   "kansanomaisesti. Ja kun tuo aika tulee. Ei paljon kertomastani voi "
+   "tuo menetelmä poiketa! Ja tämä on sitten sellainen MERKKI, jota "
+   "YKSIKÄÄN USKOVAINEN EI SAA MISSÄÄN OLOISSA OTTAA! NIMITTÄIN, kun "
+   "Antikristus nousee ja vaaditaan tuo pedon merkki on se kovimpia "
+   "koettelemuksia uskovaisille! Kansat kumartavat tuota "
+   "petoa. Tottelevat häntä. Siis SAATANAN JUTTU!   "
+
+   "Ellet tietoisesti palvele ja seuraa JEESUSTA, silloin tietämättäsi "
+   "palvelet ja seuraat SAATANAA! Hän pystyy tämän asian sinulta niin "
+   "hämäämään, ettet tiedä mitään! Jeesuksen omana olo ei ole salainen "
+   "asia!   "
+
+   "Kun yksikin taloudelliseti hyvin voiva henkilö tekee Jumalan mielen "
+   "mukaisen parannuksen. Napsahtaa omaisuudet automaattiseti Jumalan "
+   "Valtakunnan työhön!  EIKÄ VAIN SINNE PÄIN! NIINKUIN NYT ON "
+   "KAIKENAIKAA NÄHTÄVISSÄ! NÄMÄ SAATANAN VALTAAMAT VÄLINEET EIVÄT KOVIN "
+   "KAUAA OLE USKOVAISTEN KÄDEN ULOTTUVILLA! JA SUOMESSA AIDOT JEESUKSEN "
+   "SEURAAJAT, JUMALAN PALVELIJAT VOIVAT TEHDÄ NÄIDEN LAITTEIDEN AVULLA "
+   "VALTAVIA JUTTUJA, JOITA JUMALA SIUNAA KYLLÄ SUOMESSA ON OLTAVA "
+   "KETJUT KUNNOSSA: MITEN JAKO ETEENPÄIN TAPAHTUU! Vaikka Jumala "
+   "Henkensä kautta on tehnyt yhtä sun toista Suomessa ilman ihmisiä! "
+   "Raamatun mukaan IHMISIÄ KÄYTETÄÄN JUMALAN VALTAKUNNAN TYÖSSÄ HAMAAN "
+   "JEESUKSEN TULEMUKSEEN ASTI!!!   "
+
+   "JOS TOIMITTE: LISÄTIETOA TULEE JEESUKSELTA NOPEAAN TAHTIIN! KAIKKI "
+   "MUU ON TÄYSIN TURHAA! Puhukoon Istala ja kumppanit mitä tykkää! "
+   "Saatanan palveluksessa koko remmi ja TIUKASTI! Ja lisää tulee! "
+   "ISTALA KAATUU UUSIEN TUULIEN TULLESSA! Amerikassa jo valmiina! "
+   "Levinnyt jo EUROOPPAAN! ENNUSTAN NÄILLE NYKYISILLE SAATANAN "
+   "KÄTYREILLE nopeaa uran päättymistä!   "
+
+   "OLISIKOHAN SYYTÄ VIIPYMATTÄ MENNÄ RUKOILLEN NÖYRASTI JEESUKSEN "
+   "OPETUKSEN ALLE!  PARANNUKSEN TEON JÄLKEEN! JA SAMAN TIEN ANTAA "
+   "ITSENSÄ JUMALALLE OTOLLISEKSI UHRIKSI! Ehtii oppia PYHÄN HENGEN ja "
+   "saatanallisten henkien ERON! Ainakin näin räikeissä muodoissa! "
+   "Varoitan edelleen! Älkää tutkiko pimeyden henkiä????!   ";
+
+/********************************************************************/
+
+int main(int argc,char**argv)
+{
+   srand(time(NULL));
+
+   if(argc<3)
+   {
+      fprintf(stderr,"usage: %s <xzoom> <yzoom> [plasma]\n",argv[0]);
+   }
+    else
+   {
+      if(argc==3)
+      {
+         int i,j;
+         for(i=0;i<256;i++)
+           for(j=0;j<256;j++)
+             protomap[i][j]=0;
+      }
+       else
+      {
+         protomap[0][0]=rand()&255;
+         protomap[0][255]=rand()&255;
+         protomap[255][0]=rand()&255;
+         protomap[255][255]=rand()&255;
+         recursive_plasma(0,0,255,255,3);
+      }
+         
+      drawflier(pwpflier0,jolry_bg,atoi(argv[1]),atoi(argv[2]));
+   }
+   return 0;
+}
+
Binary file font/vizn7.fnt has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/font/vizn7.fnt.pl	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,2085 @@
+#!/usr/bin/perl
+#
+# This is the 8x7 font I've been using on the Linux console.
+# 
+# The charset is a hardcoded compromise between IBM/VGA codepage 001
+# and ISO Latin 1. It is designed to make it possible to view
+# MS-DOS text, Latin-1 text and ANSI art relatively easily without
+# conversion tables.
+#
+# I made this because all the different kernel conversion tables looked
+# too complicated and only seemed to mess things up. I also wanted to use
+# my old MS-DOS font instead of the ugly ROM-based one.
+#
+# The shapes of the characters are made simple and easily distinguishable
+# to maximize the textmode resolution.
+#
+# Most IBM characters look different (thicker etc) than their Latin
+# counterparts to prevent blindness in the charset matter.
+#
+# Some drawbacks:
+# - U" (U Umlaut) is viewed as an IBM bottomhalf graphic piece.
+# - The IBM graphic horizontal line is viewed as A" (A Umlaut)
+# - Because of the cell height of 7, most accents on the letters
+#   don't look very pretty.
+#
+# There IS a way of doing the charset thing more properly. I'm just
+# afraid it needs kernel hacking.
+#
+# Run this file with a Perl interpreter to generate the raw binary data
+# for the 'setfont' utility.
+#
+# Made by viznut (vheikkil@hytti.uku.fi). No copyrights (public domain)
+
+sub ou { foreach(split("\n",$_[0])) { unless (/\-/) # Generated by
+{ tr/\.\*/01/; print pack("B8",$_); }}} &ou(<<EOD); # font2pl by viznut
+-
+-------- 0x0 (0)
+........
+........
+........
+...*....
+........
+........
+........
+-------- 0x1 (1)
+.******.
+*......*
+*.*..*.*
+*......*
+*..**..*
+*......*
+.******.
+-------- 0x2 (2)
+.******.
+********
+**.**.**
+********
+***..***
+********
+.******.
+-------- 0x3 (3)
+.**.**..
+*******.
+*******.
+.*****..
+..***...
+...*....
+........
+-------- 0x4 (4)
+........
+...*....
+..***...
+.*****..
+..***...
+...*....
+........
+-------- 0x5 (5)
+..***...
+...*....
+***.***.
+**...**.
+..***...
+..***...
+.*****..
+-------- 0x6 (6)
+...*....
+..***...
+.*****..
+*******.
+..***...
+.*****..
+........
+-------- 0x7 (7)
+........
+...**...
+..****..
+..****..
+...**...
+........
+........
+-------- 0x8 (8)
+********
+***..***
+**....**
+**....**
+***..***
+********
+********
+-------- 0x9 (9)
+........
+..****..
+.**..**.
+.*....*.
+.**..**.
+..****..
+........
+-------- 0xA (10)
+********
+**....**
+*..**..*
+*.****.*
+*..**..*
+**....**
+********
+-------- 0xB (11)
+...****.
+....***.
+.****.*.
+**.**...
+**.**...
+.***....
+........
+-------- 0xC (12)
+..****..
+.**..**.
+..****..
+...**...
+.******.
+...**...
+........
+-------- 0xD (13)
+.******.
+.**..**.
+.******.
+.**.....
+.**.....
+***.....
+........
+-------- 0xE (14)
+.******.
+.**..**.
+.******.
+.**..**.
+.**.***.
+***.....
+........
+-------- 0xF (15)
+...**...
+**.**.**
+..****..
+***..***
+..****..
+**.**.**
+...**...
+-------- 0x10 (16)
+*.......
+***.....
+*****...
+*******.
+*****...
+***.....
+*.......
+-------- 0x11 (17)
+......*.
+....***.
+..*****.
+*******.
+..*****.
+....***.
+......*.
+-------- 0x12 (18)
+...**...
+..****..
+.******.
+...**...
+.******.
+..****..
+...**...
+-------- 0x13 (19)
+.**..**.
+.**..**.
+.**..**.
+.**..**.
+........
+.**..**.
+........
+-------- 0x14 (20)
+.*******
+**.**.**
+**.**.**
+.****.**
+...**.**
+...**.**
+........
+-------- 0x15 (21)
+..*****.
+.**...**
+..***...
+.**.**..
+..***...
+**..**..
+.****...
+-------- 0x16 (22)
+........
+........
+........
+.******.
+.******.
+.******.
+........
+-------- 0x17 (23)
+..****..
+.******.
+...**...
+.******.
+..****..
+........
+.******.
+-------- 0x18 (24)
+...**...
+..****..
+.******.
+**.**.**
+...**...
+...**...
+........
+-------- 0x19 (25)
+...**...
+...**...
+**.**.**
+.******.
+..****..
+...**...
+........
+-------- 0x1A (26)
+..**....
+...**...
+....**..
+*******.
+....**..
+...**...
+..**....
+-------- 0x1B (27)
+...**...
+..**....
+.**.....
+********
+.**.....
+..**....
+...**...
+-------- 0x1C (28)
+........
+........
+**......
+**......
+*******.
+........
+........
+-------- 0x1D (29)
+..*..*..
+.**..**.
+********
+.**..**.
+..*..*..
+........
+........
+-------- 0x1E (30)
+........
+........
+...**...
+..****..
+.******.
+********
+........
+-------- 0x1F (31)
+********
+.******.
+..****..
+...**...
+........
+........
+........
+-------- 0x20 (32)
+........
+........
+........
+........
+........
+........
+........
+-------- 0x21 (33)
+..**....
+..**....
+..**....
+..**....
+........
+..**....
+........
+-------- 0x22 (34)
+.**.**..
+.**.**..
+........
+........
+........
+........
+........
+-------- 0x23 (35)
+.**.**..
+*******.
+.**.**..
+*******.
+.**.**..
+........
+........
+-------- 0x24 (36)
+...**...
+.******.
+**.**...
+.******.
+...**.**
+*******.
+........
+-------- 0x25 (37)
+........
+**..**..
+...**...
+..**....
+.**.....
+**..**..
+........
+-------- 0x26 (38)
+..***...
+.**.**..
+..***...
+.***.**.
+**..**..
+.***.**.
+........
+-------- 0x27 (39)
+..**....
+.**.....
+**......
+........
+........
+........
+........
+-------- 0x28 (40)
+..***...
+.**.....
+.**.....
+.**.....
+.**.....
+..***...
+........
+-------- 0x29 (41)
+.***....
+...**...
+...**...
+...**...
+...**...
+.***....
+........
+-------- 0x2A (42)
+.**.**..
+..***...
+*******.
+..***...
+.**.**..
+........
+........
+-------- 0x2B (43)
+........
+..**....
+..**....
+******..
+..**....
+..**....
+........
+-------- 0x2C (44)
+........
+........
+........
+........
+...**...
+..**....
+.**.....
+-------- 0x2D (45)
+........
+........
+........
+*******.
+........
+........
+........
+-------- 0x2E (46)
+........
+........
+........
+........
+..**....
+..**....
+........
+-------- 0x2F (47)
+......**
+.....**.
+....**..
+...**...
+..**....
+.**.....
+**......
+-------- 0x30 (48)
+.****...
+**..**..
+**..**..
+**..**..
+**..**..
+.****...
+........
+-------- 0x31 (49)
+..**....
+****....
+..**....
+..**....
+..**....
+******..
+........
+-------- 0x32 (50)
+*****...
+....**..
+...**...
+.***....
+**......
+******..
+........
+-------- 0x33 (51)
+*****...
+....**..
+..****..
+....**..
+....**..
+*****...
+........
+-------- 0x34 (52)
+...****.
+..**.**.
+.**..**.
+*******.
+.....**.
+.....**.
+........
+-------- 0x35 (53)
+******..
+**......
+*****...
+....**..
+....**..
+*****...
+........
+-------- 0x36 (54)
+.******.
+**......
+******..
+**...**.
+**...**.
+.*****..
+........
+-------- 0x37 (55)
+*******.
+.....**.
+....**..
+...**...
+..**....
+.**.....
+........
+-------- 0x38 (56)
+.*****..
+**...**.
+..***...
+.*...*..
+**...**.
+.*****..
+........
+-------- 0x39 (57)
+.*****..
+**...**.
+.******.
+.....**.
+.....**.
+******..
+........
+-------- 0x3A (58)
+........
+..**....
+........
+........
+........
+..**....
+........
+-------- 0x3B (59)
+........
+..**....
+........
+........
+..**....
+***.....
+........
+-------- 0x3C (60)
+........
+..**....
+.**.....
+**......
+.**.....
+..**....
+........
+-------- 0x3D (61)
+........
+........
+******..
+........
+******..
+........
+........
+-------- 0x3E (62)
+........
+..**....
+...**...
+....**..
+...**...
+..**....
+........
+-------- 0x3F (63)
+******..
+.....**.
+....**..
+...**...
+........
+..**....
+........
+-------- 0x40 (64)
+.*****..
+**...**.
+**.****.
+**.****.
+**......
+.******.
+........
+-------- 0x41 (65)
+.*****..
+**...**.
+*******.
+**...**.
+**...**.
+**...**.
+........
+-------- 0x42 (66)
+******..
+**...**.
+******..
+**...**.
+**...**.
+******..
+........
+-------- 0x43 (67)
+.******.
+**......
+**......
+**......
+**......
+.******.
+........
+-------- 0x44 (68)
+*****...
+**...**.
+**...**.
+**...**.
+**...**.
+******..
+........
+-------- 0x45 (69)
+.******.
+**......
+****....
+**......
+**......
+.******.
+........
+-------- 0x46 (70)
+.******.
+**......
+****....
+**......
+**......
+**......
+........
+-------- 0x47 (71)
+.******.
+**......
+**......
+**...**.
+**...**.
+.******.
+........
+-------- 0x48 (72)
+**...**.
+**...**.
+*******.
+**...**.
+**...**.
+**...**.
+........
+-------- 0x49 (73)
+******..
+..**....
+..**....
+..**....
+..**....
+******..
+........
+-------- 0x4A (74)
+.....**.
+.....**.
+.....**.
+.....**.
+.....**.
+******..
+........
+-------- 0x4B (75)
+**...**.
+**..**..
+****....
+**.**...
+**..**..
+**...**.
+........
+-------- 0x4C (76)
+**......
+**......
+**......
+**......
+**......
+.******.
+........
+-------- 0x4D (77)
+**...**.
+***.***.
+*******.
+**.*.**.
+**...**.
+**...**.
+........
+-------- 0x4E (78)
+**...**.
+***..**.
+****.**.
+**.****.
+**..***.
+**...**.
+........
+-------- 0x4F (79)
+.*****..
+**...**.
+**...**.
+**...**.
+**...**.
+.*****..
+........
+-------- 0x50 (80)
+******..
+**...**.
+******..
+**......
+**......
+**......
+........
+-------- 0x51 (81)
+.*****..
+**...**.
+**...**.
+**...**.
+.*****..
+.....**.
+........
+-------- 0x52 (82)
+******..
+**...**.
+******..
+**.**...
+**..**..
+**...**.
+........
+-------- 0x53 (83)
+.******.
+**......
+.**.....
+..***...
+....**..
+*****...
+........
+-------- 0x54 (84)
+******..
+..**....
+..**....
+..**....
+..**....
+..**....
+........
+-------- 0x55 (85)
+**...**.
+**...**.
+**...**.
+**...**.
+**...**.
+.*****..
+........
+-------- 0x56 (86)
+**...**.
+**...**.
+.**..**.
+..**.**.
+...****.
+....***.
+........
+-------- 0x57 (87)
+**...**.
+**...**.
+**.*.**.
+*******.
+***.***.
+**...**.
+........
+-------- 0x58 (88)
+**...**.
+.**.**..
+..***...
+..***...
+.**.**..
+**...**.
+........
+-------- 0x59 (89)
+**...**.
+**...**.
+.******.
+.....**.
+.....**.
+******..
+........
+-------- 0x5A (90)
+*******.
+.....**.
+....**..
+..***...
+.**.....
+*******.
+........
+-------- 0x5B (91)
+******..
+**......
+**......
+**......
+**......
+******..
+........
+-------- 0x5C (92)
+**......
+.**.....
+..**....
+...**...
+....**..
+.....**.
+......**
+-------- 0x5D (93)
+******..
+....**..
+....**..
+....**..
+....**..
+******..
+........
+-------- 0x5E (94)
+...*....
+..***...
+.**.**..
+**...**.
+........
+........
+........
+-------- 0x5F (95)
+........
+........
+........
+........
+........
+........
+********
+-------- 0x60 (96)
+.**.....
+..**....
+...**...
+........
+........
+........
+........
+-------- 0x61 (97)
+........
+******..
+.....**.
+.******.
+**...**.
+.*****..
+........
+-------- 0x62 (98)
+**......
+**......
+******..
+**...**.
+**...**.
+.*****..
+........
+-------- 0x63 (99)
+........
+.******.
+**......
+**......
+**......
+.******.
+........
+-------- 0x64 (100)
+.....**.
+.....**.
+.******.
+**...**.
+**...**.
+.*****..
+........
+-------- 0x65 (101)
+........
+.*****..
+**...**.
+******..
+**......
+.******.
+........
+-------- 0x66 (102)
+..*****.
+.**.....
+*****...
+.**.....
+.**.....
+.**.....
+........
+-------- 0x67 (103)
+........
+.*****..
+**...**.
+**...**.
+.******.
+.....**.
+******..
+-------- 0x68 (104)
+**......
+******..
+**...**.
+**...**.
+**...**.
+**...**.
+........
+-------- 0x69 (105)
+..***...
+........
+..***...
+...**...
+...**...
+..***...
+........
+-------- 0x6A (106)
+....**..
+........
+....**..
+....**..
+....**..
+....**..
+*****...
+-------- 0x6B (107)
+**......
+**...**.
+**..**..
+*****...
+**..**..
+**...**.
+........
+-------- 0x6C (108)
+..**....
+..**....
+..**....
+..**....
+..**....
+...***..
+........
+-------- 0x6D (109)
+........
+**...**.
+*******.
+*******.
+**.*.**.
+**...**.
+........
+-------- 0x6E (110)
+........
+.*****..
+**...**.
+**...**.
+**...**.
+**...**.
+........
+-------- 0x6F (111)
+........
+.*****..
+**...**.
+**...**.
+**...**.
+.*****..
+........
+-------- 0x70 (112)
+........
+.*****..
+**...**.
+**...**.
+******..
+**......
+**......
+-------- 0x71 (113)
+........
+.*****..
+**...**.
+**...**.
+.******.
+.....**.
+.....**.
+-------- 0x72 (114)
+........
+.******.
+**......
+**......
+**......
+**......
+........
+-------- 0x73 (115)
+........
+.******.
+**......
+.*****..
+.....**.
+******..
+........
+-------- 0x74 (116)
+..**....
+*******.
+..**....
+..**....
+..**....
+..**....
+........
+-------- 0x75 (117)
+........
+**...**.
+**...**.
+**...**.
+**...**.
+.*****..
+........
+-------- 0x76 (118)
+........
+**...**.
+.**..**.
+..**.**.
+...****.
+....***.
+........
+-------- 0x77 (119)
+........
+**...**.
+**.*.**.
+*******.
+*******.
+.**.**..
+........
+-------- 0x78 (120)
+........
+**...**.
+.**.**..
+..***...
+.**.**..
+**...**.
+........
+-------- 0x79 (121)
+........
+.**..**.
+.**..**.
+.**..**.
+..*****.
+.....**.
+******..
+-------- 0x7A (122)
+........
+******..
+...**...
+..**....
+.**.....
+******..
+........
+-------- 0x7B (123)
+...****.
+..**....
+***.....
+..**....
+..**....
+...****.
+........
+-------- 0x7C (124)
+...**...
+...**...
+...**...
+........
+...**...
+...**...
+...**...
+-------- 0x7D (125)
+****....
+...**...
+....***.
+...**...
+...**...
+****....
+........
+-------- 0x7E (126)
+.***.**.
+**.***..
+........
+........
+........
+........
+........
+-------- 0x7F (127)
+........
+...*....
+..***...
+.**.**..
+**...**.
+*******.
+........
+-------- 0x80 (128)
+*******.
+***..**.
+***.....
+******..
+....***.
+******..
+........
+-------- 0x81 (129)
+***.***.
+........
+***.***.
+***.***.
+***.***.
+*******.
+........
+-------- 0x82 (130)
+.***....
+..***...
+*******.
+*******.
+***.....
+*******.
+........
+-------- 0x83 (131)
+*******.
+........
+.******.
+***.***.
+***.***.
+.******.
+........
+-------- 0x84 (132)
+***.***.
+........
+.******.
+***.***.
+***.***.
+.******.
+........
+-------- 0x85 (133)
+***.....
+........
+.******.
+***.***.
+***.***.
+.******.
+........
+-------- 0x86 (134)
+..***...
+........
+.******.
+***.***.
+***.***.
+.******.
+........
+-------- 0x87 (135)
+........
+..*****.
+.**.....
+.**.....
+..*****.
+*******.
+........
+-------- 0x88 (136)
+*******.
+........
+.*****..
+*******.
+***.....
+.******.
+........
+-------- 0x89 (137)
+***.***.
+........
+.*****..
+*******.
+***.....
+.******.
+........
+-------- 0x8A (138)
+***.....
+........
+.*****..
+*******.
+***.....
+.******.
+........
+-------- 0x8B (139)
+***.***.
+........
+.****...
+..***...
+..***...
+*******.
+........
+-------- 0x8C (140)
+*******.
+........
+.****...
+..***...
+..***...
+*******.
+........
+-------- 0x8D (141)
+***.....
+........
+.****...
+..***...
+..***...
+*******.
+........
+-------- 0x8E (142)
+***.***.
+........
+.*****..
+***.***.
+*******.
+***.***.
+........
+-------- 0x8F (143)
+..***...
+........
+.*****..
+***.***.
+*******.
+***.***.
+........
+-------- 0x90 (144)
+....***.
+........
+*******.
+*****...
+***.....
+*******.
+........
+-------- 0x91 (145)
+........
+.***.**.
+*.***.**
+.*******
+**.***..
+.**.****
+........
+-------- 0x92 (146)
+.**.***.
+*****...
+**.****.
+**.**...
+*****...
+**.****.
+........
+-------- 0x93 (147)
+*******.
+........
+.*****..
+***.***.
+***.***.
+.*****..
+........
+-------- 0x94 (148)
+***.***.
+........
+.*****..
+***.***.
+***.***.
+.*****..
+........
+-------- 0x95 (149)
+***.....
+........
+.*****..
+***.***.
+***.***.
+.*****..
+........
+-------- 0x96 (150)
+*******.
+........
+***.***.
+***.***.
+***.***.
+.*****..
+........
+-------- 0x97 (151)
+***.....
+........
+***.***.
+***.***.
+***.***.
+.*****..
+........
+-------- 0x98 (152)
+***.***.
+........
+***.***.
+*******.
+....***.
+******..
+........
+-------- 0x99 (153)
+***.***.
+........
+*******.
+***.***.
+***.***.
+*******.
+........
+-------- 0x9A (154)
+***.***.
+........
+***.***.
+***.***.
+***.***.
+*******.
+........
+-------- 0x9B (155)
+..***...
+*******.
+***.....
+***.....
+*******.
+..***...
+........
+-------- 0x9C (156)
+..*****.
+.***....
+.***....
+******..
+.***....
+******..
+........
+-------- 0x9D (157)
+***.***.
+.*****..
+*******.
+..***...
+.*****..
+..***...
+........
+-------- 0x9E (158)
+*******.
+***..***
+.******.
+.**.....
+.**.****
+***..**.
+........
+-------- 0x9F (159)
+...****.
+..**....
+.****...
+..**....
+..**....
+***.....
+........
+-------- 0xA0 (160)
+....***.
+........
+.******.
+***.***.
+***.***.
+.******.
+........
+-------- 0xA1 (161)
+....***.
+........
+.****...
+..***...
+..***...
+*******.
+........
+-------- 0xA2 (162)
+....***.
+........
+.*****..
+***.***.
+***.***.
+.*****..
+........
+-------- 0xA3 (163)
+....***.
+........
+***.***.
+***.***.
+***.***.
+.*****..
+........
+-------- 0xA4 (164)
+***.***.
+........
+.*****..
+***.***.
+***.***.
+***.***.
+........
+-------- 0xA5 (165)
+***.***.
+........
+*******.
+***.***.
+***.***.
+***.***.
+........
+-------- 0xA6 (166)
+........
+.******.
+***.***.
+***.***.
+.******.
+........
+*******.
+-------- 0xA7 (167)
+.*******
+***.....
+..***...
+..***...
+....***.
+******..
+........
+-------- 0xA8 (168)
+..***...
+........
+...**...
+.****...
+***.....
+.******.
+........
+-------- 0xA9 (169)
+........
+....**..
+.....**.
+*******.
+***.....
+***.....
+........
+-------- 0xAA (170)
+........
+.**.....
+**......
+*******.
+....***.
+....***.
+........
+-------- 0xAB (171)
+.*...**.
+.*..**..
+.*.**...
+..**.**.
+.**.*.**
+**...**.
+*...****
+-------- 0xAC (172)
+.*...**.
+.*..**..
+.*.**..*
+..**..**
+.***.***
+**.....*
+*......*
+-------- 0xAD (173)
+..***...
+........
+..***...
+..***...
+..***...
+..***...
+........
+-------- 0xAE (174)
+........
+..***.**
+.***.**.
+***.**..
+.***.**.
+..***.**
+........
+-------- 0xAF (175)
+........
+**.***..
+.**.***.
+..**.***
+.**.***.
+**.***..
+........
+-------- 0xB0 (176)
+..*...*.
+*...*...
+..*...*.
+*...*...
+..*...*.
+*...*...
+..*...*.
+-------- 0xB1 (177)
+.*.*.*.*
+*.*.*.*.
+.*.*.*.*
+*.*.*.*.
+.*.*.*.*
+*.*.*.*.
+.*.*.*.*
+-------- 0xB2 (178)
+**.**.**
+.***.**.
+**.**.**
+.**.***.
+**.**.**
+.***.**.
+**.**.**
+-------- 0xB3 (179)
+...**...
+...**...
+...**...
+...**...
+...**...
+...**...
+...**...
+-------- 0xB4 (180)
+...**...
+...**...
+...**...
+*****...
+...**...
+...**...
+...**...
+-------- 0xB5 (181)
+...**...
+...**...
+*****...
+*****...
+*****...
+...**...
+...**...
+-------- 0xB6 (182)
+..*****.
+..*****.
+..*****.
+*******.
+..*****.
+..*****.
+..*****.
+-------- 0xB7 (183)
+........
+........
+........
+******..
+..*****.
+..*****.
+..*****.
+-------- 0xB8 (184)
+........
+........
+****....
+*****...
+*****...
+...**...
+...**...
+-------- 0xB9 (185)
+..*****.
+..*****.
+*******.
+*******.
+*******.
+..*****.
+..*****.
+-------- 0xBA (186)
+..*****.
+..*****.
+..*****.
+..*****.
+..*****.
+..*****.
+..*****.
+-------- 0xBB (187)
+........
+........
+******..
+*******.
+*******.
+..*****.
+..*****.
+-------- 0xBC (188)
+..*****.
+..*****.
+*******.
+*******.
+******..
+........
+........
+-------- 0xBD (189)
+.*...**.
+.*..**..
+...**...
+..**.**.
+.**...*.
+**...*..
+*...***.
+-------- 0xBE (190)
+...**...
+...**...
+*****...
+*****...
+****....
+........
+........
+-------- 0xBF (191)
+........
+........
+........
+****....
+...**...
+...**...
+...**...
+-------- 0xC0 (192)
+...**...
+...**...
+...**...
+....****
+........
+........
+........
+-------- 0xC1 (193)
+...**...
+...**...
+...**...
+********
+........
+........
+........
+-------- 0xC2 (194)
+........
+........
+........
+********
+...**...
+...**...
+...**...
+-------- 0xC3 (195)
+...**...
+...**...
+...**...
+...*****
+...**...
+...**...
+...**...
+-------- 0xC4 (196)
+**...**.
+.*****..
+**...**.
+*******.
+**...**.
+**...**.
+........
+-------- 0xC5 (197)
+..***...
+........
+.*****..
+**...**.
+*******.
+**...**.
+........
+-------- 0xC6 (198)
+...**...
+...**...
+...*****
+...*****
+...*****
+...**...
+...**...
+-------- 0xC7 (199)
+..*****.
+..*****.
+..*****.
+..******
+..*****.
+..*****.
+..*****.
+-------- 0xC8 (200)
+..*****.
+..*****.
+..******
+..******
+...*****
+........
+........
+-------- 0xC9 (201)
+........
+........
+...*****
+..******
+..******
+..*****.
+..*****.
+-------- 0xCA (202)
+..*****.
+..*****.
+********
+********
+********
+........
+........
+-------- 0xCB (203)
+........
+........
+********
+********
+********
+..*****.
+..*****.
+-------- 0xCC (204)
+..*****.
+..*****.
+..******
+..******
+..******
+..*****.
+..*****.
+-------- 0xCD (205)
+........
+........
+********
+********
+********
+........
+........
+-------- 0xCE (206)
+..*****.
+..*****.
+********
+********
+********
+..*****.
+..*****.
+-------- 0xCF (207)
+...**...
+...**...
+********
+********
+********
+........
+........
+-------- 0xD0 (208)
+..*****.
+..*****.
+..*****.
+********
+........
+........
+........
+-------- 0xD1 (209)
+........
+........
+********
+********
+********
+...**...
+...**...
+-------- 0xD2 (210)
+........
+........
+........
+********
+..*****.
+..*****.
+..*****.
+-------- 0xD3 (211)
+..*****.
+..*****.
+..*****.
+...*****
+........
+........
+........
+-------- 0xD4 (212)
+...**...
+...**...
+...*****
+...*****
+....****
+........
+........
+-------- 0xD5 (213)
+........
+........
+....****
+...*****
+...*****
+...**...
+...**...
+-------- 0xD6 (214)
+**...**.
+.*****..
+**...**.
+**...**.
+**...**.
+.*****..
+........
+-------- 0xD7 (215)
+..*****.
+..*****.
+..*****.
+********
+..*****.
+..*****.
+..*****.
+-------- 0xD8 (216)
+...**...
+...**...
+********
+********
+********
+...**...
+...**...
+-------- 0xD9 (217)
+...**...
+...**...
+...**...
+****....
+........
+........
+........
+-------- 0xDA (218)
+........
+........
+........
+....****
+...**...
+...**...
+...**...
+-------- 0xDB (219)
+********
+********
+********
+********
+********
+********
+********
+-------- 0xDC (220)
+........
+........
+........
+********
+********
+********
+********
+-------- 0xDD (221)
+****....
+****....
+****....
+****....
+****....
+****....
+****....
+-------- 0xDE (222)
+....****
+....****
+....****
+....****
+....****
+....****
+....****
+-------- 0xDF (223)
+********
+********
+********
+********
+........
+........
+........
+-------- 0xE0 (224)
+***.....
+........
+.******.
+**...**.
+**...**.
+.***.**.
+........
+-------- 0xE1 (225)
+....***.
+........
+.******.
+**...**.
+**...**.
+.***.**.
+........
+-------- 0xE2 (226)
+*******.
+........
+.******.
+**...**.
+**...**.
+.***.**.
+........
+-------- 0xE3 (227)
+**.**.*.
+........
+.******.
+**...**.
+**...**.
+.***.**.
+........
+-------- 0xE4 (228)
+**...**.
+........
+.******.
+**...**.
+**...**.
+.***.**.
+........
+-------- 0xE5 (229)
+..***...
+........
+.*****..
+**...**.
+**...**.
+.***.**.
+........
+-------- 0xE6 (230)
+........
+*******.
+...**.*.
+.******.
+**.**...
+.******.
+........
+-------- 0xE7 (231)
+........
+........
+.******.
+**......
+.******.
+....***.
+........
+-------- 0xE8 (232)
+***.....
+........
+.*****..
+*******.
+**......
+.******.
+........
+-------- 0xE9 (233)
+....***.
+........
+.*****..
+*******.
+**......
+.******.
+........
+-------- 0xEA (234)
+*******.
+........
+.*****..
+*******.
+**......
+.******.
+........
+-------- 0xEB (235)
+**...**.
+........
+.*****..
+*******.
+**......
+.******.
+........
+-------- 0xEC (236)
+***.....
+........
+..***...
+...**...
+...**...
+..****..
+........
+-------- 0xED (237)
+....***.
+........
+..***...
+...**...
+...**...
+..****..
+........
+-------- 0xEE (238)
+*******.
+........
+..***...
+...**...
+...**...
+..****..
+........
+-------- 0xEF (239)
+**...**.
+........
+..***...
+...**...
+...**...
+..***...
+........
+-------- 0xF0 (240)
+.....**.
+...*****
+.....**.
+.******.
+**...**.
+.*****..
+........
+-------- 0xF1 (241)
+**.**.*.
+........
+******..
+**...**.
+**...**.
+**...**.
+........
+-------- 0xF2 (242)
+***.....
+........
+.*****..
+**...**.
+**...**.
+.*****..
+........
+-------- 0xF3 (243)
+....***.
+........
+.*****..
+**...**.
+**...**.
+.*****..
+........
+-------- 0xF4 (244)
+*******.
+........
+.*****..
+**...**.
+**...**.
+.*****..
+........
+-------- 0xF5 (245)
+**.**.*.
+........
+.*****..
+**...**.
+**...**.
+.*****..
+........
+-------- 0xF6 (246)
+**...**.
+........
+.*****..
+**...**.
+**...**.
+.*****..
+........
+-------- 0xF7 (247)
+........
+..**....
+........
+******..
+........
+..**....
+........
+-------- 0xF8 (248)
+........
+.****.*.
+**..**..
+**.****.
+.***.**.
+*.****..
+........
+-------- 0xF9 (249)
+***.....
+........
+**...**.
+**...**.
+**...**.
+.*****..
+........
+-------- 0xFA (250)
+....***.
+........
+**...**.
+**...**.
+**...**.
+.*****..
+........
+-------- 0xFB (251)
+*******.
+........
+**...**.
+**...**.
+**...**.
+.*****..
+........
+-------- 0xFC (252)
+**...**.
+........
+**...**.
+**...**.
+**...**.
+.*****..
+........
+-------- 0xFD (253)
+***.....
+........
+**...**.
+.******.
+.....**.
+******..
+........
+-------- 0xFE (254)
+.....**.
+..*****.
+.**..**.
+.**..**.
+..*****.
+.....**.
+........
+-------- 0xFF (255)
+**...**.
+........
+**...**.
+.******.
+.....**.
+******..
+........
+EOD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msdos/asmo.asm	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,133 @@
+; bits 16 ;;; nasm
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+_detectvideo:  ; int detectvideo();      0/1/2/3 = mda/cga/ega/vga
+
+        push bx
+        push cx
+        push dx
+        push si
+        push di
+        push bp
+        push es
+        push ds
+
+        mov ax,01a00
+        int 010
+        cmp al,01a
+        je dvc3          ; vga
+
+        mov ax,01200
+        mov bl,010
+        int 010
+        cmp bl,010
+        jne dvc2         ; ega
+
+        int 011
+        test al,030
+        jne dvc1         ; cga
+
+        mov ax,0        ; mda
+        jmp dvo0
+   dvc1:mov ax,1
+        jmp dvo0
+   dvc2:mov ax,2
+        jmp dvo0
+   dvc3:mov ax,3
+   dvo0:
+        pop ds
+        pop es
+        pop bp
+        pop di
+        pop si
+        pop dx
+        pop cx
+        pop bx
+        retf
+
+_adlib:         ; int adlib(regno,value);
+
+        push bp
+        mov bp,sp
+        push ax
+        push cx
+        push dx
+
+        mov ax,[bp+6]
+        mov dx,[bp+8]
+        mov ah,dl
+
+        mov dx,0388
+
+        out dx,al
+           mov cx,6
+           adt1:in al,dx
+           loop adt1
+
+        mov al,ah
+
+         inc dx
+          out dx,al
+         dec dx
+           mov cl,35
+           adt2:in al,dx
+           loop adt2
+
+        pop dx
+        pop cx
+        pop ax
+        pop bp
+        retf
+
+_setvideo:	; void setvideo(ax);
+	push bp
+	mov bp,sp
+	push bx
+	mov ax,[bp+6]
+	xor bx,bx
+        int 010
+	pop bx
+	pop bp
+	retf
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+_dump80501616:	; (char*srcbuf)
+
+	push ds
+	push si
+	push cx
+	push ax
+	push di
+	push es
+
+	xor di,di
+        mov ax,0b800
+	mov es,ax
+
+	lds si,[bp+6]
+	mov cx,(80*50)/4
+	mov ah,176
+	
+dul0:   lodsb
+	stosw
+	lodsb
+	stosw
+	lodsb
+	stosw
+	lodsb
+	stosw
+        loop dul0
+
+	pop es
+	pop di
+	pop ax
+	pop cx
+	pop si
+	pop ds
+	retf
+
+; _dump8025816		classic: use 220-blocks
+; _dumpmono		ascii convtab:  lodsw; mov bx,ax; mov al,[bx]; stosb; inc di; ...
+;			or: as in classic + xlat
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msdos/menu.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,127 @@
+#include <dos.h>
+
+#include "pwplib.h"
+
+#define DEMOBANNER "PWPLIB!"
+
+extern int detectvideo();
+
+extern char auditype;
+
+extern char setup_rtc;
+extern char setup_force25;
+extern char setup_nohibit;
+extern char setup_english;
+
+/*extern void setmono();*/
+
+char *setmenu[6][4]=
+      {"ega/vga",  "cga",     "mda/hgc", "",
+       "80x50",    "80x25",   "","",
+       "on",       "off",     "","",
+       "on",       "off",     "","",
+       "none",     "ibm pc",  "adlib/sb", "g.u.z.",
+       "scene",    "english", "",""
+};
+
+char numsels[6]={3,2,2,2,4,2};
+char menusel[6]={0,0,0,0,1,0};
+
+vuwmenu(int x,int y,int c,int joo)
+{
+      textcolor(c);
+      gotoxy(25+12*x,10+y*2);cprintf(setmenu[y][x]);
+      if ((menusel[y]==x)&&joo) {textcolor(15);cprintf("!!");}else cprintf("  ");
+}
+
+void zetmenu(char y,char x)
+{
+	vuwmenu(menusel[y],y,12,0);
+	menusel[y]=x;
+	vuwmenu(x,y,12,1);
+}
+
+int pwplib_init(int argc,char**argv)
+{
+      signed int x,y,ch=0,cntdwn=40;
+
+      char det=detectvideo();
+
+      textbackground(0);textcolor(15);
+      clrscr();
+
+      switch(det){
+            case(0):menusel[0]= menusel[1]= menusel[2]= menusel[3]=1;
+                    break;
+	    case(1):menusel[1]=2; menusel[2]=1; break;}
+
+      if (getenv("ULTRASND")) menusel[4]=3;
+
+      if (getenv("BLASTER")) menusel[4]=2;
+
+
+gotoxy(1,2);
+cprintf("       ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ   ÛÛÛÛ    ÛÛÛÛ    ÛÛÛÛ    ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ\n\r"
+	"       ÛÛÛÛ        ÛÛÛÛ   ÛÛÛÛ    ÛÛÛÛ    ÛÛÛÛ    ÛÛÛÛ        ÛÛÛÛ\n\r"
+	"       ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ   ÛÛÛÛ    ÛÛÛÛ    ÛÛÛÛ    ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ\n\r"
+	"       ÛÛÛÛ               ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ    ÛÛÛÛ\n\r");
+
+      gotoxy(5,8);
+      cprintf( DEMOBANNER "\n");
+
+      textcolor(15);
+      gotoxy(1,10); cprintf("video output");
+      gotoxy(1,12);cprintf("resolution");
+      gotoxy(1,14);cprintf("bg highbit (ega+)");
+      gotoxy(1,16);cprintf("vertical retrace check");
+      gotoxy(1,18);cprintf("audio output");
+      gotoxy(1,20);cprintf("language");
+
+      for(y=0;y<6;y++)for(x=0;x<4;x++) vuwmenu(x,y,12,1);
+      y=5;
+
+      gotoxy(7,23);
+      textcolor(15);
+      while(cntdwn&&(!kbhit())){
+	int tups=peek(0,1132);
+	while(tups==peek(0,1132)){}
+	gotoxy(25,23);textcolor(15);
+	cprintf("you now have %i/18.22 seconds for setup  ",cntdwn--);gotoxy(35,23);
+      }
+      if(!cntdwn)ch=13;
+
+      while((ch!=13)&&(ch!=27)){
+            x=menusel[y];
+	      vuwmenu(x,y,14+128,1);
+		ch=getch();if(!ch)ch=getch();
+	      vuwmenu(x,y,12,0);
+            switch(ch){
+		  case('4'):case('K'):x--;if(x<0) x=0; menusel[y]=x; break;
+		  case('6'):case('M'):x++;if(x>3) x=3;
+			if(x>=numsels[y]){vuwmenu(x,y,12,1);x--;}
+                        menusel[y]=x;
+			if(y==0){
+				if(x==2){zetmenu(1,1);zetmenu(2,1);zetmenu(3,1);}
+				if(x==1){zetmenu(1,1);zetmenu(2,1);}
+			}
+		  break;
+		  case('8'):case('H'):vuwmenu(x,y,12,1);y--;if(y<0) y=0;x=menusel[y];break;
+		  case('2'):case('P'):vuwmenu(x,y,12,1);y++;if(y>5) y=5;x=menusel[y];break;}
+
+
+      }
+      auditype=menusel[4];
+      setup_mono=menusel[0];
+      setup_rtc=!menusel[3];
+      setup_force25=menusel[1];
+      setup_nohibit=menusel[2];
+      setup_english=menusel[5];
+
+      if (auditype==3){
+	    clrscr();textcolor(15);auditype=2;
+	    cprintf("ARE YOU SURE YOU HAVE SBOS INSTALLED? [Y/n]");
+	    ch=getch();if((ch|32)=='n'){ch=27;
+		cprintf("\r\n\nKANNATTAISI OPPIA HYVŽKSYMŽŽN ELŽMŽN REALITEETIT\r\n\n");}else ch=13;
+      }
+      return ch;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msdos/pwplib.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,58 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <malloc.h>
+
+#define PWPLIB_VERSION "PC-1.00"
+
+#ifndef PWPLIBINT
+  #define global extern
+  extern char pwplib_buf[];
+#else
+  #define global
+  char pwplib_buf[80*50];
+#endif
+
+extern int pwplib_init(int argc,char**argv);  /* menu.c */
+#define pwplib_timer() timectr                /* timer.c */
+extern void pwplib_shutdown();                /* timer.c */
+extern void pwplib_startup();                 /* timer.c */
+
+#define pwplib_bufw 80
+#define pwplib_bufh 50
+
+/* obsolete */
+#define pwplib_prep_rast()
+#define pwplib_dump_rast()
+#define pwplib_prep_attr()
+#define pwplib_dump_attr()
+#define pwplib_prep_layered()
+#define pwplib_dump_layered()
+
+extern void pwplib_loopflush();               /* video.c */
+
+#define pwplib_setplayer(p) pwplib_player=p
+
+extern int pwplib_sound(int c,int n,int v,int r);             /* timer.c */
+#define pwplib_sound_off(c)       pwplib_sound(c,0,0,0)
+#define pwplib_sound_n(c,n) p     pwplib_sound(c,n,128,128)
+#define pwplib_sound_nv(c,n,v)    pwplib_sound(c,n,v,128)
+#define pwplib_sound_nvr(c,n,v,r) pwplib_sound(c,n,v,r)
+
+#define pwplib_locale (setup_english?"en":"fi")
+
+global void(*pwplib_player)();
+
+global char auditype;   /* timer.c */
+global unsigned int timectr;
+
+global char setup_force25;
+global char setup_rtc;
+global char setup_nohibit;
+global char setup_english;
+global char setup_mono;
+
+#define u8 unsigned char
+#define s8 signed char
+#define u16 unsigned int
+#define s16 signed int
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msdos/timer.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,182 @@
+#include <dos.h>
+
+#define PWPLIBINT
+
+#include "pwplib.h"
+
+/******************
+ *
+ *   timer & init
+ */
+
+void interrupt int_8();
+void interrupt (*old_int8)();
+
+void clockspeed(char spiidi)
+{
+   disable();
+   outportb(0x43,0x36);
+   outportb(0x40,0x00);
+   outportb(0x40,spiidi);
+   enable();
+}
+
+void pwplib_startup()
+{
+    timectr=0;
+
+    initsound();
+
+    initvideo();
+
+    disable();
+    old_int8=getvect(0x08);
+    setvect(0x08,int_8);
+    enable();
+    clockspeed(64);
+}
+
+void pwplib_shutdown()
+{
+    disable();
+    setvect(0x08,old_int8);
+    enable();
+    clockspeed(0);
+
+    initsound();
+
+    textcolor(15);
+    clrscr();
+}
+
+void interrupt int_8()
+{
+   timectr++;
+   if (!(timectr&3)) (*old_int8)(); else outport(0x20,0x20);
+
+   if(auditype)play8tick();
+   /* ... should also call player */
+}
+
+/******************
+ *
+ *   sound-related
+ */
+
+unsigned char chnote[3];
+
+unsigned int subtick;
+
+const int notefreqs[12] =
+{
+    0x157,0x16b,0x181,0x198,0x1b0,0x1ca,
+    0x1e5,0x202,0x220,0x241,0x263,0x287
+};
+
+int pwplib_sound(int c,int n,int v,int r)
+{
+   subtick=0;
+   chnote[c]=n;
+}
+
+int play8tick()
+{
+   if(auditype==1)
+   {
+      signed int toplay=-1;
+
+      if(subtick==0)toplay=chnote[0];
+      if(subtick==2)toplay=chnote[1]?chnote[1]:chnote[2];
+
+      if(!toplay)nosound();
+            else sound(notefreqs[toplay%12]<<(toplay/12));
+   }
+    else
+   if(auditype==2)
+   {
+      int c;
+   
+      if(!subtick)
+        for(c=0;c<3;c++)
+          if(!chnote[c])
+          {
+             adlib(0x40+c,2);
+             adlib(0x43+c,1);
+          }
+           else
+          {
+             int n=chnote[c];
+             int bt=notefreqs[n%12]|(32*256)|((n/12)<<6);
+          
+             adlib(0xb0+c,bt>>8);
+             adlib(0xa0+c,bt&255);
+
+             adlib(0x40+c,63);
+             adlib(0x43+c,63);
+          }
+   }
+
+   subtick++;
+}
+
+/*** adlib inits ***/
+
+char instru[2][11]=
+{
+    0xa1,0xa1,0xff,0xff,0x0f,0x0f,0x03,0x03,0x01,0x00,0x00,  /* bass */
+    0xa2,0xa2,0xff,0xff,0x0f,0x0f,0x03,0x03,0x01,0x00,0x00,  /* organ */
+};
+
+void adl_ldinstr(int kanava,int i)
+{
+    char*ins=instru[i];
+    char osotte[11] = {
+    0x20,0x23,0x60,0x63,0x80,0x83,0xe0,0xe3,0xc0,0x40,0x43 };
+      char *tmp=ins; char l;
+      for(l=0;l<11;l++) adlib(kanava+osotte[l],*tmp++);
+}
+
+int initsound()
+{
+   if(auditype==1)nosound(); else
+   if(auditype==2)
+   {
+      int l;
+
+      if(auditype==1) nosound();
+
+      for(l=0;l<244;l++) adlib(l,0);
+      adlib(0x01,0x20);
+      adl_ldinstr(0,1);
+      adl_ldinstr(1,1);
+      adl_ldinstr(2,1);
+   }
+}
+
+void setvideomode()
+{
+   setvideo(0x0003);
+   setvideo(0x0013);
+   setvideo(0x1112);
+   /* 80x25: setvideo(0x0003);setvideo(0x1003)*/
+   
+   /* fill with something? */
+}
+
+/********************
+ *
+ *  video-related
+ */
+
+void pwplib_loopflush()
+{
+   dump80501616(pwplib_buf);
+   /* if setup_mono==2: dumpmono(pwplib_buf); */
+}
+
+int initvideo()
+{
+   setvideo(0x0003);
+   setvideo(0x0013);
+   setvideo(0x1112);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/Makefile.in	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,21 @@
+all: nykyaeka
+
+############################
+
+OBJS= sprites.o main.o musa.o planes.o landscro.o
+
+sprites.o: sprites.c sprites.h font.h
+
+sprites.h: sprites.pl
+	./sprites.pl > sprites.h
+
+musa.o: musa.c musa.h
+
+musa.h: musa.pl
+	./musa.pl > musa.h
+
+font.h: font.pl
+	./font.pl > font.h
+
+clean:
+	rm -rf *.o *~ nykyaeka *.exe mssrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/font.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,24 @@
+#include "pwpdemo.h"
+
+#include "font.h"
+
+void writetext(char*txt,unsigned char*font)
+{
+   int wdt=0;
+
+   int z=*txt-'A',a;
+
+   while(z)
+   {
+      if(*font==0)z--;
+      font++;
+   }
+   while((a=*font))
+   {          
+      char*d=   
+      for(;a;a>>=1)
+      {
+         d+=
+      }
+   }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/font.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,35 @@
+unsigned char font[]={
+0x00,
+0x78,0x7f,0x9,0x9,0x7f,0x7f,0x00,
+0x7f,0x7f,0x49,0x49,0x4f,0x78,0x00,
+0x78,0x7f,0x41,0x41,0x41,0x41,0x00,
+0x7f,0x41,0x41,0x41,0x7f,0x78,0x00,
+0x78,0x7f,0x49,0x49,0x41,0x41,0x00,
+0x78,0x7f,0x9,0x9,0x1,0x1,0x00,
+0x78,0x7f,0x41,0x41,0x59,0x79,0x00,
+0x78,0x7f,0x8,0x8,0x7f,0x7f,0x00,
+0x78,0x7f,0x00,
+0x60,0x60,0x40,0x78,0x7f,0x00,
+0x7f,0x78,0xc,0x1e,0x73,0x61,0x61,0x00,
+0x78,0x7f,0x40,0x40,0x40,0x40,0x00,
+0x78,0x7f,0x1,0x79,0x7f,0x1,0x7f,0x7f,0x00,
+0x78,0x7f,0x1,0x1,0x7f,0x7f,0x00,
+0x78,0x7f,0x41,0x41,0x41,0x7f,0x00,
+0x7f,0x79,0x9,0x9,0x9,0xf,0x00,
+0x78,0x7f,0x41,0x51,0x71,0x7f,0x00,
+0x78,0x7f,0x1,0x1,0x1,0x1,0x00,
+0x40,0x4f,0x49,0x49,0x79,0x79,0x00,
+0x1,0x1,0x79,0x7f,0x1,0x1,0x00,
+0x7f,0x78,0x40,0x40,0x7f,0x7f,0x00,
+0xf,0x7f,0x70,0x40,0x7f,0xf,0x00,
+0xf,0x7f,0x40,0x7f,0x7f,0x40,0x7f,0xf,0x00,
+0x4f,0x4f,0x48,0x78,0x7f,0x9,0x9,0x79,0x00,
+0x4f,0x4f,0x48,0x48,0x78,0x7f,0x00,
+0x79,0x79,0x49,0x49,0x49,0x4f,0x00,
+0x7d,0x7d,0x14,0x15,0x7d,0x70,0x00,
+0x70,0x7d,0x45,0x44,0x7d,0x7d,0x00,
+0x8,0x8,0x18,0x18,0x00,
+};
+
+char font_lengths[]={1,7,7,7,7,7,7,7,7,3,6,8,7,9,7,7,7,7,7,7,7,7,7,9,9,7,7,7,7,5,};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/font.pl	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,274 @@
+#!/usr/bin/perl
+
+sub encode_font()
+{
+   @lines=split("\n",$_[0]);
+   $widths="";
+   $offsets="";
+   $crroff=0;
+   for($i=0;$i<$#lines;$i+=8)
+   {
+      $byte=0;
+      $x=0;
+      do
+      {
+         $byte=0;
+         for($j=0;$j<8;$j++)
+         {
+            if(substr($lines[$i+$j],$x,1) eq 'a') { $byte |= (1<<$j); }
+         }
+         if($byte!=0)
+         {
+            printf("0x%x,",$byte);
+            $crroff++;
+         }
+         $x++;
+      } while($byte!=0);
+      $lengths.=sprintf("%d,",$x);
+      print "0x00,\n";
+   }
+}
+
+print "unsigned char font[]={\n";
+&encode_font(<<EOD);
+...
+...
+...
+...
+...
+...
+...
+
+.aaaaa
+.a..aa
+.a..aa
+aaaaaa
+aa..aa
+aa..aa
+aa..aa
+
+aaaaa.
+aa..a.
+aa..a.
+aaaaaa
+aa...a
+aa...a
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aa....
+aa....
+aa....
+aaaaaa
+
+aaaaa.
+a...a.
+a...a.
+a...aa
+a...aa
+a...aa
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aaaa..
+aa....
+aa....
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aaaa..
+aa....
+aa....
+aa....
+
+.aaaaa
+.a....
+.a....
+aa..aa
+aa..aa
+aa...a
+aaaaaa
+
+.a..aa
+.a..aa
+.a..aa
+aaaaaa
+aa..aa
+aa..aa
+aa..aa
+
+.a
+.a
+.a
+aa
+aa
+aa
+aa
+
+....a
+....a
+....a
+...aa
+...aa
+aa.aa
+aaaaa
+
+a...aaa
+a..aa..
+a.aa...
+aaaa...
+aa.aa..
+aa..aaa
+aa..aaa
+
+.a....
+.a....
+.a....
+aa....
+aa....
+aa....
+aaaaaa
+
+.aaaaaaa
+.a..a.aa
+.a..a.aa
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+
+.aaaaa
+.a..aa
+.a..aa
+aa..aa
+aa..aa
+aa..aa
+aa..aa
+
+.aaaaa
+.a...a
+.a...a
+aa...a
+aa...a
+aa...a
+aaaaaa
+
+aaaaaa
+a....a
+a....a
+aaaaaa
+aa....
+aa....
+aa....
+
+.aaaaa
+.a...a
+.a...a
+aa...a
+aa.aaa
+aa..aa
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aa....
+aa....
+aa....
+aa....
+
+.aaaaa
+.a....
+.a....
+.aaaaa
+....aa
+....aa
+aaaaaa
+
+aaaaaa
+...a..
+...a..
+..aa..
+..aa..
+..aa..
+..aa..
+
+a...aa
+a...aa
+a...aa
+aa..aa
+aa..aa
+aa..aa
+aaaaaa
+
+aa..aa
+aa..aa
+aa..aa
+aa..aa
+.aa.a.
+.aa.a.
+.aaaa.
+
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+.a.aa.a.
+.a.aa.a.
+.aaaaaa.
+
+aa..aaaa
+aa..a...
+aa..a...
+aaaaaaaa
+...aa..a
+...aa..a
+aaaaa..a
+
+aa...a
+aa...a
+aa...a
+aaaaaa
+....aa
+....aa
+aaaaaa
+
+aaaaaa
+.....a
+.....a
+aaaaaa
+aa....
+aa....
+aaaaaa
+
+aa.aa.
+......
+aaaaa.
+aa..a.
+aaaaaa
+aa..aa
+aa..aa
+
+.aa.aa 
+......
+.aaaaa
+.a..aa
+aa..aa
+aa..aa
+aaaaaa
+
+....
+....
+....
+aaaa
+..aa
+....
+....
+EOD
+print "};\n\nchar font_lengths[]={$lengths};\n\n";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/joo	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,1 @@
+bash: ./nykyaeka/nykyaeka.exe: No such file or directory
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/landscro.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,96 @@
+#include "pwpdemo.h"
+
+/*
+char texture1[32*32]={
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x99,0x89,0x89,0x89,0x89,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x99,0x99,0x89,0x89,0x89,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x89,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x89,0x89,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x10,0x10,0x10,0x89,0x99,0x10,0x10,0x89,0x99,0x99,0x89,0x99,0x99,0x89,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x10,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x99,0x99,0x99,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x10,0x89,0x99,0x10,0x01,0x01,
+0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x10,0x10,0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x89,0x89,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x89,0x99,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x89,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,
+0x10,0x01,0x01,0x01,0x10,0x10,0x99,0x99,0x89,0x99,0x99,0x99,0x89,0x10,0x10,0x10,0x99,0x99,0x99,0x89,0x89,0x99,0x99,0x99,0x10,0x99,0x10,0x10,0x10,0x10,0x10,0x10,
+0x10,0x01,0x01,0x10,0x10,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x99,0x10,0x01,0x10,0x10,0x99,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x10,0x10,0x89,0x99,0x99,0x10,
+0x10,0x01,0x01,0x10,0x99,0x99,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x01,0x01,0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x89,0x89,0x89,0x89,0x10,0x10,0x10,0x89,0x89,
+0x10,0x01,0x01,0x10,0x99,0x99,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x99,0x99,0x99,0x89,0x89,0x99,0x10,0x10,0x10,0x01,0x10,0x10,0x10,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x99,0x99,0x99,0x99,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x99,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x10,0x10,0x10,0x10,0x89,0x89,0x10,0x10,0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x99,0x89,0x99,0x99,0x89,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,
+0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x89,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x89,0x10,0x10,0x10,0x01,0x01,0x01,
+0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x89,0x99,0x10,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x89,0x10,0x10,0x01,0x01,
+0x10,0x89,0x89,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x99,0x99,0x99,0x10,0x10,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x99,0x10,0x01,0x01,
+0x10,0x10,0x10,0x10,0x89,0x99,0x99,0x89,0x99,0x99,0x99,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x89,0x89,0x99,0x99,0x99,0x10,
+0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x10,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x10,0x89,0x10,0x10,0x89,0x89,0x89,0x89,0x89,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x01,0x01,0x10,0x99,0x99,0x10,0x10,0x10,0x89,0x89,0x99,0x10,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x89,0x89,0x89,0x99,0x99,0x99,0x10,0x01,0x01,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x01,0x10,0x10,0x89,0x99,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x89,0x99,0x10,0x99,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x89,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01
+};
+*/
+
+unsigned char texture1[32*32]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0x02,0x02,0x02,0x02,0x02,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,0xaa,0x8a,0x8a,0x8a,0x8a,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,0xaa,0xaa,0x8a,0x8a,0x8a,0x02,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,0x02,0x02,0x02,0x02,0x02,0x8a,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x02,0x02,0x02,0x8a,0xaa,0x02,0x02,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0x8a,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x02,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xaa,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0x02,0x8a,0xaa,0x02,0x00,0x00,
+0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x02,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0x8a,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8a,0xaa,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,
+0x02,0x00,0x00,0x00,0x02,0x02,0xaa,0xaa,0x8a,0xaa,0xaa,0xaa,0x8a,0x02,0x02,0x02,0xaa,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,
+0x02,0x00,0x00,0x02,0x02,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,0x00,0x02,0x02,0xaa,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x02,0x02,0x8a,0xaa,0xaa,0x02,
+0x02,0x00,0x00,0x02,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x00,0x00,0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x02,0x02,0x02,0x8a,0x8a,
+0x02,0x00,0x00,0x02,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0xaa,0xaa,0xaa,0x8a,0x8a,0xaa,0x02,0x02,0x02,0x00,0x02,0x02,0x02,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0xaa,0xaa,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0xaa,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x02,0x02,0x02,0x02,0x8a,0x8a,0x02,0x02,0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x8a,0xaa,0xaa,0x8a,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,
+0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0x8a,0x02,0x02,0x02,0x00,0x00,0x00,
+0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x8a,0xaa,0x02,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x8a,0x02,0x02,0x00,0x00,
+0x02,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0xaa,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0xaa,0x02,0x00,0x00,
+0x02,0x02,0x02,0x02,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0xaa,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,
+0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x02,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x02,0x8a,0x02,0x02,0x8a,0x8a,0x8a,0x8a,0x8a,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x00,0x00,0x02,0xaa,0xaa,0x02,0x02,0x02,0x8a,0x8a,0xaa,0x02,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,0x00,0x00,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x00,0x02,0x02,0x8a,0xaa,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x8a,0xaa,0x02,0xaa,0x02,0x02,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,0x02,0x02,0x02,0x02,0x02,0x02,0x8a,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,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
+};
+
+void scroller_do(int t,int hg)
+{
+        u8*d=pwplib_buf;
+
+	static int lastt=0;
+	int y,offy,k=120;
+
+        if(hg<0)hg=0;else if(hg>pwplib_bufh-1)
+          hg=pwplib_bufh-1;
+
+        memset(d,0x08,pwplib_bufw*(pwplib_bufw-hg));
+        d+=pwplib_bufw*(pwplib_bufh-hg);
+
+        for(y=0;y<hg;y++)
+        {
+             register int dofz=(hg*64*80/pwplib_bufw)/(y+3),
+	                  ofz=t*32-dofz*20-((dofz>>4)*32*256);
+             {int x=pwplib_bufw;
+                  for(;x;x--)*d++=texture1[((ofz+=dofz)>>8)&1023];}
+	     k-=(k>>3);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/main.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,223 @@
+#if 0
+# include <stdio.h>
+# include <stdlib.h>
+# include <string.h>
+# include <unistd.h>
+#endif
+
+#include "pwplib.h"
+
+#define MAX(a,b) ((a)<(b)?(b):(a))
+#define MIN(a,b) ((a)>(b)?(b):(a))
+
+struct
+{
+   int dsgtime;
+
+   int flagz;
+   int planemode;
+   
+   int enctime,enckode,enczoom,encspeed;
+
+   int endfxt;
+   
+   int metsaemode;
+   int bouncemode;
+}demovar;
+
+void rundemo()
+{
+   int quit=0,fx=0;
+
+   pwplib_startup();
+   
+   decompress_allbmp();
+   bwpals();
+
+   pwplib_buf=
+     malloc(sizeof(u8)*pwplib_bufw*pwplib_bufh);
+
+/*   initfontbuf(); 
+
+     if(!pwplib_setup(NOSOUND))
+       initplayer();
+*/
+   if(!pwplib_setup(NOSOUND))
+   initplayer();
+
+   pwplib_prep_attr();
+
+   demovar.flagz=8|16;
+   
+   {demovar.dsgtime=0;
+    demovar.endfxt=1<<30;
+    demovar.metsaemode=0;
+   while(!quit)
+   {
+     int t=pwplib_timer();
+
+     while(demovar.dsgtime<t)
+     {
+        switch((int)demovar.dsgtime)
+        {
+           case(1152-25):
+             drawtext("NYKYAEKA",0x7f);
+             break;
+           case(1520):killtext();break;
+
+           case(1536+80+256*0):fx=1;
+              drawtext("NYKYAEKA\nON PASKOO",0x7f);break;
+           case(1536+80+256*1):
+              drawtext("   ON VUA\n  JOTTAE\nHUMPUUKKEJA",0x7f);
+              break;
+           case(1536+80+256*2):
+              drawtext("EI ARVOSTETA \n   ENNEE\n JUMALOO",0x7f);
+              break;
+           case(1536+80+253*3):fx=2;
+              drawtext("   EIK[\nNEUVOSTO]\n  LIITTOO",0x7f);
+              break;
+
+           case(1536+80+256*4):fx=3;
+              drawtext("NUORISO\nEI OSSOO\n  ENNEE\n  MITT[[",0x7f);
+              break;
+           case(1536+80+256*5):
+              drawtext("   KAEKKI\n  SEMMOSIA\nIITEE]N\\RTTIJ[",0x7f);
+              break;
+           case(1536+80+256*6):
+              drawtext("KATOTAAHA\nKU TULLOO\nUUS LAMA",0x7f);
+              break;
+           case(1536+80+256*7):
+              drawtext("KUOLOOVAT\n  VIEL[\nN[L[K[[N",0x7f);
+              break;
+
+           case(1536+80+256*8):fx=4;
+              drawtext(" KYLL[ JOS\n  STUALIN\nHY\\KK[ES TUAS\n  SUOMEEN",0x7f);
+              break;
+           case(1536+80+256*9):
+              drawtext("NII EI KYLL[\nNYKYNUORET\nSAES NIIT[\n  TAPETTUA",0x7f);
+              break;
+           case(1536+80+256*10):
+              drawtext("M[NN\\\\V[T VUA\n   JONNEKKI\n   MUMMOJA\n   PESEM[[N",0x7f);
+              break;
+           case(1536+80+256*11):
+              drawtext("KO PIT[S OLLA\n   KIRVEEN\n   KANSSA\nRINTAMALLA",0x7f);
+              break;
+
+           case(1536+80+256*12):fx=5;
+              drawtext("  ON SE\nNYKYAEKA\nVUA KUMMA",0x7f);
+              break;
+           case(1536+80+256*13):
+              drawtext("KAAPASTAKKAA\nEI ENNEE SUA\n  OEKEETA\n  PIIMEE",0x7f);
+              break;
+           case(1536+80+256*14):
+              drawtext("   ON VUA\n   JOTTAE\nKEVYTPIIMEE",0x7f);
+              break;
+           case(1536+80+256*15):
+              drawtext("PITT[[ ITE\nKEITELL[\n   PIIM[T",0x7f);
+              break;
+
+           case(1536+80+256*16):fx=1;
+              drawtext("ANTAKEE\nMINULLE\nHAALIKKO",0x7f);
+              break;
+           case(1536+80+256*17):
+              drawtext("NI L[HT\\\\\nKAEKKI\nNYKYAJAN\nHUMPUUKKIT",0x7f);
+              break;
+           case(1536+80+256*18):fx=3;
+              drawtext("NUORISO JA\n  KAEKKI\n  RYSSELIN\n HERRAT",0x7f);
+              break;
+           case(1536+80+256*19):
+              drawtext("TIETOKONNEET\nJA K[NNYK[T JA\nMANKETOFOONIT",0x7f);
+              break;
+
+           case(1536+80+256*20):fx=6;
+              drawtext("MITT[[N\nEI JI[\nJ[LELLE",0x7f);
+              break;
+           case(1536+80+256*21):fx=7;
+              drawtext("PAETTI MIN[\nJA AKKA",0x7f);
+              break;
+           case(1536+80+256*22):fx=8;
+              drawtext("YHESS[ MY\\\nHALLITAAN\nMUALIMOO",0x7f);
+              break;
+           case(1536+80+256*23):
+              drawtext("  EIK[\n  TULE\n  ENNEE\nNYKYAEKOO",0x7f);
+              break;
+
+           case(1536+80+256*24):fx=9;
+              killtext();break;
+              
+           case(1536+80+256*24+256):fx=0;break;
+
+           case(1536+80+256*24+256+256):fx=16;
+              drawtext("    PWP\nPROXY CREW",0x7f);
+              break;
+           case(1536+80+256*24+256+256+128*1):fx=16;
+              drawtext("VIZNUT XAZTUR\nSSADISTIK EXO\nFGCL CCR\nNOSFE AROPUPU",0x7f);
+              break;
+           case(1536+80+256*24+256+256+128*3):fx=16;
+              drawtext("GREETS TO",0x7f);
+              break;
+           case(1536+80+256*24+256+256+128*4):fx=16;
+              drawtext("KANSANRADIO\nHANNU KARPO\nPEKKA SAURI",0x7f);
+              break;
+           case(1536+80+256*24+256+256+128*6):fx=16;killtext();break;
+           case(1536+80+256*24+256+256+128*8):quit=1;break;
+
+/*
+   HANNU KARPO
+   PEKKA SAURI
+   MARKETTA RATIA
+   TUOMO TALVI
+*/
+
+           default:
+           break;
+        }
+        demovar.dsgtime++;
+     }
+
+     /* clrscr */
+     memset(pwplib_buf,0,pwplib_bufw*pwplib_bufh*sizeof(u8));
+
+#            undef G
+
+     if(t<768)
+         sflogo(t);
+
+     if(t>=745 && t<=1152) sf_esittaa();
+
+     if(fx==1)planes_do(t,16+2);else
+     if(fx==2){memset(pwplib_buf,0x44,pwplib_bufw*pwplib_bufh*sizeof(u8));
+     	rotozoom_do(t,2);}
+     if(fx==3)rotozoom_do(t,1);
+     if(fx==4){tankit(t);naarmuta();}
+     if(fx==5)rotozoom_do(t,0);
+     if(fx==6){tankit2(t);}
+     if(fx==7){tankit2(t);isantapari(t);}
+     if(fx==8){memset(pwplib_buf,0x44,pwplib_bufw*pwplib_bufh*sizeof(u8));
+     	rotozoom_do(t,2);isantapari();}
+     if(fx==9){sflogo(t);naarmuta();}
+
+     {int m=1;int z=t-1536-80;
+      if(t>1536+80 && fx!=16)m=1;else m=0;
+      addtext(t-1536-80,m);}
+
+     if(t<1536+40 || fx>10)naarmuta();
+
+     pwplib_dump_rast();
+     if(!quit)pwplib_loopflush();
+   }
+   }
+   
+   pwplib_shutdown();
+}
+
+int main(int argc,char**argv)
+{
+   if(!pwplib_init(argc,argv))return 1;
+
+   rundemo();
+
+   pwplib_shutdown();
+
+   return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/make-mssrc.sh	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+rm -rf mssrc
+mkdir mssrc
+cp ../msdos/* mssrc
+cfilez=`echo *.c ../msdos/*.c | sed 's/..\/msdos\///g'`
+
+for i in *.c *.h
+do
+   awk '{ print $0"\r" }' < $i > mssrc/$i
+done
+
+for i in `echo $cfilez`
+do
+   echo tcc -ml -GOdZ $i"\r" >> mssrc/make.bat
+done
+
+echo tlink `echo $cfilez | sed 's/\.c//g'` c0l cl.lib,peluce.exe >> mssrc/make.bat
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/musa.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,72 @@
+#define pwplib_volume 64
+      /* to pwplib.h -- pwplib.setup[SOUND_VOLUME] */
+
+#include "pwpdemo.h"
+
+#include "musa.h"
+
+struct
+{
+   int ord,patt,row;
+   int tick,tempo;
+}player;
+
+void newnote()
+{
+   int c=0;
+   
+   for(;c<3;c++)
+   {
+      int note=pwpmusic[player.patt][c][player.row];
+
+      if(note==253)
+      {
+         if(player.tempo==6)player.tempo=50;else
+                            player.tempo=4;
+      }else
+      if(note==254)
+         pwplib_sound_nv(c,0,0);
+      else 
+      if(note!=255)
+         pwplib_sound_nv(c,(note-5)<<8,pwplib_volume);
+   }
+   player.row++;
+   if(player.row==64)
+   {
+      player.row=0;
+      player.ord++;
+      player.patt=pwpmusic_order[player.ord];
+
+      if(player.patt>128)
+      {
+         if(player.patt==255)player.ord=0;else
+         {
+            if(player.patt==254)player.tempo=5;
+            player.ord++;
+         }
+         player.patt=pwpmusic_order[player.ord];
+      }
+   }
+}
+
+void playtick()
+{
+   if(player.tick==0)
+      newnote();
+
+   player.tick++;
+   if(player.tick==player.tempo)
+     player.tick=0;
+}
+
+void initplayer()
+{
+   player.row=player.ord;
+   player.patt=pwpmusic_order[0];
+   player.tick=0;
+   player.tempo=6;
+   pwplib_setplayer(playtick);
+}
+
+
+/* loopflush(); */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/musa.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,126 @@
+u8 pwpmusic[][3][64]={
+
+
+/*** pattern 0 ***/
+
+56,255,255,254,56,255,58,255,59,255,255,254,56,255,255,254,58,255,56,255,54,255,52,255,51,255,255,254,
+58,255,255,254,63,255,61,255,59,255,58,255,63,255,61,255,59,255,58,255,59,254,255,255,56,255,255,255,
+255,254,254,/* 59 */255,255,255,255,255,
+
+32,254,254,255,32,254,254,255,32,254,254,255,32,254,254,255,30,254,254,255,30,254,254,255,30,254,254,
+255,30,254,254,255,35,254,254,255,35,254,254,255,35,254,254,255,35,254,254,255,32,254,254,255,32,254,
+254,255,32,254,254,255,32,254,254,255,/* 64 */
+
+/* 0 */255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+
+
+
+/*** pattern 1 ***/
+
+58,255,59,255,61,255,63,255,58,255,59,255,61,255,63,255,59,255,58,255,59,255,58,255,56,255,255,254,59,
+255,255,255,58,255,59,255,61,255,63,255,58,255,59,255,61,255,63,255,59,254,254,254,56,255,255,255,255,
+254,254,/* 59 */255,255,255,255,255,
+
+34,254,254,255,34,254,254,255,34,254,254,255,34,254,254,255,34,254,254,255,34,254,254,255,32,254,254,
+255,32,254,254,255,34,254,254,255,34,254,254,255,34,254,254,255,34,254,254,255,32,254,254,255,32,254,
+254,255,32,254,254,255,32,254,254,255,/* 64 */
+
+/* 0 */255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+
+
+
+/*** pattern 2 ***/
+
+58,255,59,255,61,255,63,255,58,255,59,255,61,255,63,255,59,255,58,255,59,255,58,255,56,255,255,254,59,
+255,255,255,58,255,59,255,61,255,63,255,58,255,59,255,61,255,63,255,56,255,255,255,255,255,255,254,253,
+254,253,/* 59 */255,255,255,255,255,
+
+34,254,254,255,34,254,254,255,34,254,254,255,34,254,254,255,34,254,254,255,34,254,254,255,32,254,254,
+255,32,254,254,255,34,254,254,255,34,254,254,255,34,254,254,255,34,254,254,255,32,254,254,255,254,254,
+254,255,254,254,254,255,254,254,254,255,/* 64 */
+
+/* 0 */255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+
+
+
+/*** pattern 3 ***/
+
+56,254,56,254,59,255,56,255,63,255,56,255,59,255,56,254,255,255,56,255,59,255,56,255,63,255,56,255,59,
+255,56,255,59,254,59,254,63,255,59,255,66,255,59,255,61,255,54,254,255,255,54,255,58,255,54,255,61,255,
+54,255,58,255,54,255,/* 64 */
+
+32,254,32,254,35,254,35,254,39,254,39,254,35,254,35,254,32,254,32,254,35,254,35,254,39,254,39,254,35,254,
+35,254,35,254,35,254,37,254,37,254,42,254,42,254,37,254,37,254,34,254,34,254,37,254,37,254,42,254,42,254,
+37,254,37,254,/* 64 */
+
+/* 0 */255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+
+
+
+/*** pattern 4 ***/
+
+61,254,61,254,64,255,61,255,68,255,61,255,64,255,61,254,255,255,61,255,64,255,61,255,68,255,61,255,64,
+255,61,255,64,254,64,254,68,255,64,255,71,255,64,255,66,255,59,254,255,255,59,255,63,255,59,255,66,255,
+59,255,63,255,59,255,/* 64 */
+
+37,254,37,254,40,254,40,254,44,254,44,254,40,254,40,254,37,254,37,254,40,254,40,254,44,254,44,254,40,254,
+40,254,40,254,40,254,42,254,42,254,47,254,47,254,42,254,42,254,39,254,39,254,42,254,42,254,47,254,47,254,
+42,254,42,254,/* 64 */
+
+/* 0 */255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+
+
+
+/*** pattern 5 ***/
+
+63,254,63,254,66,255,63,255,70,255,63,255,66,255,63,254,255,255,63,255,66,255,63,255,70,255,63,255,66,
+255,63,255,66,254,66,254,70,255,66,255,73,255,66,255,68,255,61,254,255,255,61,255,65,255,61,255,68,255,
+61,255,65,255,61,255,/* 64 */
+
+39,254,39,254,42,254,42,254,46,254,46,254,42,254,42,254,39,254,39,254,42,254,42,254,46,254,46,254,42,254,
+42,254,42,254,42,254,44,254,44,254,49,254,49,254,44,254,44,254,41,254,41,254,44,254,44,254,49,254,49,254,
+44,254,44,254,/* 64 */
+
+/* 0 */255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+
+
+
+/*** pattern 6 ***/
+
+/* 0 */255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+
+/* 0 */255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+
+/* 0 */255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+
+};
+
+u8 pwpmusic_order[]={
+0, 0, 1, 2,
+3, 3, 4, 4,
+3, 3, 4, 4,
+3, 3, 4, 4,
+3, 3, 4, 4,
+3, 3, 4, 4,
+3, 3, 4, 4, 2, 6,
+0, 0, 1, 2, 6,6,6
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/musa.pl	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,138 @@
+#!/usr/bin/perl
+
+sub comment
+{
+   print "\n\n/*** $_[0] ***/\n\n";
+}
+
+sub newline
+{
+   print "\n";
+   $pos=0;
+}
+
+sub wr
+{
+   $_=$_[0];
+
+   $pos+=length($_);
+   print $_,",";
+   if($pos>72) { newline(); }
+}
+
+$pat=0;
+sub newpat
+{
+   comment("pattern $pat");
+   return $pat++;
+}
+
+sub music
+{
+   $nct=0;
+   $base=8;
+
+   if($_[1]){ $base+=$_[1];}
+
+   $_=$_[0];
+
+   $_=join('!',split('',$_));
+   s/\!\#/\#/g;
+
+   foreach(split('!',$_))
+   { 
+      $note="";
+   
+      if ($_ eq '<')  { $base -= 12;  }
+      if ($_ eq '>')  { $base += 12;  }
+
+      if ($_ eq '|')  { $note = 253; }
+      if ($_ eq '.')  { $note = 254; }
+      if ($_ eq ',')  { $note = 255; }
+
+      if ($_ eq 'c')  { $note = 0; }
+      if ($_ eq 'c#') { $note = 1; }
+      if ($_ eq 'd')  { $note = 2; }
+      if ($_ eq 'd#') { $note = 3; }
+      if ($_ eq 'e')  { $note = 4; }
+      if ($_ eq 'f')  { $note = 5; }
+      if ($_ eq 'f#') { $note = 6; }
+      if ($_ eq 'g')  { $note = 7; }
+      if ($_ eq 'g#') { $note = 8; }
+      if ($_ eq 'a')  { $note = 9; }
+      if ($_ eq 'a#') { $note = 10; }
+      if ($_ eq 'b')  { $note = 11; }
+
+      if ($note ne "")
+      {      
+         if ($note<128) { wr($base+$note); }
+                   else { wr($note); }
+         $nct++;
+      }
+   }
+   
+   print "/* $nct */";
+   
+   if($nct<64) { for(;$nct<64;$nct++) { wr(255); }}
+
+   newline();
+   newline();
+}
+
+#####################################################################################################
+
+print "u8 pwpmusic[][3][64]={\n";
+
+$taisto0=newpat();
+music("c,,.c,d,d#,,.c,,.d,c,<a#,g#,g,,.>d,,.g,f,d#,d,g,f,d#,d,d#.,,c,,,,..",48);
+music("c..,c..,c..,c..,<a#..,a#..,a#..,a#..,>d#..,d#..,d#..,d#..,c..,c..,c..,c..,",24);
+music("");
+
+$taisto1=newpat();
+music("d,d#,f,g,d,d#,f,g,d#,d,d#,d,c,,.d#,,,d,d#,f,g,d,d#,f,g,d#...c,,,,..",48);
+music("d..,d..,d..,d..,d..,d..,c..,c..,d..,d..,d..,d..,c..,c..,c..,c..,",24);
+music("");
+
+$taisto1b=newpat();
+music("d,d#,f,g,d,d#,f,g,d#,d,d#,d,c,,.d#,,,d,d#,f,g,d,d#,f,g,c,,,,,,.|.|",48);
+music("d..,d..,d..,d..,d..,d..,c..,c..,d..,d..,d..,d..,c..,...,...,...,",24);
+music("");
+
+$tiluli0=newpat();
+music("c.c.d#,c,g,c,d#,c.,,c,d#,c,g,c,d#,c,d#.d#.g,d#,a#,d#,f,<a#.,,a#,>d,<a#,>f,<a#,>d,<a#,",48);
+music("c.c.d#.d#.g.g.d#.d#.c.c.d#.d#.g.g.d#.d#.d#.d#.f.f.a#.a#.f.f.d.d.f.f.a#.a#.f.f.",24);
+#music("c,,.d#,,.c,,.d#,,.c,,.d#,,.c,,.d#,,.d#,,.f,,.d#,,.f,,.d,,.f,,.a#fa#fa#fa#f",36);
+music(""); # c,,,c,,,d#,,,g,,,c,,,c,,,d#,,,g,,,d#,,,d#,,,f,,,a#,,,d,,,d,,,f,,,a#,,,",24);
+#music("c.d#cc.d#cc.d#cc.d#cd#.gd#<a#.>d<a#a#.>d<a#a#.
+	
+$tiluli1=newpat();
+music("c.c.d#,c,g,c,d#,c.,,c,d#,c,g,c,d#,c,d#.d#.g,d#,a#,d#,f,<a#.,,a#,>d,<a#,>f,<a#,>d,<a#,",48+5);
+music("c.c.d#.d#.g.g.d#.d#.c.c.d#.d#.g.g.d#.d#.d#.d#.f.f.a#.a#.f.f.d.d.f.f.a#.a#.f.f.",24+5);
+#music("c,,.d#,,.c,,.d#,,.c,,.d#,,.c,,.d#,,.d#,,.f,,.d#,,.f,,.d,,.f,,.a#fa#fa#fa#f",36+5);
+music("");
+
+$tiluli2=newpat();
+music("c.c.d#,c,g,c,d#,c.,,c,d#,c,g,c,d#,c,d#.d#.g,d#,a#,d#,f,<a#.,,a#,>d,<a#,>f,<a#,>d,<a#,",48+7);
+music("c.c.d#.d#.g.g.d#.d#.c.c.d#.d#.g.g.d#.d#.d#.d#.f.f.a#.a#.f.f.d.d.f.f.a#.a#.f.f.",24+7);
+#music("c,,.d#,,.c,,.d#,,.c,,.d#,,.c,,.d#,,.d#,,.f,,.d#,,.f,,.d,,.f,,.a#fa#fa#fa#f",36+7);
+music("");
+
+$tyhja=newpat();
+music("");
+music("");
+music("");
+
+print "};\n\n";
+
+#####################################################
+
+print "u8 pwpmusic_order[]={\n";
+print "$taisto0, $taisto0, $taisto1, $taisto1b,\n";
+print "$tiluli0, $tiluli0, $tiluli1, $tiluli1,\n";
+print "$tiluli0, $tiluli0, $tiluli1, $tiluli1,\n";
+print "$tiluli0, $tiluli0, $tiluli1, $tiluli1,\n";
+print "$tiluli0, $tiluli0, $tiluli1, $tiluli1,\n";
+print "$tiluli0, $tiluli0, $tiluli1, $tiluli1,\n";
+print "$tiluli0, $tiluli0, $tiluli1, $tiluli1, $taisto1b, $tyhja,\n";
+print "$taisto0, $taisto0, $taisto1, $taisto1b, $tyhja,$tyhja,$tyhja\n";
+print "};\n\n";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/pics.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,41 @@
+u8*pwp_sf_pict,pwp_sf_mask;
+u8 pwp_sf_cmpr[]={
+0xe5,0x00,0xff,0xeb,0xff,0x00,0x9,0x2d,0x7,0x22,0xb,0x22,0x5,0x22,0xd,0x22,0x3,0x22,
+0x1,0x23,0x1,0x21,0x3,0x21,0x1,0x23,0x1,0x22,0x1,0x22,0x2,0x21,
+0x1,0x21,0x1,0x21,0x3,0x21,0x1,0x21,0x1,0x21,0x2,0x24,0x2,0x21,
+0x1,0x21,0x1,0x21,0x3,0x21,0x1,0x21,0x1,0x21,0x2,0x24,0x2,0x21,
+0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x2,0x24,
+0x2,0x23,0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x23,0x2,0x24,0x2,0x21,
+0x3,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x4,0x24,0x2,0x21,0x3,0x21,
+0x1,0x21,0x1,0x21,0x1,0x21,0x4,0x24,0x2,0x21,0x3,0x21,0x1,0x21,
+0x1,0x21,0x1,0x21,0x4,0x22,0x1,0x22,0x1,0x21,0x3,0x25,0x1,0x21,
+0x3,0x22,0x3,0x22,0xd,0x22,0x5,0x22,0xb,0x22,0x7,0x2d,0x9,0x2b,
+0x5,}
+sprite pwp_sf ={ 21,17,NULL,pwp_sf_cmpr};
+
+u8*esittaa_pict,esittaa_mask;
+u8 esittaa_cmpr[]={
+0xf8,0x00,0xff,0xe1,0x =00ff,0x,0x2,0x21,0x2,0x21,0x2,0x21,0x12,0x21,0x3,0x21,0x10,
+0x23,0x3,0xe3,,0x3,0x41,0x1,0x23,0x1,0x23,0x2,0x24,0x2,0x24,0x2,
+0x21,0x3,0x21,0x1,0x41,0x9,0x21,0x3,0x21,0x2,0x21,0x3,0x21,0x1,
+0x21,0x3,0x21,0x2,0x24,0x3,0x43,0x3,0x41,0x2,0x21,0x3,0x21,0x2,
+0x21,0x3,0x21,0x1,0x21,0x3,0x21,0x2,0x21,0x9,0x41,0x2,0x41,0x2,
+0x21,0x3,0x21,0x2,0x21,0x3,0x21,0x1,0x21,0x3,0x21,0x3,0x23,0x1,
+0x45,0x2,0x41,0x2,0x21,0x2,0x22,0x4,0x23,0x3,0x23,0x1,0x21,0x1,
+}
+sprite esittaa ={ 36,7,NULL,esittaa_cmpr};
+
+u8*forevisar_pict,forevisar_mask;
+u8 forevisar_cmpr[]={
+0xe6,0x00,0xff,0xe1,0x =00ff,0x,0x2,0x21,0x1f,0x1f,0x17,0x22,0x2,0x22,0x2,0x21,0x1,0x22,
+0x2,0x22,0x2,0x21,0x2,0x21,0x2,0x21,0x2,0x23,0x3,0x24,0x2,0x21,
+0x1,0x22,0x2,0x21,0x3,0x21,0x2,0x21,0x1,0x22,0x3,0x21,0x2,0x21,
+0x1,0x21,0x2,0x21,0x4,0x21,0x5,0x21,0x3,0x21,0x2,0x22,0x4,0x21,
+0x3,0x21,0x2,0x21,0x1,0x21,0x4,0x23,0x3,0x21,0x1,0x21,0x2,0x21,
+0x2,0x23,0x2,0x21,0x3,0x21,0x2,0x21,0x3,0x25,0x1,0x21,0x2,0x21,
+0x1,0x21,0x4,0x21,0x5,0x21,0x1,0x21,0x2,0x21,0x5,0x21,0x1,0x21,
+0x3,0x21,0x2,0x21,0x5,0x21,0x4,0x22,0x2,0x21,0x5,0x24,0x2,0x22,
+0x1,0x21,0x2,0x24,0x3,0x23,0x2,0x21,0x6,0x21,0x1f,0xe,0x21,0x1f,
+0xc,}
+sprite forevisar ={ 46,9,NULL,forevisar_cmpr};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/planes.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,145 @@
+#define HAS_SINTAB
+#include "pwpdemo.h"
+
+#ifdef USE_SINTAB
+signed int sintab16[256]={
+0, 804, 1607, 2410, 3211, 4011, 4807, 5601, 6392, 7179, 7961, 8739,
+9511, 10278, 11038, 11792, 12539, 13278, 14009, 14732, 15446, 16150,
+16845, 17530, 18204, 18867, 19519, 20159, 20787, 21402, 22004, 22594,
+23169, 23731, 24278, 24811, 25329, 25831, 26318, 26789, 27244, 27683,
+28105, 28510, 28897, 29268, 29621, 29955, 30272, 30571, 30851, 31113,
+31356, 31580, 31785, 31970, 32137, 32284, 32412, 32520, 32609, 32678,
+32727, 32757, 32767, 32757, 32727, 32678, 32609, 32520, 32412, 32284,
+32137, 31970, 31785, 31580, 31356, 31113, 30851, 30571, 30272, 29955,
+29621, 29268, 28897, 28510, 28105, 27683, 27244, 26789, 26318, 25831,
+25329, 24811, 24278, 23731, 23169, 22594, 22004, 21402, 20787, 20159,
+19519, 18867, 18204, 17530, 16845, 16150, 15446, 14732, 14009, 13278,
+12539, 11792, 11038, 10278, 9511, 8739, 7961, 7179, 6392, 5601, 4807,
+4011, 3211, 2410, 1607, 804, 0, -805, -1608, -2411, -3212 ,-4012, -4808,
+-5602, -6393, -7180, -7962, -8740, -9512, -10279, -11039, -11793,
+-12540, -13279, -14010, -14733, -15447, -16151, -16846, -17531, -18205,
+-18868, -19520, -20160, -20788, -21403, -22005, -22595, -23170, -23732,
+-24279, -24812, -25330, -25832, -26319, -26790, -27245, -27684, -28106,
+-28511, -28898, -29269, -29622, -29956, -30273, -30572, -30852, -31114,
+-31357, -31581, -31786, -31971, -32138, -32285, -32413, -32521, -32610,
+-32679, -32728, -32758, -32767, -32758, -32728, -32679, -32610, -32521,
+-32413, -32285, -32138, -31971, -31786, -31581, -31357, -31114, -30852,
+-30572, -30273, -29956, -29622, -29269, -28898, -28511, -28106, -27684,
+-27245, -26790, -26319, -25832, -25330, -24812, -24279, -23732, -23170,
+-22595, -22005, -21403, -20788, -20160, -19520, -18868, -18205, -17531,
+-16846, -16151, -15447, -14733, -14010, -13279, -12540, -11793, -11039,
+-10279, -9512, -8740, -7962, -7180, -6393, -5602, -4808, -4012, -3212,
+-2411, -1608, -805 };
+#endif
+
+u8 psychtab0[64]=
+{
+  0x00,0x00,0x00,0x04,0x04,0x40,0x40,0x44,0x44,0x4c,0xc4,0xc4,0xcc,0xcc,
+  0xca,0xac,0xfa,0xef,0xec,0xce,0xcc,0xc4,0x4c,0x44,0x40,0x04,0x00,0x00,
+  0x00,0x04,0x06,0x60,0x66,0x6e,0xe6,0xee,0xef,0xfe,0xaf,0xfa,0xaa,0xea,
+  0xee,0xea,0xae,0xaa,0xa3,0x3a,0x33,0x32,0x23,0x22,0x20,0x02,0x08,0x00,
+  
+  0x08,0x07,0x77,0x78,0x08,0x00,0x01
+};
+
+u8 psychtab1[64]=
+{
+  0x04,0x06,0x0e,0x6e,0xe6,0xee,0xe6,0x6e,0x60,0x06,0x00,0x01,0x10,0x15,
+  0x51,0x55,0x5d,0xd5,0xdd,0xd5,0x5d,0x55,0x51,0x15,0x11,0x1e,0xe1,0xee,
+  0xef,0xfe,0xff,0xfe,0xef,0xee,0xea,0xae,0xaa,0xa2,0x2a,0x20,0x02,0x00,
+  0x00,0x02,0x20,0x22,0x2e,0xe2,0xee,0xea,0xaa,0xa2,0x2a,0x20,0x02,0x01,
+  0x03,0x30,0x31,0x35,0x53,0x50,0x05
+};
+
+u8 psychtab2[64]=
+{
+  0x00,0x08,0x07,0x87,0x78,0x87,0x88,0x07,0x08,0x08,0x00,0x00,0x00,0x00,
+  0x01,0x03,0x30,0x33,0x03,0x03,0x01,0x09,0x19,0x19,0x91,0x91,0x99,0x99,
+  0x9c,0x99,0x91,0x19,0x1c,0x13,0x31,0x33,0x31,0x03,0x03,0x00,0x00,0x00,
+  0x04,0x40,0x44,0x04,0x04,0x04,0x00,0x04,0x40,0x4e,0x40,0x04,0x00,0x04,
+  0x05,0x05,0x04,0x04,0x00,0x00,0x00
+};
+
+void planes_draw(u8*map,int angle,int midpt)
+{
+   register u8*d=pwplib_buf;
+
+   register int x;
+
+   register int du=(SIN(angle)*MIN(pwplib_bufw,pwplib_bufh))/4096;
+
+   int dv=(COS(angle)*pwplib_bufh)/6666;
+
+   register int i=midpt*256-(pwplib_bufh>>1)*dv
+                  -(pwplib_bufw>>1)*du;
+
+   int y=pwplib_bufh;
+
+   dv-=du*pwplib_bufw;
+
+   for(;y;y--)
+   {
+      for(x=pwplib_bufw;x;x--)
+      {
+         *d++=map[(i>>8)&255];
+         i+=du;
+      }
+      i+=dv;
+   }
+}
+
+void xorplanes_draw(u8*map,int angle,int angle2,int midpt,int midpt2)
+{
+   register u8*d=pwplib_buf;
+
+   register int x;
+
+   register int du=(SIN(angle)*MIN(pwplib_bufw,pwplib_bufh))/4096,
+                du2=(SIN(angle2)*MIN(pwplib_bufw,pwplib_bufh))/4096;
+
+   int dv=(COS(angle)*pwplib_bufh)/6666,
+       dv2=(COS(angle2)*pwplib_bufh)/6666;
+
+   register int i=midpt*256-(pwplib_bufh>>1)*dv
+                  -(pwplib_bufw>>1)*du,
+                j=midpt2*256-(pwplib_bufh>>1)*dv2
+                  -(pwplib_bufw>>1)*du2;
+
+   int y=pwplib_bufh;
+
+   for(;y;y--)
+   {
+      int ii=i,jj=j;
+      for(x=pwplib_bufw;x;x--)
+      {
+         *d++=map[(ii>>8)&255]^map[(jj>>8)&255];
+         ii+=du;jj+=du2;
+      }
+      i+=dv;j+=dv2;
+   }
+}
+
+
+void planes_do(int t,int m)
+{
+   u8*tabbu[3]={psychtab0,psychtab1,psychtab2};
+   u8 map[256];
+   u8*tabu=tabbu[m&15];
+
+   int step=1024,i,j=-t*80;
+
+   for(i=0;i<128;i++)
+   {
+      map[i]=map[255-i]=tabu[(j>>8)&63];
+      j+=step;
+
+      step-=(step>>4);
+   }
+
+   if(m&16)
+   planes_draw(map,t*3,SIN(t)/512);else
+   xorplanes_draw(map,t,t*3/11,
+     SIN(t)/512,
+     SIN(((long int)t*(608/16))/(1024*16)) );
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/pwp-sf.txt	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,322 @@
+  ___
+ /   \
+| PWP |
+ \___/
+
+
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+.......................................................................
+
+
+
+nnnnn...y...y.k...kk..y...y.aaaaa...eeeee.k...kk.aaaaa.
+nnnnn..yy...y.k...kk.yy...y.a...a...e.....k...kk.a...a.
+nn..n..yy...y.k...k..yy...y.a...a...e.....k...k..a...a.
+nn..n..yyyyyy.kkkkk..yyyyyy.aaaaa..eeee...kkkkk..aaaaa.
+nn..nn.....yy.k..k.......yy.aa..aa.ee.....k..k...aa..aa
+nn..nn.....yy.kk.kkk.....yy.aa..aa.ee.....kk.kkk.aa..aa
+nn..nn.yyyyyy.kk.kkk.yyyyyy.aa..aa.eeeeee.kk.kkk.aa..aa
+
+7x55
+
+
+bitmap-pakkaus:
+  1] paletted (n bits)
+  2] elited:
+
+
+glyph
+	data
+	y0:y1
+
+fonttisysteemi: merkit isketään mahdollisimman lähelle toisiaan niin,
+että joka suunnassa on n pikselin varoväli
+
+outbuffer - per scanline: x-right-extend
+
+xext
+
+5 >= n+2
+5 >= n+2
+1 >= n+2
+1 >= n+0
+5      -
+5      -
+
+
+  for(i=0;i<7;i++)
+  if(font.xleft[ch][i
+
+
+smallest n?
+
+try: 5=n+2, 5=n+2, 1=n+2, 1=n+0
+
+
+
+find smallest n
+
+aaaaa.
+a...a.
+a...a.
+aaaaa.
+aa..aa
+aa..aa
+aa..aa
+
+aaaaa.
+aa..a.
+aa..a.
+aaaaaa
+aa...a
+aa...a
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aa....
+aa....
+aa....
+aaaaaa
+
+aaaaa.
+a...a.
+a...a.
+a...aa
+a...aa
+a...aa
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aaaa..
+aa....
+aa....
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aaaa..
+aa....
+aa....
+aa....
+
+.aaaaa
+.a....
+.a....
+aa..aa
+aa..aa
+aa...a
+aaaaaa
+
+.a..a.
+.a..a.
+.a..a.
+aaaaaa
+aa..aa
+aa..aa
+aa..aa
+
+.a
+.a
+.a
+aa
+aa
+aa
+aa
+
+....a
+....a
+....a
+...aa
+...aa
+aa.aa
+aaaaa
+
+a..aaaa
+a..aa..
+a..aa..
+aaaaa..
+aa..a..
+aa..aaa
+aa..aaa
+
+.a....
+.a....
+.a....
+aa....
+aa....
+aa....
+aaaaaa
+
+.aaaaaaa
+.a..a.aa
+.a..a.aa
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+
+.aaaaa
+.a..aa
+.a..aa
+aa..aa
+aa..aa
+aa..aa
+aa..aa
+
+.aaaaa
+.a...a
+.a...a
+aa...a
+aa...a
+aa...a
+aaaaaa
+
+aaaaaa
+a....a
+a....a
+aaaaaa
+aa....
+aa....
+aa....
+
+.aaaaa
+.a...a
+.a...a
+aa...a
+aa.aaa
+aa..aa
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aa....
+aa....
+aa....
+aa....
+
+.aaaaa
+.a....
+.a....
+.aaaaa
+....aa
+....aa
+aaaaaa
+
+aaaaaa
+...a..
+...a..
+..aa..
+..aa..
+..aa..
+..aa..
+
+a...aa
+a...aa
+a...aa
+aa..aa
+aa..aa
+aa..aa
+aaaaaa
+
+aa..aa
+aa..aa
+aa..aa
+aa..aa
+aa..a.
+aa..a.
+aaaaa.
+
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+.a.aa.a.
+.a.aa.a.
+.aaaaaa.
+
+aa..aaaa
+aa..a...
+aa..a...
+aaaaaaaa
+...aa..a
+...aa..a
+aaaaa..a
+
+aa...a
+aa...a
+aa...a
+aaaaaa
+....aa
+....aa
+aaaaaa
+
+aaaaaa
+.....a
+.....a
+aaaaaa
+aa....
+aa....
+aaaaaa
+
+aa.aa.
+......
+aaaaa.
+aa..a.
+aaaaaa
+aa..aa
+aa..aa
+
+.aa.aa 
+......
+.aaaaa
+.a..aa
+aa..aa
+aa..aa
+aaaaaa
+
+
+
+purkurutiini: 
+
+
+
+     n      y      k     y     a     e     k     a
+     
+     k
+    
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/pwpdemo.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,17 @@
+#include "pwplib.h"
+#define USE_SINTAB
+
+#define MAX(a,b) ((a)>(b)?(a):(b))
+#define MIN(a,b) ((a)<(b)?(a):(b))
+
+#ifndef USE_SINTAB
+#define SIN(a) (sin((a)*3.1415926/128)*32767)
+#define COS(a) ((3.1415926/2)+(cos((a)*3.1415926/128))*32767)
+#else
+#ifndef HAS_SINTAB
+extern signed int sintab16[];
+#endif
+#define SIN(a) sintab16[(a)&255]
+#define COS(a) sintab16[((a)+64)&255]
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/spritegen.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,23 @@
+&bitmap('pelu':'n:44:00/ :00:ff/@:7f:00/.:11:82/x:44:00/Z:e6:00/',<<EOD);
+     nnnnnnnnnnn
+         nn
+         nn
+xxxxxxxxxxxxx
+    xxxxxxxxxx
+    ....ZZZZZZ
+    .....@@@@@
+    .o...@@@@@
+    ....@@@@@@@
+    @@@@@@@@@@@
+  @@@@@@@@@@@@@
+@@@@@@@@@@@@@@@
+         @@@@
+xx    @@@@@@@
+@@@@@@@@@@@@@
+  @@@@@@@@@@@
+    @@@@@@@@@
+    @@@@@@@@@
+      @@@@@@
+       @@@@@
+        @@@@
+EOD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/sprites.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,372 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "pwpdemo.h"
+
+typedef struct
+{
+   int width,height;
+   u8*pict;
+   u8*mask;
+}sprite;
+
+#include "sprites.h"
+
+#include "font.h"
+
+#define INLINE
+  /* to pwplib.h -- #define INLINE inline */
+
+INLINE void zoomsprite_loop
+  (mask, pict, xzoom, d, xo0, xdim, ydim, spwidth, yzoom, yo0)
+register u8* mask, *pict;
+register int xzoom;
+u8* d;
+int xo0, xdim, ydim, spwidth, yzoom, yo0;
+{
+   register u8 *dd, *m, *p;
+   register int xo, x;
+
+   for(;ydim;ydim--)
+   {
+      int linebase = (yo0>>8) * spwidth;
+      
+      m  = mask + linebase;
+      p  = pict + linebase;
+      dd = d;
+      xo = xo0;
+
+      for(x=xdim;x;x--)
+      {
+         register int z=xo>>8;
+
+         *dd++ = (*dd & m[z]) | p[z];
+
+         xo += xzoom;
+      }
+
+      yo0 += yzoom;
+      d   += pwplib_bufw;
+   }
+}
+
+void zoomsprite(int x0,int y0,sprite*sp,int xzoom,int yzoom)
+{
+   int xdim,ydim,
+       xo0=0,yo0=0,x,y,ptr;
+
+   if(xzoom<=32 && yzoom<=32)return;
+   
+   xdim=(sp->width<<8)/xzoom;
+   ydim=(sp->height<<8)/yzoom;
+
+   x0-=(xdim>>1);
+   y0-=(ydim>>1);
+
+   if(x0<0)
+   {
+      xdim+=x0;
+      xo0=(0-x0)<<8;
+      x0=0;
+   }
+
+   if(y0<0)
+   {
+      ydim+=y0;
+      yo0=(0-y0)<<8;
+      y0=0;
+   }
+
+   if(x0+xdim>=pwplib_bufw)
+   {
+      xdim=pwplib_bufw-x0;
+   }
+
+   if(y0+ydim>=pwplib_bufh)
+   {
+      ydim=pwplib_bufh-y0;
+   }
+   
+   if(xdim<=0 || ydim<=0) return;
+
+   zoomsprite_loop
+   (
+      sp->mask, sp->pict, xzoom,
+      pwplib_buf+x0+y0*pwplib_bufw,
+      xo0, xdim, ydim, sp->width, yzoom, yo0
+   );
+}
+/*
+  (mask, pict, xzoom, d, xo0, xdim, ydim, spwidth, yzoom, yo0)
+*/
+
+void zoomsprite_gen(int x0,int y0,sprite*sp,int zoom)
+{
+   zoomsprite(((x0+128)*pwplib_bufw)>>8,
+              ((y0+128)*pwplib_bufh)>>8,
+              sp,
+              abs((zoom<<8)/pwplib_bufw),
+              abs((zoom<<7)/pwplib_bufh)
+             );
+}
+
+/*
+void metsae(int t,int mode)
+{
+   int i,x;
+
+  const sprite*mo[]={&kuusi};
+  const int mosiz[]={128};
+  const int mostep[]={64};
+
+  for(i=0;i<512;i+=mostep[mode])
+  {
+   zoomsprite_gen(
+     ((i-t/3)&511)-256 ,0,mo[mode],mosiz[mode]);
+  }
+}
+
+void drawkiller(int tminus)
+{
+   int ttt=tminus;
+
+   if(tminus<-64)tminus=-64;else
+   if(tminus>0)tminus=0;
+
+   zoomsprite_gen(tminus,48,(ttt&16)?&pelustna0:&pelustna1,80);
+}
+
+void encounter(int tminus,int kode,int zoom,int speed)
+{
+   int ttt=tminus;
+   sprite*pum[][2]=
+   {
+      &krist0,&krist1,
+      &pelusieni,&pelusieni,
+      &pelusieni1,&pelusieni1,
+      &pelusieni2,&pelusieni2,
+      &pelux,&pelux,
+      &pelustna0,&pelustna1,
+      &ruumis,&ruumis,
+      &uusmed0,&uusmed1,
+      &tesno0,&tesno1,
+      &army0,&army0,
+      &windows0,&windows1,
+      &quake0,&quake0      
+   };
+
+   if(ttt<0)ttt=0;
+
+   zoomsprite_gen(0+ttt,48,(tminus&16)?pum[kode][0]:pum[kode][1],zoom);
+}
+*/
+
+void sflogo(int t)
+{
+   int a=rand();
+
+   zoomsprite_gen(0,0, &pwp_sf,
+      t<256?(256+48-t):48);
+}
+
+void sf_esittaa()
+{
+   zoomsprite_gen(-32,-32,&esittaa,96);
+   zoomsprite_gen(32,32,&forevisar,96);
+}
+void isantapari(int t)
+{
+   zoomsprite_gen((SIN(t/2)*16)>>16,64,&isanta,64);
+}
+
+void tankit(int t)
+{
+   int i=7;int col1=0x88,col2=0x02;
+   
+   if(!((t^(t>>2))&511)){col1=0xff;col2=0x7f;}
+
+   memset(pwplib_buf,col1,pwplib_bufw*pwplib_bufh/2);
+   memset(pwplib_buf+pwplib_bufw*pwplib_bufh/2,col2,pwplib_bufw*pwplib_bufh/2);
+
+   for(;i;i--)
+   {
+      zoomsprite_gen(((t+i*84)&511)-256,8+i*8,&tankki,128-i*4);
+   }
+}
+
+void tankit2(int t)
+{
+   int i=7;int col1=0x11,col2=0x08;
+
+   memset(pwplib_buf,col1,pwplib_bufw*pwplib_bufh/2);
+   memset(pwplib_buf+pwplib_bufw*pwplib_bufh/2,col2,pwplib_bufw*pwplib_bufh/2);
+
+   for(;i;i--)
+   {
+      zoomsprite_gen(((t+i*84)&511)-256,8+i*8,&tumpsa,128-i*4);
+   }
+}
+
+/******************/
+
+char scale[3][8]={
+   0x00,0x08,0x80,0x88,0x87,0x77,0xf7,0xff,
+   0x00,0x08,0x07,0x80,0x88,0x87,0x77,0x7f,
+   0x00,0x06,0x60,0x66,0x6e,0xe6,0xee,0xef
+};
+
+char bwpal[8][256];
+void bwpals()
+{
+   int i,j;
+   for(i=0;i<8;i++)
+   {
+      int gamma=rand()&3;
+      int brite=256+(rand()&15)-(rand()&15);
+      int scl=rand()%3;
+
+      for(j=0;j<256;j++)
+      {
+         int it=((j&1)?1:0)+((j&2)?6:0)+((j&4)?3:0)+((j&8)?5:0)+
+                 ((j&16)?3:0)+((j&32)?12:0)+((j&64)?8:0)+((j&128)?8:0);
+
+         it+=gamma;
+         it=(it*brite)>>8;
+         if(it>63)it=63;
+
+         it/=8;
+
+	 bwpal[i][j]=scale[scl][it];
+      }
+   }
+}
+
+void naarmuta()
+{
+   int i=pwplib_bufh*pwplib_bufw;
+   static int ph=0,rr=0,nrmx=0;
+   
+   char*d=pwplib_buf;
+   char*lookup=&bwpal[rr&7][0];
+   ph++;if(!(ph&3))rr=rand();
+
+   for(i=100;i;i--)
+   {
+      int z=rand()%(pwplib_bufw*pwplib_bufh);
+      pwplib_buf[z]^=0x87;
+   }
+   
+   for(i=0;i<pwplib_bufh;i++){ 
+     pwplib_buf[pwplib_bufw*i+nrmx]&=~0x78; if(!(rand()&7))nrmx+=(rand()&3)-1;
+     if(nrmx<0 || nrmx>=pwplib_bufw) nrmx=rand()%pwplib_bufw;
+   }
+
+   i=pwplib_bufh*pwplib_bufw;
+   for(;i;i--){*d=lookup[*d];d++;}
+}
+
+sprite textbuf={0,0,NULL,NULL};
+
+void killtext()
+{
+   if(textbuf.width){textbuf.width=0;free(textbuf.pict);free(textbuf.mask);}
+}
+
+void drawtext(char*txt,int col)
+{
+   int wdt=0,x=0,y=0,idx,hgt=7;
+   unsigned char*f,*fnt=font;
+
+   killtext();
+   {char*t=txt;
+   for(;;)
+   {int thiswdt=0;
+    while(*t && *t!='\n'){thiswdt+=font_lengths[(*t>='A'&&*t<=']')?(*t-'@'):4];t++;}
+    if(thiswdt>wdt)wdt=thiswdt;
+    if(!*t)break; else {t++;hgt+=11;}
+   }}
+
+   textbuf.width=wdt+1;
+   textbuf.height=hgt+1;
+   { int sz=textbuf.height*textbuf.width*sizeof(u8);
+      textbuf.pict=malloc(sz);
+      textbuf.mask=malloc(sz);
+      memset(textbuf.pict,0,sz);
+      memset(textbuf.mask,0xff,sz);}
+
+   while(*txt)
+   {
+      int z=*txt,a;
+
+      txt++;
+
+      if(z=='\n'){x=0;y+=textbuf.width*11;continue;}
+
+      z-='@';
+      if(z<0 || z>29){x+=4;continue;}
+
+      f=fnt;
+      while(z)
+      {
+         if(*f==0)z--;
+         f++;
+      }
+
+      while((a=*f))
+      {
+         idx=x+y;
+
+         for(;a;a>>=1)
+         {
+            if(a&1){textbuf.pict[idx]=col;
+                    textbuf.mask[idx]=0;
+                    if(textbuf.mask[idx+1+textbuf.width])
+                    {
+                       textbuf.pict[idx+textbuf.width+1]=
+                       textbuf.mask[idx+textbuf.width+1]=0;
+                    }
+                    }
+
+            idx+=textbuf.width;
+         }
+         x++;
+         f++;
+      }
+      x++; /* x+=2; */
+   }
+}
+
+void addtext(int t,int m)
+{
+   if(m==1)m=96+abs((t-32)&63-32);else m=96;
+   if(textbuf.width)
+   {
+      zoomsprite_gen(0,0,&textbuf,m);
+   }
+}
+
+void rotozoompaski(u8*s,int u0,int v0,int du,int dv)
+{
+   u8*d=pwplib_buf;
+   int i,j,u,v;
+   int idu=du/pwplib_bufw,idv=dv/pwplib_bufw,
+       odu=dv/pwplib_bufh,odv=-du/pwplib_bufh;
+
+   for(i=pwplib_bufh;i;i--)
+   {
+      int iu=u,iv=v;
+      for(j=pwplib_bufw;j;j--) 
+      {
+         *d++=s[((iu>>4)&(1023&~31))|((iv>>9)&31)];
+         iu+=idu;iv+=idv;
+      }
+      u+=idv;v+=-idu;
+   }
+}
+
+void rotozoom_do(int t,int m)
+{
+   u8*poo[]={piimae.pict,pelu.pict,taehti.pict};
+   int u=SIN(t),v=COS(t);
+   rotozoompaski(poo[m],(-u+v)*32,(-v-u)*32,u,v);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/sprites.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,145 @@
+u8*pwp_sf_pict,pwp_sf_mask;
+u8 pwp_sf_cmpr[]={
+0xe5,0x00,0xff,0xeb,0x7f,0x00,0x9,0x2d,0x7,0x22,0xb,0x22,0x5,0x22,0xd,0x22,0x3,0x22,
+0x1,0x23,0x1,0x21,0x3,0x21,0x1,0x23,0x1,0x22,0x1,0x22,0x2,0x21,
+0x1,0x21,0x1,0x21,0x3,0x21,0x1,0x21,0x1,0x21,0x2,0x24,0x2,0x21,
+0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x2,0x24,
+0x2,0x23,0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x23,0x2,0x24,0x2,0x21,
+0x3,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x4,0x24,0x2,0x21,0x3,0x21,
+0x1,0x21,0x1,0x21,0x1,0x21,0x4,0x22,0x1,0x22,0x1,0x21,0x3,0x25,
+0x1,0x21,0x3,0x22,0x3,0x22,0xd,0x22,0x5,0x22,0xb,0x22,0x7,0x2d,
+0x9,0x2b,0x5,};
+sprite pwp_sf ={ 21,15,(char*)119,pwp_sf_cmpr};
+
+u8*esittaa_pict,esittaa_mask;
+u8 esittaa_cmpr[]={
+0xf8,0x00,0xff,0xe1,0x7f,0x00,0x2,0x21,0x2,0x21,0x2,0x21,0x12,0x21,0x3,
+0x21,0x10,0x23,0x3,0x23,0x3,0x21,0x1,0x23,0x1,0x23,0x2,0x24,0x2,
+0x24,0x2,0x21,0x3,0x21,0x1,0x21,0x9,0x21,0x3,0x21,0x2,0x21,0x3,
+0x21,0x1,0x21,0x3,0x21,0x2,0x24,0x3,0x23,0x3,0x21,0x2,0x21,0x3,
+0x21,0x2,0x21,0x3,0x21,0x1,0x21,0x3,0x21,0x2,0x21,0x9,0x21,0x2,
+0x21,0x2,0x21,0x3,0x21,0x2,0x21,0x3,0x21,0x1,0x21,0x3,0x21,0x3,
+0x23,0x1,0x25,0x2,0x21,0x2,0x21,0x2,0x22,0x4,0x23,0x3,0x23,0x1,
+0x21,0x1,};
+sprite esittaa ={ 36,7,(char*)101,esittaa_cmpr};
+
+u8*forevisar_pict,forevisar_mask;
+u8 forevisar_cmpr[]={
+0xe6,0x00,0xff,0xe1,0x7f,0x00,0x2,0x21,0x1f,0x1f,0x17,0x22,0x2,0x22,0x2,0x21,
+0x1,0x22,0x2,0x22,0x2,0x21,0x2,0x21,0x2,0x21,0x2,0x23,0x3,0x24,
+0x2,0x21,0x1,0x22,0x2,0x21,0x3,0x21,0x2,0x21,0x1,0x22,0x3,0x21,
+0x2,0x21,0x1,0x21,0x2,0x21,0x4,0x21,0x5,0x21,0x3,0x21,0x2,0x22,
+0x4,0x21,0x3,0x21,0x2,0x21,0x1,0x21,0x4,0x23,0x3,0x21,0x1,0x21,
+0x2,0x21,0x2,0x23,0x2,0x21,0x3,0x21,0x2,0x21,0x3,0x25,0x1,0x21,
+0x2,0x21,0x1,0x21,0x4,0x21,0x5,0x21,0x1,0x21,0x2,0x21,0x5,0x21,
+0x1,0x21,0x3,0x21,0x2,0x21,0x5,0x21,0x4,0x22,0x2,0x21,0x5,0x24,
+0x2,0x22,0x1,0x21,0x2,0x24,0x3,0x23,0x2,0x21,0x6,0x21,0x1f,0xe,
+0x21,0x1f,0xc,};
+sprite forevisar ={ 46,9,(char*)131,forevisar_cmpr};
+
+u8*pelu_pict,pelu_mask;
+u8 pelu_cmpr[]={
+0xff,0x00,0xff,0x2,0xff,0x00,0xff,0x1,0x3f,0x1,0x3f,0x1,0x3f,0x2a,0xeb,
+0x44,0x00,0x39,0x42,0x3e,0x42,0x35,0xed,0x44,0x00,0x37,0x6a,0x36,0xe4,0x11,0x82,0xe6,0xe6,0x00,0x36,0x85,0xe5,
+0x87,0x00,0x36,0x81,0xe1,0xff,0x00,0x83,0xc5,0x36,0x84,0xc7,0x35,0xcb,0x33,0xcd,0x31,0xcf,
+0x3a,0xc4,0x33,0x62,0x24,0xc7,0x33,0xcd,0x35,0xcb,0x37,0xc9,0x37,0xc9,
+0x39,0xc6,0x3b,0xc5,0x3c,0xc4,0x2f,0xe1,0x00,0xff,0xff,0x00,0xff,0x21,0x5f,0x21,0x5f,0x21,
+0x5f,0x21,0x5f,0x21,0x5f,};
+sprite pelu ={ 32,32,(char*)92,pelu_cmpr};
+
+u8*piimae_pict,piimae_mask;
+u8 piimae_cmpr[]={
+0xff,0x00,0xff,0x2,0xff,0x00,0xff,0x1,0x3f,0x1,0x3f,0x2d,0xe4,
+0xee,0x00,0x3c,0xe4,0x66,0x00,0x3c,0x64,0x3b,0x63,0xe1,0x6e,0x88,0x62,0x38,0x65,0x81,0x64,0x35,0x6c,
+0x33,0x69,0x83,0x62,0x31,0x6b,0x82,0x63,0x30,0x6c,0x81,0x63,0x30,0x70,
+0x30,0x70,0x30,0xf0,0x7f,0x00,0x30,0xa1,0xe5,0x00,0x00,0xa2,0xc1,0xa2,0xc1,0xa2,0xc1,0xa1,
+0x30,0xa1,0xc1,0xa3,0xc1,0xa2,0xc1,0xa2,0xc1,0xa2,0xc2,0x30,0xa1,0xc5,
+0xa2,0xc1,0xa2,0xc1,0xa2,0xc1,0xa1,0x30,0xa1,0xc1,0xa6,0xc1,0xa2,0xc1,
+0xa2,0xc1,0xa1,0x30,0xa1,0xc1,0xa6,0xc1,0xa2,0xc1,0xa2,0xc1,0xa1,0x30,
+0xa1,0xc1,0xa6,0xc1,0xa2,0xc1,0xa2,0xc1,0xa1,0x30,0xb0,0x30,0x70,0x30,
+0x70,0x30,0x70,0x30,0x70,0x29,0x1,0x3f,0x1,0x3f,0x1,0x3f,0x1,0x3f,
+0x1,0x3f,};
+sprite piimae ={ 32,32,(char*)137,piimae_cmpr};
+
+u8*taehti_pict,taehti_mask;
+u8 taehti_cmpr[]={
+0xff,0x44,0x00,0x2,0xff,0x44,0x00,0x1,0x3f,0x1,0x2a,0xe1,0x6e,0x00,0x23,0x41,0x23,0x41,
+0x2c,0x1,0x2a,0x42,0x21,0x43,0x21,0x42,0x2c,0x1,0x2b,0x47,0x2d,0x1,
+0x2b,0x47,0x2d,0x1,0x29,0x4b,0x2b,0x1,0x2b,0x47,0x2d,0x1,0x2b,0x47,
+0x2d,0x1,0x2a,0x42,0x21,0x43,0x21,0x42,0x2c,0x1,0x2a,0x41,0x23,0x41,
+0x23,0x41,0x2c,0x1,0x3f,0x1,0x3f,0x1,0x23,0x43,0x23,0x44,0x22,0x42,
+0x22,0x44,0x23,0x44,0x21,0x1,0x22,0x42,0x21,0x42,0x21,0x42,0x22,0x42,
+0x21,0x42,0x21,0x42,0x22,0x42,0x21,0x42,0x22,0x42,0x1,0x22,0x42,0x24,
+0x42,0x22,0x42,0x21,0x45,0x22,0x42,0x24,0x42,0x21,0x1,0x22,0x42,0x21,
+0x42,0x21,0x42,0x22,0x42,0x21,0x42,0x21,0x42,0x22,0x42,0x21,0x42,0x22,
+0x42,0x1,0x23,0x43,0x23,0x44,0x22,0x42,0x22,0x44,0x23,0x44,0x21,0x1,
+0x3f,0x1,0x3f,0x1,0x23,0x41,0x21,0x41,0x21,0x41,0x22,0x41,0x21,0x41,
+0x21,0x41,0x22,0x41,0x21,0x41,0x21,0x41,0x22,0x41,0x21,0x41,0x21,0x41,
+0x22,0x1,0x24,0x43,0x24,0x43,0x24,0x43,0x24,0x43,0x23,0x1,0x23,0x41,
+0x21,0x41,0x21,0x41,0x22,0x41,0x21,0x41,0x21,0x41,0x22,0x41,0x21,0x41,
+0x21,0x41,0x22,0x41,0x21,0x41,0x21,0x41,0x22,0x1,0x3f,0x1,0x3f,0x1,
+0x3f,0x1,0x3f,0x1,0x3f,0x1,0x3f,0x1,0x3f,};
+sprite taehti ={ 32,31,(char*)223,taehti_cmpr};
+
+u8*tankki_pict,tankki_mask;
+u8 tankki_cmpr[]={
+0xf3,0x00,0xff,0xe4,0x77,0x00,0x1f,0x5,0x3b,
+0x5,0x23,0x1,0x24,0x2,0xeb,0x88,0x00,0x12,0x21,0x41,0x21,0x41,0x23,0x41,0x22,
+0x41,0x21,0x41,0x2d,0x41,0x23,0x41,0x23,0x41,0x21,0x6,0x22,0x44,0x21,
+0x44,0x21,0x44,0x21,0x44,0x21,0x44,0x21,0x44,0x21,0x44,0x22,0x5,0x22,
+0x41,0xe3,0x00,0x00,0x21,0x41,0x63,0x21,0x41,0x63,0x21,0x41,0x63,0x21,0x41,0x63,
+0x21,0x41,0x63,0x21,0x41,0x63,0x22,0x5,0x22,0x41,0x63,0x21,0x41,0x63,
+0x21,0x41,0x63,0x21,0x41,0x63,0x21,0x41,0x63,0x21,0x41,0x63,0x21,0x41,
+0x63,0x22,0x5,};
+sprite tankki ={ 43,7,(char*)100,tankki_cmpr};
+
+u8*tumpsa_pict,tumpsa_mask;
+u8 tumpsa_cmpr[]={
+0xe3,0x00,0xff,0xe1,0x88,0x00,0x5,0x22,0x3,0x24,};
+sprite tumpsa ={ 6,3,(char*)10,tumpsa_cmpr};
+
+u8*isanta_pict,isanta_mask;
+u8 isanta_cmpr[]={
+0xf1,0x00,0xff,0xe4,0x02,0x00,0x17,0x27,0x4,
+0xe3,0x77,0x00,0x12,0x46,0x2,0x43,0x6,0xe7,0x44,0x00,0x6,0x41,0xe1,0x00,0x00,0x42,0x81,0x41,0x1,
+0x43,0xe2,0x6e,0x00,0x4,0x41,0x81,0x42,0x81,0x41,0x8,0x46,0x3,0xe2,0x19,0x00,0xa2,0x3,
+0x46,0x9,0x41,0x82,0x41,0x2,0xc4,0x1,0xa2,0x2,0xa6,0x6,0xcb,0x5,
+0xaa,0x3,0xcb,0x6,0xa1,0x1,0xab,0x41,0xc9,0x7,0xaa,0x4,0xc9,0x8,
+0xaa,0x5,0xc6,0x9,0xaa,0x5,0x82,0x2,0x82,0x9,0xaa,0x3,0x84,0x2,
+0x84,0x8,0x83,0x2,0x83,0x4,0x84,0x2,0x84,0x6,};
+sprite isanta ={ 30,14,(char*)99,isanta_cmpr};
+
+void decompress_bitmap(u8*dpic,u8*dmask,u8*s,int count)
+{
+   u8 pal[7],palm[7],palidx=0;
+   u8 col,msk,rep,*s1=s+count;
+
+   while(s<s1)
+   {
+      u8 a=*s++;
+
+      rep=a&31;
+      col=a>>5;
+      
+      if(col==7){pal[palidx]=col=*s++;palm[palidx]=msk=*s++;palidx++;if(palidx==7)palidx=0;}
+            else{msk=palm[col];col=pal[col];}
+
+      if(rep)
+      for(;rep;rep--){*dpic++=col;*dmask++=msk;}
+   }
+}
+sprite*allbmps[]={&pwp_sf,&esittaa,&forevisar,&pelu,&piimae,&taehti,&tankki,&tumpsa,&isanta,NULL };
+void decompress_allbmp()
+{
+   u8*d,*d2;
+   sprite**s=allbmps;
+   while(*s)
+   {
+      d=malloc((*s)->width*(*s)->height*sizeof(u8));
+      d2=malloc((*s)->width*(*s)->height*sizeof(u8));
+      decompress_bitmap(d,d2,(*s)->mask,(int)((*s)->pict));
+      (*s)->pict=d;
+      (*s)->mask=d2;
+      s++;
+   }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nykyaeka/sprites.pl	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,315 @@
+#!/usr/bin/perl
+
+#   color=>grayscale palettes:
+#
+#   0x00,0x08,0x80,0x88,0x87,0x78,0x77,0x7f,0xf7,0xff
+
+###########################
+
+$spritz="sprite*allbmps[]={";
+
+$wrct=0;
+sub wr
+{
+   printf("0x%x,",$_[0]);
+   $wrct+=5;
+   if($wrct>=70){printf("\n");$wrct=0;}
+}
+
+sub wrrle
+{
+   my ($ch,$cnt)=($_[0],$_[1]);
+
+   if($cnt==0){return;}
+   
+   $z=-1;
+   for($i=0;$i<7;$i++){if($cpal[$i] eq $ch){$z=$i;}}
+
+   if($z==-1)
+   {
+      $cpal[$cpalidx]=$ch;
+      $cpalidx++;
+      if($cpalidx==7){$cpalidx=0;}
+      wr((7<<5)|$cnt);
+      if($pal{ord($ch)} eq '') { print "/* ERROR - $ch */"; }
+      print $pal{ord($ch)}.",";
+      $sz+=3;
+   }
+    else
+   {
+      wr(($z<<5)|$cnt);
+      $sz++;
+   }
+}
+
+sub bitmap
+{
+   $bmpname=$_[0];
+   $sz=0;
+
+   @colors=split('/',$_[1]);
+   foreach(@colors)
+   {
+      ($ch,$col,$msk)=split(':',$_);
+      $pal{ord($ch)}="0x".$col.",0x".$msk;
+   }
+
+   @lines=split("\n",$_[2]);
+   $xdim=0;$ydim=0;
+
+   foreach(@lines)
+   {
+      if(length($_)>$xdim) { $xdim=length($_); }
+   }
+
+   print "u8*".$bmpname."_pict,".$bmpname."_mask;\n";
+   print "u8 ".$bmpname."_cmpr[]={\n";
+   $ydim=0;
+
+   @cpal=('å','å','å','å','å','å','å');$cpalidx=0;
+   $repch="å";$repcnt=0;
+   foreach(@lines)
+   {
+      for($x=0;$x<$xdim;$x++)
+      {
+         $ch=substr($_,$x,1);
+         if($ch eq "") { $ch=" "; }
+
+         if($ch eq $repch)
+         {
+            $repcnt++;
+            if($repcnt==31){$repcnt=0;wrrle($repch,31);}
+         }
+          else
+         {
+            wrrle($repch,$repcnt);
+            $repch=$ch;$repcnt=1;
+         }
+      }
+      $ydim++;
+   }
+   wrrle($repch,$repcnt);
+   print "};\n";
+   print "sprite $bmpname ={ $xdim,$ydim,(char*)$sz,$bmpname"."_cmpr};\n\n";
+
+   $spritz .= '&'.$bmpname.',';
+}
+
+&bitmap('pwp_sf','x:7f:00/ =:00:ff',<<EOD);
+     xxxxxxxxxxx
+    xxxxxxxxxxxxx
+   xx           xx
+  xx             xx
+ xx xxx x   x xxx xx
+xx  x x x   x x x  xx
+xx  x x x x x x x  xx
+xx  xxx x x x xxx  xx
+xx  x   x x x x    xx
+xx  x   x x x x    xx
+ xx x   xxxxx x   xx
+  xx             xx
+   xx           xx
+    xxxxxxxxxxxxx
+     xxxxxxxxxxx
+EOD
+
+&bitmap('esittaa','x:7f:00/ =:00:ff',<<EOD);
+                        x  x  x  x  
+                x   x               
+ xxx   xxx   x xxx xxx  xxxx  xxxx  
+x   x x         x   x  x   x x   x  
+xxxx   xxx   x  x   x  x   x x   x 
+x         x  x  x   x  x   x x   x  
+ xxx xxxxx  x  x  xx    xxx   xxx x
+EOD
+
+&bitmap('forevisar','x:7f:00/ =:00:ff',<<EOD);
+      x  x
+      
+   xx  xx  x xx  xx  x  x  x  xxx   xxxx  x xx
+  x   x  x xx   x  x x  x    x     x   x  xx
+  x   x  x x    xxx   x x  x  xxx  x   x  x
+xxxxx x  x x    x     x x  x     x x   x  x
+  x    xx  x     xxxx  xx x  xxxx   xxx  x
+  x
+  x                                      
+EOD
+
+&bitmap('pelu','n:44:00/-:00:ff/ :00:ff/@:87:00/.:11:82/x:44:00/Z:e6:00/o:ff:00',<<EOD);
+--------------------------------
+-
+-
+-
+-
+          nnnnnnnnnnn
+              nn
+              nn
+     xxxxxxxxxxxxx
+         xxxxxxxxxx
+         ....ZZZZZZ
+         .....@@@@@
+         .o...@@@@@
+         ....@@@@@@@
+         @@@@@@@@@@@
+       @@@@@@@@@@@@@
+     @@@@@@@@@@@@@@@
+              @@@@
+     xx    @@@@@@@
+     @@@@@@@@@@@@@
+       @@@@@@@@@@@
+         @@@@@@@@@
+         @@@@@@@@@
+           @@@@@@
+            @@@@@
+             @@@@
+-
+-
+-
+-
+-
+-
+EOD
+
+&bitmap('piimae','-:00:ff/k:ee:00/ :00:ff/!:66:00/=:7f:00/x:00:00/;:6e:88',<<EOD);
+--------------------------------
+-
+-                 
+-
+             kkkk
+             !!!!
+             !!!!         
+            !!!;!!        
+          !!!!!;!!!!      
+         !!!!!!!!!!!!     
+        !!!!!!!!!;;;!!    
+       !!!!!!!!!!!;;!!!   
+       !!!!!!!!!!!!;!!!  
+       !!!!!!!!!!!!!!!!
+       !!!!!!!!!!!!!!!!
+       ================
+       =xxxxx==x==x==x=
+       =x===x==x==x==xx
+       =xxxxx==x==x==x=
+       =x======x==x==x=
+       =x======x==x==x=
+       =x======x==x==x=
+       ================
+       !!!!!!!!!!!!!!!!
+       !!!!!!!!!!!!!!!!
+       !!!!!!!!!!!!!!!!
+       !!!!!!!!!!!!!!!!
+-
+-
+-
+-
+-
+EOD
+
+&bitmap('taehti','-:44:00/ :44:00/*:6e:00',<<EOD);
+--------------------------------
+-
+-
+-          *   *   *
+-          ** *** **
+-           *******
+-           *******
+-         ***********
+-           *******
+-           *******
+-          ** *** **
+-          *   *   *
+-
+- 
+-   ***   ****  **  ****   ****
+-  ** ** **  ** ** **  ** **  **
+-  **    **  ** *****  **    **
+-  ** ** **  ** ** **  ** **  **
+-   ***   ****  **  ****   ****
+-
+-
+-   * * *  * * *  * * *  * * *
+-    ***    ***    ***    ***
+-   * * *  * * *  * * *  * * *
+-         
+- 
+-    
+-   
+-       
+-          
+-
+EOD
+
+&bitmap('tankki','z:77:00/ :00:ff/0:00:00/x:88:00',<<EOD);
+                   zzzz
+                zzzzzzzzzzzzzzzzzzzzzzzzzzz
+     zzz zzzz  xxxxxxxxxxx
+ zxzxzzzxzzxzxzzzzzzzzzzzzzxzzzxzzzxz
+zzxxxxzxxxxzxxxxzxxxxzxxxxzxxxxzxxxxzz
+zzx000zx000zx000zx000zx000zx000zx000zz
+zzx000zx000zx000zx000zx000zx000zx000zz
+EOD
+
+&bitmap('tumpsa','x:88:00/ :00:ff',<<EOD);
+   x
+   xx
+  xxxx
+EOD
+
+&bitmap('isanta',' :00:ff/x:44:00/z:02:00/;:77:00/0:00:00/b:19:00/y:6e:00',<<EOD);
+                 zzzz
+              zzzzzzz    ;;;
+                ;;;;;;  ;;;
+   xxxxxxx      ;0;;0; ;;;yy
+  ;0;;0;        ;;;;;;   bbyy
+  ;;;;;;         ;00;  bbbb yy
+  yyyyyy      bbbbbbbbbbb
+yyyyyyyyyy   bbbbbbbbbbb  
+y yyyyyyyyyyy;bbbbbbbbb   
+yyyyyyyyyy    bbbbbbbbb   
+ yyyyyyyyyy     bbbbbb    
+ yyyyyyyyyy     00  00
+ yyyyyyyyyy   0000  0000
+  000  000    0000  0000
+EOD
+
+print <<JOOH;
+void decompress_bitmap(u8*dpic,u8*dmask,u8*s,int count)
+{
+   u8 pal[7],palm[7],palidx=0;
+   u8 col,msk,rep,*s1=s+count;
+
+   while(s<s1)
+   {
+      u8 a=*s++;
+
+      rep=a&31;
+      col=a>>5;
+      
+      if(col==7){pal[palidx]=col=*s++;palm[palidx]=msk=*s++;palidx++;if(palidx==7)palidx=0;}
+            else{msk=palm[col];col=pal[col];}
+
+      if(rep)
+      for(;rep;rep--){*dpic++=col;*dmask++=msk;}
+   }
+}
+JOOH
+
+print $spritz,"NULL };\n";
+
+print <<JOOH2
+void decompress_allbmp()
+{
+   u8*d,*d2;
+   sprite**s=allbmps;
+   while(*s)
+   {
+      d=malloc((*s)->width*(*s)->height*sizeof(u8));
+      d2=malloc((*s)->width*(*s)->height*sizeof(u8));
+      decompress_bitmap(d,d2,(*s)->mask,(int)((*s)->pict));
+      (*s)->pict=d;
+      (*s)->mask=d2;
+      s++;
+   }
+}
+JOOH2
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/Makefile.in	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,23 @@
+all: oldchsool
+
+OBJS      = sprites.o main.o musa.o planes.o landscro.o
+
+############################
+
+sprites.o: sprites.c sprites.h font.h
+
+sprites.h: sprites.pl
+	./sprites.pl > sprites.h
+
+musa.o: musa.c musa.h
+
+musa.h: musa.pl
+	./musa.pl > musa.h
+
+font.h: font.pl
+	./font.pl > font.h
+
+clean:
+	rm -rf *.o *~ oldchsool *.exe
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/font.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,24 @@
+#include "pwpdemo.h"
+
+#include "font.h"
+
+void writetext(char*txt,unsigned char*font)
+{
+   int wdt=0;
+
+   int z=*txt-'A',a;
+
+   while(z)
+   {
+      if(*font==0)z--;
+      font++;
+   }
+   while((a=*font))
+   {          
+      char*d=   
+      for(;a;a>>=1)
+      {
+         d+=
+      }
+   }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/font.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,35 @@
+unsigned char font[]={
+0x00,
+0x78,0x7f,0x9,0x9,0x7f,0x7f,0x00,
+0x7f,0x7f,0x49,0x49,0x4f,0x78,0x00,
+0x78,0x7f,0x41,0x41,0x41,0x41,0x00,
+0x7f,0x41,0x41,0x41,0x7f,0x78,0x00,
+0x78,0x7f,0x49,0x49,0x41,0x41,0x00,
+0x78,0x7f,0x9,0x9,0x1,0x1,0x00,
+0x78,0x7f,0x41,0x41,0x59,0x79,0x00,
+0x78,0x7f,0x8,0x8,0x7f,0x7f,0x00,
+0x78,0x7f,0x00,
+0x60,0x60,0x40,0x78,0x7f,0x00,
+0x7f,0x78,0xc,0x1e,0x73,0x61,0x61,0x00,
+0x78,0x7f,0x40,0x40,0x40,0x40,0x00,
+0x78,0x7f,0x1,0x79,0x7f,0x1,0x7f,0x7f,0x00,
+0x78,0x7f,0x1,0x1,0x7f,0x7f,0x00,
+0x78,0x7f,0x41,0x41,0x41,0x7f,0x00,
+0x7f,0x79,0x9,0x9,0x9,0xf,0x00,
+0x78,0x7f,0x41,0x51,0x71,0x7f,0x00,
+0x78,0x7f,0x1,0x1,0x1,0x1,0x00,
+0x40,0x4f,0x49,0x49,0x79,0x79,0x00,
+0x1,0x1,0x79,0x7f,0x1,0x1,0x00,
+0x7f,0x78,0x40,0x40,0x7f,0x7f,0x00,
+0xf,0x7f,0x70,0x40,0x7f,0xf,0x00,
+0xf,0x7f,0x40,0x7f,0x7f,0x40,0x7f,0xf,0x00,
+0x4f,0x4f,0x48,0x78,0x7f,0x9,0x9,0x79,0x00,
+0x4f,0x4f,0x48,0x48,0x78,0x7f,0x00,
+0x79,0x79,0x49,0x49,0x49,0x4f,0x00,
+0x7d,0x7d,0x14,0x15,0x7d,0x70,0x00,
+0x70,0x7d,0x45,0x44,0x7d,0x7d,0x00,
+0x8,0x8,0x18,0x18,0x00,
+};
+
+char font_lengths[]={1,7,7,7,7,7,7,7,7,3,6,8,7,9,7,7,7,7,7,7,7,7,7,9,9,7,7,7,7,5,};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/font.pl	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,275 @@
+#!/opt/bin/perl5
+##!/usr/bin/perl
+
+sub encode_font()
+{
+   @lines=split("\n",$_[0]);
+   $widths="";
+   $offsets="";
+   $crroff=0;
+   for($i=0;$i<$#lines;$i+=8)
+   {
+      $byte=0;
+      $x=0;
+      do
+      {
+         $byte=0;
+         for($j=0;$j<8;$j++)
+         {
+            if(substr($lines[$i+$j],$x,1) eq 'a') { $byte |= (1<<$j); }
+         }
+         if($byte!=0)
+         {
+            printf("0x%x,",$byte);
+            $crroff++;
+         }
+         $x++;
+      } while($byte!=0);
+      $lengths.=sprintf("%d,",$x);
+      print "0x00,\n";
+   }
+}
+
+print "unsigned char font[]={\n";
+&encode_font(<<EOD);
+...
+...
+...
+...
+...
+...
+...
+
+.aaaaa
+.a..aa
+.a..aa
+aaaaaa
+aa..aa
+aa..aa
+aa..aa
+
+aaaaa.
+aa..a.
+aa..a.
+aaaaaa
+aa...a
+aa...a
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aa....
+aa....
+aa....
+aaaaaa
+
+aaaaa.
+a...a.
+a...a.
+a...aa
+a...aa
+a...aa
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aaaa..
+aa....
+aa....
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aaaa..
+aa....
+aa....
+aa....
+
+.aaaaa
+.a....
+.a....
+aa..aa
+aa..aa
+aa...a
+aaaaaa
+
+.a..aa
+.a..aa
+.a..aa
+aaaaaa
+aa..aa
+aa..aa
+aa..aa
+
+.a
+.a
+.a
+aa
+aa
+aa
+aa
+
+....a
+....a
+....a
+...aa
+...aa
+aa.aa
+aaaaa
+
+a...aaa
+a..aa..
+a.aa...
+aaaa...
+aa.aa..
+aa..aaa
+aa..aaa
+
+.a....
+.a....
+.a....
+aa....
+aa....
+aa....
+aaaaaa
+
+.aaaaaaa
+.a..a.aa
+.a..a.aa
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+
+.aaaaa
+.a..aa
+.a..aa
+aa..aa
+aa..aa
+aa..aa
+aa..aa
+
+.aaaaa
+.a...a
+.a...a
+aa...a
+aa...a
+aa...a
+aaaaaa
+
+aaaaaa
+a....a
+a....a
+aaaaaa
+aa....
+aa....
+aa....
+
+.aaaaa
+.a...a
+.a...a
+aa...a
+aa.aaa
+aa..aa
+aaaaaa
+
+.aaaaa
+.a....
+.a....
+aa....
+aa....
+aa....
+aa....
+
+.aaaaa
+.a....
+.a....
+.aaaaa
+....aa
+....aa
+aaaaaa
+
+aaaaaa
+...a..
+...a..
+..aa..
+..aa..
+..aa..
+..aa..
+
+a...aa
+a...aa
+a...aa
+aa..aa
+aa..aa
+aa..aa
+aaaaaa
+
+aa..aa
+aa..aa
+aa..aa
+aa..aa
+.aa.a.
+.aa.a.
+.aaaa.
+
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+aa.aa.aa
+.a.aa.a.
+.a.aa.a.
+.aaaaaa.
+
+aa..aaaa
+aa..a...
+aa..a...
+aaaaaaaa
+...aa..a
+...aa..a
+aaaaa..a
+
+aa...a
+aa...a
+aa...a
+aaaaaa
+....aa
+....aa
+aaaaaa
+
+aaaaaa
+.....a
+.....a
+aaaaaa
+aa....
+aa....
+aaaaaa
+
+aa.aa.
+......
+aaaaa.
+aa..a.
+aaaaaa
+aa..aa
+aa..aa
+
+.aa.aa 
+......
+.aaaaa
+.a..aa
+aa..aa
+aa..aa
+aaaaaa
+
+....
+....
+....
+aaaa
+..aa
+....
+....
+EOD
+print "};\n\nchar font_lengths[]={$lengths};\n\n";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/joo	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,1 @@
+bash: ./nykyaeka/nykyaeka.exe: No such file or directory
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/landscro.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,96 @@
+#include "pwpdemo.h"
+
+/*
+char texture1[32*32]={
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x99,0x89,0x89,0x89,0x89,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x99,0x99,0x89,0x89,0x89,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x89,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x89,0x89,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x10,0x10,0x10,0x89,0x99,0x10,0x10,0x89,0x99,0x99,0x89,0x99,0x99,0x89,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x10,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x99,0x99,0x99,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x10,0x89,0x99,0x10,0x01,0x01,
+0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x10,0x10,0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x89,0x89,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x89,0x99,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x89,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,
+0x10,0x01,0x01,0x01,0x10,0x10,0x99,0x99,0x89,0x99,0x99,0x99,0x89,0x10,0x10,0x10,0x99,0x99,0x99,0x89,0x89,0x99,0x99,0x99,0x10,0x99,0x10,0x10,0x10,0x10,0x10,0x10,
+0x10,0x01,0x01,0x10,0x10,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x99,0x10,0x01,0x10,0x10,0x99,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x10,0x10,0x89,0x99,0x99,0x10,
+0x10,0x01,0x01,0x10,0x99,0x99,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x01,0x01,0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x89,0x89,0x89,0x89,0x10,0x10,0x10,0x89,0x89,
+0x10,0x01,0x01,0x10,0x99,0x99,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x99,0x99,0x99,0x89,0x89,0x99,0x10,0x10,0x10,0x01,0x10,0x10,0x10,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x99,0x99,0x99,0x99,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x99,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x10,0x10,0x10,0x10,0x89,0x89,0x10,0x10,0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x99,0x89,0x99,0x99,0x89,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,
+0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x89,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x89,0x10,0x10,0x10,0x01,0x01,0x01,
+0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x89,0x99,0x10,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x89,0x10,0x10,0x01,0x01,
+0x10,0x89,0x89,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x99,0x99,0x99,0x10,0x10,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x99,0x10,0x01,0x01,
+0x10,0x10,0x10,0x10,0x89,0x99,0x99,0x89,0x99,0x99,0x99,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x89,0x89,0x99,0x99,0x99,0x10,
+0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x10,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x10,0x89,0x10,0x10,0x89,0x89,0x89,0x89,0x89,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x01,0x01,0x10,0x99,0x99,0x10,0x10,0x10,0x89,0x89,0x99,0x10,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x89,0x89,0x89,0x99,0x99,0x99,0x10,0x01,0x01,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x01,0x10,0x10,0x89,0x99,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x89,0x99,0x10,0x99,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x89,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01
+};
+*/
+
+unsigned char texture1[32*32]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0x02,0x02,0x02,0x02,0x02,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,0xaa,0x8a,0x8a,0x8a,0x8a,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,0xaa,0xaa,0x8a,0x8a,0x8a,0x02,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,0x02,0x02,0x02,0x02,0x02,0x8a,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x02,0x02,0x02,0x8a,0xaa,0x02,0x02,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0x8a,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x02,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xaa,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0x02,0x8a,0xaa,0x02,0x00,0x00,
+0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x02,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0x8a,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8a,0xaa,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,
+0x02,0x00,0x00,0x00,0x02,0x02,0xaa,0xaa,0x8a,0xaa,0xaa,0xaa,0x8a,0x02,0x02,0x02,0xaa,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,
+0x02,0x00,0x00,0x02,0x02,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,0x00,0x02,0x02,0xaa,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x02,0x02,0x8a,0xaa,0xaa,0x02,
+0x02,0x00,0x00,0x02,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x00,0x00,0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x02,0x02,0x02,0x8a,0x8a,
+0x02,0x00,0x00,0x02,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0xaa,0xaa,0xaa,0x8a,0x8a,0xaa,0x02,0x02,0x02,0x00,0x02,0x02,0x02,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0xaa,0xaa,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0xaa,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x02,0x02,0x02,0x02,0x8a,0x8a,0x02,0x02,0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x8a,0xaa,0xaa,0x8a,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,
+0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0x8a,0x02,0x02,0x02,0x00,0x00,0x00,
+0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x8a,0xaa,0x02,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x8a,0x02,0x02,0x00,0x00,
+0x02,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0xaa,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0xaa,0x02,0x00,0x00,
+0x02,0x02,0x02,0x02,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0xaa,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,
+0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x02,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x02,0x8a,0x02,0x02,0x8a,0x8a,0x8a,0x8a,0x8a,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x00,0x00,0x02,0xaa,0xaa,0x02,0x02,0x02,0x8a,0x8a,0xaa,0x02,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,0x00,0x00,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x00,0x02,0x02,0x8a,0xaa,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x8a,0xaa,0x02,0xaa,0x02,0x02,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,0x02,0x02,0x02,0x02,0x02,0x02,0x8a,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,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
+};
+
+void scroller_do(int t,int hg)
+{
+        u8*d=pwplib_buf;
+
+	static int lastt=0;
+	int y,offy,k=120;
+
+        if(hg<0)hg=0;else if(hg>pwplib_bufh-1)
+          hg=pwplib_bufh-1;
+
+        memset(d,0x11,pwplib_bufw*(pwplib_bufh-hg));
+        d+=pwplib_bufw*(pwplib_bufh-hg);
+
+        for(y=0;y<hg;y++)
+        {
+             register int dofz=(hg*64*80/pwplib_bufw)/(y+3),
+	                  ofz=t*32-dofz*20-((dofz>>4)*32*256);
+             {int x=pwplib_bufw;
+                  for(;x;x--)*d++=texture1[((ofz+=dofz)>>8)&1023];}
+	     k-=(k>>3);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/main.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,463 @@
+#if 0
+# include <stdio.h>
+# include <stdlib.h>
+# include <string.h>
+# include <unistd.h>
+#endif
+
+#include "pwplib.h"
+
+#define MAX(a,b) ((a)<(b)?(b):(a))
+#define MIN(a,b) ((a)>(b)?(b):(a))
+
+struct
+{
+   int dsgtime;
+
+   int flagz;
+   int planemode;
+   
+   int enctime,enckode,enczoom,encspeed;
+
+   int endfxt;
+   
+   int metsaemode;
+   int bouncemode;
+}demovar;
+
+#define Z 128
+#define z 128
+#define K 19
+
+u8 pwplogofield[16*16] = {
+3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
+3,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,
+3,3,3,3,11,3,z,0,z,3,3,11,11,11,3,3,
+z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,
+2,2,2,2,z,2,z,z,z,2,z,2,2,11,2,z,
+2,z,z,2,z,2,z,2,z,2,z,2,z,z,2,z,
+2,z,z,2,z,2,z,2,z,2,z,2,z,z,2,z,
+2,2,2,2,z,2,z,2,z,2,z,2,2,2,2,z,
+2,z,z,z,11,2,0,2,0,2,z,2,z,z,z,z,
+2,z,z,z,z,2,2,2,2,2,z,2,z,z,z,z,
+z,1,z,z,1,z,1,z,z,z,1,z,z,1,1,z,
+3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
+3,z,z,z,z,z,z,z,z,z,z,z,z,z,z,3,
+3,z,z,z,z,z,3,1,3,1,z,1,1,z,z,3,
+3,z,1,z,z,z,3,1,3,z,z,z,z,z,z,3,
+3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
+};
+
+u8 pwpendfield[16*16] = {
+z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,
+z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,
+z,z,z,z,z,3,z,z,z,3,z,z,z,z,z,z,
+z,z,z,z,1,3,z,z,z,3,z,z,z,z,z,z,
+z,z,z,z,z,3,z,z,z,3,z,z,z,z,z,z,
+z,3,3,3,z,3,z,3,z,3,z,3,3,3,z,z,
+z,3,z,3,z,3,z,3,1,3,z,3,z,3,z,z,
+z,3,3,3,z,3,1,3,z,3,1,3,3,3,z,z,
+z,3,z,z,1,3,3,3,3,3,z,3,z,z,z,z,
+z,3,z,z,z,z,z,z,z,z,1,3,z,z,z,z,
+z,3,1,z,z,z,z,z,z,z,z,3,z,z,z,z,
+z,3,z,z,z,z,z,z,z,z,z,3,z,z,z,z,
+z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,
+z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,
+z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,
+z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z
+};
+
+u8 bartyblasefield[16*16] = {
+3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,z,
+3,1,1,z,z,z,z,z,z,z,z,z,z,z,z,3,
+3,z,z,1,z,z,z,z,z,z,z,z,z,z,z,3,
+3,z,z,z,z,z,z,1,z,1,z,1,z,1,z,3,
+3,1,K,z,K,z,K,z,K,z,K,z,K,z,z,3,
+3,z,2,1,2,z,2,z,2,z,2,z,2,1,z,3,
+3,z,2,z,2,z,2,1,2,1,2,1,2,z,z,3,
+3,1,K,z,K,z,K,z,K,z,K,z,K,z,z,3,
+3,z,2,z,2,z,2,1,2,z,2,z,2,z,z,z,
+3,1,2,1,2,z,2,z,2,1,2,z,2,z,z,3,
+3,z,K,1,K,z,K,z,K,z,K,1,K,1,z,3,
+3,z,2,z,2,z,2,1,2,z,2,z,2,1,z,3,
+3,z,2,1,2,z,2,z,2,1,2,z,2,z,z,3,
+3,z,K,z,K,z,K,z,K,z,K,z,K,1,z,3,
+3,z,1,1,z,1,z,z,1,z,1,z,z,z,z,3,
+3,3,3,3,3,3,3,3,3,3,3,3,3,z,3,3,
+};
+
+
+u8 bdashfield[16*16];
+
+/*
+u8 bdashfield[16*16] = {
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+2,Z,Z,Z,2,Z,Z,1,Z,Z,Z,2,Z,Z,Z,2,
+2,Z,Z,Z,2,Z,Z,1,Z,Z,Z,2,Z,Z,Z,2,
+2,Z,Z,Z,2,Z,Z,1,Z,Z,Z,2,Z,Z,Z,2,
+2,Z,Z,Z,2,2,2,2,2,2,2,2,Z,Z,Z,2,
+2,Z,Z,Z,Z,Z,3,Z,3,Z,Z,Z,Z,Z,Z,2,
+2,Z,Z,Z,Z,Z,3,Z,3,Z,Z,Z,Z,Z,Z,2,
+2,Z,Z,Z,Z,Z,0,Z,3,Z,Z,Z,Z,Z,Z,2,
+2,Z,Z,Z,Z,Z,3,Z,3,Z,Z,Z,Z,Z,Z,2,
+2,Z,Z,Z,Z,Z,3,Z,3,Z,Z,Z,Z,Z,Z,2,
+2,Z,Z,Z,2,2,2,2,2,2,2,2,Z,Z,Z,2,
+2,Z,Z,Z,2,Z,Z,1,Z,Z,Z,2,Z,Z,Z,2,
+2,Z,Z,Z,2,Z,Z,1,Z,Z,Z,2,Z,Z,Z,2,
+2,Z,Z,Z,2,Z,Z,1,Z,Z,Z,2,Z,Z,Z,2,
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
+};
+*/
+#undef Z
+
+void rundemo()
+{
+   int quit=0,clrfx=0,fx=0,subfx=0;
+
+   pwplib_startup();
+   
+   decompress_allbmp();
+   bwpals();
+
+   pwplib_buf=
+     malloc(sizeof(u8)*pwplib_bufw*pwplib_bufh);
+
+   if(!pwplib_setup(NOSOUND))
+   initplayer();
+
+   pwplib_prep_attr();
+
+   demovar.flagz=8|16;
+   
+   {demovar.dsgtime=0;
+    demovar.endfxt=1<<30;
+    demovar.metsaemode=0;
+   while(!quit)
+   {
+     int t=pwplib_timer();
+    
+     while(demovar.dsgtime<=t)
+     {
+        if(0==(demovar.dsgtime&15))
+        { simulate_bdash(bdashfield); }
+
+        switch((int)demovar.dsgtime)
+        {
+           case(0): fx=8; subfx=0; memcpy(bdashfield,pwplogofield,256*sizeof(u8)); break;
+
+           case(384): newtext(384,"OLDCHSOOL",0xff); break;
+
+	   case(256): fx=8; break;
+
+           case(512-64): clrfx=1; subfx=fx=0; break;
+           case(512-48): subfx++; break;
+           case(512-16): subfx++; break;
+           case(512-8): subfx++; break;
+
+           case(512): fx=0;clrfx=5;subfx=0+16;
+           newtext(512,"OLDCHSOOL\nTARKOTTAA",0xff);break;
+
+           case(512+128):
+            newtext(512+128,"SEMMOSTA\n TYYPPII\nJOKA OLI",0xff);break;
+
+           case(512+256):newtext(512+256,"EKALLA\nASSENPLY\nMESSULLA",0xff);break;
+
+           case(512+384): newtext(512+384,"JO ENNEN\n  VUOTTA\n   ZOOO",0xff); break;
+           
+           case(512+512):newtext(512+512,"OLDCHSOOL\n HEMMOT\n   ON",0xff); break;
+           
+           case(1024+128): newtext(1024+128," HIRVE[N\nISOJA JA\n RUMIA",0xff); fx|=2; break;
+           
+           case(1024+256): newtext(1024+256,"NIILL[ ON\n  TYTT\\\n YST[V[",0xff); break;
+           
+         /*  case(1024+384-8): fadeoldsk(1024+384-32); break;
+         */ 
+           case(1024+384): 
+                           newtext(1024+384,"JA NE ON\n AMATTI\n KOLUSSA",0xff); break;
+                  
+	   case(1024+512): fx=2; subfx=17; clrfx=0; break;
+
+	   case(1024+512+128+64): fx=8|2;subfx=1;
+             memcpy(bdashfield,bartyblasefield,256*sizeof(u8));
+           break;
+
+	   case(1024+512+256+64): fx=4|8;break;
+
+           case(2048-128): fx=5; break;
+
+           case(2048): newtext(2048,"OLDCHSOOL\nHEMMOILLA\n   ON",0xff);break;
+           
+           case(2048+128): newtext(2048+128,"GOMONDORE\n NIMINEN\n TIETSKA",0xff);break;
+
+           case(2048+256): newtext(2048+256,"SILL[ EI\nVOI EES\n PELATA",0xff);break;
+           
+           case(2048+384): newtext(2048+384,"MUUTA KU\n CUAKE\nYKK\\ST[",0xff);break;
+
+           case(2048+512): newtext(2048+512,"OLDCHSOOL\nHEMMOILLE\n   ON",0xff);fx=1;break;
+
+           case(2048+512+128):
+             newtext (2048+512+128, "ASEMPLY\nMESSUILLA\nOMA ALUE", 0xff);
+             break;
+           
+           case(2048+512+256): newtext(2048+512+256,"JOSSA NE\nPIIKITT[[\nCANABISTA",0xff);fx=0;break;
+          
+           case(2048+512+384-16): fadeoldsk(2048+512+384-16); break;
+ 
+           case(2048+512+384): newtext(2048+512+384,"JA PELAA\n  CUACE\n YKK\\ST[",0xff);break;
+           
+           case(2048+1024): fx=8;subfx=2; break;
+
+           case(2048+1024+139):
+           case(2048+1024+128):
+           case(2048+1024+80):
+           case(2048+1024+109):
+           case(2048+1024+137):
+           case(2048+1024+112):
+           case(2048+1024+99):
+           case(2048+1024+140):
+           case(2048+1024+200):
+           case(2048+1024+220):
+           case(2048+1024+190):
+              bdashfield[16+11]=11; 
+                                bdashfield[16+5]=11; 
+              bdashfield[16+9]=11;
+              bdashfield[16+7]=11; 
+              bdashfield[64+11]=11; 
+                                bdashfield[32+5]=11; 
+              bdashfield[96+9]=11;
+              bdashfield[64+7]=11; break;
+
+           case(2048+1024+512-64): fx=10; break;
+
+           case(2048+1024+512):
+              fx=2;
+              newtext(2048+1024+512,"M[ HALUUN\n  OLLA\nOLDCHSOOL",0xff);
+           break;
+/*
+           case(2048+1024+512+128):
+              newtext(2048+1024+512+128,"MUN [ITIKI\nHALUU JA\n KOIRA",0xff);
+              break;
+*/
+           case(2048+1024+512+256):
+              newtext(2048+1024+512+256,"OLDCHSOOL\nON SUURI\nPELASTUS",0xff);
+              break;
+
+           case(2048+1024+512+384):
+              newtext(2048+1024+512+384,"JA AVAIN\nIKUISEEN\nEL[M[[N",0xff);break;
+
+           case(2048+2048):fx=0;break;
+
+           case(2048+2048+128):memcpy(bdashfield,pwpendfield,sizeof(u8)*256);
+              fx=8;subfx=3;break;
+
+           case(2048+2048+256):
+              newtext(2048+2048+256,"  PWP\n STILL\nOVERRULES",0xff);break;
+           case(2048+2048+512):
+              newtext(2048+2048+512," DESIGN\nCODE ETC\nBY VIZNUT",0xff);break;
+           case(2048+2048+768):
+              newtext(2048+2048+768,"GREETZ TO\nALL THE\nELITEZ",0xff);break;
+           case(2048+2048+1024):
+              newtext(2048+2048+1024,"   PWP\nPRODUCTION\n  ZOOI",0xff);break;
+
+           case(2048+2048+1024-64):
+              {int i=80;for(;i;i--){bdashfield[rand()&255]=11;
+               bdashfield[rand()&255]=1;}}break;
+
+
+           case(2048+2048+1024+256):quit=1;fx=0;break;
+/*
+
+    -----
+
+   OLDCHSOOL
+   HEMMOILLA
+      ON
+
+   GOMONDORE
+   NIMINEN
+   TIETSKA
+
+   SILLÄ EI
+   VOI EES
+    PELATA
+    
+   MUUTA KU
+    CUAKE
+   YKKÖSTÄ
+  
+      --
+
+   OLDCHSOOL
+   HEMMOILLE
+      ON
+      
+   ASSEMPLY
+   MESSUILLA
+   OMA ALUE
+   
+   JOSSA NE
+   PIIKITTÄÄ
+   CANABISTA
+   
+   JA PELAA
+     CUAKE
+    YKKÖSTÄ
+
+    ------
+
+     KAIKKI
+    OLDCHSOOL
+     TYYPIT
+
+     KUULUU
+    RIKOLLIS
+     JENGIIN
+
+    JOSSA NE
+      SYÖ
+    VAUVOJA
+
+      JA 
+    PIIKITTÄÄ
+    CANABISTA
+
+      --
+      
+     MINÄKIN
+     HALUAN
+     ISONA
+     
+     KOVAX
+    OLDCHSOOL
+     JÄBÄX
+
+
+      
+
+      ...
+     
+    ------
+
+                   
+  
+*/
+
+        }
+        demovar.dsgtime++;
+     }
+
+     /* clrscr */
+     
+     if(clrfx==1)
+     {
+        int fg=0x11,bord=0x99;
+
+        int y0=pwplib_bufh/8,y1=pwplib_bufh-y0,
+            xmar=pwplib_bufw/8;
+        
+        if(subfx>0) bord=rand()&255;
+
+        if(subfx>1) fg=bord;
+        
+        if(subfx>2) fg=bord=0x77;
+            
+        memset(pwplib_buf,bord,pwplib_bufw*pwplib_bufh*sizeof(u8));
+
+        for(;y0<y1;y0++)
+           memset(pwplib_buf+pwplib_bufw*y0+xmar,fg,sizeof(u8)*pwplib_bufw-xmar*2);
+     }
+     else
+
+      if(clrfx==5) planes_do(t,subfx);
+     else
+     memset(pwplib_buf,0,pwplib_bufw*pwplib_bufh*sizeof(u8));
+
+#            undef G
+
+    
+
+/*
+   OLCHSOOL
+    HEMMOT
+      ON
+      
+    HIRVEÄN
+   ISOJA JA
+   VANHOJA
+ 
+    NIILLON
+   TYTTÖ
+    YSTÄVÄ
+    
+   JA NE ON
+   AMATTI
+    KOLUSSA
+   
+----   
+
+     ENNEN
+     VUOTTA
+     ZOOO
+
+   OLI EKOIL
+   ASSENPL
+    MESSUIL
+    
+   OLDCHSOOL
+   TARKOTTAA
+   SEMMOSTA
+    TYYPPII
+     JOKA
+   
+*/
+
+    /********/
+
+   if(fx&1) scroller_do(t,pwplib.videobuf.height/2);
+  if(fx&8)
+   {
+   /*   bdashfield[rand()&255]=0;
+*/
+      if(subfx==0)
+            bdash_do(bdashfield,8*256,8*256,(128+abs(1024-((t<<4)&2047)))*2/3,t>>4);
+            else
+      if(subfx==1)
+            bdash_do(bdashfield,8*256,8*256,384,t>>4);
+            else
+      if(subfx==2)        
+            bdash_do(bdashfield,8*256,8*256,640,t>>4);
+            else
+            bdash_do(bdashfield,abs(8*256-((16*256-1)&(t<<4)))+102*8,8*256,640,t>>4);
+   }
+
+/* 768 */
+
+   if(fx&4) pelubounce0(t); 
+   if(fx&2) oldskzooms(t);
+
+   zoomer_do(t);
+
+     /* addtext(64+((t>>1)&63)); */ /* +(t&127)); */
+
+   /***********************/
+
+     pwplib_dump_rast();
+     if(!quit)pwplib_loopflush();
+   }
+   }
+   
+   pwplib_shutdown();
+}
+
+int main(int argc,char**argv)
+{
+   if(!pwplib_init(argc,argv))return 1;
+
+   initzoomers();
+
+   rundemo();
+
+   pwplib_shutdown();
+
+   return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/musa.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,132 @@
+#define pwplib_volume 64
+
+#ifndef STANDALONE
+
+#include "pwpdemo.h"
+
+#endif
+
+struct
+{
+   unsigned char*code,*codeptr;
+   int tonextcmd;
+
+   unsigned char seq[3][64];
+   int seqptr[3],seqlgt[3];
+   unsigned char seqbase[3];
+   unsigned char notes[16];
+
+   int tick,tempo;
+}player;
+
+static char musicode[] =
+{
+#include "musa.h"
+};
+
+void newnote()
+{
+   player.tonextcmd--;
+
+   while(player.tonextcmd<=0)
+   {
+      unsigned int cmd=*player.codeptr++;
+
+#ifdef STANDALONE
+      printf("command %d\n",cmd);
+#endif
+
+      if(cmd<4) /* SEQn,howmany,noteindices */
+      {
+         int i=0,lgt;
+         player.seqptr[cmd]=0;
+         player.seqlgt[cmd]=lgt=(unsigned char)*player.codeptr++;
+
+         for(;i<lgt;i++) player.seq[cmd][i]=*player.codeptr++; 
+      }
+      if(cmd==4) /* NOTES,howmany,notes */
+      {
+         int i=0;
+         int lgt=*player.codeptr++;
+
+         for(;i<lgt;i++) player.notes[i]=*player.codeptr++;
+      }
+      if(cmd==5) /* RELOOP */
+      {
+         player.codeptr=player.code;
+      }
+      if(cmd==6) /* WAIT,ticks */
+      {
+         player.tonextcmd=*player.codeptr++;
+      }
+      if(cmd==7) /* BASES,bases3 */
+      {
+         int i=0;
+         for(;i<3;i++)player.seqbase[i]=*player.codeptr++;
+      }
+   }
+
+   {int c=0;
+    for(;c<3;c++)
+    {
+       int noteidx=player.seq[c][player.seqptr[c]];
+       int note;
+
+       if(noteidx>=128) note=noteidx; else
+                        note=player.notes[noteidx]-5+player.seqbase[c];
+/*
+       printf("%d %d/%d\n",note,player.seqptr[c],player.seqlgt[c]);
+*/
+       player.seqptr[c]++;
+       if(player.seqptr[c]>=player.seqlgt[c]) player.seqptr[c]=0;
+
+       if(note<128) note+=player.seqbase[c];
+
+      if(note==254)
+         pwplib_sound_nv(c,0,0);
+      else 
+      if(note!=255)
+         pwplib_sound_nv(c,note<<8,pwplib_volume);
+     }
+   }
+#ifdef STANDALONE
+   printf("\n");
+#endif
+}
+
+void playtick()
+{
+   if(player.tick==0)
+      newnote();
+
+   player.tick++;
+   if(player.tick==player.tempo)
+     player.tick=0;
+}
+
+void initplayer()
+{
+   player.tonextcmd=0;
+   player.code=player.codeptr=musicode;
+
+   player.tick=0;
+   player.tempo=4;
+#ifndef STANDALONE
+   pwplib_setplayer(playtick);
+#endif
+}
+
+#ifdef STANDALONE
+
+pwplib_sound_nv(int c,int n,int v)
+{
+   printf("%d %d |",c,n>>8,v);
+}
+
+main()
+{
+   initplayer();
+   for(;;) playtick();
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/musa.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,186 @@
+7,36,24,12,
+0,1,254,
+2,32,0,254,0,254,0,255,255,254,0,254,0,254,0,255,255,254,0,254,0,254,0,255,255,254,1,255,255,254,0,255,255,254,
+1,32,0,254,1,254,2,254,0,254,0,254,1,254,2,254,0,254,3,0,3,1,3,0,3,2,3,0,1,2,3,0,3,2,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+0,16,3,254,0,254,3,254,0,254,3,0,3,1,3,0,3,1,
+6,16,
+0,128,3,254,0,254,1,254,2,254,3,254,254,254,0,254,254,254,3,254,0,254,1,254,2,254,3,254,2,254,3,254,2,254,3,254,0,254,1,254,2,254,3,254,254,254,0,254,3,254,2,254,254,254,3,254,254,254,1,254,2,254,3,254,0,254,3,254,0,254,1,254,2,254,3,254,254,254,0,254,254,254,3,254,0,254,1,254,2,254,3,254,2,254,3,254,2,254,3,254,0,254,1,254,2,254,3,254,0,254,1,254,2,254,3,254,0,254,3,254,1,254,0,254,254,254,3,255,255,2,
+1,32,0,254,1,254,2,254,0,254,0,254,1,254,2,254,0,254,2,0,1,0,2,0,1,0,3,0,1,2,3,0,3,2,
+2,32,0,254,0,254,0,255,255,254,0,254,0,254,0,255,255,254,0,254,0,254,0,255,255,254,1,255,255,254,0,255,255,254,
+7,36,24,12,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+7,41,29,17,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+0,1,254,
+7,36,24,12,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+0,16,3,254,0,254,3,254,0,254,3,0,3,1,3,0,3,1,
+6,16,
+0,128,3,254,0,254,1,254,2,254,3,254,3,254,0,254,254,254,3,254,254,254,1,254,254,254,3,254,2,254,3,254,2,254,3,254,0,254,1,254,2,254,3,254,3,254,0,254,1,254,2,254,254,254,3,254,254,254,1,254,2,254,3,254,0,254,3,254,0,254,1,254,2,254,3,254,3,254,0,254,254,254,3,254,254,254,1,254,2,254,3,254,2,254,3,254,2,254,3,254,0,254,1,254,2,254,3,254,3,254,0,254,1,254,3,254,254,254,3,254,1,254,0,254,254,254,3,255,255,2,
+2,32,0,254,0,254,0,255,255,254,0,254,0,254,0,255,255,254,0,254,0,254,0,255,255,254,1,255,255,254,0,255,255,254,
+1,32,0,254,1,254,2,254,0,254,0,254,1,254,2,254,0,254,3,0,3,1,3,0,3,2,3,0,1,2,3,0,3,2,
+7,36,24,12,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+7,41,29,17,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+0,1,254,
+7,36,24,12,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+0,16,3,254,0,254,3,254,0,254,3,0,3,1,3,0,3,1,
+6,16,
+0,128,3,254,0,254,1,254,2,254,3,254,3,254,0,254,254,254,3,254,254,254,1,254,254,254,3,254,2,254,3,254,2,254,3,254,0,254,1,254,2,254,3,254,3,254,0,254,1,254,2,254,254,254,3,254,254,254,1,254,2,254,3,254,0,254,3,254,0,254,1,254,2,254,3,254,3,254,0,254,254,254,3,254,254,254,1,254,2,254,3,254,2,254,3,254,2,254,3,254,0,254,1,254,2,254,3,254,3,254,0,254,1,254,3,254,254,254,3,254,1,254,0,254,254,254,3,255,255,2,
+2,32,0,254,0,254,0,255,255,254,0,254,0,254,0,255,255,254,0,254,0,254,0,255,255,254,1,255,255,254,0,255,255,254,
+1,32,0,254,1,254,2,254,0,254,0,254,1,254,2,254,0,254,3,0,3,1,3,0,3,2,3,0,1,2,3,0,3,2,
+7,36,24,12,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+7,39,27,15,
+4,4,0,3,7,12,
+6,16,
+4,4,3,7,10,15,
+6,16,
+4,4,2,5,9,14,
+6,16,
+4,4,0,3,7,12,
+6,16,
+0,1,254,
+1,1,254,
+2,1,254,
+6,64,
+0,64,0,254,0,254,0,254,0,254,1,254,2,254,3,254,2,254,0,254,0,254,0,254,0,254,2,254,254,254,0,254,254,254,1,254,1,254,1,254,1,254,0,254,3,254,2,254,3,254,1,254,1,254,1,254,1,254,0,254,254,254,1,254,0,254,
+1,32,0,254,1,254,2,254,3,254,2,254,1,254,0,254,1,254,2,254,3,254,2,254,1,254,0,254,1,254,2,254,3,254,
+2,32,0,255,255,254,0,255,255,254,0,255,255,254,1,255,255,254,0,255,255,254,0,255,255,254,0,255,255,254,2,255,255,254,
+7,36,24,12,
+4,4,0,3,7,12,
+6,48,
+4,4,3,7,10,15,
+6,16,
+4,4,0,3,7,12,
+6,48,
+4,4,3,7,10,15,
+6,16,
+7,39,27,15,
+4,4,0,3,7,12,
+6,48,
+4,4,3,7,10,15,
+6,16,
+0,64,0,254,0,254,0,254,0,254,1,254,2,254,3,254,2,254,0,254,0,254,0,254,0,254,2,254,254,254,0,254,254,254,1,254,1,254,1,254,1,254,0,254,3,254,2,254,3,254,1,254,1,254,1,254,1,254,0,254,3,254,2,254,0,254,
+4,4,0,3,7,12,
+6,48,
+4,4,3,7,10,15,
+6,10,
+1,1,254,
+2,1,254,
+6,6,
+0,1,254,
+6,128,
+5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/musa.pl	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,384 @@
+#!/usr/bin/perl
+##!/opt/bin/perl5
+
+sub End
+{
+   print "5\n";
+}
+
+sub Wait
+{
+   my($howlong)=@_;
+   print "6,$howlong,\n";
+}
+
+sub Seq
+{
+   my($seqno,$seqdata)=@_;
+   my($seqstr)='';
+   my($lgt)=0;
+
+   foreach(split('',$seqdata))
+   {
+         if($_ eq ',') { $seqstr.='255,'; }
+      elsif($_ eq '.') { $seqstr.='254,'; }
+      else             { $seqstr.=$_.','; }
+      $lgt++;
+   }
+
+   print $seqno.','.$lgt.','.$seqstr."\n";
+}
+
+sub Notes
+{
+   print '4,'.($#_+1),',';
+
+   foreach(@_) { print $_,','; }
+   print "\n";
+}
+
+sub Bases
+{
+   print '7,';
+   for($i=0;$i<3;$i++) { print $_[$i],','; }
+   print "\n";
+}
+
+#   1   3       6   8   10 
+# c   d   e   f   g   a   b   c
+# 0   2   4   5   7   9   11  12
+
+Bases(36,24,12);
+
+Seq(0,'.');
+#Seq(1,  '0.1.2.0.0.1.2.0.3.3.3.3.30313032');
+Seq(2, '0.0.0,,.0.0.0,,.0.0.0,,.1,,.0,,.');
+Seq (1, '0.1.2.0.0.1.2.0.3031303230123032');
+#Seq(1,  '0.1.2.0.0.1.2.0.2010201030123032');
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Seq(0,'3.0.3.0.30313031');
+Wait(16);
+
+#########
+
+Seq(0, '3.0.1.2.3...0...3.0.1.2.3.2.3.2.'.
+       '3.0.1.2.3...0.3.2...3...1.2.3.0.'.
+       '3.0.1.2.3...0...3.0.1.2.3.2.3.2.'.
+       '3.0.1.2.3.0.1.2.3.0.3.1.0...3,,2'
+);
+
+#Seq(0, '3.0.1.0.3.0.1.2.3.0.1.2.3...1...');
+#Seq(0 , '0.0.1.0.2,..3...0,,,1.2.1.2.3.0,');
+#Seq(0, '3.0.1.2.3.0.1.2.3.0.2.0.1.0.1.2.');
+#Seq(0, '0.0.1.2.0.2.1.2.0.2.1.2.0.2.1.2.');
+#Seq(0, '0.0.2.0.1.2.0.2.0.0.2.0.1.2.1.2.');
+Seq(1,  '0.1.2.0.0.1.2.0.2010201030123032');
+#'0.0.0.0.1.2.1.2.');
+Seq(2, '0.0.0,,.0.0.0,,.0.0.0,,.1,,.0,,.');
+
+
+#Seq(0, '3.0.1.2.3...0...3.0.1.2.3.2.3.2.'.
+#       '3.0.1.2.3...0.3.2...3...1.2.3.0.'.
+#       '3.0.1.2.3...0...3.0.1.2.3.2.3.2.'.
+#       '3.0.1.2.3.0.1.2.3.0.3.1.0...3,,2'
+#);
+#Seq(1,  '0.1.2.0.0.1.2.0.2010201030123032');
+
+#Seq(0, '3.0.1.0.3.0.1.2.3.0.1.2.3...1...');
+#Seq(0 , '0.0.1.0.2,..3...0,,,1.2.1.2.3.0,');
+#Seq(0, '3.0.1.2.3.0.1.2.3.0.2.0.1.0.1.2.');
+#Seq(0, '0.0.1.2.0.2.1.2.0.2.1.2.0.2.1.2.');
+#Seq(0, '0.0.2.0.1.2.0.2.0.0.2.0.1.2.1.2.');
+#'0.0.0.0.1.2.1.2.');
+
+Bases(36,24,12);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+Bases(36+5,24+5,12+5);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+
+##############
+
+Seq(0,'.');
+
+Bases(36,24,12);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Seq(0,'3.0.3.0.30313031');
+Wait(16);
+
+##############
+
+#Seq(0, '3.0.1.0.3.0.1.2.3.0.1.2.3...1...');
+
+#Seq(0 , '0.0.1.0.2,..3...0,,,1.2.1.2.3.0,'.
+#        '0.0.1.0.2,..3...0,,,1.2.1.2.3.0,'.
+#        '0.0.1.0.2,..3...0,,,1.2.1.3.0.3,'. 
+#        '0.0.1.0.2,,.3...0,,,1.2.0.123231');
+
+Seq(0, '3.0.1.2.3.3.0...3...1...3.2.3.2.'.
+       '3.0.1.2.3.3.0.1.2...3...1.2.3.0.'.
+       '3.0.1.2.3.3.0...3...1.2.3.2.3.2.'.
+       '3.0.1.2.3.3.0.1.3...3.1.0...3,,2'
+);
+#Seq(2, '0,,.0,,.0,,.0.0.0,,.0,,.0,,.1.2.');
+#
+Seq(2, '0.0.0,,.0.0.0,,.0.0.0,,.1,,.0,,.');
+#Seq(1, '0...0.2.0...0.1.0.2.0.1.0.2.0.1.'.
+#       '0...0.2.0...0.1.0.2.0.1.0...3.3.');
+Seq (1, '0.1.2.0.0.1.2.0.3031303230123032');
+
+#Seq(0, '3.0.1.2.3.0.1.2.3.0.2.0.1.0.1.2.');
+#Seq(0, '0.0.1.2.0.2.1.2.0.2.1.2.0.2.1.2.');
+#Seq(0, '0.0.2.0.1.2.0.2.0.0.2.0.1.2.1.2.');
+
+Bases(36,24,12);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+
+Bases(36+5,24+5,12+5);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+Seq(0,'.');
+
+Bases(36,24,12);
+
+
+
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Seq(0,'3.0.3.0.30313031');
+Wait(16);
+
+
+##############
+
+#Seq(0, '3.0.1.0.3.0.1.2.3.0.1.2.3...1...');
+
+#Seq(0 , '0.0.1.0.2,..3...0,,,1.2.1.2.3.0,'.
+#        '0.0.1.0.2,..3...0,,,1.2.1.2.3.0,'.
+#        '0.0.1.0.2,..3...0,,,1.2.1.3.0.3,'. 
+#        '0.0.1.0.2,,.3...0,,,1.2.0.123231');
+
+Seq(0, '3.0.1.2.3.3.0...3...1...3.2.3.2.'.
+       '3.0.1.2.3.3.0.1.2...3...1.2.3.0.'.
+       '3.0.1.2.3.3.0...3...1.2.3.2.3.2.'.
+       '3.0.1.2.3.3.0.1.3...3.1.0...3,,2'
+);
+#Seq(2, '0,,.0,,.0,,.0.0.0,,.0,,.0,,.1.2.');
+#
+Seq(2, '0.0.0,,.0.0.0,,.0.0.0,,.1,,.0,,.');
+#Seq(1, '0...0.2.0...0.1.0.2.0.1.0.2.0.1.'.
+#       '0...0.2.0...0.1.0.2.0.1.0...3.3.');
+Seq (1, '0.1.2.0.0.1.2.0.3031303230123032');
+
+#Seq(0, '3.0.1.2.3.0.1.2.3.0.2.0.1.0.1.2.');
+#Seq(0, '0.0.1.2.0.2.1.2.0.2.1.2.0.2.1.2.');
+#Seq(0, '0.0.2.0.1.2.0.2.0.0.2.0.1.2.1.2.');
+
+Bases(36,24,12);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+Bases(36+3,24+3,12+3);
+
+Notes(0,3,7,12);
+Wait(16);
+Notes(3,7,10,12+3);
+Wait(16);
+Notes(2,5,9,14);
+Wait(16);
+Notes(0,3,7,12);
+Wait(16);
+
+#Notes(0,3,7,12);
+#Wait(16);
+#Notes(3,7,10,12+3);
+#Wait(16);
+#Notes(2,5,9,14);
+#Wait(16);
+#Notes(0,3,7,12);
+#Wait(16);
+#
+#Notes(0,3,7,12);
+#Wait(16);
+#Notes(3,7,10,12+3);
+#Wait(16);
+#Notes(2,5,9,14);
+#Wait(16);
+#Notes(0,3,7,12);
+#Wait(16);
+
+###########################
+
+Seq(0,'.');
+Seq(1,'.');
+Seq(2,'.');
+Wait(64);
+
+#####
+
+Seq(0,'0.0.0.0.1.2.3.2.0.0.0.0.2...0...'.
+      '1.1.1.1.0.3.2.3.1.1.1.1.0...1.0.');
+Seq(1,'0.1.2.3.2.1.0.1.2.3.2.1.0.1.2.3.');
+Seq(2,'0,,.0,,.0,,.1,,.0,,.0,,.0,,.2,,.');
+
+Bases(36,24,12);
+
+Notes(0,3,7,12);
+Wait(48);
+Notes(3,7,10,12+3);
+Wait(16);
+
+Notes(0,3,7,12);
+Wait(48);
+Notes(3,7,10,12+3);
+Wait(16);
+
+Bases(36+3,24+3,12+3);
+
+Notes(0,3,7,12);
+Wait(48);
+Notes(3,7,10,12+3);
+Wait(16);
+
+Seq(0,'0.0.0.0.1.2.3.2.0.0.0.0.2...0...'.
+      '1.1.1.1.0.3.2.3.1.1.1.1.0.3.2.0.');
+
+Notes(0,3,7,12);
+Wait(48);
+Notes(3,7,10,12+3);
+Wait(10);
+
+#Seq(0,'.');
+Seq(1,'.');
+Seq(2,'.');
+
+Wait(6);
+Seq(0,'.');
+
+Wait(128);
+
+End;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/pics.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,41 @@
+u8*pwp_sf_pict,pwp_sf_mask;
+u8 pwp_sf_cmpr[]={
+0xe5,0x00,0xff,0xeb,0xff,0x00,0x9,0x2d,0x7,0x22,0xb,0x22,0x5,0x22,0xd,0x22,0x3,0x22,
+0x1,0x23,0x1,0x21,0x3,0x21,0x1,0x23,0x1,0x22,0x1,0x22,0x2,0x21,
+0x1,0x21,0x1,0x21,0x3,0x21,0x1,0x21,0x1,0x21,0x2,0x24,0x2,0x21,
+0x1,0x21,0x1,0x21,0x3,0x21,0x1,0x21,0x1,0x21,0x2,0x24,0x2,0x21,
+0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x2,0x24,
+0x2,0x23,0x1,0x21,0x1,0x21,0x1,0x21,0x1,0x23,0x2,0x24,0x2,0x21,
+0x3,0x21,0x1,0x21,0x1,0x21,0x1,0x21,0x4,0x24,0x2,0x21,0x3,0x21,
+0x1,0x21,0x1,0x21,0x1,0x21,0x4,0x24,0x2,0x21,0x3,0x21,0x1,0x21,
+0x1,0x21,0x1,0x21,0x4,0x22,0x1,0x22,0x1,0x21,0x3,0x25,0x1,0x21,
+0x3,0x22,0x3,0x22,0xd,0x22,0x5,0x22,0xb,0x22,0x7,0x2d,0x9,0x2b,
+0x5,}
+sprite pwp_sf ={ 21,17,NULL,pwp_sf_cmpr};
+
+u8*esittaa_pict,esittaa_mask;
+u8 esittaa_cmpr[]={
+0xf8,0x00,0xff,0xe1,0x =00ff,0x,0x2,0x21,0x2,0x21,0x2,0x21,0x12,0x21,0x3,0x21,0x10,
+0x23,0x3,0xe3,,0x3,0x41,0x1,0x23,0x1,0x23,0x2,0x24,0x2,0x24,0x2,
+0x21,0x3,0x21,0x1,0x41,0x9,0x21,0x3,0x21,0x2,0x21,0x3,0x21,0x1,
+0x21,0x3,0x21,0x2,0x24,0x3,0x43,0x3,0x41,0x2,0x21,0x3,0x21,0x2,
+0x21,0x3,0x21,0x1,0x21,0x3,0x21,0x2,0x21,0x9,0x41,0x2,0x41,0x2,
+0x21,0x3,0x21,0x2,0x21,0x3,0x21,0x1,0x21,0x3,0x21,0x3,0x23,0x1,
+0x45,0x2,0x41,0x2,0x21,0x2,0x22,0x4,0x23,0x3,0x23,0x1,0x21,0x1,
+}
+sprite esittaa ={ 36,7,NULL,esittaa_cmpr};
+
+u8*forevisar_pict,forevisar_mask;
+u8 forevisar_cmpr[]={
+0xe6,0x00,0xff,0xe1,0x =00ff,0x,0x2,0x21,0x1f,0x1f,0x17,0x22,0x2,0x22,0x2,0x21,0x1,0x22,
+0x2,0x22,0x2,0x21,0x2,0x21,0x2,0x21,0x2,0x23,0x3,0x24,0x2,0x21,
+0x1,0x22,0x2,0x21,0x3,0x21,0x2,0x21,0x1,0x22,0x3,0x21,0x2,0x21,
+0x1,0x21,0x2,0x21,0x4,0x21,0x5,0x21,0x3,0x21,0x2,0x22,0x4,0x21,
+0x3,0x21,0x2,0x21,0x1,0x21,0x4,0x23,0x3,0x21,0x1,0x21,0x2,0x21,
+0x2,0x23,0x2,0x21,0x3,0x21,0x2,0x21,0x3,0x25,0x1,0x21,0x2,0x21,
+0x1,0x21,0x4,0x21,0x5,0x21,0x1,0x21,0x2,0x21,0x5,0x21,0x1,0x21,
+0x3,0x21,0x2,0x21,0x5,0x21,0x4,0x22,0x2,0x21,0x5,0x24,0x2,0x22,
+0x1,0x21,0x2,0x24,0x3,0x23,0x2,0x21,0x6,0x21,0x1f,0xe,0x21,0x1f,
+0xc,}
+sprite forevisar ={ 46,9,NULL,forevisar_cmpr};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/planes.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,156 @@
+#define HAS_SINTAB
+#include "pwpdemo.h"
+
+#ifdef USE_SINTAB
+signed int sintab16[256]={
+0, 804, 1607, 2410, 3211, 4011, 4807, 5601, 6392, 7179, 7961, 8739,
+9511, 10278, 11038, 11792, 12539, 13278, 14009, 14732, 15446, 16150,
+16845, 17530, 18204, 18867, 19519, 20159, 20787, 21402, 22004, 22594,
+23169, 23731, 24278, 24811, 25329, 25831, 26318, 26789, 27244, 27683,
+28105, 28510, 28897, 29268, 29621, 29955, 30272, 30571, 30851, 31113,
+31356, 31580, 31785, 31970, 32137, 32284, 32412, 32520, 32609, 32678,
+32727, 32757, 32767, 32757, 32727, 32678, 32609, 32520, 32412, 32284,
+32137, 31970, 31785, 31580, 31356, 31113, 30851, 30571, 30272, 29955,
+29621, 29268, 28897, 28510, 28105, 27683, 27244, 26789, 26318, 25831,
+25329, 24811, 24278, 23731, 23169, 22594, 22004, 21402, 20787, 20159,
+19519, 18867, 18204, 17530, 16845, 16150, 15446, 14732, 14009, 13278,
+12539, 11792, 11038, 10278, 9511, 8739, 7961, 7179, 6392, 5601, 4807,
+4011, 3211, 2410, 1607, 804, 0, -805, -1608, -2411, -3212 ,-4012, -4808,
+-5602, -6393, -7180, -7962, -8740, -9512, -10279, -11039, -11793,
+-12540, -13279, -14010, -14733, -15447, -16151, -16846, -17531, -18205,
+-18868, -19520, -20160, -20788, -21403, -22005, -22595, -23170, -23732,
+-24279, -24812, -25330, -25832, -26319, -26790, -27245, -27684, -28106,
+-28511, -28898, -29269, -29622, -29956, -30273, -30572, -30852, -31114,
+-31357, -31581, -31786, -31971, -32138, -32285, -32413, -32521, -32610,
+-32679, -32728, -32758, -32767, -32758, -32728, -32679, -32610, -32521,
+-32413, -32285, -32138, -31971, -31786, -31581, -31357, -31114, -30852,
+-30572, -30273, -29956, -29622, -29269, -28898, -28511, -28106, -27684,
+-27245, -26790, -26319, -25832, -25330, -24812, -24279, -23732, -23170,
+-22595, -22005, -21403, -20788, -20160, -19520, -18868, -18205, -17531,
+-16846, -16151, -15447, -14733, -14010, -13279, -12540, -11793, -11039,
+-10279, -9512, -8740, -7962, -7180, -6393, -5602, -4808, -4012, -3212,
+-2411, -1608, -805 };
+#endif
+
+u8 psychtab0[64]=
+{
+  0x00,0x00,0x01,0x01,0x10,0x10,0x11,0x11,0x13,0x13,0x31,0x31,0x33,0x33,
+  0x3b,0x3b,0xb3,0xbb,0xbf,0xfb,0xff,0xfb,0xbb,0xb3,0x3b,0x33,0x31,0x13,
+  0x11,0x10,0x01,0x00,0x00,0x01,0x01,0x10,0x10,0x11,0x11,0x19,0x19,0x91,
+  0x91,0x91,0x99,0x99,0x99,0x99,0x91,0x91,0x91,0x19,0x19,0x11,0x11,0x10,
+  0x10,0x01,0x01,0x00,0x00,0x00,0x01
+};
+
+/*
+u8 psychtab0[64]=
+{
+  0x00,0x00,0x00,0x04,0x04,0x40,0x40,0x44,0x44,0x4c,0xc4,0xc4,0xcc,0xcc,
+  0xca,0xac,0xfa,0xef,0xec,0xce,0xcc,0xc4,0x4c,0x44,0x40,0x04,0x00,0x00,
+  0x00,0x04,0x06,0x60,0x66,0x6e,0xe6,0xee,0xef,0xfe,0xaf,0xfa,0xaa,0xea,
+  0xee,0xea,0xae,0xaa,0xa3,0x3a,0x33,0x32,0x23,0x22,0x20,0x02,0x08,0x00,
+  
+  0x08,0x07,0x77,0x78,0x08,0x00,0x01
+};
+*/
+
+u8 psychtab1[64]=
+{
+  0x04,0x06,0x0e,0x6e,0xe6,0xee,0xe6,0x6e,0x60,0x06,0x00,0x01,0x10,0x15,
+  0x51,0x55,0x5d,0xd5,0xdd,0xd5,0x5d,0x55,0x51,0x15,0x11,0x1e,0xe1,0xee,
+  0xef,0xfe,0xff,0xfe,0xef,0xee,0xea,0xae,0xaa,0xa2,0x2a,0x20,0x02,0x00,
+  0x00,0x02,0x20,0x22,0x2e,0xe2,0xee,0xea,0xaa,0xa2,0x2a,0x20,0x02,0x01,
+  0x03,0x30,0x31,0x35,0x53,0x50,0x05
+};
+
+u8 psychtab2[64]=
+{
+  0x00,0x08,0x07,0x87,0x78,0x87,0x88,0x07,0x08,0x08,0x00,0x00,0x00,0x00,
+  0x01,0x03,0x30,0x33,0x03,0x03,0x01,0x09,0x19,0x19,0x91,0x91,0x99,0x99,
+  0x9c,0x99,0x91,0x19,0x1c,0x13,0x31,0x33,0x31,0x03,0x03,0x00,0x00,0x00,
+  0x04,0x40,0x44,0x04,0x04,0x04,0x00,0x04,0x40,0x4e,0x40,0x04,0x00,0x04,
+  0x05,0x05,0x04,0x04,0x00,0x00,0x00
+};
+
+void planes_draw(u8*map,int angle,int midpt)
+{
+   register u8*d=pwplib_buf;
+
+   register int x;
+
+   register int du=(SIN(angle)*MIN(pwplib_bufw,pwplib_bufh))/4096;
+
+   int dv=(COS(angle)*pwplib_bufh)/6666;
+
+   register int i=midpt*256-(pwplib_bufh>>1)*dv
+                  -(pwplib_bufw>>1)*du;
+
+   int y=pwplib_bufh;
+
+   dv-=du*pwplib_bufw;
+
+   for(;y;y--)
+   {
+      for(x=pwplib_bufw;x;x--)
+      {
+         *d++=map[(i>>8)&255];
+         i+=du;
+      }
+      i+=dv;
+   }
+}
+
+void xorplanes_draw(u8*map,int angle,int angle2,int midpt,int midpt2)
+{
+   register u8*d=pwplib_buf;
+
+   register int x;
+
+   register int du=(SIN(angle)*MIN(pwplib_bufw,pwplib_bufh))/4096,
+                du2=(SIN(angle2)*MIN(pwplib_bufw,pwplib_bufh))/4096;
+
+   int dv=(COS(angle)*pwplib_bufh)/6666,
+       dv2=(COS(angle2)*pwplib_bufh)/6666;
+
+   register int i=midpt*256-(pwplib_bufh>>1)*dv
+                  -(pwplib_bufw>>1)*du,
+                j=midpt2*256-(pwplib_bufh>>1)*dv2
+                  -(pwplib_bufw>>1)*du2;
+
+   int y=pwplib_bufh;
+
+   for(;y;y--)
+   {
+      int ii=i,jj=j;
+      for(x=pwplib_bufw;x;x--)
+      {
+         *d++=map[(ii>>8)&255]^map[(jj>>8)&255];
+         ii+=du;jj+=du2;
+      }
+      i+=dv;j+=dv2;
+   }
+}
+
+
+void planes_do(int t,int m)
+{
+   u8*tabbu[3]={psychtab0,psychtab1,psychtab2};
+   u8 map[256];
+   u8*tabu=tabbu[m&15];
+
+   int step=1024,i,j=-t*80;
+
+   for(i=0;i<128;i++)
+   {
+      map[i]=map[255-i]=tabu[(j>>8)&63];
+      j+=step;
+
+      step-=(step>>4);
+   }
+
+   if(m&16)
+   planes_draw(map,t*3,SIN(t)/512);else
+   xorplanes_draw(map,t,t*3/11,
+     SIN(t)/512,
+     SIN(((long int)t*(608/16))/(1024*16)) );
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/pwpdemo.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,17 @@
+#include "pwplib.h"
+#define USE_SINTAB
+
+#define MAX(a,b) ((a)>(b)?(a):(b))
+#define MIN(a,b) ((a)<(b)?(a):(b))
+
+#ifndef USE_SINTAB
+#define SIN(a) (sin((a)*3.1415926/128)*32767)
+#define COS(a) ((3.1415926/2)+(cos((a)*3.1415926/128))*32767)
+#else
+#ifndef HAS_SINTAB
+extern signed int sintab16[];
+#endif
+#define SIN(a) sintab16[(a)&255]
+#define COS(a) sintab16[((a)+64)&255]
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/spritegen.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,23 @@
+&bitmap('pelu':'n:44:00/ :00:ff/@:7f:00/.:11:82/x:44:00/Z:e6:00/',<<EOD);
+     nnnnnnnnnnn
+         nn
+         nn
+xxxxxxxxxxxxx
+    xxxxxxxxxx
+    ....ZZZZZZ
+    .....@@@@@
+    .o...@@@@@
+    ....@@@@@@@
+    @@@@@@@@@@@
+  @@@@@@@@@@@@@
+@@@@@@@@@@@@@@@
+         @@@@
+xx    @@@@@@@
+@@@@@@@@@@@@@
+  @@@@@@@@@@@
+    @@@@@@@@@
+    @@@@@@@@@
+      @@@@@@
+       @@@@@
+        @@@@
+EOD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/sprites.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,610 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "pwpdemo.h"
+
+typedef struct
+{
+   int width,height;
+   u8*pict;
+   u8*mask;
+}sprite;
+
+#include "sprites.h"
+
+#include "font.h"
+
+#define INLINE
+  /* to pwplib.h -- #define INLINE inline */
+
+INLINE void zoomsprite_loop
+  (mask, pict, xzoom, d, xo0, xdim, ydim, spwidth, yzoom, yo0, col)
+register u8* mask, *pict;
+register int xzoom, col;
+u8* d;
+int xo0, xdim, ydim, spwidth, yzoom, yo0;
+{
+   register u8 *dd, *m, *p;
+   register int xo, x;
+
+   for(;ydim;ydim--)
+   {
+      int linebase = (yo0>>8) * spwidth;
+      
+      m  = mask + linebase;
+      p  = pict + linebase;
+      dd = d;
+      xo = xo0;
+
+      for(x=xdim;x;x--)
+      {
+         register int z=xo>>8;
+
+         *dd++ = (*dd & m[z]) | (p[z]&col);
+
+         xo += xzoom;
+      }
+
+      yo0 += yzoom;
+      d   += pwplib_bufw;
+   }
+}
+
+void zoomsprite(int x0,int y0,sprite*sp,int xzoom,int yzoom, int col)
+{
+   int xdim,ydim,
+       xo0=0,yo0=0,x,y,ptr;
+
+   if(xzoom<=32 && yzoom<=32)return;
+   
+   xdim=(sp->width<<8)/xzoom;
+   ydim=(sp->height<<8)/yzoom;
+
+   x0-=(xdim>>1);
+   y0-=(ydim>>1);
+
+   if(x0<0)
+   {
+      xdim+=x0;
+      xo0=(0-x0)<<8;
+      x0=0;
+   }
+
+   if(y0<0)
+   {
+      ydim+=y0;
+      yo0=(0-y0)<<8;
+      y0=0;
+   }
+
+   if(x0+xdim>=pwplib_bufw)
+   {
+      xdim=pwplib_bufw-x0;
+   }
+
+   if(y0+ydim>=pwplib_bufh)
+   {
+      ydim=pwplib_bufh-y0;
+   }
+   
+   if(xdim<=0 || ydim<=0) return;
+
+   zoomsprite_loop
+   (
+      sp->mask, sp->pict, xzoom,
+      pwplib_buf+x0+y0*pwplib_bufw,
+      xo0, xdim, ydim, sp->width, yzoom, yo0, col
+   );
+}
+/*
+  (mask, pict, xzoom, d, xo0, xdim, ydim, spwidth, yzoom, yo0)
+*/
+
+void zoomsprite_gen(int x0,int y0,sprite*sp,int zoom,int col)
+{
+   zoomsprite(((x0+128)*pwplib_bufw)>>8,
+              ((y0+128)*pwplib_bufh)>>8,
+              sp,
+              abs((zoom<<8)/pwplib_bufw),
+              abs((zoom<<7)/pwplib_bufh), col
+             );
+}
+
+/*
+void metsae(int t,int mode)
+{
+   int i,x;
+
+  const sprite*mo[]={&kuusi};
+  const int mosiz[]={128};
+  const int mostep[]={64};
+
+  for(i=0;i<512;i+=mostep[mode])
+  {
+   zoomsprite_gen(
+     ((i-t/3)&511)-256 ,0,mo[mode],mosiz[mode]);
+  }
+}
+
+void drawkiller(int tminus)
+{
+   int ttt=tminus;
+
+   if(tminus<-64)tminus=-64;else
+   if(tminus>0)tminus=0;
+
+   zoomsprite_gen(tminus,48,(ttt&16)?&pelustna0:&pelustna1,80);
+}
+
+void encounter(int tminus,int kode,int zoom,int speed)
+{
+   int ttt=tminus;
+   sprite*pum[][2]=
+   {
+      &krist0,&krist1,
+      &pelusieni,&pelusieni,
+      &pelusieni1,&pelusieni1,
+      &pelusieni2,&pelusieni2,
+      &pelux,&pelux,
+      &pelustna0,&pelustna1,
+      &ruumis,&ruumis,
+      &uusmed0,&uusmed1,
+      &tesno0,&tesno1,
+      &army0,&army0,
+      &windows0,&windows1,
+      &quake0,&quake0      
+   };
+
+   if(ttt<0)ttt=0;
+
+   zoomsprite_gen(0+ttt,48,(tminus&16)?pum[kode][0]:pum[kode][1],zoom);
+}
+*/
+
+
+/******************/
+
+char scale[3][8]={
+   0x00,0x08,0x80,0x88,0x87,0x77,0xf7,0xff,
+   0x00,0x08,0x07,0x80,0x88,0x87,0x77,0x7f,
+   0x00,0x06,0x60,0x66,0x6e,0xe6,0xee,0xef
+};
+
+char bwpal[8][256];
+void bwpals()
+{
+   int i,j;
+   for(i=0;i<8;i++)
+   {
+      int gamma=rand()&3;
+      int brite=256+(rand()&15)-(rand()&15);
+      int scl=rand()%3;
+
+      for(j=0;j<256;j++)
+      {
+         int it=((j&1)?1:0)+((j&2)?6:0)+((j&4)?3:0)+((j&8)?5:0)+
+                 ((j&16)?3:0)+((j&32)?12:0)+((j&64)?8:0)+((j&128)?8:0);
+
+         it+=gamma;
+         it=(it*brite)>>8;
+         if(it>63)it=63;
+
+         it/=8;
+
+	 bwpal[i][j]=scale[scl][it];
+      }
+   }
+}
+
+void naarmuta()
+{
+   int i=pwplib_bufh*pwplib_bufw;
+   static int ph=0,rr=0,nrmx=0;
+   
+   char*d=pwplib_buf;
+   char*lookup=&bwpal[rr&7][0];
+   ph++;if(!(ph&3))rr=rand();
+
+   for(i=100;i;i--)
+   {
+      int z=rand()%(pwplib_bufw*pwplib_bufh);
+      pwplib_buf[z]^=0x87;
+   }
+   
+   for(i=0;i<pwplib_bufh;i++){ 
+     pwplib_buf[pwplib_bufw*i+nrmx]&=~0x78; if(!(rand()&7))nrmx+=(rand()&3)-1;
+     if(nrmx<0 || nrmx>=pwplib_bufw) nrmx=rand()%pwplib_bufw;
+   }
+
+   i=pwplib_bufh*pwplib_bufw;
+   for(;i;i--){*d=lookup[*d];d++;}
+}
+
+#define NUMZOOMS 4
+
+struct zoomer_t
+{
+   sprite*sprite;
+
+   int starttime;
+
+   int startzoom;
+   int zoomspeed;
+
+   int fadespeed;
+
+   int dynamic;
+}
+zoomer[NUMZOOMS];
+
+void drawtext(sprite*textbuf,char*txt,int col);
+
+void initzoomers()
+{
+   int i=0;
+   for(;i<NUMZOOMS;i++) zoomer[i].sprite=NULL;
+}
+
+void alloczoomer(sprite*s,int starttime,int startzoom,
+                 int zoomspeed,int fadespeed,int dynamic)
+{
+   if(zoomer[0].sprite!=NULL)
+   {
+      int i=NUMZOOMS-2;
+      for(;i>=0;i--)
+      memcpy(
+        &zoomer[i+1],
+        &zoomer[i],
+          sizeof(struct zoomer_t));
+   }
+   
+        zoomer[0].sprite=s;
+        zoomer[0].starttime=starttime;
+        zoomer[0].startzoom=startzoom;
+        zoomer[0].zoomspeed=zoomspeed;
+        zoomer[0].fadespeed=fadespeed;
+        zoomer[0].dynamic=dynamic;
+}
+
+/*
+   0x00 -> 0x01 -> 0x11 -> 0x13 -> 0x33 -> 0x37 -> 0x77 -> 0x7f -> 0xff
+*/
+
+void zoomer_free(int i)
+{
+   if(zoomer[i].dynamic)
+   {
+      free(zoomer[i].sprite->mask);
+      free(zoomer[i].sprite->pict);
+      free(zoomer[i].sprite);
+   }
+   zoomer[i].sprite=NULL;
+}
+
+void zoomer_do(int t)
+{
+   int i=NUMZOOMS-1,col=0x00;
+   for(;i>=0;i--) if(zoomer[i].sprite!=NULL)
+   {
+      int killit=0;
+      int passed = t-zoomer[i].starttime,
+          zoomlevel = zoomer[i].startzoom+((zoomer[i].zoomspeed*passed)>>8),
+          fadelevel = ((zoomer[i].fadespeed*passed)>>8);
+
+      {
+         static char orrers[] = {
+           0x76,0xff,0xfe,0xea,
+           0xae,0xac,0xaa,0xa9,
+           0x9a,0x92,0x29,0x22,
+           0x21,0x12,0x11,0x01 };
+
+         if(fadelevel>=20) { killit++; } else col=orrers[fadelevel];
+      }
+
+      if(zoomlevel<64)zoomlevel=64;
+
+      if(killit || zoomlevel>512)
+      {
+         zoomer_free(i);
+      }
+       else
+   
+      zoomsprite_gen(0,0,zoomer[i].sprite,zoomlevel,col);
+   }
+}
+
+/*
+void addtext(int m)
+{
+   if(textbuf.width)
+   {
+      zoomsprite_gen(0,0,&textbuf,m);
+   }
+}
+*/
+
+void pelubounce0(int t)
+{
+   sprite*c;
+   
+   {int u=(t>>3)&3;
+    if(u==0)c=&pelush0;else
+    if(u==1)c=&pelush1;else
+    if(u==2)c=&pelush2;else
+            c=&pelush1;}
+
+   {int j=0;
+   for(;j<256;j+=32)
+   zoomsprite_gen(SIN(t+j)>>9,COS(t+j)>>9,c,112,0xff);
+   }
+}
+
+void pelubounce1(int t)
+{
+   sprite*c;
+   
+   {int u=(t>>3)&3;
+    if(u==0)c=&pelush0;else
+    if(u==1)c=&pelush1;else
+    if(u==2)c=&pelush2;else
+            c=&pelush1;}
+
+   {int axis0 = SIN(t/3),axis1=0; /* (48*COS(t/3))>>15; */
+    int j=0;
+   for(;j<256;j+=32)
+   zoomsprite_gen(SIN(t+j)>>9,(axis0*(COS(t+j)>>9))>>15,c,
+                  112+((axis1*SIN(t/3+j))>>15),0xff);
+   }
+}
+
+//zoomsprite(int x0,int y0,sprite*sp,int xzoom,int yzoom, int col)
+
+/*************************** boulderdash-related ***********************/
+
+void bdash_do(u8*field,int xbase,int ybase,int zoom,int aniphase)
+{
+   static sprite*pix[][4] =
+   {
+      {&bdash0,&bdash1,&bdash2,&bdash1},
+      {&pelush0,&pelush1,&pelush2,&pelush1},
+      {&brick0,&brick0,&brick0,&brick0},
+      {&brick1,&brick1,&brick1,&brick1},
+      {&pelush0,&pelush1,&pelush2,&pelush1},
+      {&pelush0,&pelush1,&pelush2,&pelush1},
+      {&pelush0,&pelush1,&pelush2,&pelush1},
+      {&pelush0,&pelush1,&pelush2,&pelush1},
+      {&pelush0,&pelush1,&pelush2,&pelush1},
+      {&pelush0,&pelush1,&pelush2,&pelush1},
+      {&pelush0,&pelush1,&pelush2,&pelush1},
+      {&boulder,&boulder,&boulder,&boulder},
+      {&boulder,&boulder,&boulder,&boulder},  
+      {&splat0,&splat0,&splat0,&splat0},
+      {&splat1,&splat1,&splat1,&splat1},
+      {&splat2,&splat2,&splat3,&splat3},
+      {&splat4,&splat4,&splat4,&splat4},
+      {&boulder,&boulder,&boulder,&boulder},
+      {&bdash4,&bdash4,&bdash4,&bdash4},
+      {&tietzka,&tietzka,&tietzka,&tietzka}
+    };
+
+   int x,y;
+   /* 256 == normal size (16 objs per width) */
+   zoom = (zoom*pwplib.videobuf.width)>>8;
+   /* zoom == width of the whole stuph in pixels */
+
+   aniphase&=3;
+
+   for(y=0;y<16;y++)
+   for(x=0;x<16;x++)
+   {
+      u8 f=*field++;
+
+      if(f<128) {
+
+      sprite*c=pix[f&31][aniphase];
+
+      zoomsprite(pwplib.videobuf.width/2  + ((x*zoom-((xbase*zoom)>>8))>>4),
+                 pwplib.videobuf.height/2 + ((y*zoom-((ybase*zoom)>>8))>>4),
+                 c,65536/zoom,65536/zoom,0xff);
+
+      /* 256*256 / zoom -- */
+/*
+      size=16: zoom=256, väli=16
+
+      zoomsprite_gen(((x-xbase)*zoom)>>4,((y-ybase)*zoom)>>4,c,
+                     (256*16*16)/zoom,0xff);
+*/
+      }
+   }
+}
+
+enum { Rockford=0, PeluLeft=1,Brick0=2, Brick1=3, 
+       PeluRight=4, PeluUp=5, PeluDown=6,
+       PeluLeftMoved=7, PeluRightMoved=8, PeluUpMoved=9, PeluDownMoved=10,
+       Boulder=11, BoulderFalls=12,
+       Splat0=13,Splat1=14,Splat2=15,Splat3=16,       
+       BoulderMoved=17,RockfordStanding=18,Tietzka=19,
+
+       Void=128 };
+
+#define MoveShit(mover,aftermove,afterchk, thispt,movpt,chkpt) \
+  if(s==(mover)) { \
+     if((field[(chkpt)&255]<128) && (field[(movpt)&255]>=128)) { \
+         field[(thispt)&255]=128; field[(movpt)&255]=(aftermove); } else \
+         field[(thispt)&255]=(afterchk); }
+
+void simulate_bdash(u8*field)
+{
+   int x,y;
+ 
+  /* field[rand()&255]=3;
+  */
+   for(y=0;y<16;y++)
+   for(x=0;x<16;x++)
+   {
+      u8 s=field[y*16+x];
+      MoveShit(PeluUp,PeluUpMoved,PeluRightMoved,y*16+x,y*16+x-16,y*16+x+1)
+      else
+      MoveShit(PeluDown,PeluDownMoved,PeluLeftMoved,y*16+x,y*16+x+16,y*16+x-1)
+      else
+      MoveShit(PeluRight,PeluRightMoved,PeluDownMoved,y*16+x,y*16+x+1,y*16+x+16)
+      else
+      MoveShit(PeluLeft,PeluLeftMoved,PeluUpMoved,y*16+x,y*16+x-1,y*16+x-16)
+      else
+      if(s==Boulder)
+      {
+         if(field[(y*16+x+16)&255]==128) field[y*16+x]=BoulderFalls;
+      }
+       else
+      if(s==BoulderFalls)
+      {
+         u8 below = field[(y*16+x+16)&255];
+
+         if(below==128) { field[y*16+x]=128;field[(y*16+x+16)&255]=BoulderMoved; }
+         else
+         if(below==PeluRight || below==PeluLeft || below==PeluUp || below==PeluDown ||
+            below==PeluRightMoved || below==PeluLeftMoved || below==PeluUpMoved || below==PeluDownMoved)
+         {
+            int x1,y1;
+            for(y1=-1;y1<=1;y1++)for(x1=-1;x1<=1;x1++)
+                field[((y+y1)*16+x+x1)&255]=Splat0;
+         }
+         else
+         if((field[(y*16+x+16+1)&255]==128) && (field[(y*16+x+1)&255]==128))
+         { field[y*16+x]=128;field[(y*16+x+1)&255]=Boulder; }
+         else
+         if((field[(y*16+x+16-1)&255]==128) && (field[(y*16+x-1)&255]==128))
+         { field[y*16+x]=128;field[(y*16+x-1)&255]=Boulder; }
+         else field[y*16+x]=Boulder;
+      }
+   }
+
+  for(y=0;y<16;y++)
+  for(x=0;x<16;x++)
+  {
+      u8*s=&field[y*16+x];
+      if(*s==PeluUpMoved)*s=PeluUp;else
+      if(*s==PeluDownMoved)*s=PeluDown;else
+      if(*s==PeluRightMoved)*s=PeluRight;else
+      if(*s==PeluLeftMoved)*s=PeluLeft;else
+      if(*s==Splat0)*s=Splat1;else
+      if(*s==Splat1)*s=Splat2;else
+      if(*s==Splat2)*s=Splat3;else
+      if(*s==Splat3)*s=Void;else
+      if(*s==BoulderMoved)*s=BoulderFalls;
+  }
+}
+
+/*************************************************************************/
+
+void fadeoldsk(int t)
+{
+   alloczoomer(&oldsk,t,128,-128,24,0);
+}
+
+void oldskzooms(int t)
+{
+   zoomsprite_gen(0,32+abs(127-((t<<1)&255))-64,&oldsk,48+abs(64-((t<<2)&127)),0xff);
+}
+
+void newtext(int t,char*txt,int col)
+{
+   sprite*z = (sprite*)malloc(sizeof(sprite));
+   drawtext(z,txt,col);
+   alloczoomer(z,t,48,128,24,1);
+}
+
+void drawtext(sprite*textbuf,char*txt,int col)
+{
+   int wdt=0,x=0,y=0,idx,hgt=7;
+   unsigned char*f,*fnt=font;
+
+
+/*   killtext();*/
+   {char*t=txt;
+   for(;;)
+   {int thiswdt=0;
+    while(*t && *t!='\n'){thiswdt+=font_lengths[(*t>='A'&&*t<=']')?(*t-'@'):4];t++;}
+    if(thiswdt>wdt)wdt=thiswdt;
+    if(!*t)break; else {t++;hgt+=11;}
+   }}
+
+   textbuf->width=wdt+1;
+   textbuf->height=hgt+1;
+   { int sz=textbuf->height*textbuf->width*sizeof(u8);
+      textbuf->pict=malloc(sz);
+      textbuf->mask=malloc(sz);
+      memset(textbuf->pict,0,sz);
+      memset(textbuf->mask,0xff,sz);}
+
+
+   while(*txt)
+   {
+      int z=*txt,a;
+
+      txt++;
+
+      if(z=='\n'){x=0;y+=textbuf->width*11;continue;}
+
+      z-='@';
+      if(z<0 || z>29){x+=4;continue;}
+
+      f=fnt;
+      while(z)
+      {
+         if(*f==0)z--;
+         f++;
+      }
+
+      while((a=*f))
+      {
+         idx=x+y;
+
+         for(;a;a>>=1)
+         {
+            if(a&1){textbuf->pict[idx]=col;
+                    textbuf->mask[idx]=0;
+                    if(textbuf->mask[idx+1+textbuf->width])
+                    {
+                       textbuf->pict[idx+textbuf->width+1]=
+                       textbuf->mask[idx+textbuf->width+1]=0;
+                    }
+                    }
+
+            idx+=textbuf->width;
+         }
+         x++;
+         f++;
+      }
+      x++; /* x+=2; */
+   }
+}
+
+
+void rotozoompaski(u8*s,int u0,int v0,int du,int dv)
+{
+   u8*d=pwplib_buf;
+   int i,j,u,v;
+   int idu=du/pwplib_bufw,idv=dv/pwplib_bufw,
+       odu=dv/pwplib_bufh,odv=-du/pwplib_bufh;
+
+   for(i=pwplib_bufh;i;i--)
+   {
+      int iu=u,iv=v;
+      for(j=pwplib_bufw;j;j--) 
+      {
+         *d++=s[((iu>>4)&(1023&~31))|((iv>>9)&31)];
+         iu+=idu;iv+=idv;
+      }
+      u+=idv;v+=-idu;
+   }
+}
+
+/*
+void rotozoom_do(int t,int m)
+{
+   u8*poo[]={piimae.pict,pelu.pict,taehti.pict};
+   int u=SIN(t),v=COS(t);
+   rotozoompaski(poo[m],(-u+v)*32,(-v-u)*32,u,v);
+}
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/sprites.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,194 @@
+u8*oldsk_pict,oldsk_mask;
+u8 oldsk_cmpr[]={
+0xe8,0x00,0xff,0xe6,0x67,0x00,0xf,0xe3,0x78,0x00,0x26,0xd,0x44,0x26,0x41,0x21,0x7,0x21,0x2,0x41,
+0x29,0x43,0x21,0x2,0x21,0x2,0x25,0xe6,0xff,0x00,0x31,0x61,0x24,0x61,0x21,0x66,
+0x24,0x1,0x24,0x1,0x61,0x21,0x62,0x21,0x61,0x21,0x61,0x24,0x61,0x23,
+0x3,0x22,0x2,0x61,0x24,0x61,0x21,0x61,0x21,0x62,0x21,0x61,0x22,0x8,
+0x66,0x21,0x61,0x24,0x61,0xc,0x25,0x66,0xb,0x2a,0xc,0x43,0x21,0xe1,
+0x88,0x00,0x21,0x81,0x22,0x43,0xb,0x4d,0xb,0x4a,0xe,0x49,0xe,0x48,0x10,0x42,
+0x1,0x44,0x10,0x42,0x1,0x43,0x14,0x42,0x15,0x41,0xb,};
+sprite oldsk ={ 23,20,(char*)105,oldsk_cmpr};
+
+u8*bdash0_pict,bdash0_mask;
+u8 bdash0_cmpr[]={
+0xff,0x00,0xff,0x7,0xe4,
+0x55,0x00,0xa,0x28,0x6,0x22,0x2,0x26,0x6,0x22,0x2,0x26,0x8,0x26,0xc,0x24,
+0xc,0xe4,0x77,0x00,0xa,0x42,0x24,0xc,0x44,0xa,0xe2,0x6e,0x00,0x24,0x64,0x4,0x62,0xa,
+0x22,0x2,0x62,0xa,0x26,0xc,};
+sprite bdash0 ={ 16,15,(char*)45,bdash0_cmpr};
+
+u8*bdash1_pict,bdash1_mask;
+u8 bdash1_cmpr[]={
+0xfc,0x00,0xff,0xe4,0x55,0x00,0x6,0x28,0x2,0x22,0x2,0x26,
+0x2,0x22,0x2,0x26,0x4,0x26,0x8,0x24,0x8,0xe4,0x77,0x00,0x6,0x42,0x24,0x8,
+0x44,0x6,0xe2,0x6e,0x00,0x24,0x62,0x4,0x62,0x4,0x62,0x4,0x62,0x4,0x62,0x26,
+0x6,0x22,};
+sprite bdash1 ={ 12,15,(char*)46,bdash1_cmpr};
+
+u8*bdash2_pict,bdash2_mask;
+u8 bdash2_cmpr[]={
+0xff,0x00,0xff,0xb,0xe4,0x55,0x00,0x6,0x28,0x2,0x22,0x2,0x26,0x2,0x22,0x2,
+0x26,0x4,0x26,0x8,0x24,0x8,0xe4,0x77,0x00,0x6,0x42,0x24,0x8,0x44,0x8,0x24,
+0x8,0xe4,0x6e,0x00,0x8,0x64,0x22,0x4,0x24,0x2,0x22,};
+sprite bdash2 ={ 12,16,(char*)43,bdash2_cmpr};
+
+u8*bdash3_pict,bdash3_mask;
+u8 bdash3_cmpr[]={
+0xff,0x00,0xff,0x11,0xe4,0x55,0x00,0x8,0x28,
+0x4,0x22,0x2,0x26,0x4,0x22,0x2,0x26,0x6,0x26,0xa,0x24,0xa,0xe4,
+0x77,0x00,0x8,0x42,0x24,0xa,0x44,0xa,0x24,0x8,0xe8,0x6e,0x00,0x6,0x66,0x2,0x22,0x2,
+0x24,0x6,0x22,};
+sprite bdash3 ={ 14,16,(char*)44,bdash3_cmpr};
+
+u8*bdash4_pict,bdash4_mask;
+u8 bdash4_cmpr[]={
+0xff,0x00,0xff,0x1,0xe2,0x55,0x00,0x4,0x22,0x6,0x22,0x4,0x22,0x4,0x22,
+0x2,0x24,0x2,0x22,0x2,0x22,0x2,0x24,0x2,0x22,0x4,0x28,0x8,0x24,
+0x8,0x28,0x4,0x22,0x2,0xe4,0x77,0x00,0x2,0x22,0x2,0x42,0x2,0x24,0x2,0x42,
+0x6,0x44,0xa,0x24,0x8,0xe2,0x6e,0x00,0x44,0x62,0x6,0x62,0x4,0x62,0x6,0x22,
+0x4,0x62,0x4,0x24,0x4,0x24,};
+sprite bdash4 ={ 14,17,(char*)67,bdash4_cmpr};
+
+u8*brick0_pict,brick0_mask;
+u8 brick0_cmpr[]={
+0xff,0x93,0x00,0x3,0xe4,0x00,0x00,0x4,0x24,0x6,0x22,0x6,
+0x22,0x4,0xe2,0x77,0x00,0x22,0x4,0x42,0x22,0x1f,0x1f,0x1f,0x7,0x24,0x4,0x24,
+0x6,0x22,0x6,0x22,0x4,0x42,0x22,0x4,0x42,0x22,0x1f,0x3,};
+sprite brick0 ={ 16,16,(char*)40,brick0_cmpr};
+
+u8*brick1_pict,brick1_mask;
+u8 brick1_cmpr[]={
+0xe3,0xff,0x00,0xe3,
+0x00,0x00,0xa,0xe2,0x77,0x00,0xe1,0x88,0x00,0x23,0x2,0x49,0x62,0x23,0x2,0x41,0x63,0x42,0x62,0x3f,
+0x21,0xa,0x23,0x3,0x49,0x1,0x23,0x2,0x41,0x62,0x41,0x62,0x42,0x63,
+0x23,0x2,0x41,0x3f,0x21,0x6,0x23,0x7,0x45,0x61,0x23,0x2,0x4a,0x61,
+0x23,0x2,0x46,0x62,0x41,0x62,0x23,0x2,0x41,0x63,0x41,};
+sprite brick1 ={ 16,14,(char*)63,brick1_cmpr};
+
+u8*pelush1_pict,pelush1_mask;
+u8 pelush1_cmpr[]={
+0xe3,0x00,0xff,0xe8,0x38,0x00,0xb,
+0x22,0xa,0xe9,0x44,0x00,0x6,0x4e,0x2,0xe6,0x66,0x00,0xe5,0x11,0x00,0x4,0xe6,0x77,0x00,0x83,0xa2,0x81,0x4,
+0xa7,0x85,0x4,0xac,0x4,0xae,0x2,0xb6,0xa,0xa8,0x8,0xab,0x2,0x42,
+0x2,0xae,0x3,0xaa,0x8,0xa6,0x6,};
+sprite pelush1 ={ 16,16,(char*)50,pelush1_cmpr};
+
+u8*pelush0_pict,pelush0_mask;
+u8 pelush0_cmpr[]={
+0xe4,0x00,0xff,0xe6,0x38,0x00,0xc,0x22,0xa,0xe9,0x44,0x00,0x6,
+0x4e,0x2,0xe6,0x66,0x00,0xe5,0x11,0x00,0x4,0xe6,0x77,0x00,0x83,0xa2,0x81,0x4,0xa7,0x85,0x4,0xac,
+0x4,0xae,0x2,0xb6,0xa,0xa6,0xa,0xa7,0xa,0xa7,0x5,0x42,0x2,0xae,
+0x3,0xab,0x3,};
+sprite pelush0 ={ 16,16,(char*)50,pelush0_cmpr};
+
+u8*pelush2_pict,pelush2_mask;
+u8 pelush2_cmpr[]={
+0xe4,0x00,0xff,0xe4,0x38,0x00,0xc,0x22,0xa,0xe8,0x44,0x00,0x6,0x4d,0x2,0xea,0x66,0x00,0x4,
+0xe5,0x77,0x00,0xe6,0x11,0x00,0x4,0x8b,0x4,0x8b,0x4,0x8d,0x2,0x94,0xa,0x9d,0x2,0x8b,
+0x5,0x87,0x15,};
+sprite pelush2 ={ 15,16,(char*)40,pelush2_cmpr};
+
+u8*boulder_pict,boulder_mask;
+u8 boulder_cmpr[]={
+0xf6,0x00,0xff,0xe5,0x33,0x00,0xa,0x27,0x8,0x23,0xe4,0x37,0x00,0x22,0x6,0x27,0x41,
+0x22,0x6,0xe1,0x88,0x00,0x26,0x43,0x21,0x4,0x2a,0x41,0x21,0x4,0x2d,0x2,0x2e,
+0x2,0x2e,0x2,0x61,0x27,0x41,0x21,0x41,0x21,0x41,0x21,0x2,0x61,0x28,
+0x41,0x21,0x41,0x21,0x4,0x61,0x28,0x41,0x21,0x41,0x4,0x61,0x27,0x41,
+0x21,0x41,0x6,0x61,0x27,0x41,0x21,0x7,0x61,0x27,0x4,};
+sprite boulder ={ 16,16,(char*)72,boulder_cmpr};
+
+u8*splat0_pict,splat0_mask;
+u8 splat0_cmpr[]={
+0xff,0x00,0xff,0x18,0xe2,
+0x44,0x00,0x18,0x25,0x5,0x22,0x3,0x22,0xc,0x25,0x8,0x22,0xe5,0x4c,0x00,0x22,0x6,0x22,
+0x46,0x22,0x1,0x21,0x4,0x28,0x1,0x21,0x4,0x28,0x9,0x24,0x8,0x24,
+0x18,0x22,0xd,};
+sprite splat0 ={ 15,16,(char*)40,splat0_cmpr};
+
+u8*splat1_pict,splat1_mask;
+u8 splat1_cmpr[]={
+0xe4,0x44,0x00,0xfe,0x00,0xff,0x3,0x2d,0x6,0x28,0x7,0x27,0x9,0x24,0x2,
+0xe1,0xcc,0x00,0x3,0x41,0x4,0x25,0x6,0x41,0x4,0x24,0x3,0x45,0x4,0x23,0x1,
+0x48,0x4,0x22,0x41,0x1,0x45,0x4,0x23,0x4,0x43,0x4,0x24,0xa,0x26,
+0x8,0x25,};
+sprite splat1 ={ 15,14,(char*)47,splat1_cmpr};
+
+u8*splat2_pict,splat2_mask;
+u8 splat2_cmpr[]={
+0xe3,0x00,0xff,0xe6,0x4c,0x00,0x8,0x25,0xe1,0xee,0x00,0x23,0x5,0x2b,0x4,0x26,0x41,0xe2,
+0xce,0x00,0x23,0x3,0x24,0x62,0x41,0x62,0x23,0x2,0x24,0x63,0x41,0x61,0x25,0x1,
+0x23,0x41,0x62,0x43,0x22,0x41,0x22,0x1,0x21,0x41,0x21,0x41,0x61,0x43,
+0x23,0x41,0x21,0x2,0x25,0x62,0x41,0x62,0x24,0x1,0x23,0x64,0x41,0x63,
+0x24,0x1,0x21,0x61,0x21,0x63,0x41,0x61,0x24,0x3,0x24,0x63,0x25,0x3,
+0x2b,0x5,0x25,0x41,0x22,0x9,0x24,0x7,};
+sprite splat2 ={ 15,15,(char*)84,splat2_cmpr};
+
+u8*splat3_pict,splat3_mask;
+u8 splat3_cmpr[]={
+0xe3,0x00,0xff,0xe6,0x6e,0x00,0x6,0x2a,0x3,0x2d,
+0x1,0x26,0x2,0xe2,0x66,0x00,0x28,0x5,0x21,0x1,0x27,0x6,0x27,0xe1,0xee,0x00,0x6,0x21,
+0x61,0x23,0x61,0x21,0x7,0x22,0x61,0x25,0x7,0x26,0x42,0x4,0x27,0x41,
+0x21,0x43,0x61,0x41,0x32,0x2,0x2b,0x4,0x25,0x61,0x22,0x8,0x25,0x5,
+};
+sprite splat3 ={ 14,15,(char*)56,splat3_cmpr};
+
+u8*splat4_pict,splat4_mask;
+u8 splat4_cmpr[]={
+0xe3,0x00,0xff,0xe3,0x40,0x00,0x1,0x22,0x6,0x21,0x2,0x22,0x1,0x22,0x5,0x23,0x7,0x22,
+0xb,0x21,0x4,0x22,0x6,0x21,0x1,0x23,0x1,0x22,0xa,0x22,0xb,0x22,
+0xf,0x21,0xb,0x22,0x2,0x21,0x7,0x23,0x1,0x21,0x2,0x21,0x2,0x21,
+0x4,0x22,0x1,0x24,0x4,0x22,0x1,0x22,0x7,0x24,0x6,0x25,0xe1,0x04,0x00,0x22,
+0x8,0x25,0x5,};
+sprite splat4 ={ 14,15,(char*)65,splat4_cmpr};
+
+u8*tietzka_pict,tietzka_mask;
+u8 tietzka_cmpr[]={
+0xff,0x00,0xff,0xe8,0x77,0xff,0x7,0x21,0xe6,0x99,0xff,0x21,0x7,0x21,0x46,0x21,0x1,
+0x24,0x2,0x21,0x46,0x21,0x1,0x21,0xe2,0xff,0xff,0x21,0x2,0x28,0x1,0x24,0x3,
+0x26,0x2,0x24,0x4,0x24,0x3,0x24,0x1,0xef,0x66,0xff,0x1,0x85,0x2,0x85,0x4,
+0x83,0x4,0x83,0x5,0x83,0x4,0x83,0x3,};
+sprite tietzka ={ 15,13,(char*)57,tietzka_cmpr};
+
+u8*pelu_pict,pelu_mask;
+u8 pelu_cmpr[]={
+0xff,0x00,0xff,0x1,0xea,0x00,0xff,0xeb,0x44,0x00,0x39,0x42,
+0x3e,0x42,0x35,0xed,0x44,0x00,0x37,0x6a,0x36,0xe4,0x11,0x82,0xe6,0xe6,0x00,0x36,0x85,0xe5,0x87,0x00,0x36,0x81,
+0xe1,0xff,0x00,0x83,0xc5,0x36,0x84,0xc7,0x35,0xcb,0x33,0xcd,0x31,0xcf,0x3a,0xc4,
+0x33,0x62,0x24,0xc7,0x33,0xcd,0x35,0xcb,0x37,0xc9,0x37,0xc9,0x39,0xc6,
+0x3b,0xc5,0x3c,0xc4,0x2f,};
+sprite pelu ={ 32,22,(char*)69,pelu_cmpr};
+
+void decompress_bitmap(u8*dpic,u8*dmask,u8*s,int count)
+{
+   u8 pal[7],palm[7],palidx=0;
+   u8 col,msk,rep,*s1=s+count;
+
+   while(s<s1)
+   {
+      u8 a=*s++;
+
+      rep=a&31;
+      col=a>>5;
+      
+      if(col==7){pal[palidx]=col=*s++;palm[palidx]=msk=*s++;palidx++;if(palidx==7)palidx=0;}
+            else{msk=palm[col];col=pal[col];}
+
+      if(rep)
+      for(;rep;rep--){*dpic++=col;*dmask++=msk;}
+   }
+}
+sprite*allbmps[]={&oldsk,&bdash0,&bdash1,&bdash2,&bdash3,&bdash4,&brick0,&brick1,&pelush1,&pelush0,&pelush2,&boulder,&splat0,&splat1,&splat2,&splat3,&splat4,&tietzka,&pelu,NULL };
+void decompress_allbmp()
+{
+   u8*d,*d2;
+   sprite**s=allbmps;
+   while(*s)
+   {
+      d=malloc((*s)->width*(*s)->height*sizeof(u8));
+      d2=malloc((*s)->width*(*s)->height*sizeof(u8));
+      decompress_bitmap(d,d2,(*s)->mask,(int)((*s)->pict));
+      (*s)->pict=d;
+      (*s)->mask=d2;
+      s++;
+   }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/oldchsool/sprites.pl	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,500 @@
+#!/usr/bin/perl
+##!/opt/bin/perl5
+
+#   color=>grayscale palettes:
+#
+#   0x00,0x08,0x80,0x88,0x87,0x78,0x77,0x7f,0xf7,0xff
+
+###########################
+
+$spritz="sprite*allbmps[]={";
+
+$wrct=0;
+sub wr
+{
+   printf("0x%x,",$_[0]);
+   $wrct+=5;
+   if($wrct>=70){printf("\n");$wrct=0;}
+}
+
+sub wrrle
+{
+   my ($ch,$cnt)=($_[0],$_[1]);
+
+   if($cnt==0){return;}
+   
+   $z=-1;
+   for($i=0;$i<7;$i++){if($cpal[$i] eq $ch){$z=$i;}}
+
+   if($z==-1)
+   {
+      $cpal[$cpalidx]=$ch;
+      $cpalidx++;
+      if($cpalidx==7){$cpalidx=0;}
+      wr((7<<5)|$cnt);
+      if($pal{ord($ch)} eq '') { print "/* ERROR - $ch */"; }
+      print $pal{ord($ch)}.",";
+      $sz+=3;
+   }
+    else
+   {
+      wr(($z<<5)|$cnt);
+      $sz++;
+   }
+}
+
+sub bitmap
+{
+   $bmpname=$_[0];
+   $sz=0;
+
+   @colors=split('/',$_[1]);
+   foreach(@colors)
+   {
+      ($ch,$col,$msk)=split(':',$_);
+      $pal{ord($ch)}="0x".$col.",0x".$msk;
+   }
+
+   @lines=split("\n",$_[2]);
+   $xdim=0;$ydim=0;
+
+   foreach(@lines)
+   {
+      if(length($_)>$xdim) { $xdim=length($_); }
+   }
+
+   print "u8*".$bmpname."_pict,".$bmpname."_mask;\n";
+   print "u8 ".$bmpname."_cmpr[]={\n";
+   $ydim=0;
+
+   @cpal=('å','å','å','å','å','å','å');$cpalidx=0;
+   $repch="å";$repcnt=0;
+   foreach(@lines)
+   {
+      for($x=0;$x<$xdim;$x++)
+      {
+         $ch=substr($_,$x,1);
+         if($ch eq "") { $ch=" "; }
+
+         if($ch eq $repch)
+         {
+            $repcnt++;
+            if($repcnt==31){$repcnt=0;wrrle($repch,31);}
+         }
+          else
+         {
+            wrrle($repch,$repcnt);
+            $repch=$ch;$repcnt=1;
+         }
+      }
+      $ydim++;
+   }
+   wrrle($repch,$repcnt);
+   print "};\n";
+   print "sprite $bmpname ={ $xdim,$ydim,(char*)$sz,$bmpname"."_cmpr};\n\n";
+
+   $spritz .= '&'.$bmpname.',';
+}
+
+&bitmap('oldsk',' :00:ff/o:88:00/;:67:00/b:78:00/x:ff:00',<<EOD);
+        ;;;;;;
+      bbb;;;;;;
+     bbbb;;;;;;b;
+ ;  b;;;;;;;;;bbb;  ;
+;;;;;xxxxxx;;;;;;;;;;;;
+;;;;;x;;;;x;xxxxxx;;;;
+;;;; x;xx;x;x;;;;x;;;
+ ;;  x;;;;x;x;xx;x;;
+     xxxxxx;x;;;;x
+       ;;;;;xxxxxx
+      ;;;;;;;;;;
+     bbb;o;o;;bbb
+     bbbbbbbbbbbbb
+      bbbbbbbbbb
+       bbbbbbbbb
+       bbbbbbbb
+        bb bbbb
+        bb bbb
+           bb
+           b
+EOD
+# ppppppppppppp  ppppp         ppppp  pppppppppppppp
+# ppppppppppppp  ppppp         ppppp  pppppppppppppp
+# ppppp   ppppp  ppppp         ppppp  ppppp    ppppp
+# ppppp   ppppp  ppppp         ppppp  ppppp    ppppp
+# ppppppppppppp  ppppp   ppp   ppppp  pppppppppppppp
+# ppppppppppppp  ppppp   ppp   ppppp  pppppppppppppp
+# ppppp          ppppp   ppp   ppppp  ppppp
+# ppppp          ppppppppppppppppppp  ppppp
+# ppppp          ppppppppppppppppppp  ppppp
+#
+&bitmap('bdash0',' :00:ff/b:44:00/*:77:00/b:6e:00/w:55:00',<<EOD);
+
+
+      wwww
+    wwwwwwww
+  ww  wwwwww
+  ww  wwwwww
+    wwwwww
+      wwww
+      ****
+    **wwww
+      ****
+    bbwwwwbbbb
+  bb          ww
+  bb          ww
+wwww
+
+EOD
+&bitmap('bdash1',' :00:ff/b:44:00/*:77:00/b:6e:00/w:55:00',<<EOD);
+
+
+    wwww
+  wwwwwwww
+ww  wwwwww
+ww  wwwwww
+  wwwwww
+    wwww
+    ****
+  **wwww
+    ****
+  bbwwwwbb  
+  bb    bb
+  bb    bbww
+wwww      ww
+
+EOD
+&bitmap('bdash2',' :00:ff/b:44:00/*:77:00/b:6e:00/w:55:00',<<EOD);
+
+
+
+      wwww
+    wwwwwwww
+  ww  wwwwww
+  ww  wwwwww
+    wwwwww
+      wwww
+      ****
+    **wwww
+      ****
+      wwww
+      bbbb
+      bbbbww
+    wwww  ww
+
+EOD
+&bitmap('bdash3',' :00:ff/b:44:00/*:77:00/b:6e:00/w:55:00',<<EOD);
+
+
+
+      wwww
+    wwwwwwww
+  ww  wwwwww
+  ww  wwwwww
+    wwwwww
+      wwww
+      ****
+    **wwww
+      ****
+      wwww
+    bbbbbbbb
+    bbbbbb  ww
+  wwww      ww
+
+EOD
+&bitmap('bdash4',' :00:ff/b:44:00/*:77:00/b:6e:00/w:55:00',<<EOD);
+
+
+    ww    ww
+    ww    ww
+  ww  wwww  ww
+  ww  wwww  ww
+    wwwwwwww
+      wwww
+    wwwwwwww
+  ww  ****  ww
+  **  wwww  **
+      ****
+      wwww
+    bb****bb
+    bb    bb
+    ww    bb
+  wwww    wwww
+EOD
+&bitmap('brick0',' :00:00/w:93:00/*:77:00',<<EOD);
+wwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwww
+ww    wwww    ww
+wwww  wwwwww  ww
+ww**  wwww**  ww
+wwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwww
+ww    wwww    ww
+wwww  wwwwww  ww
+ww**  wwww**  ww
+wwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwww
+EOD
+&bitmap('brick1',' :00:00/w:ff:00/*:77:00/x:88:00',<<EOD);
+www   wwwwwwwwww
+**x   ww********
+*xx   ww*xxx**xx
+                
+
+wwwwwwwwww   www
+*********w   ww*
+xx*xx**xxx   ww*
+                
+
+wwwwww   wwwwwww
+*****x   ww*****
+*****x   ww*****
+*xx*xx   ww*xxx*
+
+
+EOD
+&bitmap('pelush1',' :00:ff/r:44:00/Y:66:00/y:38:00/.:11:00/W:77:00',<<EOD);
+   yyyyyyyy
+      yy
+  rrrrrrrrr
+ rrrrrrrrrrrrrr
+ YYYYYY.....
+WWWWWW...WW.
+WWWWWWW.....
+WWWWWWWWWWWW
+WWWWWWWWWWWWWW
+WWWWWWWWWWWWWWWW
+WWWWWW
+WWWWWWWW
+WWWWWWWWWWW  rr
+ WWWWWWWWWWWWWW
+  WWWWWWWWWW
+    WWWWWW
+EOD
+&bitmap('pelush0',' :00:ff/r:44:00/Y:66:00/y:38:00/.:11:00/W:77:00',<<EOD);
+    yyyyyy
+      yy
+  rrrrrrrrr
+ rrrrrrrrrrrrrr
+ YYYYYY.....
+WWWWWW...WW.
+WWWWWWW.....
+WWWWWWWWWWWW
+WWWWWWWWWWWWWW
+WWWWWWWWWWWWWWWW
+WWWWWW
+WWWWWW
+WWWWWWW
+ WWWWWWW     rr
+ WWWWWWWWWWWWWW
+  WWWWWWWWWWW
+EOD
+&bitmap('pelush2',' :00:ff/r:44:00/Y:66:00/y:38:00/.:11:00/W:77:00',<<EOD);
+    yyyy
+     yy
+  rrrrrrrr
+ rrrrrrrrrrrrr
+ YYYYYYYYYY
+WWWWW......
+WWWWWWWWWWW
+WWWWWWWWWWW
+WWWWWWWWWWWWW
+WWWWWWWWWWWWWWW
+WWWWW
+WWWWWWWWWWWWWWW
+WWWWWWWWWWWWWW
+ WWWWWWWWWWW
+  WWWWWWW
+ 
+EOD
+&bitmap('boulder','.:00:ff/x:33:00/y:37:00/;:88:00',<<EOD);
+................
+......xxxxx.....
+.....xxxxxxx....
+....xxxyyyyxx...
+...xxxxxxxyxx...
+...;xxxxxxyyyx..
+..xxxxxxxxxxyx..
+..xxxxxxxxxxxxx.
+.xxxxxxxxxxxxxx.
+.xxxxxxxxxxxxxx.
+.;xxxxxxxyxyxyx.
+.;xxxxxxxxyxyx..
+..;xxxxxxxxyxy..
+..;xxxxxxxyxy...
+...;xxxxxxxyx...
+....;xxxxxxx....
+EOD
+&bitmap('splat0',' :00:ff/b:44:00/B:4c:00',<<EOD);
+
+
+
+          bb
+  
+      bbbbb
+ bb   bb 
+     bbbbb
+   bbBBBBBbb
+   bbBBBBBBbb b
+    bbbbbbbb b
+   bbbbbbbb
+     bbbb
+  bbbb
+
+bb
+EOD
+&bitmap('splat1',' :00:ff/b:44:00/B:cc:00',<<EOD);
+bbbb
+
+    bbb
+     bbbbbb
+    bbbbbbb
+   bbbbbbbbb
+ bbBbbbBbbbb
+  bbbbbbBbbbb
+  bbbBBBBBbbbb
+  bBBBBBBBBbbbb
+  BbBBBBBbbbb
+ bbbbBBBbbbb
+ bbbbbbbbbb
+  bbbbbbbb
+
+
+EOD
+&bitmap('splat2',' :00:ff/b:4c:00/B:ce:00/x:ee:00',<<EOD);
+   bbbbbb
+  bbbbbxbbb
+ bbbbbbbbbbb
+ bbbbbbxBBbbb
+ bbbbBBxBBbbb
+bbbbBBBxBbbbbb
+bbbxBBxxxbbxbb
+bxbxBxxxbbbxb
+bbbbbBBxBBbbbb
+bbbBBBBxBBBbbbb
+ bBbBBBxBbbbb
+ bbbbBBBbbbbb
+ bbbbbbbbbbb
+  bbbbbxbb
+    bbbb
+EOD
+&bitmap('splat3',' :00:ff/b:6e:00/B:66:00/x:ee:00',<<EOD);
+   bbbbbb
+ bbbbbbbbbb
+bbbbbbbbbbbbb
+bbbbbb  BBbbbb
+bbbb     b bbb
+bbbb      bbbb
+bbbx      bxbb
+bxb       bbxb
+bbbb       bbb
+bbbBB    bbbbb
+bbBbBBBxBbbbbb
+bbbbbbbbbbbbb
+ bbbbbbbbbbb
+  bbbbbxbb
+    bbbbb
+EOD
+&bitmap('splat4',' :00:ff/b:40:00/x:04:00',<<EOD);
+   bbb bb
+ b  bb bb 
+bbb       bb
+         b  
+bb      b bbb
+bb          bb
+           bb
+              
+b           bb
+  b       bbb
+b  b  b    bb
+bbbb    bb bb
+      bbbb
+  bbbbbxbb
+    bbbbb
+EOD
+&bitmap('tietzka',' :00:ff/*:77:ff/B:99:ff/w:66:ff/!:ff:ff',<<EOD);
+
+
+ ********
+ *BBBBBB*  
+ *BBBBBB* **** 
+ *BBBBBB* *!!*
+ ******** ****
+  ******  ****
+   ****   ****
+wwwwwwwwwwwwwww
+ wwwww  wwwww
+  www    www
+  www    www
+EOD
+
+
+&bitmap('pelu','n:44:00/-:00:ff/ :00:ff/@:87:00/.:11:82/x:44:00/Z:e6:00/o:ff:00',<<EOD);
+--------------------------------
+          nnnnnnnnnnn
+              nn
+              nn
+     xxxxxxxxxxxxx
+         xxxxxxxxxx
+         ....ZZZZZZ
+         .....@@@@@
+         .o...@@@@@
+         ....@@@@@@@
+         @@@@@@@@@@@
+       @@@@@@@@@@@@@
+     @@@@@@@@@@@@@@@
+              @@@@
+     xx    @@@@@@@
+     @@@@@@@@@@@@@
+       @@@@@@@@@@@
+         @@@@@@@@@
+         @@@@@@@@@
+           @@@@@@
+            @@@@@
+             @@@@
+EOD
+
+print <<JOOH;
+void decompress_bitmap(u8*dpic,u8*dmask,u8*s,int count)
+{
+   u8 pal[7],palm[7],palidx=0;
+   u8 col,msk,rep,*s1=s+count;
+
+   while(s<s1)
+   {
+      u8 a=*s++;
+
+      rep=a&31;
+      col=a>>5;
+      
+      if(col==7){pal[palidx]=col=*s++;palm[palidx]=msk=*s++;palidx++;if(palidx==7)palidx=0;}
+            else{msk=palm[col];col=pal[col];}
+
+      if(rep)
+      for(;rep;rep--){*dpic++=col;*dmask++=msk;}
+   }
+}
+JOOH
+
+print $spritz,"NULL };\n";
+
+print <<JOOH2
+void decompress_allbmp()
+{
+   u8*d,*d2;
+   sprite**s=allbmps;
+   while(*s)
+   {
+      d=malloc((*s)->width*(*s)->height*sizeof(u8));
+      d2=malloc((*s)->width*(*s)->height*sizeof(u8));
+      decompress_bitmap(d,d2,(*s)->mask,(int)((*s)->pict));
+      (*s)->pict=d;
+      (*s)->mask=d2;
+      s++;
+   }
+}
+JOOH2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/Makefile.in	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,16 @@
+CC = gcc -O2
+
+all: peluce
+
+############################
+
+OBJS= main.o planes.o font.o sprites.o musa.o landscroll.o ../pwplib.a
+
+font.h: font-gen.pl
+	./font-gen.pl > font.h
+
+sprites.o: sprites.c sprites.h
+	$(CC) $(@:.o=.c) -c -o $@
+
+clean:
+	rm -f *.o *~ *.exe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/elevdemo.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,257 @@
+/*
+   
+   generic rotozoomer for sprites
+   
+   struct
+   {
+      char*colors;
+      char*mask;
+      int width,height;
+   }sprite;
+
+   rotozoom(char* int du,int dv,int dui)
+
+   
+   texttri
+  
+  
+  
+  dim/4 padding to every end
+  
+  22x22 pelulamu => padding 6
+
+struct
+{
+   char*buf;
+   int w,h;
+}demobuf;
+
+void rotozoom(int x0,int y0,
+              char*map,int dim,int angle,int zoom)
+{
+  int du,dv,u,v,x,y;
+  char*d=demobuf.buf;
+
+  /* coordinate clipping */
+
+  {int xp0,yp0;
+  dim=(dim*zoom)>>8;
+
+  if(x0+dim>bufw)xdim=demobuf.w-x0;else xdim=dim;
+  if(y0+dim>bufh)ydim=demobuf.h-y0;else ydim=dim;
+
+  if(x0<0){xdim+=x0;xp0=-dim-x0; x0=0;}else xp0=-dim;
+  if(y0<0){ydim+=y0;yp0=-dim-y0; y0=0;}else yp0=-dim;
+
+  if(xdim<=0 || ydim<=0)return;
+
+  /* init rotations */
+  
+  /* ...test here: if angle==0 => if zoom==256 etc */
+
+  du=sin(angle/256.0)*zoom;
+  dv=cos(angle/256.0)*zoom;
+
+  u=-du*xp0-dv*yp0;
+  v=-dv*xp0+du*yp0;
+  }
+
+  /** innerl00p ***/
+
+  {int duo=-dv-du*xdim,
+       dvo= du-dv*xdim,
+       mod=demobuf.w-xdim;
+
+   d+=ydim*demobuf.w+xdim;
+
+  for(y=ydim;y;y--)
+  {
+     for(x=xdim;x;x--)
+     {
+        int ptr=(u&0xff00)+(v>>8);
+
+        *d=(*d&map[ptr])|map[ptr+128];
+        d++;
+        u+=du;
+        v+=dv;
+     }
+     
+     u+=duo;
+     v+=dvo;
+     d+=mod;
+  }
+  }
+}
+
+void pelulamu_animate()
+{
+  /* - draw torso: thick lines & rectangles
+     - draw head
+  */
+}
+
+
+
+Cvoid drawtext()
+{
+   
+}
+
+/*
+
+  buf,bufw,bufh
+
+  x0,y0,dim,angle,zoom		bufw,bufh
+
+
+  put a 50% safebox around the stuff
+  
+  
+  128: 64
+  
+  256x256
+  
+  for 8x8 texture (font!): 16x16 space
+ 
+  font: 5x5 textures
+ 
+  7x5 => 14x10 space   280 bytes/char => abt 10k of font data
+
+  aspectratio adjustment
+
+
+   *****
+  **   **
+  *******
+  **   **
+  **   **
+
+  ******
+  **   **
+  ******
+  **   **
+  ******
+  
+   *****
+  **   **
+  **
+  **   **
+   *****
+
+  ******
+  **   **
+  **   **
+  **   **
+  ******
+  
+  *******
+  **
+  ****
+  **
+  *******
+  
+  *******
+  **
+  ****
+  **
+  **
+  
+  for 16x16 texture: 32x32 space
+  for 32x32 texture: 64x64 space
+  for 64x64 texture: 128x128 space - no bigger possible here
+  
+
+  -------------
+  -------------
+  --.........--
+  --.........--
+  --.........--
+  --.........--
+  --....o....--
+  --.........--
+  --.........--
+  --.........--
+  --.........--
+  -------------
+  -------------
+
+ 
+  sqrt(2)*width,sqrt(2)*height
+  
+  1.5*width,1.5*height
+
+  
+  
+  delta always constant
+  
+  
+  innerloop has constant du,dv
+  
+  outerloop: dv,-du + 
+  
+    
+        
+  -------.--------
+  ------....------
+  -----.......----
+  ----..........--
+  ---............- ________
+  --..............
+  -..............-
+  ..............-- ________
+  -............---
+  ---.........----
+  -----......-----
+  -------...------
+  --------.--------
+  
+	
+
+          ____________ 
+         .
+        ...
+       .....
+      .......
+     .........
+    ........... ______
+    -...........
+      ........... ____
+       .........
+        .......
+         .....
+          ...
+           . _________
+
+                __-- sqrt ( (a/2)**2 + (a/sqrt(2))**2)
+  ------.-----/        == sqrt(aa/4 + aa/2) == sqrt(3aa/4) == sqrt(3)/4 * a ==~ 0.433a
+  -----...---/-
+  ----.....-/--
+  ---.......---  a/sqrt(2)
+  --.........--
+  -...........-
+  ......o......
+  -...........-
+  --.........--
+  ---.......---
+  ----.....----
+  -----...-----
+  ------.------
+
+  square sprites
+
+
+     |\  (a*sqrt(2))/2
+ a/2 | \
+     |__\  
+
+      a/2
+
+*/
+
+/*
+
+<#linux.fi:Goblet> mä tiedän tuon xazturin, se on sellanen about 140cm
+                   saatananpalvojapelle millä on pitkä musta takki ja
+                   tukka ja siitä tulee mulle aina mieleen addams family :D
+
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/font-gen.pl	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,202 @@
+#!/usr/bin/perl
+
+$_=<<EOF;
+
+.......
+.......
+.......
+.......
+.......
+
+x*****x
+**...**
+*******
+**...**
+**...**
+
+******+
+**...**
+******+
+**...**
+******+
+
+x*****x
+**...**
+**.....
+**.....
+x******
+
+******+
+**...**
+**...**
+**...**
+******+
+
++******
+**.....
+****...
+**.....
+*******
+
++******
+**.....
+****...
+**.....
+**.....
+
+x******
+**.....
+**.****
+**...**
+x*****x
+
+**...**
+**...**
+*******
+**...**
+**...**
+
+******.
+.+**+..
+..**...
+.+**+..
+******.
+
+..+****
+.....**
+.....**
+**+.+**
+x*****x
+
+**..+**
+**.+**.
+*****..
+**.+**.
+**..+**
+
+**.....
+**.....
+**.....
+**.....
+*******
+
+x**x**x
+*******
+**+*+**
+**.+.**
+**...**
+
+******x
+**...**
+**...**
+**...**
+**...**
+
+x*****x
+**...**
+**...**
+**...**
+x*****x
+
+x*****x
+**...**
+******x
+**.....
+**.....
+
+x*****x
+**...**
+**..+x*
+**..x**
+x******
+
+*******
+**...**
+*******
+*****+.
+**.+***
+
+x******
+**.....
+x*****x
+.....**
+******x
+
+******.
+..**...
+..**...
+..**...
+..**...
+
+**...**
+**...**
+**...**
+**...**
+x*****x
+
+**...**
+**...**
+**x.x**
++**x**+
+.+***+.
+
+**...**
+**...**
+**.*.**
+**x*x**
+***+***
+
+**..**.
+.****..
+.+**+..
+.****..
+**..**.
+
+**...**
+**...**
+x******
+.....**
+....x*x
+
+*******
+...x**+
+.+***+.
++**x...
+*******
+
+..x**..
+..***..
+...**..
+...**..
+*******
+
+x*****x
+**...**
+x******
+.....**
+******x
+
+.......
+.......
+x*****x
+.......
+.......
+
+*x.*.x*
+..***..
+x**.**x
+*******
+**...**
+
+*x...x*
+.......
+*******
+**...**
+*******
+EOF
+
+ s/x/0x77\,/g;
+s/\./0x00\,/g;
+s/\*/0xff\,/g;
+s/\+/0x88\,/g;
+print "char pwpfont[][5*7]=\n{$_};\n";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/font.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,104 @@
+#include "pwpdemo.h"
+#include "font.h"
+
+typedef struct
+{
+   int width,height;
+   u8*pict;
+   u8*mask;
+}sprite;
+
+u8*fontbuf_mask,
+  *fontbuf_pict;
+sprite fontbuf;
+
+struct
+{
+   int zoomsince,
+       zoomfrom,
+       zoomstep,
+       zoomto;
+}texter;
+
+void initfontbuf()
+{
+   fontbuf.width=80;
+   fontbuf.height=25;
+   fontbuf.mask=malloc(80*25*4*sizeof(u8));
+   fontbuf.pict=malloc(80*25*4*sizeof(u8));
+   memset(fontbuf.mask,0xff,80*25*4*sizeof(u8));
+}
+
+void setfontbuf(char*txt,int blend)
+{
+   int x=0,y=0;
+
+   memset(fontbuf.pict,0,80*25*sizeof(u8));
+   
+   while(*txt)
+   {
+      if(*txt>='@')
+      {
+         int yy=0,xx;u8*s=pwpfont[*txt-'@'];
+         for(;yy<5;yy++)
+         for(xx=0;xx<7;xx++)
+         {
+            fontbuf.pict
+              [(y+yy)*80+
+               (x+xx)]=*s++&blend;
+         }
+         x+=8;
+      }
+      else
+      {
+         x=0;y+=6;
+      }
+      txt++;
+   }
+}
+
+void textoff(int t)
+{
+   texter.zoomfrom=texter.zoomto=2048;
+   texter.zoomstep=0;
+}
+
+void textshow(int t)
+{
+   int z=texter.zoomfrom+(t-texter.zoomsince)*texter.zoomstep;
+
+   if(texter.zoomfrom<texter.zoomto)
+   {
+      if(z>texter.zoomto)z=texter.zoomto;
+   }
+    else
+      if(z<texter.zoomto)z=texter.zoomto;
+
+   if(z>=32 && z<=960)
+   zoomsprite_gen(0,0,&fontbuf,z);
+}
+
+void justshowtext(char*txt,int col)
+{
+   texter.zoomsince=texter.zoomstep=0;
+   texter.zoomto=texter.zoomfrom=80;
+   setfontbuf(txt,col);
+}
+
+void textzoomin(int start,char*txt)
+{
+   setfontbuf(txt,0xff);
+
+   texter.zoomsince=start;
+   texter.zoomfrom=32;
+   texter.zoomto=80;
+   texter.zoomstep=4;
+}
+
+void textzoomout(int start)
+{
+   texter.zoomfrom=80;
+   texter.zoomsince=start;
+   texter.zoomstep=16;
+   texter.zoomto=1024;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/font.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,194 @@
+char pwpfont[][5*7]=
+{
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+
+0xff,0xff,0xff,0xff,0xff,0xff,0x88,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x88,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x88,
+
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0x77,0xff,0xff,0xff,0xff,0xff,0xff,
+
+0xff,0xff,0xff,0xff,0xff,0xff,0x88,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x88,
+
+0x88,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+
+0x88,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+
+0x77,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,
+0x00,0x88,0xff,0xff,0x88,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,0x00,
+0x00,0x88,0xff,0xff,0x88,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,
+
+0x00,0x00,0x88,0xff,0xff,0xff,0xff,
+0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x88,0x00,0x88,0xff,0xff,
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+
+0xff,0xff,0x00,0x00,0x88,0xff,0xff,
+0xff,0xff,0x00,0x88,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0x88,0xff,0xff,0x00,
+0xff,0xff,0x00,0x00,0x88,0xff,0xff,
+
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+
+0x77,0xff,0xff,0x77,0xff,0xff,0x77,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x88,0xff,0x88,0xff,0xff,
+0xff,0xff,0x00,0x88,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+
+0xff,0xff,0xff,0xff,0xff,0xff,0x77,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x77,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x88,0x77,0xff,
+0xff,0xff,0x00,0x00,0x77,0xff,0xff,
+0x77,0xff,0xff,0xff,0xff,0xff,0xff,
+
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x88,0x00,
+0xff,0xff,0x00,0x88,0xff,0xff,0xff,
+
+0x77,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x77,
+
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,0x00,
+0x00,0x00,0xff,0xff,0x00,0x00,0x00,
+
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x77,0x00,0x77,0xff,0xff,
+0x88,0xff,0xff,0x77,0xff,0xff,0x88,
+0x00,0x88,0xff,0xff,0xff,0x88,0x00,
+
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0xff,0x00,0xff,0xff,
+0xff,0xff,0x77,0xff,0x77,0xff,0xff,
+0xff,0xff,0xff,0x88,0xff,0xff,0xff,
+
+0xff,0xff,0x00,0x00,0xff,0xff,0x00,
+0x00,0xff,0xff,0xff,0xff,0x00,0x00,
+0x00,0x88,0xff,0xff,0x88,0x00,0x00,
+0x00,0xff,0xff,0xff,0xff,0x00,0x00,
+0xff,0xff,0x00,0x00,0xff,0xff,0x00,
+
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0x77,0xff,0xff,0xff,0xff,0xff,0xff,
+0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0x00,0x00,0x00,0x00,0x77,0xff,0x77,
+
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x00,0x00,0x00,0x77,0xff,0xff,0x88,
+0x00,0x88,0xff,0xff,0xff,0x88,0x00,
+0x88,0xff,0xff,0x77,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+
+0x00,0x00,0x77,0xff,0xff,0x00,0x00,
+0x00,0x00,0xff,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,0x00,
+0x00,0x00,0x00,0xff,0xff,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0x77,0xff,0xff,0xff,0xff,0xff,0xff,
+0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x77,
+
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x77,0xff,0xff,0xff,0xff,0xff,0x77,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+0xff,0x77,0x00,0xff,0x00,0x77,0xff,
+0x00,0x00,0xff,0xff,0xff,0x00,0x00,
+0x77,0xff,0xff,0x00,0xff,0xff,0x77,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+
+0xff,0x77,0x00,0x00,0x00,0x77,0xff,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/landscroll.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,95 @@
+#include "pwpdemo.h"
+
+/*
+char texture1[32*32]={
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x99,0x89,0x89,0x89,0x89,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x99,0x99,0x89,0x89,0x89,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x89,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x89,0x89,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x10,0x10,0x10,0x89,0x99,0x10,0x10,0x89,0x99,0x99,0x89,0x99,0x99,0x89,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x10,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x99,0x99,0x99,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x10,0x89,0x99,0x10,0x01,0x01,
+0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x10,0x10,0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x89,0x89,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x89,0x99,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x89,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,
+0x10,0x01,0x01,0x01,0x10,0x10,0x99,0x99,0x89,0x99,0x99,0x99,0x89,0x10,0x10,0x10,0x99,0x99,0x99,0x89,0x89,0x99,0x99,0x99,0x10,0x99,0x10,0x10,0x10,0x10,0x10,0x10,
+0x10,0x01,0x01,0x10,0x10,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x99,0x10,0x01,0x10,0x10,0x99,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x10,0x10,0x89,0x99,0x99,0x10,
+0x10,0x01,0x01,0x10,0x99,0x99,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x01,0x01,0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x89,0x89,0x89,0x89,0x10,0x10,0x10,0x89,0x89,
+0x10,0x01,0x01,0x10,0x99,0x99,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x99,0x99,0x99,0x89,0x89,0x99,0x10,0x10,0x10,0x01,0x10,0x10,0x10,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x99,0x99,0x99,0x99,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x99,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x10,0x10,0x10,0x10,0x89,0x89,0x10,0x10,0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x99,0x89,0x99,0x99,0x89,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,
+0x10,0x10,0x10,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x89,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x89,0x10,0x10,0x10,0x01,0x01,0x01,
+0x10,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x89,0x99,0x10,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x89,0x10,0x10,0x01,0x01,
+0x10,0x89,0x89,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x89,0x99,0x99,0x89,0x99,0x99,0x99,0x10,0x10,0x89,0x89,0x99,0x99,0x99,0x99,0x89,0x99,0x10,0x01,0x01,
+0x10,0x10,0x10,0x10,0x89,0x99,0x99,0x89,0x99,0x99,0x99,0x99,0x99,0x89,0x89,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x99,0x99,0x99,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x89,0x89,0x99,0x99,0x99,0x10,
+0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x10,0x89,0x99,0x99,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x10,0x89,0x10,0x10,0x89,0x89,0x89,0x89,0x89,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x01,0x01,0x10,0x99,0x99,0x10,0x10,0x10,0x89,0x89,0x99,0x10,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x89,0x89,0x89,0x99,0x99,0x99,0x10,0x01,0x01,
+0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x01,0x10,0x10,0x89,0x99,0x10,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x89,0x99,0x10,0x99,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x10,0x10,0x10,0x89,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
+0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x10,0x10,0x10,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01
+};
+*/
+
+char texture1[32*32]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0x02,0x02,0x02,0x02,0x02,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,0xaa,0x8a,0x8a,0x8a,0x8a,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,0xaa,0xaa,0x8a,0x8a,0x8a,0x02,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,0x02,0x02,0x02,0x02,0x02,0x8a,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x02,0x02,0x02,0x8a,0xaa,0x02,0x02,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0x8a,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x02,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xaa,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0x02,0x8a,0xaa,0x02,0x00,0x00,
+0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x02,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0x8a,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8a,0xaa,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,
+0x02,0x00,0x00,0x00,0x02,0x02,0xaa,0xaa,0x8a,0xaa,0xaa,0xaa,0x8a,0x02,0x02,0x02,0xaa,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,
+0x02,0x00,0x00,0x02,0x02,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,0x00,0x02,0x02,0xaa,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x02,0x02,0x8a,0xaa,0xaa,0x02,
+0x02,0x00,0x00,0x02,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x00,0x00,0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x02,0x02,0x02,0x8a,0x8a,
+0x02,0x00,0x00,0x02,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0xaa,0xaa,0xaa,0x8a,0x8a,0xaa,0x02,0x02,0x02,0x00,0x02,0x02,0x02,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0xaa,0xaa,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0xaa,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x02,0x02,0x02,0x02,0x8a,0x8a,0x02,0x02,0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x8a,0xaa,0xaa,0x8a,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,
+0x02,0x02,0x02,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0x8a,0x02,0x02,0x02,0x00,0x00,0x00,
+0x02,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x8a,0xaa,0x02,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x8a,0x02,0x02,0x00,0x00,
+0x02,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0xaa,0x02,0x02,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0x8a,0xaa,0x02,0x00,0x00,
+0x02,0x02,0x02,0x02,0x8a,0xaa,0xaa,0x8a,0xaa,0xaa,0xaa,0xaa,0xaa,0x8a,0x8a,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,
+0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x02,0x8a,0xaa,0xaa,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x02,0x8a,0x02,0x02,0x8a,0x8a,0x8a,0x8a,0x8a,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x00,0x00,0x02,0xaa,0xaa,0x02,0x02,0x02,0x8a,0x8a,0xaa,0x02,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x8a,0x8a,0x8a,0xaa,0xaa,0xaa,0x02,0x00,0x00,
+0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x00,0x02,0x02,0x8a,0xaa,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x8a,0xaa,0x02,0xaa,0x02,0x02,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,0x02,0x02,0x02,0x02,0x02,0x02,0x8a,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,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
+};
+
+void scroller_do(int t,int hg)
+{
+	u8*d=pwplib.videobuf.d;
+
+	static int lastt=0;
+	int y,offy,k=120;
+
+        if(hg<0)hg=0;else if(hg>pwplib.videobuf.height-1)
+          hg=pwplib.videobuf.height-1;
+
+        memset(d,0x08,pwplib.videobuf.width*(pwplib.videobuf.height-hg));
+        d+=pwplib.videobuf.width*(pwplib.videobuf.height-hg);
+
+        for(y=0;y<hg;y++)
+        {
+	     register int dofz=(hg*64*80/pwplib.videobuf.width)/(y+3),
+	                  ofz=t*32-dofz*20-((dofz>>4)*32*256);
+             {int x=pwplib.videobuf.width;for(;x;x--)*d++=texture1[((ofz+=dofz)>>8)&1023];}
+	     k-=(k>>3);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/main.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,465 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "../pwplib/pwplib.h"
+
+#define MAX(a,b) ((a)<(b)?(b):(a))
+#define MIN(a,b) ((a)>(b)?(b):(a))
+
+struct
+{
+   int dsgtime;
+
+   int flagz;
+   int planemode;
+   
+   int enctime,enckode,enczoom,encspeed;
+
+   int endfxt;
+   
+   int metsaemode;
+   int bouncemode;
+}demovar;
+
+char*finnishtexts[]=
+{
+  "@@@UUSI\n@@IHMEMAA\n@@@@ON\n@@L_YTYNYT",
+  "@@@PELUN\n@MIELEST^\n@KAIKKI@ON\n@@IHANAA",
+  "@EIK^@H^N\n@@@@OSAA\n@@@VAROA\n@@VAAROJA",
+
+  "@@SILLOIN\nPAHA@HENKI\n@@RIIVAA\n@@@PELUN",
+  "JA@H^NEST^\n@@TULEE",
+  "\nTAHDOTON",
+  "SAATANAN\nPALVELIJA",
+
+  "@@@PELU\nTEURASTAA",
+  "@@PALJON\n@IHMISI^@]",
+
+  "KRISTITYT\n@@P^LLIT",
+  "@UUSMEDIA]\n@@P^LLIT",
+  "@@TESNO]\n@@P^LLIT",
+  "@ARMEIJA]\n@@P^LLIT",
+  "@WINDOWS]\n@@P^LLIT",
+  "@@QUAKE]\n@@P^LLIT",
+
+  "@JA@NIIN\nMAAILMASTA\n@@@TULI\n@PAREMPI",
+  "\n@P^LLIT_N\n@@@MAA",
+  "\n@@VAPAA\n@@@MAA",
+  "\n@IHMEMAA",
+
+  "@WANNABE]\nASENNETTA\nVUODESTA\n@@[\\\\Y"
+};
+
+char*englishtexts[]=
+{
+  "@@A@NEW\nWONDERLAND\n@HAS@BEEN\n@@@FOUND",
+  "@@@PELU\n@@THINKS\nEVERYTHING\nIS@SUPERB",
+  "@@AND@HE\n@DOES@NOT\n@NOTICE\n@THE@RISKS",
+
+  "@SUDDENLY\n@@AN@EVIL\n@@SPIRIT\nTAKES@PELU",
+  "@AND@SO@HE\n@@BECOMES",
+  "@@@@A\nHELPLESS",
+  "@@@SATAN\nWORSHIPPER",
+
+  "@@PELU\n@MURDERS",
+  "@A@LOT@OF\n@PEOPLE@]",
+
+  "CHRISTIAN\n@IDIOTS",
+  "NEW@MEDIA\n@IDIOTS",
+  "@TECHNO\n@IDIOTS",
+  "MILITARY\n@IDIOTS",
+  "@WINDOWS\n@IDIOTS",
+  "@@QUAKE\n@IDIOTS",
+
+  "@AND@SO\n@THE@WORLD\n@BECAME@A\nLOT@BETTER",
+  "@@@@A\n@@WORLD\n@FREE@OF\n@@IDIOTS\n",
+  "\n@A@FREE\n@@WORLD",
+
+  "\nWONDERLAND",
+
+  "@WANNA]BE\nATTITUDE\n@@SINCE\n@@[\\\\Y"
+};
+
+void rundemo()
+{
+   int quit=0;
+   char**texts=englishtexts;
+
+   pwplib_startup();
+   
+   pwplib_buf=
+     malloc(sizeof(u8)*pwplib.videobuf.width*pwplib.videobuf.height);
+
+   initfontbuf(); 
+
+   if(!pwplib.setup[SETUP_NOSOUND])  /* fix */
+       initplayer();
+
+   if(!strcmp(pwplib_locale,"fi"))texts=finnishtexts;
+
+   pwplib_prep_attr();
+
+   demovar.flagz=8|16;
+   
+   {demovar.dsgtime=0;
+    demovar.endfxt=1<<30;
+    demovar.metsaemode=0;
+   while(!quit)
+   {
+     int t=pwplib_timer();
+
+     while(demovar.dsgtime<t)
+     {
+        switch((int)demovar.dsgtime)
+        {
+            case(64*5):
+               textzoomin(64*5,"@@@PWP@@@@\n"
+                               "@PRESENTS@\n"
+                               "@@@@IN\n"
+                               "@@[\\[OO");
+               break;
+            case(96*5):
+               textzoomout(96*5);
+               break;
+            case(128*5):
+               textzoomin(128*5,
+                               "@@@@A\n"
+                               "@@VT[OO\n"
+                               "COMPATIBLE\n"
+                               "@@FILM");
+               break;
+            case(160*5):
+               textzoomout(160*5);
+               break;
+            case(192*5):
+               textzoomin(192*5,
+                               "@STARRING\n"
+                               "\n"
+                               "@@@PELU\n"
+                               "LAMURANTA");
+               break;
+            case(224*5):
+               textzoomout(224*5);
+               demovar.flagz=8|16|32;
+               demovar.enctime=demovar.endfxt=320*5;
+               demovar.enckode=1;
+               demovar.enczoom=80;
+               demovar.encspeed=32;
+               break;
+
+            case(256*5):
+               textzoomin(256*5,
+                               "@CODED@BY\n"
+                               "\n"
+                               "@@VIZNUT");
+               break;
+            case(288*5):
+               textzoomout(288*5);
+               break;
+
+            case(320*5):
+               textzoomin(320*5,
+                              "@@PELUCE@@\n"
+                              "@@@@IN@@@@\n"
+                              "WONDERLAND\n");
+               break;
+            case(384*5-24):
+               textoff();
+               break;
+            case(384*5):
+               demovar.enckode=2;
+               break;
+            case(384*5+24):
+               demovar.enckode=3;
+               break;
+            case(384*5+50):
+               demovar.flagz=4;
+               demovar.endfxt=1<<30;
+               break;
+               
+            case(384*5+60):
+               demovar.flagz=64;
+               break;
+            #define G 384*5+128*4
+
+            case(G-88*4):
+               justshowtext("\n@KILLALL\n]HUP@BRAIN",0xee);
+               break;
+            case(G-72*4):
+               demovar.flagz=4;
+               textoff();
+               break;
+
+            case(G-32*4):
+               justshowtext("@RELOADING\n@@MIND@]]]",0xcc);
+
+            case(G-16*4):
+               justshowtext("\n\n\n@@@@ALPHA",0xcc);
+               break;
+            case(G-12*4):
+               justshowtext("\n\n@@@BETA",0xcc);
+               break;
+            case(G-8*4):
+               justshowtext("\n@@GAMMA",0xcc);
+               break;
+            case(G-4*4):
+               justshowtext("@DELTA",0xcc);
+               break;
+            case(G):
+               demovar.flagz=2;
+               textoff();
+
+               demovar.planemode=16+2;
+               textzoomin(G,texts[0]);
+               
+               break;
+
+            case(G+64*4):
+               textzoomout(G+64*4);
+               demovar.flagz=2+1;
+               demovar.bouncemode=1;
+               demovar.planemode=16;
+               break;
+
+            case(G+112*4):
+               demovar.planemode=17;
+               break;
+
+            case(G+128*4):
+               demovar.bouncemode=0;
+               demovar.planemode=2;
+               textzoomin(G+128*4,texts[1]);
+               break;
+
+            case(G+192*4):
+               textzoomin(G+192*4,texts[2]);
+               demovar.bouncemode=1;
+               break;
+
+            case(G+256*4):
+               demovar.enckode=4;
+               demovar.enctime=demovar.endfxt=G+304*4;
+               demovar.enczoom=80;
+               demovar.encspeed=50;
+               demovar.flagz=4|32;
+
+               textzoomin(G+256*4,texts[3]);
+               break;
+
+/*            case(G+270*4):
+               demovar.flagz=4|32;
+               break;*/
+
+            case(G+288*4):
+               break;
+
+            case(G+304*4):
+               textoff();
+               demovar.flagz=64|32;
+               break;
+            
+            case(G+320*4):
+               demovar.flagz=64;
+               break;
+               
+            case(G+336*4):
+               demovar.flagz=8|16|32;
+               demovar.enckode=5;
+               demovar.enctime=demovar.endfxt=G+416*4;
+               demovar.enczoom=80;
+               demovar.encspeed=128;
+               break;
+
+            case(G+384*4):
+               textzoomin(G+384*4,texts[4]);
+               break;
+
+            case(G+400*4):
+               textzoomin(G+400*4,texts[5]);
+               break;
+
+            case(G+416*4):
+               textzoomin(G+416*4,texts[6]);
+               break;
+            
+            case(G+440*4):
+               textoff();
+               break;
+            
+            case(G+472*4):
+               demovar.endfxt=1<<30;
+               demovar.flagz=8|16|128;
+               break;
+
+            case(G+512*4):
+               textzoomin(G+512*4,texts[7]);
+               break;
+            case(G+544*4):
+               textzoomin(G+528*4,texts[8]);
+               
+               demovar.flagz=8|16|128|32;
+               demovar.enckode=0;
+               demovar.enctime=G+576*4+90;
+               demovar.enczoom=64;
+               demovar.encspeed=32;
+               break;
+            case(G+576*4):
+               textzoomin(G+590*4,texts[9]);
+               break;
+            case(G+576*4+90):
+               demovar.enckode=6;
+               break;
+            case(G+576*4+96):
+               demovar.flagz&=~32;
+               break;
+            case(G+608*4):
+               textzoomin(G+608*4,texts[10]);
+               demovar.enckode=7;
+               demovar.enctime=G+608*4+90;
+               demovar.flagz|=32;
+               break;
+            case(G+608*4+90):
+               demovar.enckode=6;
+               break;
+            case(G+608*4+96):
+               demovar.flagz&=~32;
+               break;
+            case(G+640*4):
+               textzoomin(G+640*4,texts[11]);
+               demovar.enckode=8;
+               demovar.enctime=G+640*4+90;
+               demovar.flagz|=32;
+               break;
+            case(G+640*4+90):
+               demovar.enckode=6;
+               break;
+            case(G+640*4+96):
+               demovar.flagz&=~32;
+               break;
+            case(G+672*4):
+               textzoomin(G+672*4,texts[12]);
+               demovar.enckode=9;
+               demovar.enctime=G+672*4+90;
+               demovar.flagz|=32;
+               break;
+            case(G+672*4+90):
+               demovar.enckode=6;
+               break;
+            case(G+672*4+96):
+               demovar.flagz&=~32;
+               break;
+            case(G+704*4):
+               textzoomin(G+704*4,texts[13]);
+               demovar.enckode=10;
+               demovar.enctime=G+704*4+90;
+               demovar.flagz|=32;
+               break;
+            case(G+704*4+90):
+               demovar.enckode=6;
+               break;
+            case(G+704*4+96):
+               demovar.flagz&=~32;
+               break;
+            case(G+736*4):
+               textzoomin(G+736*4,texts[14]);
+               demovar.enckode=11;
+               demovar.enctime=G+736*4+90;
+               demovar.flagz|=32;
+               break;
+            case(G+736*4+90):
+               demovar.enckode=6;
+               break;
+            case(G+736*4+96):
+               demovar.flagz&=32;
+               break;
+            case(G+768*4):
+               demovar.flagz=4;
+               textzoomin(G+768*4,texts[15]);
+               break;
+            case(G+816*4):
+               textzoomin(G+800*4,texts[16]);
+               break;
+            case(G+848*4):
+               textzoomin(G+832*4,texts[17]);
+               break;
+            case(G+880*4):
+               textzoomin(G+864*4,texts[18]);
+               break;
+            case(G+924*4):
+               textzoomout(G+896*4);
+               break;
+            case(G+988*4):
+               justshowtext("\n@@GREETS\nCOMING@UP",0xff);
+               break;
+            case(G+996*4):
+               justshowtext("\n@DRUIDS\n@@@OF\n@@DAWN",0xdd);
+               break;
+            case(G+1004*4):
+               justshowtext("\n\n@@@ISO",0xdd);
+               break;
+            case(G+1012*4):
+               justshowtext("\nBRAINLEZ\n@@CODERS",0xdd);
+               break;
+            case(G+1020*4):
+               justshowtext("\n\n@HYDROGEN",0xdd);
+               break;
+            case(G+1028*4):
+               justshowtext("\n\nPUPULAUMA",0xdd);
+               break;
+            case(G+1036*4):
+               justshowtext("\n@]@PWP@]",0xff);
+               break;
+            case(G+1052*4):
+               justshowtext(texts[19],0xff);
+               
+               break;
+            case(G+1088*4):
+               justshowtext("@@BYRGCNF\n@@@NVINA\nCREXRYRRA\n@@UHBAB",0xdd);
+               quit++;
+               break;
+        }
+        demovar.dsgtime++;
+     }
+
+     if(demovar.flagz&8) scroller_do(MIN(t,demovar.endfxt),pwplib.videobuf.height>>1);
+     if(demovar.flagz&4) memset(pwplib.videobuf.d,0,
+         pwplib.videobuf.width*pwplib.videobuf.height*sizeof(u8));
+     if(demovar.flagz&2) planes_do(MIN(t,demovar.endfxt),demovar.planemode);
+     if(demovar.flagz&64)
+     {
+        int i=pwplib.videobuf.width*pwplib.videobuf.height;
+        char*d=pwplib.videobuf.d,a=rand()&255,b=rand()&255;
+        for(;i;i--){*d++=(a^b)&0x99;a*=7;b=b-i+11*a;}
+     }
+
+     if(demovar.flagz&1) pelubounce(t*16/5,demovar.bouncemode);
+     if(demovar.flagz&16) metsae(MIN(t,demovar.endfxt),demovar.metsaemode);
+
+     if(demovar.flagz&32) 
+        encounter(demovar.enctime-t,demovar.enckode,demovar.enczoom);
+     if(demovar.flagz&128) 
+        drawkiller((G+544*4)-t);
+
+            #undef G
+
+     textshow(t);
+
+     pwplib_dump_rast();
+     if(!quit)pwplib_loopflush();
+   }
+   }
+   
+   pwplib_end();
+}
+
+int main(int argc,char**argv)
+{
+   if(!pwplib_init(argc,argv))return 1;
+
+   rundemo();
+
+   return 0;
+}
+                        
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/musa.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,64 @@
+#include "pwpdemo.h"
+
+#include "musa.h"
+
+struct
+{
+   int ord,patt,row;
+   int tick,tempo;
+}player;
+
+void newnote()
+{
+   int c=0;
+   
+   for(;c<3;c++)
+   {
+      int note=pwpmusic[player.patt][c][player.row];
+
+      if(note==254)
+         pwplib_sound_nv(c,0,0);
+      else 
+      if(note!=255)
+         pwplib_sound_nv(c,(note-5)<<8,pwplib.setup[SETUP_VOLUME]);
+   }
+   player.row++;
+   if(player.row==64)
+   {
+      player.row=0;
+      player.ord++;
+      player.patt=pwpmusic_order[player.ord];
+
+      if(player.patt>128)
+      {
+         if(player.patt==255)player.ord=0;else
+         {
+            if(player.patt==254)player.tempo=4;
+            player.ord++;
+         }
+         player.patt=pwpmusic_order[player.ord];
+      }
+   }
+}
+
+void playtick()
+{
+   if(player.tick==0)
+      newnote();
+
+   player.tick++;
+   if(player.tick==player.tempo)
+     player.tick=0;
+}
+
+void initplayer()
+{
+   player.row=player.ord;
+   player.patt=pwpmusic_order[0];
+   player.tick=0;
+   player.tempo=5;
+   pwplib_setplayer(playtick);
+}
+
+
+/* loopflush(); */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/musa.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,175 @@
+/*
+
+alkuteema: 
+
+0x0c 0x0c	
+0x0b 0x0b
+0x0d 0x0d
+0x0b 0x0b
+0x0d 0x0e
+
+hilpeys:
+
+0x02
+0x05 0x04
+0x07 0x01
+0x06 0x03
+0x05 0x04
+0x07 0x01
+0x06 0x03
+
+0x0f		tyhjyys
+
+toinen töödötys
+
+0x08 0x08
+0x09 0x09
+
+*/
+
+u8 pwpmusic_order[]=
+{
+   7,7,8,8,9,10,
+   
+   254,
+   11,
+
+   0,1,2,3,4,5,6,1,2,3,4,5,6,
+   7,7,
+   11,
+   
+   1,2,3,4,11,11,11,11
+};
+
+u8 pwpmusic[][3][64]=
+{
+
+/* 00 hilpeysintro */
+
+24, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 24, 254, 24, 254, 24, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 24, 254, 24, 254, 27, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 34, 254, 34, 254, 29, 254, 255, 255, 255, 255, 255, 255, 22, 255, 255, 254, 27, 255, 255, 254, 
+36, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 36, 254, 36, 254, 36, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 36, 254, 36, 254, 39, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 46, 254, 46, 254, 41, 255, 255, 255, 254, 255, 255, 255, 34, 255, 254, 255, 39, 255, 254, 255, 
+60, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 58, 255, 255, 254, 58, 255, 255, 255, 70, 254, 70, 254, 70, 65, 70, 65, 75, 79, 80, 79, 
+
+/* 01 joo5 */
+
+24, 254, 24, 254, 36, 254, 24, 254, 24, 254, 36, 254, 24, 254, 36, 254, 24, 254, 24, 254, 36, 254, 24, 254, 24, 254, 36, 254, 24, 254, 36, 254, 24, 254, 24, 254, 36, 254, 24, 254, 27, 254, 27, 254, 39, 254, 27, 254, 22, 254, 22, 254, 34, 254, 22, 254, 26, 254, 38, 254, 39, 254, 38, 254, 
+36, 255, 255, 254, 48, 254, 36, 254, 36, 254, 48, 254, 36, 254, 48, 254, 36, 255, 255, 254, 48, 254, 36, 254, 36, 254, 48, 254, 36, 254, 48, 254, 36, 255, 255, 254, 48, 254, 36, 254, 39, 255, 255, 254, 51, 254, 39, 254, 34, 255, 255, 254, 46, 254, 34, 254, 38, 254, 39, 254, 51, 254, 50, 254, 
+72, 254, 72, 254, 79, 254, 72, 254, 75, 254, 79, 254, 72, 254, 79, 254, 72, 254, 72, 254, 79, 254, 72, 254, 75, 254, 255, 255, 79, 254, 72, 254, 72, 254, 72, 254, 79, 254, 72, 254, 75, 254, 79, 254, 82, 254, 75, 254, 70, 254, 74, 254, 70, 254, 77, 254, 74, 254, 255, 255, 75, 254, 74, 254, 
+
+/* 02 joo4 */
+
+24, 254, 24, 254, 36, 254, 24, 254, 24, 254, 36, 254, 24, 254, 36, 254, 24, 254, 24, 254, 36, 254, 24, 254, 24, 254, 36, 254, 24, 254, 36, 254, 24, 254, 24, 254, 36, 254, 24, 254, 27, 254, 27, 254, 39, 254, 27, 254, 22, 254, 22, 254, 34, 254, 22, 254, 26, 254, 255, 255, 255, 255, 255, 255, 
+36, 255, 255, 254, 48, 254, 36, 254, 36, 254, 48, 254, 36, 254, 48, 254, 36, 255, 255, 254, 48, 254, 36, 254, 36, 254, 48, 254, 36, 254, 48, 254, 36, 255, 255, 254, 48, 254, 36, 254, 39, 255, 255, 254, 51, 254, 39, 254, 34, 255, 255, 254, 46, 254, 34, 254, 38, 254, 255, 255, 255, 255, 255, 255, 
+72, 254, 72, 254, 79, 254, 72, 254, 75, 254, 79, 254, 72, 254, 79, 254, 72, 254, 255, 254, 79, 254, 72, 254, 255, 254, 79, 255, 72, 254, 72, 254, 72, 254, 255, 254, 79, 254, 72, 254, 75, 254, 255, 254, 82, 254, 75, 254, 82, 254, 82, 254, 82, 254, 83, 254, 84, 254, 85, 254, 86, 254, 87, 254, 
+
+/* 03 joo7 */
+
+29, 254, 29, 254, 41, 254, 29, 254, 29, 254, 41, 254, 29, 254, 41, 254, 29, 254, 29, 254, 41, 254, 29, 254, 29, 254, 41, 254, 29, 254, 41, 254, 29, 254, 29, 254, 41, 254, 29, 254, 32, 254, 32, 254, 44, 254, 32, 254, 27, 254, 27, 254, 39, 254, 27, 254, 31, 254, 43, 254, 44, 254, 43, 254, 
+41, 255, 255, 254, 53, 254, 41, 254, 41, 254, 53, 254, 41, 254, 53, 254, 41, 255, 255, 254, 53, 254, 41, 254, 41, 254, 53, 254, 41, 254, 53, 254, 41, 255, 255, 254, 53, 254, 41, 254, 44, 255, 255, 254, 56, 254, 44, 254, 39, 255, 255, 254, 51, 254, 39, 254, 43, 254, 44, 254, 56, 254, 55, 254, 
+77, 254, 77, 254, 84, 254, 77, 254, 80, 254, 84, 254, 77, 254, 84, 254, 77, 254, 77, 254, 84, 254, 77, 254, 80, 254, 255, 255, 84, 254, 77, 254, 77, 254, 77, 254, 84, 254, 77, 254, 80, 254, 84, 254, 87, 254, 80, 254, 75, 254, 79, 254, 75, 254, 82, 254, 79, 254, 255, 255, 80, 254, 79, 254, 
+
+/* 04 joo1 */
+
+29, 254, 29, 254, 41, 254, 29, 254, 29, 254, 41, 254, 29, 254, 41, 254, 29, 254, 29, 254, 41, 254, 29, 254, 29, 254, 41, 254, 29, 254, 41, 254, 29, 254, 29, 254, 41, 254, 29, 254, 32, 254, 32, 254, 44, 254, 32, 254, 27, 254, 27, 254, 39, 254, 27, 254, 255, 255, 255, 255, 255, 255, 255, 255, 
+41, 255, 255, 254, 53, 254, 41, 254, 41, 254, 53, 254, 41, 254, 53, 254, 41, 255, 255, 254, 53, 254, 41, 254, 41, 254, 53, 254, 41, 254, 53, 254, 41, 255, 255, 254, 53, 254, 41, 254, 44, 255, 255, 254, 56, 254, 44, 254, 39, 255, 255, 254, 51, 254, 39, 254, 255, 255, 255, 255, 255, 255, 255, 255, 
+77, 254, 77, 254, 84, 254, 77, 254, 80, 254, 84, 254, 77, 254, 84, 254, 77, 254, 77, 254, 84, 254, 77, 254, 80, 254, 255, 255, 84, 254, 77, 254, 77, 254, 255, 255, 84, 254, 255, 255, 80, 254, 255, 255, 87, 254, 255, 255, 75, 254, 79, 254, 80, 254, 79, 254, 75, 254, 82, 254, 80, 254, 79, 254, 
+
+/* 05 joo6 */
+
+21, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 24, 254, 24, 254, 36, 254, 24, 254, 19, 254, 19, 254, 31, 254, 19, 254, 23, 254, 23, 254, 36, 254, 35, 254, 
+33, 255, 255, 254, 45, 254, 33, 254, 33, 254, 45, 254, 33, 254, 45, 254, 33, 255, 255, 254, 45, 254, 33, 254, 33, 254, 45, 254, 33, 254, 45, 254, 33, 255, 255, 254, 45, 254, 33, 254, 36, 255, 255, 254, 48, 254, 36, 254, 31, 255, 255, 254, 43, 254, 31, 254, 35, 254, 255, 255, 48, 254, 47, 254, 
+69, 254, 69, 254, 76, 254, 69, 254, 72, 254, 76, 254, 69, 254, 76, 254, 69, 254, 69, 254, 76, 254, 69, 254, 72, 254, 255, 255, 76, 254, 69, 254, 69, 254, 69, 254, 76, 254, 69, 254, 72, 254, 76, 254, 79, 254, 72, 254, 67, 254, 71, 254, 67, 254, 74, 254, 71, 254, 255, 255, 72, 254, 71, 254, 
+
+/* 06 joo3 */
+
+21, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 24, 254, 24, 254, 36, 254, 24, 254, 19, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 71, 255, 255, 255, 
+33, 255, 255, 254, 45, 254, 33, 254, 33, 254, 45, 254, 33, 254, 45, 254, 33, 255, 255, 254, 45, 254, 33, 254, 33, 254, 45, 254, 33, 254, 45, 254, 33, 255, 255, 254, 45, 254, 33, 254, 36, 255, 255, 254, 48, 254, 36, 254, 31, 254, 255, 255, 255, 255, 255, 255, 72, 254, 71, 254, 255, 255, 255, 255, 
+69, 254, 69, 254, 76, 254, 69, 254, 72, 254, 76, 254, 69, 254, 76, 254, 69, 254, 69, 254, 76, 254, 69, 254, 72, 254, 255, 255, 76, 254, 69, 254, 69, 254, 69, 254, 76, 254, 69, 254, 72, 254, 76, 254, 79, 254, 72, 254, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 
+
+/* 07 jooc */
+
+36, 255, 255, 254, 43, 254, 43, 254, 36, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 36, 255, 255, 254, 36, 255, 255, 254, 43, 254, 43, 254, 39, 255, 255, 254, 46, 254, 46, 254, 39, 255, 255, 254, 38, 254, 39, 254, 255, 255, 255, 255, 38, 255, 255, 254, 38, 255, 255, 254, 41, 254, 34, 254, 
+72, 254, 60, 254, 48, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 75, 254, 63, 254, 51, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 
+254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+
+/* 08 joob */
+
+36, 255, 255, 254, 43, 254, 43, 254, 36, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 36, 255, 255, 254, 36, 255, 255, 254, 43, 254, 43, 254, 39, 255, 255, 254, 46, 254, 46, 254, 39, 255, 255, 254, 38, 254, 39, 254, 255, 255, 255, 255, 38, 255, 255, 254, 38, 255, 255, 254, 41, 254, 34, 254, 
+60, 254, 60, 254, 72, 254, 67, 254, 60, 254, 60, 254, 58, 254, 60, 254, 255, 255, 255, 255, 60, 254, 60, 254, 72, 254, 67, 254, 60, 254, 72, 254, 63, 254, 63, 254, 75, 254, 70, 254, 63, 254, 63, 254, 75, 254, 70, 254, 255, 255, 255, 255, 62, 254, 63, 254, 62, 254, 65, 254, 58, 254, 62, 254, 
+254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+
+/* 09 jood */
+
+41, 255, 255, 254, 48, 254, 48, 254, 41, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 41, 255, 255, 254, 41, 255, 255, 254, 48, 254, 48, 254, 44, 255, 255, 254, 51, 254, 51, 254, 44, 255, 255, 254, 43, 254, 44, 254, 255, 255, 255, 255, 43, 255, 255, 254, 43, 255, 255, 254, 46, 254, 39, 254, 
+65, 254, 65, 254, 77, 254, 72, 254, 65, 254, 65, 254, 63, 254, 65, 254, 255, 255, 255, 255, 65, 254, 65, 254, 77, 254, 72, 254, 65, 254, 77, 254, 68, 254, 68, 254, 80, 254, 75, 254, 68, 254, 68, 254, 80, 254, 75, 254, 255, 255, 255, 255, 67, 254, 68, 254, 67, 254, 70, 254, 63, 254, 67, 254, 
+254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+
+/* 10 jooe */
+
+41, 255, 255, 254, 48, 254, 48, 254, 41, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 41, 255, 255, 254, 41, 255, 255, 254, 48, 254, 48, 254, 44, 255, 255, 254, 51, 254, 51, 254, 44, 255, 255, 254, 43, 254, 44, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 
+65, 254, 65, 254, 77, 254, 72, 254, 65, 254, 65, 254, 63, 254, 65, 254, 255, 255, 255, 255, 65, 254, 65, 254, 77, 254, 72, 254, 65, 254, 77, 254, 68, 254, 68, 254, 80, 254, 75, 254, 68, 254, 68, 254, 80, 254, 75, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 
+254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+
+/* 11 tyhjae */
+
+254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+
+/* 12 -- #5 without melody */
+
+21, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 24, 254, 24, 254, 36, 254, 24, 254, 19, 254, 19, 254, 31, 254, 19, 254, 23, 254, 23, 254, 36, 254, 35, 254, 
+33, 255, 255, 254, 45, 254, 33, 254, 33, 254, 45, 254, 33, 254, 45, 254, 33, 255, 255, 254, 45, 254, 33, 254, 33, 254, 45, 254, 33, 254, 45, 254, 33, 255, 255, 254, 45, 254, 33, 254, 36, 255, 255, 254, 48, 254, 36, 254, 31, 255, 255, 254, 43, 254, 31, 254, 35, 254, 255, 255, 48, 254, 47, 254, 
+254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+
+/* 13 */
+
+21, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 33, 254, 21, 254, 21, 254, 33, 254, 21, 254, 24, 254, 24, 254, 36, 254, 24, 254, 19, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 71, 255, 255, 255, 
+33, 255, 255, 254, 45, 254, 33, 254, 33, 254, 45, 254, 33, 254, 45, 254, 33, 255, 255, 254, 45, 254, 33, 254, 33, 254, 45, 254, 33, 254, 45, 254, 33, 255, 255, 254, 45, 254, 33, 254, 36, 255, 255, 254, 48, 254, 36, 254, 31, 254, 255, 255, 255, 255, 255, 255, 72, 254, 71, 254, 255, 255, 255, 255, 
+254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+
+
+};
+
+/*
+
+
+
+1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 48, 48, 48, 48, 
+41, 255, 255, 254, 53, 254, 41, 254, 41, 254, 53, 254, 41, 254, 53, 254, 41, 255, 255, 254, 53, 254, 41, 254, 41, 254, 53, 254, 41, 254, 53, 254, 41, 255, 255, 254, 53, 254, 41, 254, 44, 255, 255, 254, 56, 254, 44, 254, 39, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 
+pattern 0.2:
+77, 254, 77, 254, 84, 254, 77, 254, 80, 254, 84, 254, 77, 254, 84, 254, 77, 254, 77, 254, 84, 254, 77, 254, 80, 254, 255, 255, 84, 254, 77, 254, 77, 254, 77, 254, 84, 254, 77, 254, 80, 254, 84, 254, 87, 254, 80, 254, 77, 254, 77, 254, 77, 254, 77, 254, 77, 254, 255, 255, 255, 255, 255, 255, 
+pattern 0.3:
+48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 
+pattern 3.3:
+48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 
+
+
+
+pattern 5.3:
+48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 
+pattern 6.3:
+48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 
+
+
+pattern 8.0:
+36, 254, 36, 254, 39, 254, 36, 254, 36, 254, 36, 254, 39, 254, 36, 254, 39, 254, 39, 254, 43, 254, 39, 254, 39, 254, 39, 254, 43, 254, 39, 254, 34, 254, 34, 254, 38, 254, 34, 254, 34, 254, 34, 254, 41, 254, 38, 254, 36, 254, 36, 254, 39, 254, 36, 254, 36, 254, 36, 254, 38, 254, 39, 254, 
+pattern 8.1:
+60, 254, 60, 254, 60, 254, 60, 254, 63, 254, 60, 254, 255, 255, 60, 254, 63, 254, 63, 254, 67, 254, 63, 254, 65, 254, 67, 254, 65, 254, 63, 254, 58, 254, 58, 254, 62, 254, 58, 254, 62, 254, 65, 254, 63, 254, 62, 254, 60, 254, 60, 254, 63, 254, 65, 254, 63, 254, 65, 254, 63, 254, 58, 254, 
+pattern 8.2:
+48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 
+pattern 9.0:
+41, 254, 41, 254, 44, 254, 41, 254, 41, 254, 41, 254, 44, 254, 41, 254, 44, 254, 44, 254, 48, 254, 44, 254, 44, 254, 44, 254, 48, 254, 44, 254, 39, 254, 39, 254, 43, 254, 39, 254, 39, 254, 39, 254, 46, 254, 43, 254, 41, 254, 41, 254, 44, 254, 41, 254, 41, 254, 41, 254, 43, 254, 44, 254, 
+pattern 9.1:
+65, 254, 65, 254, 65, 254, 65, 254, 68, 254, 65, 254, 255, 255, 65, 254, 68, 254, 68, 254, 72, 254, 68, 254, 70, 254, 72, 254, 70, 254, 68, 254, 63, 254, 63, 254, 67, 254, 63, 254, 67, 254, 70, 254, 68, 254, 67, 254, 65, 254, 65, 254, 68, 254, 70, 254, 68, 254, 70, 254, 68, 254, 63, 254, 
+pattern 9.2:
+48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 
+pattern 10.0:
+36, 254, 36, 254, 39, 254, 36, 254, 36, 254, 36, 254, 39, 254, 36, 254, 39, 254, 39, 254, 43, 254, 39, 254, 39, 254, 39, 254, 43, 254, 39, 254, 34, 254, 34, 254, 38, 254, 34, 254, 34, 254, 34, 254, 41, 254, 38, 254, 36, 254, 36, 254, 39, 254, 36, 254, 36, 254, 255, 255, 255, 255, 255, 255, 
+pattern 10.1:
+60, 254, 60, 254, 60, 254, 60, 254, 63, 254, 60, 254, 255, 255, 60, 254, 63, 254, 63, 254, 67, 254, 63, 254, 65, 254, 67, 254, 65, 254, 63, 254, 58, 254, 58, 254, 62, 254, 58, 254, 62, 254, 65, 254, 63, 254, 62, 254, 60, 254, 60, 254, 63, 254, 65, 254, 58, 254, 255, 255, 255, 255, 64, 255, 
+pattern 10.2:
+48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 48, 255, 255, 255, 
+
+
+*/
Binary file peluce/peluce has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/planes.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,110 @@
+#include "pwpdemo.h"
+
+u8 psychtab0[64]=
+{
+  0x00,0x00,0x00,0x04,0x04,0x40,0x40,0x44,0x44,0x4c,0xc4,0xc4,0xcc,0xcc,
+  0xca,0xac,0xfa,0xef,0xec,0xce,0xcc,0xc4,0x4c,0x44,0x40,0x04,0x00,0x00,
+  0x00,0x04,0x06,0x60,0x66,0x6e,0xe6,0xee,0xef,0xfe,0xaf,0xfa,0xaa,0xea,
+  0xee,0xea,0xae,0xaa,0xa3,0x3a,0x33,0x32,0x23,0x22,0x20,0x02,0x08,0x00,
+  
+  0x08,0x07,0x77,0x78,0x08,0x00,0x01
+};
+
+u8 psychtab1[64]=
+{
+  0x04,0x06,0x0e,0x6e,0xe6,0xee,0xe6,0x6e,0x60,0x06,0x00,0x01,0x10,0x15,
+  0x51,0x55,0x5d,0xd5,0xdd,0xd5,0x5d,0x55,0x51,0x15,0x11,0x1e,0xe1,0xee,
+  0xef,0xfe,0xff,0xfe,0xef,0xee,0xea,0xae,0xaa,0xa2,0x2a,0x20,0x02,0x00,
+  0x00,0x02,0x20,0x22,0x2e,0xe2,0xee,0xea,0xaa,0xa2,0x2a,0x20,0x02,0x01,
+  0x03,0x30,0x31,0x35,0x53,0x50,0x05
+};
+
+u8 psychtab2[64]=
+{
+  0x00,0x08,0x07,0x87,0x78,0x87,0x88,0x07,0x08,0x08,0x00,0x00,0x00,0x00,
+  0x01,0x03,0x30,0x33,0x03,0x03,0x01,0x09,0x19,0x19,0x91,0x91,0x99,0x99,
+  0x9c,0x99,0x91,0x19,0x1c,0x13,0x31,0x33,0x31,0x03,0x03,0x00,0x00,0x00,
+  0x04,0x40,0x44,0x04,0x04,0x04,0x00,0x04,0x40,0x4e,0x40,0x04,0x00,0x04,
+  0x05,0x05,0x04,0x04,0x00,0x00,0x00
+};
+
+void planes_draw(u8*map,int angle,int midpt)
+{
+   register u8*d=pwplib.videobuf.d;
+
+   register int x;
+
+   register int du=(SIN(angle)*MIN(pwplib.videobuf.width,pwplib.videobuf.height))/4096;
+
+   int dv=(COS(angle)*pwplib.videobuf.height)/6666;
+
+   register int i=midpt*256-(pwplib.videobuf.height>>1)*dv
+                  -(pwplib.videobuf.width>>1)*du;
+
+   int y=pwplib.videobuf.height;
+
+   dv-=du*pwplib.videobuf.width;
+
+   for(;y;y--)
+   {
+      for(x=pwplib.videobuf.width;x;x--)
+      {
+         *d++=map[(i>>8)&255];
+         i+=du;
+      }
+      i+=dv;
+   }
+}
+
+void xorplanes_draw(u8*map,int angle,int angle2,int midpt,int midpt2)
+{
+   register u8*d=pwplib.videobuf.d;
+
+   register int x;
+
+   register int du=(SIN(angle)*MIN(pwplib.videobuf.width,pwplib.videobuf.height))/4096,
+                du2=(SIN(angle2)*MIN(pwplib.videobuf.width,pwplib.videobuf.height))/4096;
+
+   int dv=(COS(angle)*pwplib.videobuf.height)/6666,
+       dv2=(COS(angle2)*pwplib.videobuf.height)/6666;
+
+   register int i=midpt*256-(pwplib.videobuf.height>>1)*dv
+                  -(pwplib.videobuf.width>>1)*du,
+                j=midpt2*256-(pwplib.videobuf.height>>1)*dv2
+                  -(pwplib.videobuf.width>>1)*du2;
+
+   int y=pwplib.videobuf.height;
+
+   for(;y;y--)
+   {
+      int ii=i,jj=j;
+      for(x=pwplib.videobuf.width;x;x--)
+      {
+         *d++=map[(ii>>8)&255]^map[(jj>>8)&255];
+         ii+=du;jj+=du2;
+      }
+      i+=dv;j+=dv2;
+   }
+}
+
+
+void planes_do(int t,int m)
+{
+   u8*tabbu[3]={psychtab0,psychtab1,psychtab2};
+   u8 map[256];
+   u8*tabu=tabbu[m&15];
+
+   int step=1024,i,j=-t*80;
+
+   for(i=0;i<128;i++)
+   {
+      map[i]=map[255-i]=tabu[(j>>8)&63];
+      j+=step;
+
+      step-=(step>>4);
+   }
+
+   if(m&16)
+   planes_draw(map,t,SIN(t)/512);else
+   xorplanes_draw(map,t,t*3/11,SIN(t)/512,SIN(t*2.376)/1024);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/pwpdemo.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,13 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <malloc.h>
+
+#include "../pwplib/pwplib.h"
+
+#define SIN(a) (sin((a)*3.1415926/128)*32767)
+#define COS(a) ((3.1415926/2)+(cos((a)*3.1415926/128))*32767)
+
+#define MAX(a,b) ((a)>(b)?(a):(b))
+#define MIN(a,b) ((a)<(b)?(a):(b))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/spritegen.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,1032 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+/* no tehdään seellä sitten perkele kun ei perli osaa toimia loogisesti
+*/
+
+unsigned char tab[256][4];
+
+sprite(unsigned const char*name,
+       unsigned const char*cols,
+       unsigned const char*data)
+{
+   int height=0,width=0;
+   
+   {unsigned const char*s=data;int thiswidth=0;
+   while(*s)
+   {
+      if(*s=='\n')
+      {
+         if(thiswidth>width)width=thiswidth;
+         height++;
+         thiswidth=0;
+      }
+       else thiswidth++;
+      s++;
+   }}
+
+   {unsigned char*s=cols;
+    while(*s)
+    {
+       int c=s[0];
+       tab[c][0]=s[1];
+       tab[c][1]=s[2];
+       tab[c][2]=s[3];
+       tab[c][3]=s[4];
+       s+=6;
+    }
+   }
+
+   
+   printf("u8 %s_pict[]={\n",name);
+   
+   {unsigned const char*s=data;int thiswidth=0;
+   while(*s)
+   {
+      if(*s=='\n')
+      {
+         while(thiswidth<width)
+         {
+            printf("0x%c%c,",tab[32][0],tab[32][1]);
+            thiswidth++;
+         }
+         thiswidth=0;
+         printf("\n");
+      }
+       else
+      {
+         thiswidth++;
+         printf("0x%c%c,",tab[*s][0],tab[*s][1]);
+      }
+      s++;
+   }}
+   
+   printf("};\nu8 %s_mask[]={\n",name);
+
+   {unsigned const char*s=data;int thiswidth=0;
+   while(*s)
+   {
+      if(*s=='\n')
+      {
+         while(thiswidth<width)
+         {
+            printf("0x%c%c,",tab[32][2],tab[32][3]);
+            thiswidth++;
+         }
+         thiswidth=0;
+         printf("\n");
+      }
+       else
+      {
+         thiswidth++;
+         printf("0x%c%c,",tab[*s][2],tab[*s][3]);
+      }
+      s++;
+   }}
+
+   printf("};\n");
+   printf("sprite %s={\n%d,%d,%s_pict,%s_mask};\n\n",name,width,height,name,name);
+}
+
+const unsigned char*thoho[]={
+
+
+"windows1"," 00ff b1900 Wff00 #7700 X77ff x6600 f1900 b0800 B0000 h6608 Wfe00","
+         hhhhhh
+        ########
+        ########
+        ########
+        #bb##bb#
+        #bb##bb#
+        ########
+       ##########
+      #####  #####
+      #####  #####
+      #####  #####    
+       ####  ####    
+        ########    
+          ####     
+          ####    
+          x##x   
+      ###xxxxxx###
+     ###xxxxxxxx###
+    ### xWxxxxWx ###
+   ###  xWxWWxWx  ###
+  ###   xWWWWWWx   ###
+ ###    xxxxxxxx    ###
+ ###    xxxxxxxx    ###
+        ffffffff
+        bbbbbbbb
+        ffffffff
+        fff  fff
+       fff    fff
+       fff    fff
+       fff    fff
+       fff    fff
+        fff  fff
+        fff  fff
+      BBBBB  BBBBB
+     BBBBBB  BBBBBBB
+",
+
+"quake0"," 00ff n7700 x4400 .1100 off00 @7700",
+"     nnnnnnnnnnn
+         nn
+         nn
+xxxxxxxxxxxxx
+    xxxxxxxxxx
+    ....ZZZZZZ
+    .....@@@@@
+    .o...@@@@@
+    ....@@@@@@@
+    @@@@@@@@@@@
+  @@@@@@@@@@@@@
+@@@@@@@@@@@@@@@
+         @@@@
+xx    @@@@@@@
+@@@@@@@@@@@@@
+  @@@@@@@@@@@
+    @@@@@@@@@
+    @@@@@@@@@
+      @@@@@@
+       @@@@@
+        @@@@
+      @@@@@@@
+      @@@@@@@
+      @@@@@@@
+       @@@@@
+       @@@@@
+@@@@@@@@@@@@
+",
+
+"windows0"," 00ff b1900 Wff00 #7700 X77ff x6600 f1900 b0800 B0000 h6608 Wfe00","
+         hhhhhh
+        ########
+        ########
+        ########
+        #bb##bb#
+        #bb##bb#
+        ########
+       ##########
+      ############
+      ####    ####
+###   ####    ####   ###
+###    ##########    ###
+ ###    ########    ###
+  ###     ####     ###
+   ###    ####    ###
+    ###   x##x   ###
+     ####xxxxxx####
+      ##xxxxxxxx#
+        xWxxxxWx
+        xWxWWxWx
+        xWWWWWWx
+        xxxxxxxx
+        xxxxxxxx
+        ffffffff
+        bbbbbbbb
+        ffffffff
+        fff  fff
+        fff  fff
+        fff  fff
+        fff  fff
+       fff    fff
+       fff    fff
+       fff    fff
+     BBBBB    BBBBB
+    BBBBBB    BBBBBBB
+",
+
+
+"army0"," 00ff h6e80 +0000 Wff00 #7700 X2200 x2200 f2b00 b8800 B0600 w8700","
+         h#h#h#h
+         #######
+         #######
+         #######
+         ++####
+         ++###
+        ########
+       ##########
+      ###########
+           #####
+      ##########
+       ########
+        #######
+         ##### 
+          ###
+         XX##x
+         Xxxxx
+wwwwwwwwwwwwwwwww
+        xxx####ww
+        xx###wwww
+        xxxxxxx
+        xxxxxxx
+         xxxxx
+         fffff
+         bbbbb
+         fffff
+         fffff 
+         ffff  
+         fff 
+         fff
+         fff
+         fff
+         fff
+       BBBBB
+      BBBBBB
+",
+
+
+
+"tesno0"," 00ff +0000 Wff00 #7700 X77ff x6600 f1900 b0800 B0000 h6608","
+         h h h h
+         h h h h
+         h#h#h#h
+         #######
+         #######
+         #######
+         ++####
+         ++###
+        ########
+       ##########
+      ###########
+         WWWW###
+            ####
+       ########
+        #######
+         #####    ####
+  ###     ###    #### 
+   ###   XX##x ####
+     ##  Xxxxx####
+      ##xxxxxxx#
+       #####xxx
+        ####xxx
+        xxxxxxx
+        xxxxxxx
+         xxxxx
+         fffff
+         bbbbb
+         fffff
+         fffff 
+         ffff  
+         fff 
+         fff
+         fff
+         fff
+         fff
+       BBBBB
+      BBBBBB
+",
+
+"tesno1"," 00ff +0000 Wff00 #7700 X77ff x6600 f1900 b0800 B0000 h6608","
+        hh h h  
+         h h h hh
+         h#h#h#h
+         #######
+         #######
+         #######
+         ++####
+         ++###
+        ########
+       ##########
+      ###### ####
+             ###
+       #########
+        #######
+         ######
+          ####   
+          ### 
+         XX##x 
+         Xxxxx#
+        xxxxxxx#
+        ####xxx##
+     #######xxx###
+  ######xxxxxxx ###
+  ###   xxxxxxx  ###
+         xxxxx
+         fffff
+         bbbbb
+         fffff
+         fffff 
+         ffff  
+         fff 
+          fff
+          fff
+         fff
+      BBBBB
+     BBBBBB
+",
+
+
+
+"uusmed0"," 00ff +0000 Wff00 #7700 X77ff x6600 f1900 b0800 B0000 h6608","
+         h h h h
+         h h h h
+         h#h#h#h
+         #######
+         #######
+         #######
+         ++####
+         ++###
+        ########
+       ##########
+      ###########
+         WWWW###
+            ####
+       ########
+        #######
+         ##### 
+  ###     ###
+   ###   XX##x
+     ##  Xxxxx
+      ##xxxxxxx
+       #####xxx
+        ####xxx
+        xxxxxxx
+        xxxxxxx
+         xxxxx
+         fffff
+         bbbbb
+         fffff
+         fffff 
+         ffff  
+         fff 
+         fff
+         fff
+         fff
+         fff
+       BBBBB
+      BBBBBB
+",
+
+
+"uusmed1"," 00ff +0000 Wff00 #7700 X77ff x6600 f1900 b0800 B0000 h6608","
+         h h h h
+         h h h h
+         h#h#h#h
+         #######
+         #######
+         #######
+         ++####
+         ++###
+        ########
+       ##########
+      ###########
+       WWWWWW###
+            ####
+       WWWWW###
+      #########
+       ####### 
+         ####
+         XX##x
+  ##     Xxxxx
+  ####  xxxxxxx
+    ########xxx
+      ######xxx
+        xxxxxxx
+        xxxxxxx
+         xxxxx
+         fffff
+         bbbbb
+         fffff
+         fffff 
+         ffff  
+         fff
+         fff
+         fff
+         fff
+         fff
+       BBBBB
+      BBBBBB
+",
+
+
+
+
+
+"ruumis"," 00ff a4400 s4c00 d4400","
+          asdasd
+         asdsadsad
+          asdsad
+           asda
+        adsdsadas
+      asdsdasdadas
+      dasdasdasdsa
+      sadasddas
+       asddasdasdas
+      asdasddasasd
+       asdasddasdas
+      asddasdas
+       asddasdasdas
+        sadsdadas
+         adsdaads
+          asds
+",
+
+
+"pelustna1"," 00ff n8800 x4400 Z6600 .1133 o77ff @7f00 x4408 r4400 z0888 b8c01 +6600",
+"       nnnn    
+        nnnn    
+         nn              
+         nn              
+      xxxxxxxxxxxx       
+      xxxxxxxxxxxxxxxxxxx
+     xxxxxxxxx           
+     ZZZZZ....           
+    ZZZZZ.....           
+    ZZZZZZ..o.           
+   ZZZZZZZ....           
+   ZZZZZZZ@@@@           
+   ZZZZZZZ@@@@@@         
+   ZZZZZZZ@@@@@@@@       
+   ZZZZZ Z               
+   ZZZZZ@ZZ              
+  ZZ@Z@Z@@@@@@  xx       
+    @@@@@@@@@@@@@@       
+     @@@@@@@@@@@  bb
+     @@@@@@@@@  bbbbbbb
+       @@@@@    bbbbbbbb
+       @@@@      b++bbbb
+       @@@@      +++bbb
+      @@@@@@    +++bbb
+      @@@@@@@   ++ bb 
+     @@@@@@@@@@@@ 
+     @@@@@@@@@@@+ 
+     @@@@@@@@ ++  
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+      @@@@@@
+      @@@@@@    
+      @@@@@@     
+       @@@@      
+       @@@@      
+       @@@@        ",
+
+
+"pelustna0"," 00ff x4400 Z6600 .1133 o77ff @7f00 x4408 r4400 z0888 b8c01 k6600 n8800",
+"     nnnnnnnnnn
+     nn nnnn nn
+         nn              
+         nn              
+      xxxxxxxxxxxx       
+      xxxxxxxxxxxxxxxxxxx
+     xxxxxxxxx           
+     ZZZZZ....           
+    ZZZZZZ....           
+    ZZZZZ...o.           
+   ZZZZZZZ....           
+   ZZZZZZZ@@@@           
+   ZZZZZZZ@@@@@@         
+   ZZZZZZZ@@@@@@@@       
+   ZZZZZ Z               
+   ZZZ@Z@Z               
+    ZZ@@@@@@@@  xx       
+    @Z@@@@@@@@@@@@       
+     @@@@@@@@@@@   
+     @@@@@@@@@    bbbb
+       @@@@@    bbbbbb
+       @@@@  bbbbbbbbb
+       @@@@    bbkbbbb
+      @@@@@@    kkbbbb
+      @@@@@@@   kk
+     @@@@@@@@@@@@k
+     @@@@@@@@@@@kk
+     @@@@@@@@   kk
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+      @@@@@@
+      @@@@@@    
+      @@@@@@     
+       @@@@      
+       @@@@      
+       @@@@        ",
+
+
+
+
+"pelusieni2"," 00ff n8800 x4400 Zee00 .1133 o77ff @7f00 x4408 r4400 z0888 b6601",
+"     nnnnnnnnnn
+     nn nnnn nn
+         nn              
+         nn              
+      xxxxxxxxxxxx       
+      xxxxxxxxxxxxxxxxxxx
+     xxxxxxxxx           
+     ZZZZZ....           
+    @@@@......           
+    @@@@....o.           
+   @@@@@@@....           
+   @@@@@@@@@@@           
+   @@@@@@@@@@@@@         
+   @@@@@@@@@@@@@@@       
+    @@@@rrrrr              
+    @@@@@@rorr            
+    @@@@@@@@rr               
+    @@@@@@@@@@@@            
+     @@@@@@@@@@  
+     @@@@@@@@@           
+       @@@@@      @@
+       @@@@      @@@@
+       @@@@     @@@@
+      @@@@@@  @@@@@
+      @@@@@@@@@@@
+     @@@@@@@@@@@
+     @@@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+      @@@@@@
+      @@@@@@            rrrr
+      @@@@@@           rrorrr
+       @@@@           rrrrrrr
+       @@@@             bbb
+       @@@@            bbbb",
+
+
+"pelusieni1"," 00ff n8800 x4400 Zee00 .1133 o77ff @7f00 x4408 r4400 z0888 b6601",
+"     nnnnnnnnnn
+     nn nnnn nn
+         nn              
+         nn              
+      xxxxxxxxxxxx       
+      xxxxxxxxxxxxxxxxxxx
+     xxxxxxxxx           
+     ZZZZZ....           
+    @@@@......           
+    @@@@....o.           
+   @@@@@@@....           
+   @@@@@@@@@@@           
+   @@@@@@@@@@@@@         
+   @@@@@@@@@@@@@@@       
+    @@@@           rrrrr
+    @@@@@@       rrrrorrr
+    @@@@@@@@    rorrroorrr
+    @@@@@@@@@@ rrrrorrrorrr
+     @@@@@@@@@@@@rrzbbbbr
+     @@@@@@@@@      bbbb
+       @@@@@        bbbb
+       @@@@        @@@bb
+       @@@@      @@@@bb
+      @@@@@@    @@@
+      @@@@@@@ @@@@
+     @@@@@@@@@@@@
+     @@@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+     @@@@@@@@
+      @@@@@@
+      @@@@@@            rrrr
+      @@@@@@           rrorrr
+       @@@@           rrrrrrr
+       @@@@             bbb
+       @@@@            bbbb",
+
+
+
+"sieni"," 00ff r4400 0ff00 -8700",
+"
+        rrrrr
+     rrrrrrrrrrr
+   rrrrrrr00rrrrrr
+  rrrrr00rrrrrrrrrrr
+ rrrrrrr0rrrrr0rrrrrr
+ rrrrrrr0rrrrr00rrrrr
+rrr0rrrrrrrrrrrrr00rrr
+rrr00r0rrrr00rrrrr0rrrr
+ rrrrrrrrrrrrrrrrrrrr
+ rrrrrrrrrrrrrrrrrrrr
+  rrrrrrr---rrrrrrr
+   rrrr ------rrrrr
+        ------
+        -----
+        ------
+        -----
+         -----
+         ----
+",
+
+
+
+"kuusi"," 00ff *0000 b0000 d0600 +0200 x0201 #2002","
+      *
+     ***
+    x****
+    ******
+   **+****x
+  x**+*****
+  **++******
+ *#+*#**++***
+ x********** 
+   ***d***+*
+     bbbb
+     bbbb
++   bbbbbbd",
+
+
+"pelux"," 00ff n8800 x4400 Zee00 .1133 o77ff @7f00 x4408 r4400 z0888 b6601",
+"     nnnnnnnnnn
+     nn nnnn nn
+         nn
+         nn
+      xxxxxxxxxxxx 
+      xxxxxxxxxxxxxxxxxxx
+     xxxxxxxxx 
+     ZZZZZ....   
+    @@@@......    
+    @@@@....o.   
+   @@@@@@@....   
+   @@@@@@@@@@@    
+   @@@@@@@@@@@@@    
+   @@@@@@@@@@@@@@@       
+    @@@@                 
+    @@@@@@               
+    @@@@@@@@@@  xx       
+    @@@@@@@@@@@@@@       
+     @@@@@@@@@@@         
+     @@@@@@@@@           
+ @@@   @@@@@  @@@
+  @@@  @@@@  @@@
+   @@@ @@@@ @@@
+    @@@@@@@@@@
+     @@@@@@@
+      @@@@@
+       @@@@
+       @@@@
+       @@@@
+      @@@@@@
+     @@@  @@@ 
+    @@@    @@@ 
+   @@@      @@@
+  @@@        @@@
+ @@@          @@@
+@@@            @@@
+",
+
+
+"peluface0"," 00ff n8800 x4400 Zee00 .1133 o77ff @7f00 x4408","
+   nnnnnnnnnn
+   nn nnnn nn
+       nn
+       nn
+    xxxxxxxxxxxx 
+    xxxxxxxxxxxxxxxxxxx
+   xxxxxxxxx 
+   ZZZZZ....   
+  @@@@......    
+  @@@@....o.   
+ @@@@@@@....   
+ @@@@@@@@@@@    
+ @@@@@@@@@@@@@    
+ @@@@@@@@@@@@@@@       
+  @@@@                 
+  @@@@@@               
+  @@@@@@@@@@  xx       
+  @@@@@@@@@@@@@@       
+   @@@@@@@@@@@         
+   @@@@@@@@@           
+     @@@@@             
+     @@@@              
+     @@@@",
+
+"peluface1"," 00ff n8800 x4400 Zee00 .1133 o77ff @7f00 x4408","
+     nnnnnn
+    nnn  nnn
+       nn  
+       nn              
+    xxxxxxxxxxxx
+    xxxxxxxxxxxxxxxxxxx
+   xxxxxxxxx          
+   ZZZZZ....           
+  @@@@......           
+  @@@@....o.           
+ @@@@@@@....           
+ @@@@@@@@@@@           
+ @@@@@@@@@@@@@         
+ @@@@@@@@@@@@@@@       
+  @@@                 
+  @@@@@               
+  @@@@@@@@   xx       
+  @@@@@@@@@@@@@@       
+   @@@@@@@@@@@         
+   @@@@@@@@@           
+     @@@@@             
+     @@@@              
+     @@@@",
+
+"peluface2"," 00ff n8800 x4400 Zee00 .1133 o77ff @7f00 x4408","
+      nnnn          	
+      nnnn          
+       nn              
+       nn              
+    xxxxxxxxxxxx       
+    xxxxxxxxxxxxxxxxxxx
+   xxxxxxxxx           
+   ZZZZZZ...           
+  @@@@......           
+  @@@@....o.           
+ @@@@@@@....           
+ @@@@@@@@@@@           
+ @@@@@@@@@@@@@         
+ @@@@@@@@@@@@@@@       
+  @@@@                 
+  @@@@@@               
+  @@@@@@@@@@  xx       
+  @@@@@@@@@@@@@@       
+   @@@@@@@@@@@         
+   @@@@@@@@@           
+     @@@@@             
+     @@@@              
+     @@@@",
+
+
+
+"krist0"," 00ff #7700 x1900 h1300 z6e00 n8800 +0000 b6600 I4488 *e6ff","
+                     ######
+                    #######
+                    #######
+                    #######
+                     I#####
+                    ######
+           #       ########
+           #      ##########
+         ###     ###########
+         ###            ####
+       ######            ###
+           ###      ########
+            ###     #######
+             ###      ##### 
+  nnnnnn      ####   xxxxhhh
+ nnnnnnnn      #####xxxhhhhh
+ nnn++nnn        ###hxx##h#x
+ n++++++n           x####xxx
+ nnn++nnn           ####xxxx
+ nnn++nnn         #####xxxxx
+ nnn++n##############xxxxxxx
+ nnnnnnnn###########xxxxxxxx
+ nnnnnnn####        **zzzzzz
+  nnnnnn            **zzzzzz
+                    xxxxxxxxx
+                    xxxxxxxx
+                     xxxxxxxx
+                     xxxxxxxx 
+                       hhh
+                       hhh
+                       hhh
+                       hhh
+                       bbb
+                       bbb
+                       bbb
+                     bbbbb
+                   bbbbbbb
+                  bbbbbbbb
+",
+
+"krist1","#7700 x1900 h1300 z6e00 n8800 +0000 b6600 I4488"," 
+
+                     ######
+                    #######
+                    #######
+                    #######
+                    II#### 
+             #        #### 
+             #     ########
+           ###    ##########
+           ###   ###########
+           ###          ####
+           ###           ###
+            ###         ####
+             ###   ########
+  nnnnnn      ###   ####### 
+ nnnnnnnn      ###   xxxhhh 
+ nnn++nnn       ####xxxhhhhh
+ n++++++n        ###hx###h#x
+ nnn++nnn           #####xxx
+ nnn++nnn         #####xxxxx
+ nnn++n###############xxxxxx
+ nnnnnnnn############xxxxxxx
+ nnnnnn######       xxxxxxxx
+  nnnnnn            **zzzzzzz
+                    **zzzzzz
+                    xxxxxxxxxx
+                    xxxxxxx 
+                     xxxxxxxx
+                     xxxxxxxxx
+                       hhh
+                       hhh
+                       hhh
+                       hhh
+                       bbb
+                       bbb
+                       bbb
+                     bbbbb
+                   bbbbbbb
+                  bbbbbbbb
+",
+
+
+NULL,NULL,NULL
+};
+
+
+
+
+int main()
+{
+   char**s=thoho;
+   
+   int i=0;
+   for(;i<256;i++){tab[i][0]=tab[i][1]='0';tab[i][2]=tab[i][3]='f';}
+   
+   while(*s!=NULL)
+   {
+      sprite(s[0],s[1],s[2]);s+=3;
+   }
+   return 0;
+}
+
+
+
+/*
+
+"pelu0","n8800 x4400 Zee00 .1133 o77ff @7f00 x4408 X3900","
+   nnnnnnnnnn          	
+   nn nnnn nn          
+       nn              
+       nn              
+    xxxxxxxxxxxx       
+    xxxxxxxxxxxxxxxxxxx
+   xxxxxxxxx           
+   ZZZZZ....           
+  @@@@......           
+  @@@@....o.           
+ @@@@@@@....           
+ @@@@@@@@@@@           
+ @@@@@@@@@@@@@         
+ @@@@@@@@@@@@@@@       
+  @@@@                 
+  @@@@@@               
+  @@@@@@@@@@  xx       
+  @@@@@@@@@@@@@@       
+   @@@@@@@@@@@         
+   @@@@@@@@@           
+     @@@@@             
+     @@@@              
+     @@@@
+     XXXX
+    XXXXXX
+   XXXXXXXX
+   XXXXXXXX
+   XXXXXXXX
+   XXXXXXXX
+   XXXXXXXX
+   XXXXXXXX
+   XXXXXXXX
+   XXXXXXXX
+   XXXXXXXX
+    XXXXXX
+    XXXXXX
+     XXXX
+     XXXX
+     XXXX
+     XXXX
+     XXXXXX
+     XXXXXXXXX
+
+
+!kirves h:6600 X:7800 #:7700
+
+       hh
+      hhhh  
+     XhhhhXXXXX
+    XXhhhhXXXXX
+  XXXXXXXXXXXXX
+ XXXXXhhhhXXXXX
+XXXXXXXXhhXXXX 
+   XXXXhhhXXXXX
+ XXXXXhhhhXXXXX
+XXXXXXhhhhXXXXX
+      hhhh
+      hhhh
+      hhhh
+   ########
+  ##########
+  #########
+  ###########
+     ######
+      hhhh
+      hhhh
+      hhhh
+
+
+
+
+           h
+           h h h
+           h h h h
+           hhhhhhh
+           ffffffff
+          +++ffffff
+          +++++++ff
+          +++ffffff
+         ffffffffff
+        fffffffffff
+           WW fffff
+               ffff
+          ffffffff
+           ffffff
+            ffff
+            ffff
+        
+
+            
+            
+            
+            
+
+
+
+               n
+              nnn
+               n
+               n
+               n
+              rrr
+             rrrrr
+            rrrrrrr
+           rrrrrrrrr
+          rrrrrrrrrrr
+          rrrrrrrrrrr
+          rrrrrrrrrrr
+          rrrrrrrrrrr
+          rrrrrrrrrrr
+          rrrrrrrrrrr
+          rrrrrrrrrrr
+          rrrrrrrrrrr
+            
+            
+                           
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+
+*/            
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/sprites.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,219 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "pwpdemo.h"
+
+typedef struct
+{
+   int width,height;
+   u8*pict;
+   u8*mask;
+}sprite;
+
+#include "sprites.h"
+
+/*
+void rotozoom(int x0,int y0,
+              char*map,int dim,int angle,int zoom)
+{
+  int du,dv,u,v,x,y,xdim,ydim;
+  char*d=pwplib.videobuf.d;
+
+  {int xp0,yp0;
+  dim=(dim*zoom)>>8;
+
+  if(x0+dim>pwplib.videobuf.width)
+    xdim=pwplib.videobuf.width-x0;else xdim=dim;
+
+  if(y0+dim>pwplib.videobuf.height)
+    ydim=pwplib.videobuf.height-y0;else ydim=dim;
+
+  if(x0<0){xdim+=x0;xp0=-dim-x0; x0=0;}else xp0=-dim;
+  if(y0<0){ydim+=y0;yp0=-dim-y0; y0=0;}else yp0=-dim;
+
+  if(xdim<=0 || ydim<=0)return;
+
+  du=sin(angle/256.0)*zoom;
+  dv=cos(angle/256.0)*zoom;
+
+  u=-du*xp0-dv*yp0;
+  v=-dv*xp0+du*yp0;
+  }
+
+  {int duo=-dv-du*xdim,
+       dvo= du-dv*xdim,
+       mod=pwplib.videobuf.width-xdim;
+
+   d+=ydim*pwplib.videobuf.width+xdim;
+
+  for(y=ydim;y;y--)
+  {
+     for(x=xdim;x;x--)
+     {
+        int ptr=(u&~0xff)+(v>>8);
+
+        *d=(*d&map[ptr])|map[ptr+128];
+        d++;
+        u+=du;
+        v+=dv;
+     }
+     
+     u+=duo;
+     v+=dvo;
+     d+=mod;
+  }
+  }
+}
+*/
+
+void zoomsprite(int x0,int y0,sprite*sp,int xzoom,int yzoom)
+{
+   int xdim,ydim,
+       xo0=0,yo0=0,x,y,ptr;
+
+   if(xzoom<=32 && yzoom<=32)return;
+   
+   xdim=(sp->width<<8)/xzoom;
+   ydim=(sp->height<<8)/yzoom;
+
+   x0-=(xdim>>1);
+   y0-=(ydim>>1);
+
+   if(x0<0)
+   {
+      xdim+=x0;
+      xo0=(0-x0)<<8;
+      x0=0;
+   }
+
+   if(y0<0)
+   {
+      ydim+=y0;
+      yo0=(0-y0)<<8;
+      y0=0;
+   }
+
+   if(x0+xdim>=pwplib.videobuf.width)
+   {
+      xdim=pwplib.videobuf.width-x0;
+   }
+
+   if(y0+ydim>=pwplib.videobuf.height)
+   {
+      ydim=pwplib.videobuf.height-y0;
+   }
+   
+   if(xdim<=0 || ydim<=0) return;
+   
+   {u8*d=pwplib.videobuf.d+x0+y0*pwplib.videobuf.width;
+
+   for(y=0;y<ydim;y++)
+   {
+      int linebase=(yo0>>8)*sp->width;
+      int xo=xo0;
+
+      {u8*dd=d;
+      for(x=xdim;x;x--)
+      {
+         int a=*dd,z=linebase+(xo>>8);
+         *dd=(a&sp->mask[z])|sp->pict[z];
+         xo+=xzoom;
+         dd++;
+      }}
+      yo0+=yzoom;
+      d+=pwplib.videobuf.width;
+   }}
+}
+
+void zoomsprite_gen(int x0,int y0,sprite*sp,int zoom)
+{
+   zoomsprite(((x0+128)*pwplib.videobuf.width)>>8,
+              ((y0+128)*pwplib.videobuf.height)>>8,
+              sp,
+              abs((zoom<<8)/pwplib.videobuf.width),
+              abs((zoom<<7)/pwplib.videobuf.height)
+             );
+}
+
+void metsae(int t,int mode)
+{
+   int i,x;
+
+  const sprite*mo[]={&kuusi};
+  const int mosiz[]={128};
+  const int mostep[]={64};
+
+  for(i=0;i<512;i+=mostep[mode])
+  {
+   zoomsprite_gen(
+     ((i-t/3)&511)-256 ,0,mo[mode],mosiz[mode]);
+  }
+}
+
+void drawkiller(int tminus)
+{
+   int ttt=tminus;
+
+   if(tminus<-64)tminus=-64;else
+   if(tminus>0)tminus=0;
+
+   zoomsprite_gen(tminus,48,(ttt&16)?&pelustna0:&pelustna1,80);
+}
+
+void encounter(int tminus,int kode,int zoom,int speed)
+{
+   int ttt=tminus;
+   sprite*pum[][2]=
+   {
+      &krist0,&krist1,
+      &pelusieni,&pelusieni,
+      &pelusieni1,&pelusieni1,
+      &pelusieni2,&pelusieni2,
+      &pelux,&pelux,
+      &pelustna0,&pelustna1,
+      &ruumis,&ruumis,
+      &uusmed0,&uusmed1,
+      &tesno0,&tesno1,
+      &army0,&army0,
+      &windows0,&windows1,
+      &quake0,&quake0      
+   };
+
+   if(ttt<0)ttt=0;
+
+   zoomsprite_gen(0+ttt,48,(tminus&16)?pum[kode][0]:pum[kode][1],zoom);
+}
+
+void pelubounce(int t,int bouncemode)
+{
+   const unsigned char bfunc[32]={
+       32,32,32,36,38,40,42,44,50,60,61,62,62,63,63,63,
+       63,63,63,62,61,60,50,40,32,33,34,35,34,33,32,32
+   };
+   const sprite*poo[3]={&peluface0,&peluface1,&peluface2};
+   
+   zoomsprite_gen(0,0,bouncemode?&sieni:poo[(t>>6)%3],40+((t-2560)&63));
+}
+
+void blaah(int t)
+{
+   int x0=0,
+       y0=0,
+       z0=300+(sin(t/70.8)*300);
+
+   zoomsprite_gen(x0,y0,(t&16)?&krist0:&krist1,z0);
+}
+
+
+/*****************************/
+
+/*
+        for(y=0;y<hg;y++)
+        {
+	     register int dofz=(hg*64)/(y+3),ofz=t*32-dofz*20-((dofz>>4)*32*256);
+             {int x=pwplib.videobuf.width;for(;x;x--)*d++=texture1[((ofz+=dofz)>>8)&1023];}
+	     k-=(k>>3);
+	}
+}
+
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/peluce/sprites.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,1616 @@
+/*
+u8 kuusi_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x02,0x22,0x22,0x22,0x22,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00,
+0x00,0x00,0x00,0x22,0x22,0x02,0x22,0x22,0x22,0x22,0x02,0x00,0x00,
+0x00,0x00,0x02,0x22,0x22,0x02,0x22,0x22,0x22,0x22,0x22,0x00,0x00,
+0x00,0x00,0x22,0x22,0x02,0x02,0x22,0x22,0x22,0x22,0x22,0x22,0x00,
+0x00,0x22,0x00,0x02,0x22,0x00,0x22,0x22,0x02,0x02,0x22,0x22,0x22,
+0x00,0x02,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,
+0x00,0x00,0x00,0x22,0x22,0x22,0x06,0x22,0x22,0x22,0x02,0x22,0x00,
+0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x02,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x06,};
+u8 kuusi_mask[]={
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x01,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x01,0x01,0x01,0x01,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,0x01,0x01,0xff,0xff,0xff,
+0xff,0xff,0xff,0x01,0x01,0x28,0x01,0x01,0x01,0x01,0x00,0xff,0xff,
+0xff,0xff,0x00,0x01,0x01,0x28,0x01,0x01,0x01,0x01,0x01,0xff,0xff,
+0xff,0xff,0x01,0x01,0x28,0x28,0x01,0x01,0x01,0x01,0x01,0x01,0xff,
+0xff,0x01,0xff,0x28,0x01,0xff,0x01,0x01,0x28,0x28,0x01,0x01,0x01,
+0xff,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xff,
+0xff,0xff,0xff,0x01,0x01,0x01,0x00,0x01,0x01,0x01,0x28,0x01,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0x28,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
+sprite kuusi={
+13,13,kuusi_pict,kuusi_mask};
+*/
+
+u8 pelusieni_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x88,0x88,0x88,0x88,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0xee,0xee,0xee,0xee,0xee,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x77,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x77,0x44,0x44,0x44,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x77,0x44,0x44,0x44,0x77,0x77,0x44,0x44,0x44,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x77,0x44,0x44,0x44,0x77,0x44,0x44,0x44,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x77,0x44,0x44,0x44,0x44,0x44,0x44,0x77,0x77,0x44,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x08,0x66,0x66,0x66,0x66,0x44,0x77,0x44,0x44,0x44,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x00,0x44,0x44,0x44,0x44,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x77,0x44,0x44,0x44,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,};
+u8 pelusieni_mask[]={
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,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,0x00,0x00,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,0x00,0x00,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,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,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,0x00,0x00,0x00,0x00,0x00,0x00,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x88,0x01,0x01,0x01,0x01,0x00,0xff,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,0x01,0xff,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,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,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,};
+sprite pelusieni={
+31,38,pelusieni_pict,pelusieni_mask};
+
+u8 peluface0_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x88,0x88,0x00,0x88,0x88,0x88,0x88,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,
+0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0xee,0xee,0xee,0xee,0xee,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x77,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,};
+u8 peluface0_mask[]={
+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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,
+0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,};
+sprite peluface0={
+24,23,peluface0_pict,peluface0_mask};
+
+u8 peluface1_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0xee,0xee,0xee,0xee,0xee,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x77,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,};
+u8 peluface1_mask[]={
+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,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,};
+sprite peluface1={
+23,23,peluface1_pict,peluface1_mask};
+
+u8 peluface2_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0xee,0xee,0xee,0xee,0xee,0xee,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x77,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,};
+u8 peluface2_mask[]={
+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,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,};
+sprite peluface2={
+23,23,peluface2_pict,peluface2_mask};
+
+u8 krist0_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x13,0x13,0x13,0x00,0x00,
+0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x19,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x00,0x00,
+0x00,0x88,0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x13,0x19,0x19,0x77,0x77,0x13,0x77,0x19,0x00,0x00,
+0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x77,0x77,0x77,0x77,0x19,0x19,0x19,0x00,0x00,
+0x00,0x88,0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x19,0x19,0x19,0x19,0x00,0x00,
+0x00,0x88,0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x19,0x19,0x19,0x19,0x19,0x00,0x00,
+0x00,0x88,0x88,0x88,0x00,0x00,0x88,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00,
+0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00,
+0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe6,0xe6,0x6e,0x6e,0x6e,0x6e,0x6e,0x6e,0x00,0x00,
+0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe6,0xe6,0x6e,0x6e,0x6e,0x6e,0x6e,0x6e,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x13,0x13,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x13,0x13,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x13,0x13,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x13,0x13,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+};
+u8 krist0_mask[]={
+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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x88,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+};
+sprite krist0={
+30,39,krist0_pict,krist0_mask};
+
+u8 krist1_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x19,0x19,0x19,0x13,0x13,0x13,0x00,0x00,0x00,
+0x00,0x88,0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x19,0x19,0x19,0x13,0x13,0x13,0x13,0x13,0x00,0x00,
+0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x13,0x19,0x77,0x77,0x77,0x13,0x77,0x19,0x00,0x00,
+0x00,0x88,0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x19,0x19,0x19,0x00,0x00,
+0x00,0x88,0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x19,0x19,0x19,0x19,0x19,0x00,0x00,
+0x00,0x88,0x88,0x88,0x00,0x00,0x88,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00,
+0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00,
+0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00,
+0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe6,0xe6,0x6e,0x6e,0x6e,0x6e,0x6e,0x6e,0x6e,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe6,0xe6,0x6e,0x6e,0x6e,0x6e,0x6e,0x6e,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x13,0x13,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x13,0x13,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x13,0x13,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x13,0x13,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+};
+u8 krist1_mask[]={
+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,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,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x88,0x88,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,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,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+};
+sprite krist1={
+30,40,krist1_pict,krist1_mask};
+
+
+
+
+
+
+
+
+u8 kuusi_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,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,0x00,0x00,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,0x00,0x00,0x00,0x00,0x02,0x00,0x00,
+0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x20,0x02,0x00,0x20,0x00,0x00,0x02,0x02,0x00,0x00,0x00,
+0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x02,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
+0x02,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x06,};
+u8 kuusi_mask[]={
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x08,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0xff,0xff,
+0xff,0xff,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,0xff,0xff,0xff,0xff,
+0x00,0xff,0xff,0xff,0x01,0x01,0x01,0x01,0x01,0x01,0x00,};
+sprite kuusi={
+13,13,kuusi_pict,kuusi_mask};
+
+
+u8 pelux_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x88,0x88,0x88,0x88,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0xee,0xee,0xee,0xee,0xee,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x77,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+};
+u8 pelux_mask[]={
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+};
+sprite pelux={
+25,36,pelux_pict,pelux_mask};
+
+u8 sieni_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xff,0xff,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x44,0x44,0x44,0x44,0x44,0xff,0xff,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
+0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xff,0x44,0x44,0x44,0x44,0x44,0xff,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
+0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xff,0x44,0x44,0x44,0x44,0x44,0xff,0xff,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
+0x44,0x44,0x44,0xff,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xff,0xff,0x44,0x44,0x44,0x00,
+0x44,0x44,0x44,0xff,0xff,0x44,0xff,0x44,0x44,0x44,0x44,0xff,0xff,0x44,0x44,0x44,0x44,0x44,0xff,0x44,0x44,0x44,0x44,
+0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
+0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
+0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x87,0x87,0x87,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x87,0x87,0x87,0x87,0x87,0x87,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x87,0x87,0x87,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x87,0x87,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x87,0x87,0x87,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x87,0x87,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x87,0x87,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x87,0x87,0x87,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+};
+u8 sieni_mask[]={
+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,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+};
+sprite sieni={
+23,19,sieni_pict,sieni_mask};
+
+
+u8 pelusieni2_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x88,0x88,0x88,0x88,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0xee,0xee,0xee,0xee,0xee,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x77,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x44,0x77,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x77,0x44,0x44,0x44,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,};
+u8 pelusieni2_mask[]={
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,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,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,};
+sprite pelusieni2={
+29,38,pelusieni2_pict,pelusieni2_mask};
+
+u8 pelusieni1_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x88,0x88,0x88,0x88,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0xee,0xee,0xee,0xee,0xee,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x77,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x77,0x44,0x44,0x44,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x44,0x77,0x44,0x44,0x44,0x77,0x77,0x44,0x44,0x44,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x44,0x44,0x44,0x44,0x77,0x44,0x44,0x44,0x77,0x44,0x44,0x44,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x44,0x44,0x08,0x66,0x66,0x66,0x66,0x44,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x66,0x66,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x77,0x44,0x44,0x44,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,};
+u8 pelusieni1_mask[]={
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,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,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x01,0x01,0x01,0x01,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x01,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x01,0x01,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,};
+sprite pelusieni1={
+29,38,pelusieni1_pict,pelusieni1_mask};
+
+u8 pelustna0_pict[]={
+0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0xa0,0xa0,0xa0,0xa0,0x00,0xa0,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x11,0x11,0x11,0x77,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x7f,0x66,0x7f,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x66,0x66,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x66,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x8c,0x8c,0x8c,0x8c,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x8c,0x8c,0x66,0x8c,0x8c,0x8c,0x8c,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x66,0x66,0x8c,0x8c,0x8c,0x8c,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
+u8 pelustna0_mask[]={
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0xff,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,0x01,0x01,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x01,0x01,0x00,0x01,0x01,0x01,0x01,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x01,0x01,0x01,0x01,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,};
+sprite pelustna0={
+25,38,pelustna0_pict,pelustna0_mask};
+
+u8 pelustna1_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0xa1,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0xa1,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa1,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x11,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x11,0x11,0x77,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x7f,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x66,0x66,0x7f,0x66,0x7f,0x66,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x44,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x8c,0x8c,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x8c,0x66,0x66,0x8c,0x8c,0x8c,0x8c,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x8c,0x8c,0x8c,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x8c,0x8c,0x8c,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x66,0x66,0x00,0x8c,0x8c,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
+u8 pelustna1_mask[]={
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
+0xff,0xff,0xff,0xff,0xff,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0xff,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x01,0x01,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x01,0x01,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x01,0x01,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0xff,0x01,0x01,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,};
+sprite pelustna1={
+25,38,pelustna1_pict,pelustna1_mask};
+
+u8 ruumis_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x4c,0x44,0x44,0x4c,0x44,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x4c,0x44,0x4c,0x44,0x44,0x4c,0x44,0x44,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x4c,0x44,0x4c,0x44,0x44,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x4c,0x44,0x44,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x4c,0x44,0x4c,0x44,0x44,0x44,0x4c,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x4c,0x44,0x4c,0x44,0x44,0x4c,0x44,0x44,0x44,0x44,0x4c,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x4c,0x44,0x44,0x4c,0x44,0x44,0x4c,0x44,0x4c,0x44,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x4c,0x44,0x44,0x44,0x4c,0x44,0x44,0x44,0x4c,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x4c,0x44,0x44,0x44,0x4c,0x44,0x44,0x4c,0x44,0x44,0x4c,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x4c,0x44,0x44,0x4c,0x44,0x44,0x44,0x4c,0x44,0x4c,0x44,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x4c,0x44,0x44,0x4c,0x44,0x44,0x44,0x4c,0x44,0x44,0x4c,
+0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x4c,0x44,0x44,0x44,0x4c,0x44,0x44,0x4c,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x4c,0x44,0x44,0x44,0x4c,0x44,0x44,0x4c,0x44,0x44,0x4c,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4c,0x44,0x44,0x4c,0x44,0x44,0x44,0x44,0x4c,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x4c,0x44,0x44,0x44,0x44,0x4c,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x4c,0x44,0x4c,0x00,0x00,0x00,0x00,0x00,
+};
+u8 ruumis_mask[]={
+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,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+};
+sprite ruumis={
+19,17,ruumis_pict,ruumis_mask};
+
+
+u8 uusmed0_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x77,0x66,0x77,0x66,0x77,0x66,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x66,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x00,0x00,0x77,0x66,0x66,0x66,0x66,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+};
+u8 uusmed0_mask[]={
+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,0x08,0xff,0x08,0xff,0x08,0xff,0x08,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x08,0xff,0x08,0xff,0x08,0xff,0x08,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+};
+sprite uusmed0={
+17,38,uusmed0_pict,uusmed0_mask};
+
+u8 uusmed1_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x77,0x66,0x77,0x66,0x77,0x66,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x66,0x00,0x00,0x00,
+0x00,0x00,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x77,0x66,0x66,0x66,0x66,0x00,0x00,0x00,
+0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+};
+u8 uusmed1_mask[]={
+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,0x08,0xff,0x08,0xff,0x08,0xff,0x08,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x08,0xff,0x08,0xff,0x08,0xff,0x08,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+};
+sprite uusmed1={
+17,38,uusmed1_pict,uusmed1_mask};
+
+u8 army0_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6e,0x77,0x6e,0x77,0x6e,0x77,0x6e,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x77,0x77,0x22,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00,
+0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x77,0x77,0x77,0x77,0x87,0x87,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x77,0x77,0x77,0x87,0x87,0x87,0x87,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2b,0x2b,0x2b,0x2b,0x2b,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2b,0x2b,0x2b,0x2b,0x2b,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2b,0x2b,0x2b,0x2b,0x2b,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2b,0x2b,0x2b,0x2b,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2b,0x2b,0x2b,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2b,0x2b,0x2b,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2b,0x2b,0x2b,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2b,0x2b,0x2b,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2b,0x2b,0x2b,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00,0x00,
+};
+u8 army0_mask[]={
+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,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+};
+sprite army0={
+17,36,army0_pict,army0_mask};
+
+u8 tesno0_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x77,0x66,0x77,0x66,0x77,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,
+0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x66,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x00,0x00,0x77,0x66,0x66,0x66,0x66,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+};
+u8 tesno0_mask[]={
+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,0x08,0xff,0x08,0xff,0x08,0xff,0x08,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x08,0xff,0x08,0xff,0x08,0xff,0x08,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+};
+sprite tesno0={
+22,38,tesno0_pict,tesno0_mask};
+
+u8 tesno1_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x66,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x77,0x66,0x77,0x66,0x77,0x66,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x66,0x66,0x66,0x66,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x66,0x66,0x66,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x66,0x66,0x66,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x77,0x77,0x77,0x00,
+0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x77,0x77,0x77,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+};
+u8 tesno1_mask[]={
+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,0x08,0x08,0xff,0x08,0xff,0x08,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x08,0xff,0x08,0xff,0x08,0xff,0x08,0x08,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+};
+sprite tesno1={
+20,37,tesno1_pict,tesno1_mask};
+
+u8 windows0_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x08,0x08,0x77,0x77,0x08,0x08,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x08,0x08,0x77,0x77,0x08,0x08,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x77,0x77,0x77,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x77,0x77,0x77,
+0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x77,0x77,0x77,
+0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,
+0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x66,0x77,0x77,0x66,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x66,0x66,0x66,0x66,0x66,0x66,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0xfe,0x66,0x66,0x66,0x66,0xfe,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0xfe,0x66,0xfe,0xfe,0x66,0xfe,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+};
+u8 windows0_mask[]={
+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,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,
+0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,
+0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+};
+sprite windows0={
+24,36,windows0_pict,windows0_mask};
+
+u8 windows1_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x08,0x08,0x77,0x77,0x08,0x08,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x08,0x08,0x77,0x77,0x08,0x08,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x77,0x77,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x66,0x66,0x66,0x66,0x66,0x66,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x66,0xfe,0x66,0x66,0x66,0x66,0xfe,0x66,0x00,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x66,0xfe,0x66,0xfe,0xfe,0x66,0xfe,0x66,0x00,0x00,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x66,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0x66,0x00,0x00,0x00,0x77,0x77,0x77,0x00,
+0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x77,0x77,0x77,
+0x00,0x77,0x77,0x77,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x77,0x77,0x77,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x19,0x19,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+};
+u8 windows1_mask[]={
+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,0x08,0x08,0x08,0x08,0x08,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0xff,
+0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,
+0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+};
+sprite windows1={
+23,36,windows1_pict,windows1_mask};
+
+u8 quake0_pict[]={
+0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x00,0x00,0x00,0x00,0x00,
+0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
+0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x11,0x11,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x11,0xff,0x11,0x11,0x11,0x77,0x77,0x77,0x77,0x77,0x00,0x00,
+0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x11,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x44,0x44,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x00,0x00,0x00,0x00,
+};
+u8 quake0_mask[]={
+0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+};
+sprite quake0={
+16,27,quake0_pict,quake0_mask};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/Makefile.in	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,19 @@
+##################################################
+
+OBJS=pwplib.o snd-w32.o win32con.o setup.o gb.o \
+     locale.o convert.o attrconv.o rastconv.o tty.o \
+     sdl.o linuxcon.o snd-sdl.o snd-oss.o snd-hpux.o lossy.o pvp.o \
+     glyphgen.o colorterm.o decterm.o dumbterm.o
+
+all: ../pwplib.a
+
+### pwplib #######################################
+
+../pwplib.a: $(OBJS)
+	$(AR) r ../pwplib.a $(OBJS)
+
+### pwplib stuff #################################
+
+clean:
+	rm -f *.o *~ ../pwplib.a
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/X11.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,416 @@
+/*** HEADERS **********************************************/
+
+#include "config.h"
+
+#ifdef DRIVE_X11
+
+#include "pwplib.h"
+
+#include <string.h>
+#include <malloc.h>
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
+#ifdef DRIVE_X11SHM
+#  include <sys/ipc.h>
+#  include <sys/shm.h>
+#  include <X11/extensions/XShm.h>
+#endif
+
+#define PWP_XWINNAME "pwplib"
+
+#define BUFFSIZE(w,h,d) ( (((d)+7)>>3) *(w)*(h))
+
+/*** INTERNAL DRIVER DATA *********************************/
+
+struct
+{
+        u8*buf;
+        int bufw,bufh,bufd,bpvl;
+
+	Display *disp;
+	Visual *vis;
+	GC gc;
+	int win,scr,rootw,dummyw;
+	XImage *im;
+
+	char*winname;
+	Colormap cmap;
+	XColor cols[256];
+
+#ifdef DRIVE_X11SHM
+		XShmSegmentInfo ssi;
+#endif
+	struct{
+		int w,h;
+	}savedmode;
+
+	struct{
+		int useXShm;
+	}opt;
+
+	u32 lookup[256];
+}pwp_X11;
+
+/*** SMALL API FUNX ****************************************/
+
+void pwp_X11_setpalette(int*pal,int colorcount)
+{
+	int*p=pal,i;XColor*c=pwp_X11.cols;
+	for(i=colorcount;i;i--){
+		c->red=(*p++<<8);
+		c->green=(*p++<<8);
+		c->blue=(*p++<<8);
+		c++;
+	}
+	XStoreColors(pwp_X11.disp,pwp_X11.cmap,pwp_X11.cols,colorcount);
+	XSync(pwp_X11.disp,False);
+}
+
+void pwp_X11_blit()
+{
+	if(!pwp_X11.opt.useXShm)
+	{
+
+/****
+
+	if((pwp_X11.opt.interlaced)||(pwp_X11.opt.halvescans))
+	{
+		int y1=(frame&1)<<pwp_X11.opt.halvescans,y=0,
+		dy1=(1<<(pwp_X11.opt.interlaced+pwp_X11.opt.halvescans));
+		for(;y<oxl.buf.vh;y++){
+		XPutImage(pwp_X11.disp,pwp_X11.win,pwp_X11.gc,pwp_X11.im,
+		0,y,0,y1,pwp_X11.bufw,1);
+		y1+=dy1;
+		}
+		frame+=pwp_X11.opt.interlaced;
+	}else
+
+****/
+
+	XPutImage(pwp_X11.disp,pwp_X11.win,pwp_X11.gc,pwp_X11.im,
+	0,0,0,0,pwp_X11.bufw,pwp_X11.bufh);
+
+	}
+	else
+
+	XShmPutImage(
+		pwp_X11.disp,pwp_X11.win,pwp_X11.gc,pwp_X11.im,
+		0,0,0,0,pwp_X11.bufw,pwp_X11.bufh,False);
+	XSync(pwp_X11.disp,False);
+}
+
+int pwp_X11_testquit()
+{
+	XEvent e;
+	if((XCheckMaskEvent(pwp_X11.disp,KeyPressMask|KeyReleaseMask,&e)==True)
+	 ||(XEventsQueued(pwp_X11.disp,QueuedAlready)==True))
+	 	return 1;else return 0;
+}
+
+/*** WINDOW SETUP FUNX *************************************/
+
+void pwp_X11_getcolormap()
+{
+	int i=0;
+	pwp_X11.cmap=XCreateColormap(pwp_X11.disp,pwp_X11.rootw,pwp_X11.vis,AllocAll);
+	for(;i<256;i++){
+		pwp_X11.cols[i].flags=DoRed|DoGreen|DoBlue;
+		pwp_X11.cols[i].pixel=i;pwp_X11.cols[i].pad=0;
+	}
+}
+
+void pwp_X11_openwindow()
+{
+	XSetWindowAttributes att;
+	Pixmap empty;XColor black={0,0,0,0,0,0};
+
+/* empty cursor */
+	empty=XCreatePixmap(pwp_X11.disp,pwp_X11.rootw,1,1,1);
+	att.cursor=
+		XCreatePixmapCursor(pwp_X11.disp,empty,empty,&black,&black,0,0);
+
+		att.override_redirect=False;
+
+/* create window */
+	att.backing_store=NotUseful;
+	att.colormap=pwp_X11.cmap;
+	pwp_X11.win=XCreateWindow(
+		pwp_X11.disp,pwp_X11.rootw,
+		0,0,pwp_X11.bufw,pwp_X11.bufh,0,
+		pwp_X11.bufd,
+		InputOutput,
+		pwp_X11.vis,
+		CWBackingStore|CWCursor|CWOverrideRedirect
+		|((pwp_X11.bufd==8)?CWColormap:0)
+		,&att);
+
+/* some hints&props */
+	{XSizeHints shints;
+	shints.min_width= shints.max_width= pwp_X11.bufw;
+	shints.min_height=shints.max_height=pwp_X11.bufh;
+	shints.flags=PMinSize+PMaxSize;
+
+	XSetStandardProperties(
+		pwp_X11.disp,pwp_X11.win,
+		PWP_XWINNAME,PWP_XWINNAME,
+		None,NULL,0,
+		&shints);
+	}
+
+/* and draw the window */
+	XMapWindow(pwp_X11.disp,pwp_X11.win);
+
+/* hook keypress */
+	XSelectInput(pwp_X11.disp,pwp_X11.win,KeyPress|KeyRelease);
+
+/* blank */
+
+/*	if(pwp_X11.opt.halvescans) {
+		XFillRectangle(pwp_X11.disp,pwp_X11.win,
+		pwp_X11.gc,0,0,pwp_X11.bufw,pwp_X11.bufh);
+	} .. not yet*/
+
+/* ok ok */
+/*	{XEvent e;
+	XMaskEvent(pwp_X11.disp,KeyPressMask|KeyReleaseMask,&e);}
+*/
+	XSync(pwp_X11.disp,False);
+}
+
+
+/*** DISPLAY SETUP FUNX **************************************/
+
+int pwp_X11_testdepth(int depth)
+{
+	Screen*s=ScreenOfDisplay(pwp_X11.disp,pwp_X11.scr);
+	Depth*d=s->depths;int i=0;
+	#ifdef DEBUG
+		fprintf(stderr,"testing for depth %i\n",depth);
+	#endif
+	for(;i<s->ndepths;i++)
+		if(d[i].depth==depth)return 1;
+	return 0;
+}
+
+#ifdef DRIVE_X11SHM
+int pwp_X11_ready_XShm()
+{
+	pwp_X11.im=XShmCreateImage(
+		pwp_X11.disp,pwp_X11.vis,pwp_X11.bufd,
+		ZPixmap, NULL,&pwp_X11.ssi,
+		pwp_X11.bufw,pwp_X11.bufh
+		);
+	if(pwp_X11.im==NULL)return 0;
+
+	pwp_X11.bufh=pwp_X11.im->height;
+	pwp_X11.bufw=pwp_X11.im->width;
+        pwp_X11.bpvl=pwp_X11.im->bytes_per_line;
+
+	pwp_X11.ssi.shmid=shmget(IPC_PRIVATE,
+		pwp_X11.im->bytes_per_line*pwp_X11.im->height,
+		IPC_CREAT|0777);
+	if(pwp_X11.ssi.shmid<0){
+		XDestroyImage(pwp_X11.im);return 0;}
+
+	pwp_X11.im->data=pwp_X11.buf=pwp_X11.ssi.shmaddr=
+	shmat(pwp_X11.ssi.shmid,0,0);
+
+	if(pwp_X11.ssi.shmaddr==(void*)-1){
+		XDestroyImage(pwp_X11.im);return 0;}
+	
+	pwp_X11.ssi.readOnly=False;
+	
+	/* XSetErrorHandler. Ei tänne */
+
+	XShmAttach(pwp_X11.disp,&pwp_X11.ssi);
+	XSync(pwp_X11.disp,False);
+
+	shmctl(pwp_X11.ssi.shmid,IPC_RMID,0);
+	return 1;
+}
+#endif
+
+void pwp_X11_close()
+{
+
+#ifdef DRIVE_X11SHM
+	if(pwp_X11.opt.useXShm){
+		XShmDetach(pwp_X11.disp,&pwp_X11.ssi);
+		shmdt(pwp_X11.ssi.shmaddr);}
+#endif
+	XDestroyImage(pwp_X11.im);
+	XDestroyWindow(pwp_X11.disp,pwp_X11.win);
+}
+
+int pwp_X11_ready()
+{
+/* color depth */
+	if(!pwp_X11_testdepth(pwp_X11.bufd))
+	{
+	if(pwp_X11_testdepth(8)) pwp_X11.bufd=8;else
+	if(pwp_X11_testdepth(16))pwp_X11.bufd=16;else
+	if(pwp_X11_testdepth(15))pwp_X11.bufd=15;else
+	{ pwpwrite("No suitable depth available (8/15/16 bpp)\n");
+	  return 0;
+        }
+	}
+
+	if(pwp_X11.bufd==8)pwp_X11_getcolormap();
+
+ 	pwp_X11_openwindow();
+
+	pwp_regdestr(pwp_X11_close);
+
+/* shared memory buffer */
+	#ifdef DRIVE_X11SHM
+	if(pwp_X11.opt.useXShm){
+		pwp_X11.opt.useXShm=XShmQueryExtension(pwp_X11.disp);
+		/* tarkista myös versiosta pixmaps==true */
+	if(pwp_X11.opt.useXShm)
+		if(pwp_X11_ready_XShm())return;
+		else{
+			pwp_X11.opt.useXShm=0;
+			fprintf(stderr,"no xshm\n");}
+	}
+	#endif
+
+/* noxshm */
+	fprintf(stderr,
+		"X11_buf: %d x %d x %d, videobuf = %d x %d, malloc: %d\n",
+		pwp_X11.bufw,pwp_X11.bufh,pwp_X11.bufd,
+		pwplib.videobuf.width,pwplib.videobuf.height,
+		BUFFSIZE(pwp_X11.bufw,pwp_X11.bufh,pwp_X11.bufd));
+
+	pwp_X11.buf=malloc(BUFFSIZE(pwp_X11.bufw,pwp_X11.bufh,pwp_X11.bufd));
+
+	pwp_X11.im=XCreateImage(
+		pwp_X11.disp,pwp_X11.vis,
+		pwp_X11.bufd,ZPixmap,           
+		0,pwp_X11.buf,
+		pwp_X11.bufw,pwp_X11.bufh,
+		32,BUFFSIZE(1,pwp_X11.bufw,pwp_X11.bufd));
+
+		pwp_X11.bpvl=pwp_X11.im->bytes_per_line; /* ? */
+
+	return 1;
+}
+
+/*
+	pwp_X11.opt.useXShm=!findarg(argc,argv,"-noxshm");
+
+	pwp_X11.opt.fullscreen=findarg(argc,argv,"-full");
+*/
+
+/**************************************************************************/
+
+void pwp_X11_dump_rast_4x4()
+{
+   u32*d = (u32*)pwp_X11.buf;
+   int x,y,j=0;
+   u8*ss=(u8*)pwplib.videobuf.d;
+
+   for(y=pwplib.videobuf.height*2;y;y--)
+   {
+      u8*s=ss;
+
+      for(x=pwplib.videobuf.width;x;x--)
+      {
+         *d++=pwp_X11.lookup[*s++];
+      }
+      j=(j+1)&1;
+      if(!j) { ss+=pwplib.videobuf.width; }
+   }
+
+   pwp_X11_blit();
+}
+
+/**********/
+
+void rast2rgb(int n,int muller,int*r,int*g,int*b)
+{
+   int fg=n&15,bg=(n>>4)&15;
+   const char rgb[16*3] =
+   { 0,0,0,
+     0,0,9,
+     0,9,0,
+     0,9,9,
+     9,0,0,
+     9,0,9,
+     9,9,0,
+     9,9,9,
+     6,6,6,
+     0,0,15,
+     0,15,0,
+     0,15,15,
+     15,0,0,
+     15,0,15,
+     15,15,0,
+     15,15,15 };
+
+   *r = (muller * (rgb[bg*3+0]*2 + rgb[fg*3+0]))/45;
+   *g = (muller * (rgb[bg*3+1]*2 + rgb[fg*3+1]))/45;
+   *b = (muller * (rgb[bg*3+2]*2 + rgb[fg*3+2]))/45;
+}
+
+void pwp_X11_init_8bpp()
+{
+   int pal[256*3];
+   int i=0;
+   for(;i<256;i++)
+   {
+      rast2rgb(i,255,pal+i*3,pal+i*3+1,pal+i*3+2);
+      pwp_X11.lookup[i]=(i|(i<<8)|(i<<16)|(i<<24));
+   }
+
+   pwp_X11_setpalette(pal,256);
+
+   pwplib.dump_rast = pwp_X11_dump_rast_4x4;
+}
+
+int pwp_X11_init()
+{
+	if(!(pwp_X11.disp=XOpenDisplay(NULL)))
+	{
+	   pwpwrite("* no X11 available - trying tty\n");
+
+	   return 0;
+	}
+	
+	pwp_X11.scr=DefaultScreen(pwp_X11.disp);
+	pwp_X11.rootw=DefaultRootWindow(pwp_X11.disp);
+	pwp_X11.gc=DefaultGC(pwp_X11.disp,pwp_X11.scr);
+	pwp_X11.vis=DefaultVisual(pwp_X11.disp,pwp_X11.scr);
+
+
+/*
+pwp_X11.opt.halvescans = 0;
+pwp_X11.opt.interlace = 0;
+*/
+
+        /****/
+
+        pwp_X11.bufw = 640;
+        pwp_X11.bufh = 480;
+
+        pwplib.videobuf.width  = 640/4;
+        pwplib.videobuf.height = 480/4;
+
+        pwp_X11.opt.useXShm = 0;
+
+        /****/
+
+	if(!pwp_X11_ready()) return 0;
+
+	if(pwp_X11.bufd==8)
+        pwp_X11_init_8bpp();
+        else { pwpwrite("* no 8bpp available\n"); return 0; }
+
+        pwpwrite("* X11\n");
+
+	return 1;
+}
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/attrconv.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,376 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "pwplib.h"
+#include "convert.h"
+
+/*
+ *  Doubleheight IBM
+ *
+ */
+
+void convcalc_1to12()  /* &1 == ibm2ibm, */
+{
+   u8 tabsrc[]=
+   {
+     '\"', '\"',' ',
+     '/',  '|','/',
+     '\'', '\'',' ',
+     '/',  '|', '/',
+     
+     '\\', '\\','|',
+     '^',  '^', ' ',
+
+     '`',  '`', ' ',
+
+     '|',  '|', '|',
+     '~',  '~', ' ',
+
+     176,  176, 176,
+     177,  177, 177,
+     178,  178, 178,
+
+     179,  179, 179,
+     180,  179, 180,
+     181,  179, 181,
+     182,  186, 182,
+     185,  186, 185,
+     186,  186, 186,
+     188,  186, 188,
+     189,  186, 189,
+     190,  179, 190,
+     192,  179, 192,
+     193,  179, 193,
+     195,  179, 195,
+     197,  179, 197,
+     198,  179, 198,
+     199,  186, 199,
+     200,  186, 200,
+     202,  186, 202,
+     204,  186, 204,
+     206,  186, 206,
+     207,  179, 207,
+     208,  186, 208,
+     211,  186, 211,
+     212,  179, 212,
+     215,  186, 215,
+     216,  179, 216,
+     217,  179, 217,
+
+     219,  219, 219,
+     220,  32,  219,
+     221,  221, 221,
+     222,  222, 222,
+     223,  219, 32,
+     0
+   };
+   u8*t=tabsrc;
+
+   int i=0;
+
+   for(;i<256;i++)
+   {
+      pwpconv.tab1to12[i]=BYTES2(pwpconv.font[i],32);
+   }
+
+   while(*t)
+   {
+      pwpconv.tab1to12[*t]=BYTES2(pwpconv.font[t[2]],pwpconv.font[t[1]]);
+      t+=3;
+   }
+}
+
+void conv_1to12(u8*d,u8*s,int w,int h)
+{
+   w<<=1;
+   for(;h;h--)
+   {   
+     int x=w>>1;
+     for(;x;x--)
+     {
+        int a=pwpconv.tab1to12[*s];
+
+        d[0]=SECONDBYTE(a);
+        d[w]=FIRSTBYTE(a);
+        d[1]=d[w+1]=s[1];
+
+        d+=2;
+        s+=2;
+     }
+     d+=w;
+   }
+} 
+
+/*
+ *  Megatab (ibm color16x16 => any) initialization
+ *
+ *
+ */
+
+/*
+ *  purely font/charset related
+ */
+
+void convcalc_ascii()
+{
+  memcpy(pwpconv.font,
+  /*00*/ " OOwoxAoooo6qrn*" 
+  /*10*/ "><8!PS_8^v><L-^v" 
+  /*20*/ " !\"#$%&'()*+,-./"
+  /*30*/ "0123456789:;<=>?"
+  /*40*/ "@ABCDEFGHIJKLMNO"
+  /*50*/ "PQRSTUVWXYZ[\\]^_"
+  /*60*/ "`abcdefghijklmno"
+  /*70*/ "pqrstuvwxyz{|}~A"
+  /*80*/ "CueaaaaceeeiiiAA"
+  /*90*/ "E&&ooouuyOUcEVPf"
+  /*A0*/ "aiounNao?--%%!<>"
+  /*B0*/ "%#M||||..||.'''."
+  /*C0*/ "`--|-+||`.--|-+-"
+  /*D0*/ "---``-.++'.8opd^"
+  /*E0*/ "aBrhEouiO0Od-%EA"
+  /*F0*/ "=+><|J%~o-.Vn2o ",256*sizeof(char));
+}
+
+void convcalc_termsafe()
+{
+   int i=256;u8*s=pwpconv.font;
+   for(;i;i--)
+   {
+     if(*s<32 || *s==127)*s=32;
+     s++;
+   }
+}
+
+/*
+ *  purely colortab related
+ */
+
+void convcalc_monotab(int parms)
+{
+  memset(pwpconv.col,(parms&1)?0x00:0x07,256*sizeof(u8));
+}
+
+void convcalc_monotab_attr(int parms)
+{
+   u8 attrmo[2][2]=  /* &1: 0=ansicol_dump, 1=vt_dump */
+   {
+      0x00,0x01,
+      0x07,0x70
+   };
+
+   const char intens[16]=
+   {
+       0,1,6,7, 3,4,9,10,
+       1,2,9,10,5,6,13,15
+   };
+
+   int i=0;
+   for(;i<256;i++)
+     pwpconv.col[i]=
+      attrmo[parms&1][intens[i&15]>intens[(i>>4)&15]?0:1];
+}
+
+void convcalc_colortab(int parms)
+{
+  int i;
+  char tabs[32];
+  
+  for(i=0;i<32;i++)tabs[i]=i&15;
+
+  if(parms&1){ /* 8 colors in foreground, else 16 */
+     memcpy(tabs+8,  "\003\003\002\003\004\005\006\007",8);
+  }
+
+  if(parms&2)  /* 8 colors in background, else 16 */
+     memcpy(tabs+24, "\003\003\002\003\004\005\006\007",8);
+
+  if(parms&4)  /* ansi color order (bgr) instead of cga (rgb) */
+     for(i=0;i<32;i++)
+       tabs[i]=(tabs[i]&~7)|
+       "\000\004\002\006\001\005\003\007"[tabs[i]&7];
+
+  for(i=0;i<256;i++)
+    pwpconv.col[i]=tabs[i&15]|(tabs[16+((i>>4)&15)]<<4);
+}
+
+/*
+ *  finishing the megatab
+ */
+
+/*
+   1: eliminate 178/219        (if inverse supported & 178/219 doesnt exist)
+   2: eliminate halfblocks      (if chars, preferably if we have rasterchar && fullres)
+   4: replace rasters            (if no bgcolors or no colors at all? smwhr else?)
+   8: sometimes repl 176 with 177 (if only 8 colors at bg - dont use with &4)
+
+   normal ascii rasterchars: 176='%', 177='@'
+   in vt100, both 176&177 are replaced with halfraster
+*/
+void convcalc_megatab_finish(int flags)
+{
+   const char intens[16]=
+   {
+       0,1,6,7, 3,4,9,10,
+       1,2,9,10,5,6,13,15
+   };
+
+   int ch,at;
+   u8*s=(u8*)pwpconv.megatab;
+
+#   ifndef BIG_ENDIAN   
+    for(at=0;at<256;at++)
+    for(ch=0;ch<256;ch++)
+#   else
+    for(ch=0;ch<256;ch++)
+    for(at=0;at<256;at++)
+#   endif
+   {
+      int fg=at&15,bg=(at>>4)&15,at1=at,ch1=ch;
+
+      if(ch==32 || ch==0 || ch==255)fg=bg;else
+      if(ch==219)bg=fg;
+      
+      if(fg==bg)
+      {
+         if(fg&8)
+         {
+            ch1=219;at1=fg;
+         }
+          else
+         {
+            ch1=32;at1=fg<<4;
+         }
+      }
+       else
+      if(ch>=220 && ch<=223)
+      {
+         if((at1&128) && intens[bg]>intens[fg])
+         {
+            ch1=223-(ch1-220);
+            at1=((at1>>4)&15)|((at1<<4)&0xf0);
+         }
+         if(flags&2)ch1=177;
+      }
+       else
+      if(ch>=176 && ch<=178)
+      {
+         if((at1&128) || intens[bg]>intens[fg])
+         {
+            if(ch1==176)ch1=178; else
+            if(ch1==178)ch1=176;
+            
+            at1=((at1>>4)&15)|((at1<<4)&0xf0);
+
+              /* flags&8: use 177 when 176 with doublebright */
+            if((at1&128) && (flags&8) && (ch1==176))
+                ch1=177;
+         }
+      }
+
+        /* flags&1: eliminate 178/219 */      
+      if((ch1==178 || (ch1==219)) && (flags&1))
+      {
+         ch1=(ch1==178)?176:32;
+         at1=((at1>>4)&15)|((at1<<4)&0xf0);
+      }
+
+      /* flags&4: replace rasters (32/176/177) with something else
+         (replace color info with char stuff
+      */
+
+      s[0]=pwpconv.font[ch1];
+      s[1]=pwpconv.col[at1];
+      
+      s+=2;
+   }
+}
+
+/*******************************/
+
+
+void conv_dump_ibm_megatab()
+{
+   TEMPMALL(u16,tmp,pwplib.videobuf.height*pwplib.videobuf.width*2),
+       *s=(u16*)pwplib.videobuf.d,*d=tmp;
+
+   int i=pwplib.videobuf.height*pwplib.videobuf.width;
+   for(;i;i--)*d++=pwpconv.megatab[*s++];
+   
+   {u8*pushed=pwplib.videobuf.d;
+    pwplib.videobuf.d=(u8*)tmp;
+    pwpconv.orig_dump_attr();
+    pwplib.videobuf.d=pushed;
+   }
+
+   TEMPFREE(tmp);
+}
+
+void conv_fromibm_double()
+{
+   int lgt=pwplib.videobuf.width*pwplib.videobuf.height;
+
+   TEMPMALL(u8,tmp,lgt*2*2);
+
+   conv_1to12(tmp,pwplib.videobuf.d,pwplib.videobuf.width,pwplib.videobuf.height);
+
+   {char*save=pwplib.videobuf.d;
+    pwplib.videobuf.d=tmp;
+    pwplib.videobuf.height<<=1;
+    conv_dump_ibm_megatab();
+    pwplib.videobuf.height>>=1;
+    pwplib.videobuf.d=save;
+   }
+
+   TEMPFREE(tmp);
+}
+
+void conv_fromibm_half()
+{
+   TEMPMALL(u8,tmp,pwplib.videobuf.width*pwplib.videobuf.height),
+      *d=tmp,*s=pwplib.videobuf.d;
+
+   int y;
+   y=pwplib.videobuf.height>>1;
+
+   for(;y;y--)
+   {
+      int x=pwplib.videobuf.width,
+          w=x<<1;
+      for(;x;x--)
+      {
+         d[0]=pwpconv.font[s[0]];
+         d[1]=s[1]|s[1+w];
+         s+=2;d+=2;
+      }
+      s+=w;
+   }
+
+  {char*save=pwplib.videobuf.d;
+   pwplib.videobuf.d=tmp;
+   pwplib.videobuf.height>>=1;
+   conv_dump_ibm_megatab();
+   pwpconv.orig_dump_attr();
+   pwplib.videobuf.d=save;
+   pwplib.videobuf.height<<=1;
+  }
+
+  TEMPFREE(tmp);
+}
+
+/* dump_ibm_halved, dump_ibm_realsize */
+void conv_dump_ibm()
+{
+   if(pwplib.setup[SETUP_HALVE])
+   {
+      if(pwplib.videobuf.height==50) /* kludge */
+           conv_fromibm_half();
+      else conv_dump_ibm_megatab();
+   }
+    else
+   {
+      if(pwplib.videobuf.height==50)
+           conv_dump_ibm_megatab();
+      else conv_fromibm_double();
+   }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/auconv.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,26 @@
+/*
+   conversions:
+
+   * multiplex several channels to one
+   * enhance chip instruments with pulse stuff, adsr functions,
+     toneslides, vibrato etc
+
+     sound_setins(2,VIBRATO|TONESLIDE|FASTSWEEP|SLOWDECAY);
+
+     sound_playsample(BASSDRUM);
+     
+     sound_loadsample(5,dataptr,length);
+     sound_loadstream(4,streamgenerator);
+
+   when samples supported:
+
+   * emulate samples with chip capablities
+
+   if channel-based sound device:
+   
+   * implement echoes with additional channels
+     (if using digital buffer: use another technique)
+
+     sound_echo(delay,shift);
+
+*/
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/colorterm.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,198 @@
+#include "config.h"
+#ifdef DRIVE_UNIX
+#ifdef DRIVE_TTY
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <termios.h>
+
+#include "pwplib.h"
+#include "tty.h"
+
+#ifdef howmany
+#  undef howmany
+#endif
+
+#define DECIMAL(x) \
+{int n=(x); if(n>=100){*d++='0'+(n/100);n%=100; \
+            *d++='0'+(n/10);} \
+ else \
+ if(n>=10)*d++='0'+(n/10); \
+ *d++='0'+(n%10);}
+
+int tty_ansicol_dump(u8*s,u8*p,int x,int y)
+{
+  TEMPMALL(u8,tmp,x*y*16),
+     *d=tmp,skip=0,skipy=0,att=0;
+
+  skipy=1;
+
+  memcpy(d,"\33[0;37;40m",10*sizeof(char));d+=10;
+  att=0x07;
+
+  if(pwplib.frame&1)
+  {
+     s+=pwplib.videobuf.width*2;
+     p+=pwplib.videobuf.width*2;
+  }
+  
+  {int i=pwplib.frame&1;for(;i<y;i+=2)
+   {int j=0;
+   
+   for(;j<x;j++)
+   {
+     if( (s[0]!=p[0]) || (s[1]!=p[1]) )
+     {
+       int attch=s[1]^att;
+       if(attch)
+       {
+         int a=s[1],semic=0;
+         d[0]=27;d[1]='[';d+=2;
+         if(attch&0x07)
+         {
+           d[0]='3';d[1]="04261537"[a&7];d+=2;semic=1;
+         }
+         if(attch&0x70)
+         {
+           if(semic)*d++=';';
+           d[0]='4';d[1]="04261537"[(a>>4)&7];d+=2;semic=1;
+         }
+         if(attch&0x80)
+         {
+           if(semic)*d++=';';
+           if(!(a&0x80))*d++='2';
+           *d++='5';semic=1;
+         }
+         if(attch&0x08)
+         {
+           if(semic)*d++=';';
+           if(!(a&0x08))*d++='2';
+           *d++='1';
+         }
+         *d++='m';
+         att=s[1];
+       }
+
+       if(skip||skipy)
+       {
+         if(!skipy)
+         {
+           int realskip=1;
+           if(skip<4)
+           {
+              int i=0;
+              realskip=0;
+              for(;i<skip;i++)
+                 if(s[-2*skip+2*i+1]!=att)
+                    {realskip++;break;}
+           }
+           if(realskip)
+           {
+             d[0]=27;d[1]='[';d+=2;
+             if(skip>1)DECIMAL(skip);
+             *d++='C';
+           }
+            else
+           {
+             int i=0;
+             for(;i<skip;i++)
+                *d++=s[-2*skip+2*i];
+           }
+         }
+         
+         else
+         {
+           d[0]=27;d[1]='[';d+=2;
+           DECIMAL(i+1);
+           *d++=';';
+           DECIMAL(j+1);
+           *d++='H';
+         }
+         skip=skipy=0;
+       }
+
+       *d++=s[0];
+     }else skip++;
+     s+=2;p+=2;
+   }skipy++;
+
+    memcpy(p-pwplib.videobuf.width*2,
+           s-pwplib.videobuf.width*2,
+           pwplib.videobuf.width*2*sizeof(u8));
+
+     s+=pwplib.videobuf.width*2;
+     p+=pwplib.videobuf.width*2;
+   }
+  }
+
+  tty_write(tmp,d-tmp);
+
+  TEMPFREE(tmp);
+  return d-tmp;
+}
+
+/****************/
+
+/* ..do a generic tty_dump_attr that calls pwp_tty.indump or something */
+void tty_ansicol_dump_attr()
+{
+   int lgt=
+   tty_ansicol_dump
+      (pwplib.videobuf.d,pwp_tty.prevbuf,
+       pwplib.videobuf.width,
+       pwplib.videobuf.height);
+
+   pwplib.frame++;
+
+   if(lgt<pwplib.set.framebytes)
+   {
+      lgt+=tty_ansicol_dump
+         (pwplib.videobuf.d,pwp_tty.prevbuf,
+          pwplib.videobuf.width,
+          pwplib.videobuf.height);
+      pwplib.frame++;
+   }
+
+   if(lgt<pwplib.set.framebytes)
+   if(pwplib.setup[SETUP_BPS])
+   {
+     int howmany=pwplib.setup[SETUP_BPS]/(72*2*3);
+     for(;howmany;howmany--)
+     {
+       tty_write("\33[H",3);
+     }
+   }
+   
+   if(pwplib.set.framedelay)
+   usleep(pwplib.set.framedelay*1000);
+}
+
+void tty_ansicol_prep_attr()
+{
+   tty_write("\33[37;40m[2J\33[H",-1);
+}
+
+void tty_ansicol_init()
+{
+   pwplib.prep_attr=tty_ansicol_prep_attr;
+   pwplib.dump_attr=tty_ansicol_dump_attr;
+
+   conv_init(2,3,1);
+
+   tty_vt_initstring();
+}
+
+void tty_ansisys_init()
+{
+   pwplib.prep_attr=tty_ansicol_prep_attr;
+   pwplib.dump_attr=tty_ansicol_dump_attr;
+
+   conv_init(2,0,0);   
+
+   tty_vt_initstring();
+}
+
+#endif
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/config.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,14 @@
+#define DRIVE_VIDEO
+#define DRIVE_AUDIO
+
+#define DRIVE_GB
+
+#ifdef UNIX
+#define __POSIX__
+#define DRIVE_UNIX
+#define DRIVE_TTY
+#define DRIVE_TTY_ANSI
+#define DRIVE_TTY_DEC
+#undef  DRIVE_TTY_VT200
+#define HAVE_TTYSTUFF
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/convert.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,105 @@
+#define __CONVERT_C
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "pwplib.h"
+#include "convert.h"
+
+extern void conv_dump_ibm();
+extern void conv_dump_rast();
+
+void conv_init(int colors,int chars,int rasters)
+{
+   int i=0;
+
+   if(pwplib.setup[SETUP_COLORS]>=0)
+      colors=pwplib.setup[SETUP_COLORS];
+
+   if(pwplib.setup[SETUP_TRANS]>=0)
+      chars=pwplib.setup[SETUP_TRANS];
+
+   if(pwplib.setup[SETUP_RASTER]>=0)
+      rasters=pwplib.setup[SETUP_RASTER];
+
+   /*********************************************/
+
+   if(rasters<0)rasters=0;
+   if(colors<0)colors=0;
+   if(chars<0)chars=0;
+
+   for(;i<256;i++)
+     pwpconv.font[i]=pwpconv.col[i]=i;
+   convcalc_termsafe();
+
+   /*********************************************/
+
+   pwpwrite("* character conversion: ");
+
+   if(chars&2)
+   {
+     pwpwrite("ascii");
+     if(chars&1)pwpwrite(" (no invert)");
+     convcalc_ascii(chars);
+   }else
+     pwpwrite("native ibm");
+
+   /*********************************************/
+
+   if(!(colors&~7))
+   {
+     char tmp[60];
+     int fgcols=(colors&1)?8:16,bgcols=(colors&2)?8:16;
+     sprintf(tmp,"; %i fg and %i bg colors\n",fgcols,bgcols);
+     pwpwrite(tmp);
+   }else
+   {
+     pwpwrite("; monochrome\n");
+   }
+
+   if(colors&8)
+      convcalc_monotab(colors);
+      else
+      convcalc_colortab(colors);  /* 1==8colfg, 2==8colbg, 4==ansibits */
+
+
+   /*********************************************/
+
+   {int flags=8;
+   convcalc_megatab_finish(flags);
+   }
+   /*
+      inverse supported, 178/219 not in charset: |1  (vt100, xterm-mono)
+      fullsize, no halfblocks                    |2  (xterm)
+      no colors or no bgcolors                   |4  (all mono stuphos)
+      bg&fg supported; no bg brightlite          |8  (8x16 textmodes)
+   */
+
+
+   /*********************************************/
+
+   pwpwrite("* raster conversion: ");
+   if(rasters==0)
+   {
+      pwpwrite("coloured ibm-style\n");
+      convcalc_rast_ibmcol();
+   }
+   if(rasters==1)
+   {
+      pwpwrite("coloured\n");
+      convcalc_rast_col();
+   }
+   if(rasters==2)
+   {
+      pwpwrite("monochrome\n");
+      convcalc_rast_mono();
+   }
+   
+   pwplib.dump_rast=conv_dump_rast;
+
+   /*********************************************/
+
+   convcalc_1to12();
+   pwpconv.orig_dump_attr=pwplib.dump_attr;
+   pwplib.dump_attr=conv_dump_ibm;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/convert.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,18 @@
+#include "pwplib.h"
+
+#ifndef __CONVERT_C
+  extern
+#endif
+struct
+{
+  u8  rast[256*2];
+  u8  font[256],col[256];
+
+  u16 tab1to12[256];
+  /*  tab1to22 */
+  
+  u16 megatab[256*256];
+  u16 rasthalve[256*256];
+
+  void(*orig_dump_attr)();
+}pwpconv;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/decterm.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,367 @@
+/*
+ *  PWPlib: VTxxx support, including VT220/320 charset customization
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "pwplib.h"
+
+#ifdef DRIVE_UNIX
+#ifdef DRIVE_TTY_DEC
+
+#include "tty.h"
+#include "convert.h"
+
+#define DECIMAL(x) \
+{int n=(x); if(n>=100){*d++='0'+(n/100);n%=100; \
+            *d++='0'+(n/10);} \
+ else \
+ if(n>=10)*d++='0'+(n/10); \
+ *d++='0'+(n%10);}
+
+/******************** vt2xx raster glyphs *************************/
+
+/* move somewhere else */
+void tty_putch(int ch)
+{
+   char c=ch;
+   write(pwp_tty.fd,&c,sizeof(char));
+}
+
+#ifdef DRIVE_TTY_VT2XX
+void vt2xx_loadglyphs(char*src,int width,int height,int howmany)
+{
+   if(pwp_tty.minor<300)
+      tty_write("\33P0;1;2{P",-1);
+      else
+      tty_write("\33P0;1;2;0;0;2{P",-1);
+
+   for(;howmany;howmany--)
+   {
+      int x,y,i;
+      for(y=0;y<height;y+=6)
+      {
+        if(y)tty_putch('/');
+        for(x=0;x<width;x++)
+        {
+           int sixel=0;
+           for(i=0;i<6;i++)
+              if(src[(i+y)*width+x])sixel|=(1<<i);
+           tty_putch('?'+sixel);
+        }
+      }
+      tty_putch(';');
+      src+=width*height;
+   }
+   tty_write("\33\\",-1);
+}
+
+/*
+int vt2xx_genchars(char*o,int width,int height)
+{
+   int u,d,x,y;
+
+   for(u=0;u<8;u++)
+   for(d=0;d<8;d++)
+   {
+      if(u|d)
+      for(y=0;y<height;y++)
+      for(x=0;x<width;x++)
+         *o++=
+         rastmatrix[16*(y<=(height>>1)?u:d)+4*(y&3)+(x&3)];
+   }
+}
+*/
+#endif
+
+void tty_vt_prep_attr_40()
+{
+   int y=0;
+   tty_write("\33[2J\33[H",-1);
+   for(;y<24;y++)
+   {
+      if(y)tty_putch('\n');
+      tty_write("\33#6",3);
+   }
+}
+
+#ifdef DRIVE_TTY_VT2XX
+/*
+int vt2xx_convcalc()
+{
+   const char intens[16]=
+   {
+       0,1,6,7, 3,4,9,10,
+       1,2,9,10,5,6,13,15
+   };
+
+   int up,dn;
+   for(dn=0;dn<256;dn++)
+   for(up=0;up<256;up++)
+   {
+      int dins=(intens[dn&15]+intens[(dn>>4)&15]*3);
+      int uins=(intens[up&15]+intens[(up>>4)&15]*3);
+
+      if(dins<7 && uins<7 && (dins|uins))
+      {
+         if(uins>dins)uins=7;else dins=7;
+      }
+
+      dins/=7;
+      uins/=7;
+
+      if(dins>7)dins=7;
+      if(uins>7)uins=7;
+
+      pwpconv.rasthalve[BYTES2(up,dn)]=
+              BYTES2(32+(dins|(uins<<3)),0x10);
+   }
+}
+*/
+#endif
+
+/**********************************************/
+
+/*
+   &1: inverse
+   &8: bright
+   &16: charset: P vs B
+*/
+
+int tty_vt_dump(char*s,char*p,int x,int y)
+{
+  TEMPMALL(u8,tmp,pwplib.videobuf.width*pwplib.videobuf.height*16),
+  *d=tmp,skip=0,skipy=0;
+
+  skipy=1;
+
+  if(pwplib.frame&1)
+  {
+     p+=pwplib.videobuf.width*2;
+     s+=pwplib.videobuf.width*2;
+  }
+
+  {int i=pwplib.frame&1;
+   for(;i<y;i+=2)
+   {int j=0;
+
+   for(;j<x;j++)
+   {
+     if( (s[0]!=p[0]) || (s[1]!=p[1]) )
+     {
+       int attch=s[1]^pwp_tty.att;
+       if(attch)
+       {
+         int a=s[1];
+         d[0]=27;d[1]='[';d+=2;
+         if(attch&0x0f)
+         {
+           d[0]=27;
+           d[1]='[';
+           d+=2;
+           
+           if(!(a&0xf))*d++='0';
+           else
+           {
+              int semic=0;
+              d+=2;
+              if(attch&8)
+              {
+                 if(a&8)*d++='2';
+                 *d++='1';
+                 semic++;
+              }
+              if(attch&1)
+              {
+                 if(semic)*d++=';';
+                 if(a&1)*d++='2';
+                 *d++='7';
+                 semic++;
+              }
+           }
+           *d++='m';
+         }
+         if(attch&0xf0)
+         {
+           d[0]=27;
+           d[1]='(';
+           d[2]=(a&0x10)?'P':'B';
+           d+=3;
+         }
+         pwp_tty.att=a;
+       }
+
+       if(skip||skipy)
+       {
+         if(!skipy)
+         {
+           int realskip=1;
+           if(skip<4)
+           {
+              int i=0;
+              realskip=0;
+              for(;i<skip;i++)
+                 if(s[-2*skip+2*i+1]!=pwp_tty.att)
+                    {realskip++;break;}
+           }
+           if(realskip)
+           {
+             d[0]=27;d[1]='[';d+=2;
+             if(skip>1)DECIMAL(skip);
+             *d++='C';
+           }
+            else
+           {
+             int i=0;
+             for(;i<skip;i++)
+                *d++=s[-2*skip+2*i];
+           }
+         }
+         
+         else
+         {
+           d[0]=27;d[1]='[';d+=2;
+           DECIMAL(i+1);
+           *d++=';';
+           DECIMAL(j+1);
+           *d++='H';
+         }
+         skip=skipy=0;
+       }
+
+       *d++=s[0];
+     }else skip++;
+     s+=2;p+=2;
+   }skipy++;
+
+       memcpy(p-pwplib.videobuf.width*2,
+              s-pwplib.videobuf.width*2,
+              pwplib.videobuf.width*2*sizeof(u8));
+
+       p+=pwplib.videobuf.width*2;
+       s+=pwplib.videobuf.width*2;
+   }
+  }
+  
+  /* ^^^ joo: pistä tuo luuppi omaan mökeltimeensä. yhdistä vt- ja
+     ansi-kamikset. */
+
+  memcpy(d,"\33[0m",4*sizeof(char)); /* nuo framen alkuun */
+  pwp_tty.att=0;d+=4;
+
+  tty_write(tmp,d-tmp);
+  TEMPFREE(tmp);
+  return d-tmp;
+}
+
+/* combine this with corresponding ansicon stuff */
+void tty_vt_dump_attr()
+{
+   int lgt=
+   tty_vt_dump
+      (pwplib.videobuf.d,pwp_tty.prevbuf,
+       pwplib.videobuf.width,
+       pwplib.videobuf.height);
+
+   pwplib.frame++;
+
+   if(lgt<pwplib.set.framebytes)
+   {
+      lgt+=tty_vt_dump
+         (pwplib.videobuf.d,pwp_tty.prevbuf,
+          pwplib.videobuf.width,
+          pwplib.videobuf.height);
+      pwplib.frame++;
+   }
+
+   if(lgt<pwplib.set.framebytes)
+   if(pwplib.setup[SETUP_BPS])
+   {
+     int howmany=pwplib.setup[SETUP_BPS]/(72*2*3);
+     for(;howmany;howmany--)
+     {
+       tty_write("\33[H",3);
+     }
+   }
+
+   if(pwplib.set.framedelay)
+   usleep(pwplib.set.framedelay*1000);
+}
+
+/*** generic initstrings for vt100+/compatibles ****/
+
+void tty_vt_restore()
+{
+   if(pwp_tty.type==TTY_VT2XX)tty_write("\33(B",3); /* restore charset */
+   tty_write(
+      "\33[0m"        /* attributes off */
+      "\33[?25h",     /* cursor on */
+      -1);
+}
+
+void tty_vt_initstring()
+{
+   pwp_regdestr(tty_vt_restore);
+
+   tty_write(
+      "\33[0;37;40m"  /* attributes off, assert colors */
+      "\33[?3l"       /* 80-column mode */
+      "\33[?5l"       /* bright on dark */
+      "\33[?25l"      /* cursor off */
+      "\33[2J"        /* clear screen */
+      "\33[H",        /* home cursor */
+      -1);
+}
+
+/***************************************************/
+
+void tty_ansicol_dump_attr();
+void tty_ansicol_prep_attr();
+
+void tty_vt1xx_init()
+{
+   pwplib.dump_attr=tty_vt_dump_attr;
+/*   pwplib.prep_attr=tty_vt_prep_attr;*/
+
+   conv_init(9,3,2);
+   
+   tty_vt_initstring();
+}
+
+#ifdef DRIVE_TTY_VT2XX
+void tty_vt2xx_init()
+{
+   pwplib.dump_attr=tty_vt_dump_attr;
+   pwplib.prep_attr=tty_vt_prep_attr_40;
+   pwplib.videobuf.width>>=1;
+
+   {int fw=8,fh=10;
+   switch((int)pwp_tty.minor)
+   {
+      case(420):fw=10;fh=16;break;  /* 36 lines: fh=10, 48 lines: fh=8 */
+      case(330):fw=10;fh=20;break;
+      case(320):fw=15;fh=12;break;
+   }
+
+   conv_init(9,3,2);
+
+   pwpwrite("* loading custom font\n");
+
+   {
+   TEMPMALL(char,tmp,fw*fh*64);
+   glyphgen_64rast(tmp,fw,fh);
+   vt2xx_loadglyphs(tmp,fw,fh,64);
+   TEMPFREE(tmp);
+   }}
+   
+   pwp_tty.maxframedata=500;
+
+   tty_vt_initstring();
+}
+#endif
+
+#endif
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/dumbterm.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,99 @@
+/*
+ *  pwplib tty driver: dumb ascii output
+ *
+ */
+
+#include "config.h"
+
+#ifdef HAVE_TTYSTUFF
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "pwplib.h"
+#include "tty.h"
+
+struct
+{
+   char*newframe;
+   char*newline_;
+   int lgt_newline_;
+
+   unsigned char*buf;
+
+   int frame;
+}
+ pwp_tty_dumb;
+
+void tty_dumb_dump_attr()
+{
+   u8 *s=pwplib.videobuf.d;
+   unsigned char *d=pwp_tty_dumb.buf;
+   int i=pwplib.videobuf.height,j;
+
+#ifndef FUCK1
+   d+=sprintf((char*)d,(char*)pwp_tty_dumb.newframe,pwp_tty_dumb.frame++);
+#else
+   sprintf((char*)d,(char*)pwp_tty_dumb.newframe,pwp_tty_dumb.frame++);
+   d+=strlen(d);
+#endif
+
+   for(;i;i--)
+   {
+      for(j=pwplib.videobuf.width;j;j--)
+      {
+         *d++=*s;
+         s+=2;
+      }
+      memcpy(d,pwp_tty_dumb.newline_,pwp_tty_dumb.lgt_newline_*sizeof(char));
+      d+=pwp_tty_dumb.lgt_newline_;
+   }
+
+   fwrite(pwp_tty_dumb.buf,(d-pwp_tty_dumb.buf),sizeof(char),stdout);
+
+   if(pwplib.set.framedelay)
+   usleep(pwplib.set.framedelay*1000);
+}
+
+void tty_dumb_prep_attr()
+{
+   if(pwp_tty_dumb.buf!=NULL)
+      free(pwp_tty_dumb.buf);
+
+   pwp_tty_dumb.buf=malloc((
+      (pwp_tty_dumb.lgt_newline_+pwplib.videobuf.width)*pwplib.videobuf.height
+      )+strlen(pwp_tty_dumb.newframe));
+}
+
+int tty_dumb_init() /*int argc,char**argv) */
+{
+   pwplib.prep_attr=tty_dumb_prep_attr;
+   pwplib.dump_attr=tty_dumb_dump_attr;
+
+   pwp_tty_dumb.newframe="\22";
+   pwp_tty_dumb.newline_="\n";
+
+   /* ... get options */
+
+   pwp_tty_dumb.lgt_newline_=strlen(pwp_tty_dumb.newline_);
+   pwp_tty_dumb.frame=0;
+
+   conv_init(8,3,2);
+
+   return 1;
+}
+
+
+/*
+   options to be included:
+
+   newline_ "string"	set newline_ string
+   newframe "string"	set newframe string
+   optimize none	no optimization
+   optimize blank	skip spaces at end of line  (default)
+   optimize video	skip unchanged lines && non-changed areas at eol
+
+*/
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/gb.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,257 @@
+/*
+ *  PWP Generic Beep (PWPbeep) engine for digital audio.
+ *
+ */
+
+#include "config.h"
+
+#ifdef DRIVE_GB
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "pwplib.h"
+
+struct {
+  struct {
+     int wvlgt;
+     int wvleft;
+     int wvphase;
+     int wvlgt1;
+  }ch[3];
+  int freq;
+}pwpgb;
+
+void gb_sound(int chan,int freq,int volume,int ratio)
+{
+  if(volume&&freq){
+    int wvlgt=
+      ((double)(pwpgb.freq*12)/pow(1.059465,freq/256.0));
+
+    if(ratio<1)ratio=1;else if(ratio>255)ratio=255;
+
+    pwpgb.ch[chan].wvlgt=(wvlgt*ratio)>>7;
+    pwpgb.ch[chan].wvlgt1=2*pwpgb.ch[chan].wvlgt-wvlgt;
+
+    pwpgb.ch[chan].wvleft=pwpgb.ch[chan].wvlgt/(chan+2);
+    pwpgb.ch[chan].wvphase=volume;
+  }else{
+    pwpgb.ch[chan].wvphase=0;
+    pwpgb.ch[chan].wvleft=pwpgb.ch[chan].wvlgt=32123;
+  }
+}
+
+void gb_init(int freq)
+{
+  pwpgb.freq=freq;
+  {int i=0;for(;i<3;i++)gb_sound(i,0,0,0);}
+}
+
+void gb_gen1chan(char*d,int l,int freq)
+{
+  int ph=128*256;
+  while(l--){
+    *d++=64+((ph>>8)&0x80);
+    ph+=freq;
+  }
+}
+
+#define CH pwpgb.ch
+
+void gb_beepemu(char*d,int l)
+{
+  static int pf=0;
+  int
+    fq0=CH[0].wvlgt,
+    fq1=CH[1].wvlgt,
+    fq2=CH[2].wvlgt,fq;
+  if(CH[0].wvphase==0)fq0=32768;
+  if(CH[1].wvphase==0)fq1=32768;
+  if(CH[2].wvphase==0)fq2=32768;
+
+  if(fq0>fq1){int tmp=fq0;fq0=fq1;fq1=tmp;}
+  if(fq0>fq2){int tmp=fq0;fq0=fq2;fq2=tmp;}
+  if(fq1>fq2){int tmp=fq1;fq1=fq2;fq2=tmp;}
+
+  if(pf&1){
+    if(pf&2)fq=fq1;else fq=fq2;
+    if(!fq)fq=fq0;
+  }else{
+    fq=fq0;
+    if(fq==32768){fq=fq1;
+      if(fq==32768)fq=fq2;}
+  }
+  if(fq==32768)memset(d,128,l);else
+  {
+    fq=(65536*256)/fq; 
+    gb_gen1chan(d,l,fq);
+  }
+  pf++;
+}
+
+void gb_genwave(char*d,int l)
+{
+   int remain=0;
+
+   l<<=8;
+   while(l)
+   {
+      int min=CH[0].wvleft,w,sum;
+          w=CH[1].wvleft;if(w<min)min=w;
+          w=CH[2].wvleft;if(w<min)min=w;
+
+      sum=CH[0].wvphase+CH[1].wvphase+CH[2].wvphase+128;
+      if(sum<0)sum=0;else if(sum>255)sum=255;
+
+      if(min>l)min=l; l-=min;
+      memset(d,sum,(min+remain)>>8);
+        d+=((min+remain)>>8);
+        remain=(min+remain)&255;
+
+      {int i=0;
+      for(;i<3;i++){
+         w=CH[i].wvleft-=min;
+         if(!w)
+         {
+           CH[i].wvleft=CH[i].wvlgt1;
+           CH[i].wvlgt1=CH[i].wvlgt;
+           CH[i].wvlgt=CH[i].wvleft;
+           CH[i].wvphase=0-CH[i].wvphase;
+         }
+       }
+      }
+    }
+}
+
+/* my_memset, ... */
+
+/*
+gb_genwave_opt(char*buf,int endptr)
+{
+   #define SETTILL(a) \
+     {int bord=w##a,rs;if(bord>endptr)goto last;\
+      rs=sum;if(rs&~0xff){if(rs<0)rs=0;else rs=255;}\
+      memset(buf+(ptr>>8),rs,2+((bord-ptr)>>8));ptr=bord;\
+      CH[a].wvphase=0-CH[a].wvphase;\
+      sum+=(CH[a].wvphase)<<1;\
+      w##a=ptr+CH[a].wvlgt;}
+   #define HANDLE(s0,s1,s2) \
+      {SETTILL(s0); \
+      if(w##s0<=w##s1)goto w##s0##w##s1##w##s2;else \
+      if(w##s0<=w##s2)goto w##s1##w##s0##w##s2;else \
+                      goto w##s1##w##s2##w##s0;}
+
+   int ptr=0,sum=CH[0].wvphase+
+                 CH[1].wvphase+
+                 CH[2].wvphase;
+
+   int w0=CH[0].wvleft,
+       w1=CH[1].wvleft,
+       w2=CH[2].wvleft;
+
+   endptr<<=8;
+
+   w1w2w0:HANDLE(1,2,0);
+   w2w1w0:HANDLE(2,1,0);
+   w0w2w1:HANDLE(0,2,1);
+   w2w0w1:HANDLE(2,0,1);
+   w0w1w2:HANDLE(0,1,2);
+   w1w0w2:HANDLE(1,0,2);
+
+   last:
+     {int rs=sum;
+     if(rs&~0xff){if(rs<0)rs=0;else rs=255;}
+     memset(buf+(ptr>>8),rs,(endptr-ptr)>>8);}
+
+     CH[0].wvleft=w0-endptr;
+     CH[1].wvleft=w1-endptr;
+     CH[2].wvleft=w2-endptr;
+
+   #undef SETTILL
+}
+*/
+
+#if (0)
+gb_genwave_opt(char*buf,int endptr)
+{
+   int ptr=0,sum=CH[0].wvphase+
+                 CH[1].wvphase+
+                 CH[2].wvphase;
+
+   #define w0 CH[0].wvleft
+   #define w1 CH[1].wvleft
+   #define w2 CH[2].wvleft
+
+/*   volatile int w0=CH[0].wvleft,
+       w1=CH[1].wvleft,
+       w2=CH[2].wvleft;*/
+
+   endptr<<=8;
+
+   #define SETTILL(a) \
+     {int bord=w##a,rs;if(bord>endptr)goto last;\
+      rs=sum;if(rs&~0xff){if(rs<0)rs=0;else rs=255;}\
+      memset(buf+(ptr>>8),rs,2+((bord-(ptr&~0xff))>>8));ptr=bord;\
+      CH[a].wvphase=0-CH[a].wvphase;\
+      sum+=(CH[a].wvphase)<<1;\
+      w##a=ptr+CH[a].wvlgt;}
+
+   if(w0<=w1){
+      if(w1<=w2)goto w0w1w2;else
+      if(w2<=w0)goto w2w0w1;else
+                goto w0w2w1;
+   }else{
+      if(w0<=w2)goto w1w0w2;else
+      if(w2<=w1)goto w2w1w0;       //.. else w1w2w0 (next)
+   }
+
+   w1w2w0:
+     SETTILL(1);
+     if(w1<=w2)goto w1w2w0;else
+     if(w1<=w0)goto w2w1w0;else   //.. if(w1>w0)goto w2w0w1;
+               goto w2w0w1;
+   w2w1w0:
+     SETTILL(2);
+     if(w2<=w1)goto w2w1w0;else
+     if(w2<=w0)goto w1w2w0;else
+               goto w1w0w2;
+
+   w0w2w1:
+     SETTILL(0);
+     if(w0<=w2)goto w0w2w1;else
+     if(w0<=w1)goto w2w0w1;else   //.. if(w0>w1)goto w2w1w0;
+               goto w2w1w0;
+   w2w0w1:
+     SETTILL(2);
+     if(w2<=w0)goto w2w0w1;else
+     if(w2<=w1)goto w0w2w1;else
+               goto w0w1w2;       //.. not reqd
+
+   w0w1w2:
+     SETTILL(0);
+     if(w0<=w1)goto w0w1w2;else
+     if(w0<=w2)goto w1w0w2;else   //.. if(w0>w2)goto w1w2w0;
+               goto w1w2w0;
+
+   w1w0w2:
+     SETTILL(1);
+     if(w1<=w0)goto w1w0w2;else
+     if(w1<=w2)goto w0w1w2;else
+               goto w0w2w1;
+
+   last:
+     {int rs=sum;
+     if(rs&~0xff){if(rs<0)rs=0;else rs=255;}
+     memset(buf+(ptr>>8),rs,2+((endptr-ptr)>>8));}
+
+     CH[0].wvleft=w0-endptr;
+     CH[1].wvleft=w1-endptr;
+     CH[2].wvleft=w2-endptr;
+
+   #undef SETTILL
+}
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/glyphgen.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,129 @@
+/*
+ *  PWPlib: glyph generator ('font fixer')
+ *
+ */
+
+#ifdef DRIVE_UNIX
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "pwplib.h"
+
+#include "tty.h"
+#include "convert.h"
+
+/*****************/
+
+struct
+{
+   int w,h;
+}
+pwp_glyphgen;
+
+   const char rastmatrix[8*4*4]=
+   "    " "    " "    " "    "
+   "x   " "    " "  x " "    "
+   " x  " "    " " x x" "    "
+   "x x " "    " " x x" "    "
+   "x x " " x x" "x x " " x x"
+   "x x " "xxxx" "x x " "xxxx"
+   "xx x" "xxxx" " xxx" "xxxx"
+   "xxxx" "xxxx" "xxxx" "xxxx";
+
+/*
+   #define MKB(a,b,c,d,e,f,g,h) \
+     ((a<<7)|(b<<6)|(c<<5)|(d<<4)|(e<<3)|(f<<2)|(g<<1)|h)
+
+   char rastmatrix[4*4]=
+   {
+     MKB(1,1,1,1,1,0,1,0),
+     MKB(1,1,0,0,0,1,0,0),
+     MKB(1,0,1,1,1,0,0,0),
+     MKB(1,1,0,0,0,0,0,0),
+
+     MKB(1,1,1,0,0,0,0,0),
+     MKB(1,1,1,1,0,0,0,0),
+     MKB(1,1,1,0,0,0,0,0),
+     MKB(1,1,1,1,0,0,0,0),
+   
+     MKB(1,0,1,1,0,0,0,0),
+     MKB(1,1,0,0,1,1,0,0),
+     MKB(1,1,1,1,0,0,1,0),
+     MKB(1,1,0,0,1,1,0,0),
+   
+     MKB(1,1,1,0,0,0,0,0),
+     MKB(1,1,1,1,0,0,0,0),
+     MKB(1,1,1,0,0,0,0,0),
+     MKB(1,1,1,1,0,0,0,0)
+   };
+   
+   #undef MKB
+*/
+
+
+char* glyphgen_raster(char*o,int ul,int ur,int dl,int dr)
+{
+   int x,y;
+
+   for(y=0;y<pwp_glyphgen.h;y++)
+   for(x=0;x<pwp_glyphgen.w;x++)
+   {
+      int lev=(y<=(pwp_glyphgen.h>>1)?
+                  (x<=(pwp_glyphgen.w>>1)?ul:ur):
+                  (x<=(pwp_glyphgen.w>>1)?dl:dr));
+
+      /* another possiblity: interpolated rasters? */
+
+      *o++=rastmatrix[16*lev+4*(y&3)+(x&3)]>32?1:0;
+
+      /* (rastmatrix[4*(y&3)+(x&3)]>>lev)&1 */
+   }
+
+   return o;
+}
+
+char* glyphgen_64rast(char*o,int width,int height)
+{
+   int u,d;
+
+   pwp_glyphgen.w=width;
+   pwp_glyphgen.h=height;
+
+   for(u=0;u<8;u++)
+   for(d=u?0:1;d<8;d++)
+      o=glyphgen_raster(o,u,u,d,d);
+
+   return o;
+}
+/* 96rast (94rast?) will be more clever, designed for 2x2 resolution */
+
+void glyphgen_fixtoibm(char*o,int width,int height)
+{
+   int c=width*height;
+   
+   pwp_glyphgen.w=width;
+   pwp_glyphgen.h=height;
+
+   o=glyphgen_raster(o+c*176,
+                       2,2,2,2);
+   o=glyphgen_raster(o,4,4,4,4);
+     glyphgen_raster(o,6,6,6,6);
+
+   o=glyphgen_raster(o+c*(219-178),
+                       7,7,7,7);
+   o=glyphgen_raster(o,0,0,7,7);
+   o=glyphgen_raster(o,7,0,7,0);
+   o=glyphgen_raster(o,0,7,0,7);
+   
+     glyphgen_raster(o,7,7,0,0);
+}
+
+/* fixtopwp: has 96rast set + enhancements for text art
+             (ripoffs from petscii etc)
+             ?
+
+   linuxcon: loadpwpfont - loads a 8x8 (8x7?) font
+*/
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/init.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,325 @@
+#include "pwplib.h"
+#include "tty.h"
+
+/************************************/
+
+void pwpwrite(char*z)
+{
+  if(!pwplib.setup[SETUP_SHUTUP])
+  {
+     fprintf(stderr,"%s",z);
+     usleep(1000*pwplib.set.infodelay);
+  }
+}
+
+void rmarg(int*argc,char**argv,int n)
+{
+   while(n<*argc)
+   {
+      argv[n]=argv[n+1];
+      n++;
+   }
+   (*argc)--;
+}
+
+#define ARGC pwplib.argc
+#define ARGV pwplib.argv
+int getopts(optab*argin)
+{
+   int i=0;
+   
+   {optab*s0=argin;
+    while(s0->name!=NULL)
+    {
+       *(s0->var)=s0->dflt;
+       s0++;
+    }
+   }
+
+   for(i=0;i<ARGC;)
+   {
+      int j=0;
+      
+      int match=0,wh=-1,lev=0,m=0;
+
+      while(argin[j].name!=NULL)
+      {
+         char*s1=argin[j].name;
+         char*s0=ARGV[i];
+         int ngl=0,m=0;
+
+         while(*s0)
+         {
+            if(*s0=='-')
+               ngl=0;
+            else
+            if(*s0=='+')
+               ngl=1;
+            else
+            {
+               m++;
+               if(*s0=='\0' || *s1=='\0')break;
+                 else
+               if((*s0|32)!=*s1)
+               {
+                  m=0;
+                  break;
+               }
+               s1++;
+            }
+            s0++;
+         }
+
+         if(m>match)
+         {
+            match=m;
+            lev=ngl;
+            wh=j;
+         }
+         j++;
+      }
+      
+      if(wh>=0)
+      {
+        rmarg(&ARGC,ARGV,i);
+      
+        switch((int)argin[wh].type)
+        {
+           case(OPT_BIN):
+              *((int*)(argin[wh].var))=lev;
+              break;
+
+           case(OPT_NOT):
+              *((int*)(argin[wh].var))=1-lev;
+              break;
+
+           case(OPT_ONE):
+              *((int*)(argin[wh].var))=1;
+
+           case(OPT_INT):
+              if(ARGV[i]!=NULL)
+              {
+                 *((int*)(argin[wh].var))=atoi(ARGV[i]);
+                 rmarg(&ARGC,ARGV,i);
+              }
+              break;
+         
+           case(OPT_STRING):
+              if(ARGV[i]!=NULL)
+              {
+                 *((char**)(argin[wh].var))=strdup(ARGV[i]);
+                 rmarg(&ARGC,&ARGV,1);
+              }
+              break;
+        }
+      }
+       else i++;
+   }
+}
+#undef ARGC
+#undef ARGV
+
+/************************************/
+
+const char*pwplogo=
+"\033[2J\033[H\n"
+"   \033[36;46mMMmmmmmmMM\033[0m\n"
+"       \033[36;46mMM\033[0m\n"
+"    \033[31;41mxxxxxxxxxxxx\033[0m\n"
+"    \033[31;41mxxxxxxxxxxxxxxxxxxx\033[0m\n"
+"   \033[31;41mxxxxxxxxx\033[0m\n"
+"   \033[33;43mZZZZZ\033[34;44m....\033[0m        %%%%%%%%%  %%%        %%%  %%%%%%%%%\n"
+"  \033[37;47m@@@@\033[34;44m......\033[0m        %%%%%%%%%. %%%....... %%%. %%%%%%%%%....\n"
+"  \033[37;47m@@@@\033[34;44m....\033[37mo\033[34m.\033[0m   .....%%%   %%%  %%%   %%%  %%%  %%%   %%%\n"
+" \033[37;47m@@@@@@@\033[34;44m....\033[0m        %%%   %%%  %%%   %%%  %%%  %%%   %%%\n"
+" \033[37;47m@@@@@@@@@@@\033[0m        %%%%  %%%  %%%   %%%  %%%  %%%%  %%%\n"
+" \033[37;47m@@@@@@@@@@@@@\033[0m      %%%%  %%%  %%%   %%%  %%%  %%%%  %%%\n"
+" \033[37;47m@@@@@@@@@@@@@@@\033[0m    %%%%%%%%%  %%%   %%%  %%%  %%%%%%%%%\n"
+"  \033[37;47m@@@@\033[0m              %%%%%%%%%  %%%   %%%  %%%  %%%%%%%%%\n"
+"  \033[37;47m@@@@@@\033[0m            %%%        %%%%% %%%  %%%  %%%\n"
+"  \033[37;47m@@@@@@@@@@\033[0m  \033[31;41mxx\033[0m    %%%        %%%%% %%%  %%%  %%%\n"
+"  \033[37;47m@@@@@@@@@@@@@@\033[0m    %%%        %%%%% %%%% %%%  %%%\n"
+"   \033[37;47m@@@@@@@@@@@\033[0m      %%%        %%%%% %%%% %%%  %%%\n"
+"   \033[37;47m@@@@@@@@@\033[0m   .....%%%....... %%%%%%%%%%%%%%. %%%..........\n"
+"     \033[37;47m@@@@@\033[0m          %%%        %%%%%%%%%%%%%%  %%%\n"
+"     \033[37;47m@@@@\033[0m\n\n";
+
+
+void pwplib_startup()
+{
+  if(!pwplib.setup[SETUP_SHUTUP])
+  {
+     pwpwrite("starting up.... 2sec delay for ^C");
+     sleep(2);
+  }
+
+  /* send initstuff? */
+}
+
+void pwplib_end()
+{
+  if(pwplib.setup[SETUP_SHUTUP])return;
+
+  pwplib_shutdown();
+  sleep(2);
+
+  fputs(pwplogo,stderr);
+  pwpwrite("shutting down multimedia subsystems\n"  
+           "operation finished - support pwp\n\n\n");
+}
+
+/***************************************************************/
+
+optab main_init[]=
+{
+   /* stuph */
+   "help",   OPT_ONE,(void*)0,(void*)&pwplib.setup[SETUP_WANTHELP],
+   "shutup", OPT_ONE,(void*)0,(void*)&pwplib.setup[SETUP_SHUTUP],
+   "infodelay",OPT_INT,(void*)100,(void*)&pwplib.set.infodelay,
+
+   /* general */
+   "nosound",OPT_ONE,(void*)0,(void*)&pwplib.setup[SETUP_NOSOUND],
+   "novideo",OPT_ONE,(void*)0,(void*)&pwplib.setup[SETUP_NOVIDEO],
+
+   /* video */
+   "term",   OPT_STRING,(void*)NULL,(void*)&pwplib.set.term,
+   "lang",   OPT_STRING,(void*)NULL,(void*)&pwplib.set.lang,
+   "tty",    OPT_BIN,(void*)0,(void*)&pwplib.setup[SETUP_TTY], /* obsolete? */
+   "pvp",    OPT_BIN,(void*)0,(void*)&pwplib.setup[SETUP_PVP],
+
+   /* size */
+   "height", OPT_INT,(void*)0,(void*)&pwplib.setup[SETUP_USERHEIGHT],
+   "width",  OPT_INT,(void*)0,(void*)&pwplib.setup[SETUP_USERWIDTH],
+
+   /* conversion */
+   "trans",  OPT_INT,(void*)-1,(void*)&pwplib.setup[SETUP_TRANS],
+   "colors", OPT_INT,(void*)-1,(void*)&pwplib.setup[SETUP_COLORS],
+   "raster", OPT_INT,(void*)-1,(void*)&pwplib.setup[SETUP_RASTER],
+   "halve",  OPT_BIN,(void*)1,(void*)&pwplib.setup[SETUP_HALVE],
+
+   /* tty-etc stuff */
+   "fps",    OPT_INT,(void*)0,(void*)&pwplib.setup[SETUP_FPS],
+   "bps",    OPT_INT,(void*)0,(void*)&pwplib.setup[SETUP_BPS],
+   "minfps", OPT_INT,(void*)0,(void*)&pwplib.setup[SETUP_MINFPS],
+   "maxfps", OPT_INT,(void*)256,(void*)&pwplib.setup[SETUP_MAXFPS],
+   "lossy",  OPT_BIN,(void*)0,(void*)&pwplib.setup[SETUP_LOSSY],
+   "fdelay", OPT_INT,(void*)0,(void*)&pwplib.set.framedelay,
+   "fbytes", OPT_INT,(void*)500,(void*)&pwplib.set.framebytes,
+
+   /* audio options */
+   "audev",  OPT_STRING,(void*)NULL,(void*)&pwplib.set.audev,
+   "volume", OPT_INT,(void*)32,(void*)&pwplib.setup[SETUP_VOLUME],
+
+   NULL,0,NULL,NULL
+};
+
+/*
+
+   pwplib.set.dev    "tty" "pvp" "none"
+   pwplib.set.term   "linux" "vt100" "xterm" ...
+   pwplib.set.audev  "oss" "au" "ossopl" 
+
+   first try to init audev (oss, au etc)
+   then fallback to terminal audio
+
+     terminal audio:
+       - ascii
+       - linux: ioctl*
+       - linux: ttycode
+       - telemate: ttycode 
+       - X11*                  part of x11 driver
+
+     *: requires timing - use itimers?
+
+     ttycode audio output is integrated to the vt/ansi dumpers.
+
+     tty audio driver outputs a buffer containing byte#/string pairs.
+     timer+tty solutiton: output audio and video to separate terminals?
+
+     telemate music is buffered, no special timing required.
+
+*/
+
+int pwplib_init(int argc,char**argv)
+{
+   int i=0,quit=0;
+
+   pwplib.argc=argc;
+   pwplib.argv=argv;
+
+   getopts(main_init);
+
+   if(pwplib.setup[SETUP_WANTHELP])
+   {
+         printf(
+         "usage: %s [options] where options include:\n\n"
+
+         "  help      this text\n"
+
+         "\n"
+
+         "  shutup    be quiet - only output the essentials\n"
+         "  term s    set terminal type to s (e.g. xterm-color, vt100, ansi)\n"
+         "  lang s    set locale/language to s (e.g. en, fi)\n"
+         "  pvp       output in pwp video phormat (stdout)\n"
+
+         "\n"
+
+         "  nosound   no sound\n"
+         "  novideo   no video output\n"
+
+         "\n"
+         
+         "  height x  set buffer height (default = fullwindow)\n"
+         "  width x   set buffer width (default = fullwindow)\n"
+         
+         "\n"
+
+         "  volume v  set soft volume to v (numeric, default 32)\n"
+         "  colors x  color configuration: 0=16x16, 1=8fg 2=8bg, 3=8x8\n"
+         "            8=monochrome, 9=vtattributes\n"
+         "  trans n   charset: 1=ibm, 2=ascii, 3=ascii-pure\n"
+         "  raster n  raster rendering mode: 0==fg+bg 1=fgonly 2=mono\n"
+         "  ascii     pure ascii: no colors, no attributes\n"
+         "  nohalve   always use one character cell to represent a pixel\n"
+
+         "\n"
+
+         "  fbytes n  bytes/frame threshold (optimize frame if exceeded)\n"
+         "  fdelay n  delay after each frame (milliseconds)\n"
+
+         "\n"
+
+         "  bps n     non-rt: fix to n bits per second, no delay\n"
+         "  fps n     non-rt: fix to n frames per second, no delay\n"
+         "\n",argv[0]);
+
+      exit(0);
+      pwplib.setup[SETUP_SHUTUP]++;
+   }
+
+   if(!pwplib.setup[SETUP_SHUTUP])
+   {
+      fputs(pwplogo,stderr);
+      pwpwrite("pwplib " PWPLIB_VERSION " initializing..\n\nrun with --help for some options\n\n");
+   }
+   
+   if(pwplib.set.lang==NULL)
+      pwplib.set.lang=pwp_get_locale();
+   
+   {char buf[40];
+    sprintf(buf,"* using locale '%s'\n",pwplib.set.lang);
+    pwpwrite(buf);
+   }
+
+   if(!pwplib_initcore())
+   {
+      pwpwrite("initialization failed!\n");
+      return 0;
+   }
+
+   if(pwplib.setup[SETUP_WANTHELP])
+      return 0;
+
+   return 1;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/linuxcon.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,393 @@
+#include "config.h"
+
+#ifdef DRIVE_LINUXCON
+
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <linux/kd.h>
+
+#include "pwplib.h"
+
+#include "tty.h"
+
+/******************** vcsa code ********************/
+
+struct{
+   int fd;
+   int width,height;
+
+   int fontw,fonth;
+   u8*fontd;
+   char*fontd_tab;
+   
+   /* add cfd (control fd) or something */
+}pwp_linuxcon;
+
+void vcsa_dump_attr()
+{
+   char*buf=pwplib.videobuf.d;
+   int ptr=4+pwp_linuxcon.width*
+           ((pwp_linuxcon.height-pwplib.videobuf.height)&~1);
+   if(ptr<4)ptr=4;
+
+   if(pwp_linuxcon.width==pwplib.videobuf.width)
+   {
+      lseek(pwp_linuxcon.fd,ptr,SEEK_SET);
+      write(pwp_linuxcon.fd,buf,
+            pwplib.videobuf.width*pwplib.videobuf.height*2);
+   }else
+   {
+      int y=0,y1=pwplib.videobuf.height,w=pwplib.videobuf.width;
+      ptr+=((pwp_linuxcon.width-pwplib.videobuf.width)&~1);
+      if(y1>pwp_linuxcon.height)y1=pwp_linuxcon.height;
+      if(w>pwp_linuxcon.width)w=pwp_linuxcon.width;
+      w<<=1;
+      for(;y<y1;y++)
+      {
+         lseek(pwp_linuxcon.fd,ptr,SEEK_SET);
+         write(pwp_linuxcon.fd,buf,w);
+         buf+=pwplib.videobuf.width*2;
+         ptr+=pwp_linuxcon.width*2;
+      }
+   }
+
+   pwplib.timer_counter+=pwp_linuxcon.width*pwp_linuxcon.height*2;
+}
+
+int vcsa_get()
+{
+   int vcsa;
+   int majmin;
+
+   { struct stat sbuf;
+     int stderr2=dup(fileno(stderr));
+     fstat(stderr2,&sbuf);
+     majmin=sbuf.st_rdev;
+     close(stderr2);
+   }
+
+   if((majmin&~0x63)==4*256)
+   {
+      char buf[20];
+      sprintf(buf,"/dev/vcsa%i",majmin&63);
+      vcsa=open(buf,O_RDWR);
+      if(vcsa>=0)return vcsa;
+   }
+   vcsa=open("/dev/vcsa",O_RDWR);
+   if(vcsa>=0)return vcsa;
+
+   return -1;
+}
+
+int vcsa_init() /* init vcsa device */
+{
+   unsigned char vcsahdr[4];
+   int vcsa=vcsa_get();
+   if(vcsa<0)return 0;
+
+   read(vcsa,vcsahdr,4);
+   pwp_linuxcon.fd=vcsa;
+   pwplib.videobuf.height=pwp_linuxcon.height=vcsahdr[0];
+   pwplib.videobuf.width=pwp_linuxcon.width=vcsahdr[1];
+
+   pwpwrite("* using vcsa device\n");
+
+   pwplib.dump_attr=vcsa_dump_attr;
+   return 1;
+}
+
+
+/********************************************************/
+
+/*** some people are lazy to update their headers ... ***/
+
+#ifndef KDFONTOP
+#define KDFONTOP        0x4B72
+
+struct console_font_op {
+        unsigned int op;
+        unsigned int flags;
+        unsigned int width, height;
+        unsigned int charcount;
+        unsigned char *data;
+};
+
+#define KD_FONT_OP_SET          0
+#define KD_FONT_OP_GET          1
+#define KD_FONT_OP_SET_DEFAULT  2
+#define KD_FONT_OP_COPY         3
+
+#define KD_FONT_FLAG_DONT_RECALC        1
+#endif
+
+/********************************************/
+
+enum
+{
+   GLY_CRAP=0,
+   GLY_BLANK,
+   GLY_FULL,
+   GLY_TOP,
+   GLY_BOTTOM,
+   GLY_LEFT,
+   GLY_RIGHT,
+};
+
+int tty_linux_setfont(char*fontd,int w,int h)
+{
+   struct console_font_op fontop;
+   fontop.op=KD_FONT_OP_SET;
+   fontop.flags=0;
+   fontop.data=fontd;
+   fontop.charcount=256;
+   fontop.width=w;
+   fontop.height=h;
+
+   return ioctl(2,KDFONTOP,&fontop);
+}
+
+int tty_linux_setfont_tab()
+{
+   char*font=malloc(pwp_linuxcon.fontw*32*sizeof(char));
+   char*f=font,
+       *s=pwp_linuxcon.fontd_tab;
+
+    int i,x,y;
+
+    for(i=0;i<256;i++)
+      for(y=0;y<32;y++)
+      {
+         int b=0,x1=(pwp_linuxcon.fontw+7)&~7;
+         for(x=0;x<x1;x++)
+         {
+            int pix;
+
+            if(y<pwp_linuxcon.fonth &&
+               x<pwp_linuxcon.fontw)
+               pix=*s++?1:0;else pix=0;
+               
+            b<<=1;
+            b|=pix;
+
+            if((x&7)==7)
+            {
+               *f++=b;
+               b=0;
+            }
+         }
+      }
+
+   return tty_linux_setfont(font,pwp_linuxcon.fontw,pwp_linuxcon.fonth);
+}
+
+void tty_linux_restorefont()
+{
+   tty_linux_setfont(
+     pwp_linuxcon.fontd,
+     pwp_linuxcon.fontw,
+     pwp_linuxcon.fonth);
+}
+
+int tty_linux_fixfont()
+{
+#if 0
+   char newfont[pwp_linuxcon.fontw*
+                pwp_linuxcon.fonth*sizeof(char)];
+
+   glyphgen_fixtoibm(
+      pwp_linuxcon.fontd_tab,
+      pwp_linuxcon.fontw,
+      pwp_linuxcon.fonth);
+
+   return tty_linux_setfont_tab();
+#endif
+
+   return 0;
+}
+
+/**********************************/
+
+int tty_linux_analyzefont()
+{
+   u8 analysis[256];
+
+   u8*s=pwp_linuxcon.fontd;
+   char*d=pwp_linuxcon.fontd_tab;
+   int c=0;
+
+/*   fprintf(stderr,"font analysis?\n");*/
+
+   for(;c<256;c++)
+   {
+      int x0=33,x1=-1,y0=33,y1=-1,x,y;
+      int dens=0;
+      
+      for(y=0;y<32;y++)
+      {
+         int byte;
+         for(x=0;x<pwp_linuxcon.fontw;x++)
+         {
+            if(!(x&7))byte=*s++;
+
+/*            if(y<pwp_linuxcon.fonth)*d++=byte&128;*/
+
+            if(byte&128)
+            {
+               if(x<x0)x0=x;
+               if(x>x1)x1=x+1;
+               if(y<y0)y0=y;
+               if(y>y1)y1=y+1;
+               dens++;
+            }
+            byte<<=1;
+         }
+      }
+
+      {int a=GLY_CRAP;
+       int w=(x1-x0),h=(y1-y0);
+
+       if(h<=0)a=GLY_BLANK; 
+       else
+       {
+          if(w>=pwp_linuxcon.fontw-1)
+          {
+             if(h>=pwp_linuxcon.fontw-1)a=GLY_FULL;
+             else
+             if(y1>=pwp_linuxcon.fontw-2)a=GLY_BOTTOM;
+             else
+             if(!y0)a=GLY_TOP;
+          }
+           else
+          if(h>=pwp_linuxcon.fonth-1)
+          {
+             if(x1>=pwp_linuxcon.fonth-2)a=GLY_RIGHT;
+             else
+             if(!x0)a=GLY_LEFT;
+          }
+       }
+       analysis[c]=a;
+/*       if(a)fprintf(stderr,"char %d: %d\n",c,a);*/
+      }
+     }
+   
+   if(analysis[176]==GLY_FULL &&
+      analysis[177]==GLY_FULL &&
+      analysis[178]==GLY_FULL &&
+      analysis[219]==GLY_FULL &&
+      analysis[220]==GLY_BOTTOM &&
+      analysis[223]==GLY_TOP) return 2;
+
+/*   fprintf(stderr,"done\n");*/
+
+   return 1;
+}
+
+int tty_linux_getfont()
+{
+   {
+      struct console_font_op fontop;
+      fontop.op=KD_FONT_OP_GET;
+      fontop.flags=0;
+      fontop.data=NULL;
+      fontop.charcount=0;
+
+      /* if handle 2 doesn't work, try handles 1 and 0?
+         also with vcsa */
+
+      /* use this bitreverter somewhere (X11-1bpp code?) not here.
+         replaces lookups in fast machines.
+
+ 	a=((a&0xf0f0f0f0)>>4)|((a&0x0f0f0f0f)<<4);
+ 	a=((a&0xcccccccc)>>2)|((a&0x33333333)<<2);
+ 	a=((a&0xaaaaaaaa)>>1)|((a&0x55555555)<<1);
+      */
+
+      ioctl(2,KDFONTOP,&fontop);
+      if(fontop.charcount)
+      {
+         pwp_linuxcon.fontw=fontop.width;
+         pwp_linuxcon.fonth=fontop.height;
+
+         if(!fontop.data)
+         {
+            fontop.data=malloc(((pwp_linuxcon.fontw+7)>>3)*32*
+                                fontop.charcount*sizeof(u8));
+            fontop.op=KD_FONT_OP_GET;
+            fontop.flags=KD_FONT_FLAG_DONT_RECALC;
+            if(ioctl(2,KDFONTOP,&fontop)<0)
+               goto oldcall;
+         }
+
+         pwp_linuxcon.fontd=fontop.data;
+         goto gotfont;
+      }
+   }
+
+   oldcall:
+   {
+      struct consolefontdesc fontx;
+      fontx.chardata=malloc(512*32*sizeof(u8));
+
+      if(ioctl(2,GIO_FONTX,&fontx)<0)return 0;
+
+      pwp_linuxcon.fontw=8;
+      pwp_linuxcon.fonth=fontx.charheight;
+      pwp_linuxcon.fontd=fontx.chardata;
+   }
+
+   gotfont:
+   
+   pwp_linuxcon.fontd_tab=
+       malloc(pwp_linuxcon.fontw*pwp_linuxcon.fonth*sizeof(char));
+   
+   return tty_linux_analyzefont();
+}
+
+/********************************************************/
+
+extern void tty_ansicol_dump_attr();
+extern void tty_ansicol_prep_attr();
+
+int tty_linux_initstring()
+{
+   write(pwp_tty.fd,"\33[11m",5*sizeof(char)); /* select ibmpc charset */
+   tty_vt_initstring();
+}
+
+int tty_linux_init()
+{
+   if(!vcsa_init())
+   {
+      pwplib.dump_attr=tty_ansicol_dump_attr;
+      pwplib.prep_attr=tty_ansicol_prep_attr;
+      pwpwrite("* no vcsa access - using tty\n");
+      /* send init */
+   }
+
+   {int i=tty_linux_getfont();
+
+    pwpwrite("* font analysis: ");
+    
+    if(i==0)pwpwrite("can't access - assuming ibm\n");else
+    if(i==1)pwpwrite("no ibm rasters - using ascii\n");else
+    if(i==2)pwpwrite("ibm rasters found - using ibm\n");
+
+    if(i==0 || i==2) conv_init(2,0,0);
+                else conv_init(2,2,1);
+   }
+
+   tty_linux_initstring();
+}
+
+#endif
+
+/*
+    additional stuff:
+
+      - font customization:
+        - save font
+        - if evil: if font bigger than 8x8, change to 8x8
+        - include rasterchars (64 chars as in vt220 driver)
+        ...
+        - restore old font
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/locale.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,38 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "pwplib.h"
+
+char* pwp_get_locale()
+{
+#ifdef __POSIX__
+   int lang=0,i=3;
+   char*z;
+
+   while(i)
+   {
+      i--;
+      if(i==2)
+         z=getenv("LANG");
+         else
+      if(i==1)
+         z=getenv("LC_ALL");
+         else
+         {
+            z=getenv("HOST");
+            if(z!=NULL)z+=strlen(z)-2;
+         }
+
+      if(z!=NULL)
+      {
+         if(z[0]=='f' && z[1]=='i')return "fi";
+         if(z[0]=='F' && z[1]=='I')return "fi";
+      }
+   }
+
+   return "en";
+#else
+   return "fi";
+#endif
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/lossy.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,182 @@
+/*
+ *  PWPlib: Lossy filtering
+ *
+ *  Need to improve this stuff to give visible results.
+ *
+ */
+
+#ifdef BELLWHISTLED
+
+#include "config.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "pwplib.h"
+
+void conv_losestuff_old(u8*d,int lgtnew,int flags) /* flags&1 == fillgaps */
+{
+   static int lgt=0;
+   static u8 *prev=NULL;
+
+   if(lgt!=lgtnew)
+   {
+      if(prev!=NULL)
+         free(prev);
+
+      lgt=lgtnew;
+
+      if(lgt)prev=malloc(lgt*sizeof(u8)*2);
+
+      {int i=0;
+       for(;i<lgt;i++)
+       {
+          prev[i*2+0]=d[i];
+          prev[i*2+1]=4;
+       }
+      }
+   }
+
+   {u8*s=prev,*dd=d;
+    int i=lgt-1;
+    for(;i>0;i--)
+    {
+       if(*s!=*d)
+       {
+          int cnt=0;
+          int smallgap=0;
+
+          while((*s!=*d) || (smallgap>0))
+          {
+             if(*s==*d)
+             {
+                smallgap--;
+             }
+              else
+             {
+                smallgap=2;
+             }
+
+             cnt++;
+             s+=2;
+             d++;
+             i--;
+             if(i<=0)break;
+          }
+          
+          /*fprintf(stderr,"%d\n",cnt);*/
+
+          switch((int)cnt)
+          {
+             case(0):
+             case(1):
+                if(s[-1]<2)
+                   d[-1]=s[-2];
+                break;
+
+             case(2):
+                if(s[-1]+s[-3]<4)
+                {
+                   d[-1]=s[-2];
+                   d[-2]=s[-4];
+                }
+                break;
+             case(3):
+                if(s[-1]+s[-3]+s[-5]<5)
+                {
+                   d[-1]=s[-2];
+                   d[-2]=s[-4];
+                   d[-3]=s[-6];
+                }
+
+             default:
+                if(flags&1)
+                {int j=(cnt-2);
+                 u8*dd=d-cnt,*ss=s-cnt*2;
+
+                for(;j;j--)
+                {
+                   if(dd[-1]==ss[-2] && dd[-3]==ss[-6] &&
+                      dd[-2]!=ss[-4] && ss[-3]<(ss[-1]+ss[-5]+1))
+                      dd[-2]=ss[-4];
+                      ss[-3]++;
+                   dd++;
+                   ss+=2;
+                }
+                }break;
+          }
+       }
+        else
+       {
+          if(s[1]<8)s[1]++;
+          s+=2;
+          d++;
+       }
+    }
+   
+   {int i=lgt;s=prev;
+    for(;i>0;i--)
+    {
+       if(*s!=*dd) s[1]=0;
+       s[0]=*dd++;
+       s+=2;
+    }
+   }
+   }
+}
+
+void conv_losestuff(u8*d,int lgtnew,int flags)
+{
+   static int lgt=0;
+   static u8 *prev=NULL;
+
+   /* +0:    currently viewed stuff
+      +lgt:  previous frame
+      +2lgt: new frame
+      +3lgt: dynamic level 0..7  -- later
+   */
+
+   if(lgt!=lgtnew)
+   {
+      if(prev!=NULL)
+         free(prev);
+
+      lgt=lgtnew;
+
+      if(lgt)prev=malloc(lgt*sizeof(u8)*4);
+
+      memcpy(prev+0*lgt,d,lgt);
+      memcpy(prev+2*lgt,d,lgt);
+   }
+
+   memcpy(prev+1*lgt,prev+2*lgt,lgt);
+   memcpy(prev+2*lgt,d,lgt);
+
+   /* */
+
+   {int i=0,justwrote=-1;
+    for(;i<lgt;i++)
+    {
+       u8*a=&prev[i],*b=&prev[i+lgt],*c=&prev[i+lgt*2];
+       
+       if(*a!=*b)
+       {
+          if(justwrote==*b)
+          {
+             *a=*b;
+          }
+           else
+          {
+             if(justwrote>=0 && i) a[-1]=*c;
+             *a=*c;
+          }
+          justwrote=*d=*a;
+       }
+       else justwrote=-1;
+       d++;
+    }
+   }
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/pvp.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,180 @@
+/*
+ *  PWPlib: PWP Video Phormat
+ *
+ *  not very functional yet :)
+ *
+ */
+
+#include "config.h"
+
+#ifdef DRIVE_PVP
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "pwplib.h"
+
+void pvp_calcframe(u8*s,int lgtnew,int flags)
+{
+
+   static int lgt=0;
+   static u8*prev=NULL;
+
+   TEMPMALL(u8,buf,lgtnew*2),*d=buf;
+
+   int accum=0;
+
+   if(lgtnew!=lgt)
+   {
+      if(prev!=NULL)free(prev);
+      lgt=lgtnew;
+      prev=malloc(lgt*sizeof(u8));
+      flags|=1;
+   }
+
+   if(flags&1)memset(s,0,lgt*sizeof(u8)); /* support other consts as well? */
+
+   {int i=0,skip=0;
+   for(;i<lgt;i++)
+   {
+      if(s[i]!=prev[i])
+      {
+         while(skip>0)
+         {
+            if(skip<128){*d++=128|((skip-1)&127);skip=0;}
+                   else {*d++=128|127;skip-=128;}
+         }
+
+         {u8*cntp=d;
+          int gap=0;
+
+          while(gap<2 && i<lgt && (d-cntp<126))
+          {
+             d++;
+             *d=s[i];
+
+             if(s[i]==prev[i])gap++;
+                         else gap=0;
+             i++;
+          }
+          d[1]=s[i];
+          d[2]=s[i+1];
+          d+=2-gap;skip+=gap-1;i--;
+          *cntp=(d-cntp-1)&127;
+         }
+      }
+       else skip++;
+   }}
+   memcpy(prev,s,sizeof(u8)*lgt);
+
+   /* header */
+   
+   {u8 head[6];
+    head[0]='p';head[1]='V';head[2]='P';
+    if(flags&1)head[3]='R';else head[3]='r';
+    head[4]=(d-buf)&255;
+    head[5]=(d-buf)>>8;
+    write(1,head,6);
+   }
+
+   write(1,buf,d-buf);
+
+   TEMPFREE(buf);
+}
+
+
+
+/*
+   pvp (pwp video phormat) stream:
+
+   for each frame:
+     'pVP'   signature (used by synch routines etc)
+     u8      frame type
+     u16     frame length, in bytes
+
+   r-frame (lossless rasterdata)
+
+     stored: changes to the previous display frame, rle+huffman compression?
+
+     time delta to the previous frame (in second/256's)
+
+     index=0;
+
+       command
+         - 1xxxxxxx  skip 0..127 bytes
+         - 0xxxxxxx  0..127 bytes of data follow
+
+   R-frame (lossless raster keyframe)
+
+     stored as delta to a constant (zero) table
+
+   i/I-frames == like r/R but for ibm char/attribute-pair screendump
+
+   we need some kind of compression for the lossless frames.
+
+   we also need a low-bandwidth lossy compression for longer movies and
+   tv streams.
+
+   g-frame (gsm audio in 8kHz)  for moviez
+
+   b-frame (beep audio)  
+     (B-frame == update everything?  write a B-frame when every channel
+      changes or when above given threshold)
+
+     length of output (in second/256's)
+     chan# (8bit), freq(16bit), vol(8bit), pulsestat(8bit)
+
+   c-frame (commentary)
+
+     first byte==importance level (signed byte, 0==for names, copyrights etc)
+     rest==ascii string
+
+     may also contain things like stupid irclog, subtitles, textual
+     descriptions of the video etc
+
+*/
+
+void pvp_sound(int ch,int note,int vol,int ratio)
+{
+   
+}
+
+void pvp_loopflush()
+{
+/*
+   timer_counter();
+   pwplib.player();
+
+   save b-frames
+*/
+}
+
+void pvp_dump_rast()
+{
+  if(pwplib.setup[SETUP_LOSSY])
+  conv_losestuff(pwplib.videobuf.d,
+    pwplib.videobuf.height*pwplib.videobuf.width,1);
+
+   pvp_calcframe(pwplib.videobuf.d,
+     pwplib.videobuf.width*pwplib.videobuf.height,0);
+}
+
+void pvp_dump_ibm()
+{
+   pvp_calcframe(pwplib.videobuf.d,
+     pwplib.videobuf.width*pwplib.videobuf.height*2,0);
+}
+
+void pvp_init()
+{
+   pwplib.videobuf.height=50;
+   pwplib.videobuf.width=80;
+   
+   pwplib.dump_attr=&pvp_dump_ibm;
+   pwplib.dump_rast=&pvp_dump_rast;
+   pwplib.sound=pvp_sound;
+   pwplib.loopflush=&pvp_loopflush;
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/pwplib-unix.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,249 @@
+#define __PWPLIB_C
+
+#include "config.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <signal.h>
+#include <time.h>
+#include <sys/time.h>
+
+#include "pwplib.h"
+#include "tty.h"
+
+#define DESTRUCTORS 8
+
+/******************** random stuff *************************/
+
+extern void pwplib_dummy();
+#define pwp_dummy pwplib_dummy
+
+void pwpwrite(char*z)
+{
+  if(!pwplib.setup[SETUP_SHUTUP])
+  {
+     fprintf(stderr,"%s",z);
+     usleep(1000*pwplib.set.infodelay);
+  }
+}
+
+/********************* timer  ******************************/
+
+#define TIMERHZ 72
+int pwp_unix_tod()
+{
+        struct timeval tod;
+        gettimeofday(&tod,NULL);
+        return (tod.tv_sec*TIMERHZ)+(tod.tv_usec*TIMERHZ/1000000);
+}
+
+/********************* destructors, signals etc **********/
+
+void pwp_fatalsignal(int n)
+{
+   char buf[40];
+
+   pwplib_shutdown();
+
+   sprintf(buf,"* died to signal %d\n",n);
+   pwpwrite(buf);
+   
+   exit(1);
+}
+
+/******************** initialization *********************/
+
+int pwplib_initcore()
+{
+   pwplib_init_common();
+
+   /*** set signals ***/
+
+   signal(SIGTERM,pwp_fatalsignal);
+   signal(SIGINT,pwp_fatalsignal);
+   signal(SIGQUIT,pwp_fatalsignal);
+   signal(SIGKILL,pwp_fatalsignal);
+   signal(SIGSEGV,pwp_fatalsignal);
+
+   /*** video ***/
+
+#   ifdef DRIVE_VIDEO
+
+#   ifdef DRIVE_SDL
+   if(pwp_SDL_init())
+   {   
+   }
+   else
+#   endif
+#   ifdef DRIVE_PVP
+   if(pwplib.setup[SETUP_PVP])
+     pvp_init();
+   else
+#   endif
+   if(!pwplib.setup[SETUP_NOVIDEO])
+   {
+     tty_init();
+   }
+#   endif
+
+   /*** audio ***/
+#  ifdef DRIVE_AUDIO
+   if(!pwplib.setup[SETUP_NOSOUND])
+   {
+      int snd=0;
+#ifdef DRIVE_SDL
+        if(!snd) { if(pwp_sdlaudio_init())snd++; }
+#endif
+
+#ifdef DRIVE_OSS
+        if(!snd) { if(oss_init())snd++; }
+#endif
+
+#ifdef DRIVE_HPUX
+        if(!snd) { if(hpuxsnd_init())snd++; }
+#endif
+
+        if(!snd)
+        pwpwrite("* couldn't init sound. going silent.\n");
+
+   }
+   else
+     pwpwrite("* no sound, as requested\n");
+#  endif
+
+   /*** fallbacks - remove? ***/
+
+   if(pwplib.dump_rast==pwplib_dummy && pwplib.dump_attr!=pwplib_dummy)
+      pwplib.dump_rast=pwplib_dump_rast_plain;
+
+   /*** timer ***/
+
+   if(pwplib.setup[SETUP_BPS]|pwplib.setup[SETUP_FPS])
+   {
+      char tmp[100];
+      sprintf(tmp,"non-realtime output (bps=%d fps=%d)\n",
+        pwplib.setup[SETUP_BPS],pwplib.setup[SETUP_FPS]);
+      pwpwrite(tmp);
+
+      pwplib.timerfunc=pwp_timer_nrt;
+      pwplib.timer_counter=0;
+   }
+    else
+      pwplib.timerfunc=pwp_unix_tod;
+
+   /*** hmmm ***/
+
+   if(pwplib.setup[SETUP_HALVE])
+      pwplib.videobuf.height<<=1;
+
+     /* only allow if smaller than original? */
+
+   if(pwplib.setup[SETUP_USERHEIGHT])
+      pwplib.videobuf.height=pwplib.setup[SETUP_USERHEIGHT];
+   if(pwplib.setup[SETUP_USERWIDTH])
+      pwplib.videobuf.width=pwplib.setup[SETUP_USERWIDTH];
+
+   /*** done ***/
+   
+#   ifdef DRIVE_VIDEO
+   if(!pwplib.setup[SETUP_NOVIDEO])
+   {char tmp[100];
+   sprintf(tmp,"* pwplib now controls a %d x %d framebuffer\n",
+      pwplib.videobuf.width,pwplib.videobuf.height);
+   pwpwrite(tmp);
+   }
+#  endif
+
+   return 1;
+}
+
+/************************************/
+
+const char*pwplogo=
+"\033[2J\033[H\n"
+"   \033[36;46mMMmmmmmmMM\033[0m\n"
+"       \033[36;46mMM\033[0m\n"
+"    \033[31;41mxxxxxxxxxxxx\033[0m\n"
+"    \033[31;41mxxxxxxxxxxxxxxxxxxx\033[0m\n"
+"   \033[31;41mxxxxxxxxx\033[0m\n"
+"   \033[33;43mZZZZZ\033[34;44m....\033[0m        %%%%%%%%%  %%%        %%%  %%%%%%%%%\n"
+"  \033[37;47m@@@@\033[34;44m......\033[0m        %%%%%%%%%. %%%....... %%%. %%%%%%%%%....\n"
+"  \033[37;47m@@@@\033[34;44m....\033[37mo\033[34m.\033[0m   .....%%%   %%%  %%%   %%%  %%%  %%%   %%%\n"
+" \033[37;47m@@@@@@@\033[34;44m....\033[0m        %%%   %%%  %%%   %%%  %%%  %%%   %%%\n"
+" \033[37;47m@@@@@@@@@@@\033[0m        %%%%  %%%  %%%   %%%  %%%  %%%%  %%%\n"
+" \033[37;47m@@@@@@@@@@@@@\033[0m      %%%%  %%%  %%%   %%%  %%%  %%%%  %%%\n"
+" \033[37;47m@@@@@@@@@@@@@@@\033[0m    %%%%%%%%%  %%%   %%%  %%%  %%%%%%%%%\n"
+"  \033[37;47m@@@@\033[0m              %%%%%%%%%  %%%   %%%  %%%  %%%%%%%%%\n"
+"  \033[37;47m@@@@@@\033[0m            %%%        %%%%% %%%  %%%  %%%\n"
+"  \033[37;47m@@@@@@@@@@\033[0m  \033[31;41mxx\033[0m    %%%        %%%%% %%%  %%%  %%%\n"
+"  \033[37;47m@@@@@@@@@@@@@@\033[0m    %%%        %%%%% %%%% %%%  %%%\n"
+"   \033[37;47m@@@@@@@@@@@\033[0m      %%%        %%%%% %%%% %%%  %%%\n"
+"   \033[37;47m@@@@@@@@@\033[0m   .....%%%....... %%%%%%%%%%%%%%. %%%..........\n"
+"     \033[37;47m@@@@@\033[0m          %%%        %%%%%%%%%%%%%%  %%%\n"
+"     \033[37;47m@@@@\033[0m\n\n";
+
+
+void pwplib_startup()
+{
+  if(!pwplib.setup[SETUP_SHUTUP])
+  {
+     pwpwrite("starting up.... 2sec delay for ^C");
+     sleep(2);
+  }
+
+  /* send initstuff? */
+}
+
+void pwplib_end()
+{
+  if(pwplib.setup[SETUP_SHUTUP])return;
+
+  pwplib_shutdown();
+  sleep(2);
+
+  fputs(pwplogo,stderr);
+  pwpwrite("shutting down multimedia subsystems\n"  
+           "operation finished - support pwp\n\n\n");
+}
+
+/***************************************************************/
+
+int pwplib_init(int argc,char**argv)
+{
+   int i=0,quit=0;
+
+   pwplib.argc=argc;
+   pwplib.argv=argv;
+
+   pwplib_getopts();
+
+   if(pwplib.setup[SETUP_WANTHELP])
+   {
+      printhelp();
+      exit(0);
+      pwplib.setup[SETUP_SHUTUP]++;
+   }
+
+   if(!pwplib.setup[SETUP_SHUTUP])
+   {
+      fputs(pwplogo,stderr);
+      pwpwrite("pwplib " PWPLIB_VERSION " initializing..\n\nrun with --help for some options\n\n");
+   }
+   
+   {char buf[40];
+    sprintf(buf,"* using locale '%s'\n",pwplib.set.lang);
+    pwpwrite(buf);
+   }
+
+   if(!pwplib_initcore())
+   {
+      pwpwrite("initialization failed!\n");
+      return 0;
+   }
+
+   if(pwplib.setup[SETUP_WANTHELP])
+      return 0;
+
+   return 1;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/pwplib-w32.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,79 @@
+#define __PWPLIB_C
+
+#include "config.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <windows.h>
+
+#include "pwplib.h"
+
+#define DESTRUCTORS 8
+
+/******************** random stuff *************************/
+
+extern void pwplib_dummy();
+#define pwp_dummy pwplib_dummy
+
+/********************* timer  ******************************/
+
+#define TIMERHZ 72
+int pwp_w32_ticks()
+{
+   int ticks = GetTickCount();
+   
+   return ((ticks*TIMERHZ)/1000);
+// (10000000/10441));
+}
+
+/******************** initialization *********************/
+
+int pwplib_initcore()
+{
+   pwplib_init_common();
+
+   win32con_init();
+
+   win32snd_init();
+
+   pwplib.timerfunc = pwp_w32_ticks;
+
+
+  if(pwplib.dump_rast==pwplib_dummy && pwplib.dump_attr!=pwplib_dummy)
+      pwplib.dump_rast=pwplib_dump_rast_plain;
+
+ return 1;
+}
+
+/*********************************************************************/
+
+void pwplib_startup()
+{
+}
+
+void pwplib_end()
+{
+  pwplib_shutdown();
+
+  /* write some stuph */
+}
+
+/***************************************************************/
+
+extern void pwplib_getopts();
+
+int pwplib_init(int argc,char**argv)
+{
+//   printf("ME THINKS WIN32 ROOLZ\n\n");
+
+   pwplib.argc=argc;
+   pwplib.argv=argv;
+
+   pwplib_getopts();
+
+   pwplib_initcore();
+
+   return 1;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/pwplib.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,5 @@
+#ifdef UNIX
+#include "pwplib-unix.c"
+#else
+#include "pwplib-w32.c"
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/pwplib.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,176 @@
+#ifndef __PWPLIB_H
+#define __PWPLIB_H
+
+#define PWPLIB_VERSION "1.90"
+
+#ifdef UNIX
+#define __POSIX__
+#endif
+
+/************** user interface *************/
+
+int     pwplib_init(int argc,char**argv);
+int     pwplib_timer();
+void    pwplib_shutdown();
+void    pwplib_startup();
+
+#define pwplib_buf  pwplib.videobuf.d
+#define pwplib_bufw pwplib.videobuf.width
+#define pwplib_bufh pwplib.videobuf.height
+
+#define pwplib_prep_rast() pwplib.prep_rast()
+#define pwplib_dump_rast() pwplib.dump_rast()
+
+#define pwplib_prep_attr() pwplib.prep_attr()
+#define pwplib_dump_attr() pwplib.dump_attr()
+
+#define pwplib_prep_layered() pwplib.prep_layered()
+#define pwplib_dump_layered() pwplib.dump_layered()
+
+#define pwplib_loopflush() pwplib.loopflush()
+
+#define pwplib_setplayer(p) pwplib.player=p
+#define pwplib_player() pwplib.player()
+
+#define pwplib_sound_off(c)       pwplib.sound(c,0,0,0)
+#define pwplib_sound_n(c,n) p     pwplib.sound(c,n,128,128)
+#define pwplib_sound_nv(c,n,v)    pwplib.sound(c,n,v,128)
+#define pwplib_sound_nvr(c,n,v,r) pwplib.sound(c,n,v,r)
+
+#define pwplib_locale  pwplib.set.lang
+
+#define pwplib_setup(var) pwplib.setup[SETUP_##var]
+
+/*******************************************/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <malloc.h>
+#include <string.h>
+#include <time.h>
+#include <sys/time.h>
+
+#ifdef __POSIX__
+
+#include <unistd.h>
+#include <fcntl.h>
+#include <termios.h>
+#include <term.h>
+#include <signal.h>
+
+#endif
+
+#include "types.h"
+#include "config.h"
+
+#ifndef __PWPLIB_C
+  extern
+#endif
+struct
+{
+   int argc;
+   char**argv;
+
+   struct
+   {
+      u8*d;
+      int width,height;
+      int aspect;
+   }videobuf;
+
+   void(*prep_rast)();
+   void(*dump_rast)();
+
+   void(*prep_attr)();
+   void(*dump_attr)();
+
+   void(*dump_layered)();
+   void(*prep_layered)();
+
+   void(*sound)(int ch,int note,int vol,int ratio);
+   void(*loopflush)();
+   void(*player)();
+
+   /*** internal stuff ***/
+
+   int timer_counter;
+   
+   int(*timerfunc)();
+
+   int setup[20];
+   
+   struct
+   {
+      char*dev;
+      char*term;
+      char*lang;
+      char*audev;
+      
+      int wanthelp;
+      
+      int framedelay;
+      int framebytes;
+
+      int infodelay;
+
+      char temp_pad[12];
+      
+      /* etc... replace the whole setup structure */
+   }set;
+   
+   int frame;
+}pwplib;
+
+enum
+{
+  SETUP_NOSOUND=0,
+  SETUP_NOVIDEO,
+
+  SETUP_VOLUME,
+  SETUP_TRANS,
+  SETUP_COLORS,
+  SETUP_RASTER,
+  SETUP_HALVE,
+  SETUP_TTY,
+  SETUP_FPS,
+  SETUP_BPS,
+  SETUP_LOSSY,
+  SETUP_PVP,
+  SETUP_MINFPS,
+  SETUP_MAXFPS,
+  SETUP_SHUTUP,
+  SETUP_USERHEIGHT,
+  SETUP_USERWIDTH,
+  SETUP_WANTHELP
+};
+
+#ifndef __PWPLIB_C
+  extern
+#endif
+  void pwp_timer_regframe(int bytes);
+
+typedef struct
+{
+   char*name;
+   int type;
+   void*dflt;
+   void**var;
+}optab;
+
+#define OPT_BIN     0
+#define OPT_NOT     1
+#define OPT_ONE     2
+#define OPT_INT     3
+#define OPT_STRING  4
+#define OPT_SETDEF  5
+#define OPT_NODEF   128
+
+#define STDIN 0
+#define STDOUT 1
+#define STDERR 2
+
+char* pwp_get_locale();
+void pwplib_dump_rast_plain();
+int pwp_timer_nrt();
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/pwplib.todo	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,148 @@
+
+usage: ../peluce/peluce [options] where options include:
+
+  help       this text
+  shutup     be quiet - only output the essentials
+
+  x          video to X11 window (bitmapped)
+  tty        video to terminal at stdout
+  vcsa       video to linux console (/dev/vcsa*)
+
+  ascii      only use ascii characters
+  ibm        use ibm/vga character set
+  color      use color (16x8 with ibm, 8x1 with ascii)
+  mono       don't use color or attributes
+
+  lang s     set locale/language to s (e.g. en, fi)
+
+  nosound    no sound
+  novideo    no video output
+
+  volume v   set soft volume to v (numeric, default 32)
+
+advanced options:
+
+  term s     set terminal type to s (e.g. xterm-color, vt100, ansi)
+  height x   set buffer height (default = fullwindow)
+  width x    set buffer width (default = fullwindow)
+
+  colcfg x   color configuration: 0=16x16, 1=8fg 2=8bg, 3=8x8
+             8=monochrome, 9=vtattributes
+  trans n    charset: 1=ibm, 2=ascii, 3=ascii-pure
+  rastcfg n  raster rendering mode: 0==fg+bg 1=fgonly 2=mono
+  nohalve    always use one character cell to represent a pixel
+
+  fbytes n   bytes/frame threshold (optimize frame if exceeded)
+  fdelay n   delay after each frame (milliseconds)
+
+  bps n      non-rt: fix to n bits per second, no delay
+  fps n      non-rt: fix to n frames per second, no delay
+
+  pvp        output in pwp video phormat (stdout)
+
+------------
+
+  ibm=176,177,178,219,220,223
+
+  definitions for compilation
+     LEGACY        support ansi art etc stuff in <=1998 demos
+     BELLWHISTLED  support weirdo targets etc
+
+-----------------------------------------------------------------------------------
+
+
+
+main targets
+
+	X11
+		* bitmap (mainly 8/16/24/32 bpp, also 1 and 4?)
+		  use lookuptables; variable pixel size
+
+	Terminals
+		* ansi    (-ibm -color)
+		* colorvt (-ascii -color)
+		* vt100   (-ascii -mono)
+
+	VCSA
+		if -ibm or -ascii not specified: check font, select ibm or ascii
+
+sound targets
+
+	OSS
+	ESD
+	ALSA
+	/dev/audio
+
+	Linux beeps
+	X11 beeps
+
+special targets
+
+	X11-font
+
+	vt220
+		- char redef
+
+	termcap/terminfo
+		- 
+	
+
+	internal Xlib (raw socket access)
+
+	telnet
+	
+	web (html/changing_gif/multihtml)
+
+	non-realtime video: terminal-fixedcps / avi_or_something (fixed fps)
+	non-realtime sound: raw or pwpsound
+
+===================
+
+easy options
+	-ascii		ascii graphic
+	-ibm		ibm graphic
+	-color		16x8 for ibm,  8x1 for ascii
+	-color16	16x1 for ascii?
+	-mono		no color codes or attributes
+
+	-x/-tty/-vcsa		video
+	-oss/-esd/-alsa/-au	digital audio
+	-Xbeep/-linuxbeep/...	beep audio
+
+	try to fix charlookup prevention
+
+-------------------------------------------------------------
+
+	X11
+	   -font			use a font
+	   -color
+	   -ibm				
+	Terminals
+	   -ascii			assume ascii charset
+	   -ibm				assume ibm charset
+
+	   -color			8x16 
+	   -mono
+	
+	   -ansi			-color -ibm
+	   -ibm				no fontcheck, assume ibm
+	   -ascii			no fontcheck, assume ascii
+
+	   -color	-nocolor	
+	   -raster	-noraster	use 
+	   -ibm				ibm rasterchars
+	   -termcap			use termcap instead of vt100
+	VCSA (check font, select output)
+	   -vcsa [-color] [-raster]
+
+	then use either ascii8x1 or raster16x8 - optional raster16x16)
+
+	simplify the interface
+
+=======================================================================
+=======================================================================
+
+	- generic terminal output (termcap/terminfo)
+	- lossy filtering to speed up remote transfers
+	- finish pvp support
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/rastconv.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,251 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "pwplib.h"
+#include "convert.h"
+#include "tty.h"
+
+/*** funx ***/
+
+int conv_rast2rgb(int i)
+{
+   int r=0,g=0,b=0;
+
+   {int a=(i&8)?6:3;
+   if(i&4)r+=a;
+   if(i&2)g+=a;
+   if(i&1)b+=a;
+   if((i&15)==8)
+   {
+      r=2;
+      g=2;
+      b=2;
+   }
+   }
+
+   {int a=(i&128)?9:4;
+   if(i&64)r+=a;
+   if(i&32)g+=a;
+   if(i&16)b+=a;
+   if((i&0xf0)==128)
+   {
+      r+=3;
+      g+=3;
+      b+=3;
+   }
+   }
+
+   return (r<<8)|(g<<4)|b;
+}
+
+int conv_rgbdiff(int a,int b)
+{
+   int rd=((a>>8)&15)-((b>>8)&15);
+   int gd=((a>>4)&15)-((b>>4)&15);
+   int bd=(a&15)-(b&15);
+
+   return abs(rd)*3+abs(gd)*6+abs(bd);  /* max diff 150 */
+}
+
+/*** table generators ***/
+
+void convcalc_rast_ibmcol()
+{
+   const char intens[16]=
+   {
+       0,1,6,7, 3,4,9,10,
+       1,2,9,10,5,6,13,15
+   };
+
+   int up,dn;
+   for(dn=0;dn<256;dn++)
+   for(up=0;up<256;up++)
+   {
+      int ch=176,at=dn|up;
+      int dins=intens[dn&15]+intens[(dn>>4)&15]*3;
+      int uins=intens[up&15]+intens[(up>>4)&15]*3;
+
+      if(uins>=(dins<<1))
+      {
+         ch=223;
+         at=((up>>4)&15)|(dn&0xf0);
+      }
+       else
+      if(dins>=(uins<<1))
+      {
+         ch=220;
+         at=((dn>>4)&15)|(up&0xf0);
+      }
+   
+      pwpconv.rasthalve[BYTES2(up,dn)]=
+              pwpconv.megatab[BYTES2(ch,at)];
+   }
+}
+
+void convcalc_rast_col()
+{
+   const char convtab[8*8]=
+      " .,%xuow"
+      " :;%xhbw"
+      "';?%UJdm"
+     "\";?%OO66"
+      "~^?TXS6W"
+      "^qqTS8WW"
+      "^?pYNNN@"
+      "^?q9MM@@";
+
+   int up,dn;
+   for(dn=0;dn<256;dn++)
+   for(up=0;up<256;up++)
+   {
+      int fg=((dn|up)|((dn|up)>>4))&15,
+          bg=((dn&up)&((dn&up)>>4))&15;
+
+      /* if limcols: bg == constant background or sumthing */
+
+      int dnbg=
+          conv_rgbdiff(conv_rast2rgb(bg*0x11),
+                       conv_rast2rgb(dn)),
+          dnfg=
+          conv_rgbdiff(conv_rast2rgb(fg*0x11),
+                       conv_rast2rgb(dn)),
+          upbg=
+          conv_rgbdiff(conv_rast2rgb(bg*0x11),
+                       conv_rast2rgb(up)),
+          upfg=
+          conv_rgbdiff(conv_rast2rgb(fg*0x11),
+                       conv_rast2rgb(up));
+
+      int dnpart=(dnfg*8)/(dnbg+dnfg+1),
+          uppart=(upfg*8)/(upbg+upfg+1);
+      
+      if(dnpart>7)dnpart=7;
+      if(uppart>7)uppart=7;
+
+      pwpconv.rasthalve[BYTES2(dn,up)]=
+              pwpconv.megatab[
+              BYTES2(convtab[dnpart|(uppart<<3)],
+                     (fg|(bg<<4)))&0xffff];
+   }
+}
+
+extern void tty_vt_dump_attr();
+
+void convcalc_rast_mono()
+{
+   const char intens[16]=
+   {
+       0,1,6,7, 3,4,9,10,
+       1,2,9,10,5,6,13,15
+   };
+
+   const char convtab[8*8]=
+      " .,%xuow"
+      " :;%xhbw"
+      "';?%UJdm"
+     "\";?%OO66"
+      "~^?TXS6W"
+      "^qqTS8WW"
+      "^?pYNNN@"
+      "^?q9MM@@";
+
+   /* kludge.. */
+#ifndef __POSIX__
+   int col=0x07;
+#else
+   int col=(pwplib.dump_attr==tty_vt_dump_attr)?0x00:0x07;
+#endif
+   int up,dn;
+
+   for(dn=0;dn<256;dn++)
+   for(up=0;up<256;up++)
+   {
+      int dins=(intens[dn&15]+intens[(dn>>4)&15]*3);
+      int uins=(intens[up&15]+intens[(up>>4)&15]*3);
+
+      if(dins<7 && uins<7 && (dins|uins))
+      {
+         if(uins>=dins)uins=7;
+         if(uins<=dins)dins=7;
+      }
+      
+      dins/=7;
+      uins/=7;
+
+         if(dins>7)dins=7;
+         if(uins>7)uins=7;
+
+#ifdef __POSIX__
+      if(pwp_tty.type==TTY_VT2XX)
+      pwpconv.rasthalve[BYTES2(up,dn)]=
+              BYTES2(32+(dins|(uins<<3)),0x10);
+              else
+#endif
+      pwpconv.rasthalve[BYTES2(up,dn)]=
+              BYTES2(convtab[dins|(uins<<3)],col);
+   }
+}
+
+/******** conv_fromrast ***********/
+
+void conv_fromrast_half(u8*d,u8*s,int hgt,int wdt)
+{
+   u16*dd=(u16*)d;
+   for(hgt>>=1;hgt;hgt--)
+   {
+      int x=wdt;
+      for(;x;x--)
+      {
+         *dd++=pwpconv.rasthalve[BYTES2(s[0],s[wdt])];
+         s++;
+      }
+      s+=wdt;
+   }
+}
+
+void conv_fromrast_full(u8*d,u8*s,int lgt)
+{
+  u16*dd=(u16*)d;s++;
+  for(;lgt;lgt--)
+  {
+    *d++=pwpconv.rasthalve[BYTES2(s[0],s[0])];
+    s++;
+  }
+}
+
+/*********************************/
+
+void conv_dump_rast()
+{
+  TEMPMALL(u8,tmp,pwplib.videobuf.height*pwplib.videobuf.width*2);
+
+/*
+  if(pwplib.setup[SETUP_LOSSY])
+  conv_losestuff(pwplib.videobuf.d,
+    pwplib.videobuf.height*pwplib.videobuf.width,1);
+*/
+  if(pwplib.setup[SETUP_HALVE])
+  {
+     u8*push=pwplib.videobuf.d;
+     conv_fromrast_half(tmp,pwplib.videobuf.d,
+       pwplib.videobuf.height,pwplib.videobuf.width);
+       
+       pwplib.videobuf.d=tmp;
+       pwplib.videobuf.height>>=1;
+       pwpconv.orig_dump_attr();
+       pwplib.videobuf.height<<=1;
+       pwplib.videobuf.d=push;
+  }
+   else
+  {u8*push=pwplib.videobuf.d;
+
+   conv_fromrast_full(tmp,pwplib.videobuf.d,
+                 pwplib.videobuf.height*pwplib.videobuf.width);
+
+   pwplib.videobuf.d=tmp;
+   pwpconv.orig_dump_attr();
+   pwplib.videobuf.d=push;
+  }
+
+  TEMPFREE(tmp);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/sdl.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,150 @@
+/*
+ * pwplib SDL (Simple Directmedia Layer) video "driver"
+ * (C) Copyright 2010 ccr/TNSP^PWP <ccr@tnsp.org>
+ *
+ * Rasterization based on the prototype X11 driver by viznut/PWP
+ *
+ * This file and other changes are distributed under same
+ * license as pwplib itself.
+ */
+#include "config.h"
+
+#ifdef DRIVE_SDL
+
+#include "pwplib.h"
+#include <SDL.h>
+
+#define PWP_WINNAME "pwplib"
+#define PWP_NCOLORS 256
+
+struct {
+    int width, height, vflags;
+    SDL_Surface *screen;
+    SDL_Color cols[PWP_NCOLORS];
+    u32 lookup[256];
+} pwp_SDL;
+
+
+static void pwp_SDL_dump_rast_4x4()
+{
+    u32 *d = (u32 *) pwp_SDL.screen->pixels;
+    int x, y, j = 0;
+    u8 *ss = (u8 *) pwplib.videobuf.d;
+
+    if (SDL_MUSTLOCK(pwp_SDL.screen) != 0)
+    {
+        if (SDL_LockSurface(pwp_SDL.screen) != 0)
+        {
+            SDL_Quit();
+            pwpwrite("SDL: Could not lock video surface!\n");
+            exit(1);
+        }
+    }
+
+    for (y = pwplib.videobuf.height * 2; y; y--)
+    {
+        u8 *s = ss;
+
+        for (x = pwplib.videobuf.width; x; x--)
+            *d++ = pwp_SDL.lookup[*s++];
+
+        j = (j + 1) & 1;
+        if (!j)
+            ss += pwplib.videobuf.width;
+    }
+
+    if (SDL_MUSTLOCK(pwp_SDL.screen) != 0)
+        SDL_UnlockSurface(pwp_SDL.screen);
+
+    SDL_Flip(pwp_SDL.screen);
+}
+
+static void rast2rgb(int n, int muller, int *r, int *g, int *b)
+{
+    int fg = n & 15, bg = (n >> 4) & 15;
+    static const char rgb[16 * 3] = { 0, 0, 0,
+        0, 0, 9,
+        0, 9, 0,
+        0, 9, 9,
+        9, 0, 0,
+        9, 0, 9,
+        9, 9, 0,
+        9, 9, 9,
+        6, 6, 6,
+        0, 0, 15,
+        0, 15, 0,
+        0, 15, 15,
+        15, 0, 0,
+        15, 0, 15,
+        15, 15, 0,
+        15, 15, 15
+    };
+
+    *r = (muller * (rgb[bg * 3 + 0] * 2 + rgb[fg * 3 + 0])) / 45;
+    *g = (muller * (rgb[bg * 3 + 1] * 2 + rgb[fg * 3 + 1])) / 45;
+    *b = (muller * (rgb[bg * 3 + 2] * 2 + rgb[fg * 3 + 2])) / 45;
+}
+
+void pwp_SDL_close(void)
+{
+    SDL_Quit();
+}
+
+int pwp_SDL_init(void)
+{
+    int pal[PWP_NCOLORS * 3], i;
+
+    /* Assume these settings for now */
+    pwp_SDL.vflags = 0;
+    pwp_SDL.width = 640;
+    pwp_SDL.height = 480;
+
+    /* Set pwplib internal parameters */
+    pwplib.videobuf.width = pwp_SDL.width / 4;
+    pwplib.videobuf.height = pwp_SDL.height / 4;
+    pwplib.dump_rast = pwp_SDL_dump_rast_4x4;
+
+    /* NOTICE! Here we assume that SDL audio will be used also .. this is kind of a hack,
+     * because obviously we cannot know what audio subsystem is used at this point.
+     * (Blame oversimplicity of pwplib)
+     * -- ccr
+     */
+    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER | SDL_INIT_EVENTTHREAD | SDL_INIT_AUDIO) != 0)
+    {
+        pwpwrite("* SDL could not be initialized.\n");
+        return 0;
+    }
+
+    pwp_regdestr(pwp_SDL_close);
+
+    /* Initialize a indexed / paletted video surface */
+    pwp_SDL.screen = SDL_SetVideoMode(pwp_SDL.width, pwp_SDL.height, 8, pwp_SDL.vflags);
+    if (pwp_SDL.screen == NULL)
+    {
+        SDL_Quit();
+        pwpwrite("* SDL could not initialize video surface/mode.\n");
+        return 0;
+    }
+
+    /* Set window caption, if any */
+    SDL_WM_SetCaption(PWP_WINNAME, PWP_WINNAME);
+
+
+    /* Generate palette and rasterizations */
+    for (i = 0; i < PWP_NCOLORS; i++)
+    {
+        int r, g, b;
+        rast2rgb(i, 255, &r, &g, &b);
+        pwp_SDL.cols[i].r = r;
+        pwp_SDL.cols[i].g = g;
+        pwp_SDL.cols[i].b = b;
+        pwp_SDL.lookup[i] = i | (i << 8) | (i << 16) | (i << 24);
+    }
+    SDL_SetColors(pwp_SDL.screen, pwp_SDL.cols, 0, PWP_NCOLORS);
+
+    pwpwrite("* SDL\n");
+
+    return 1;
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/setup.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,318 @@
+#include "config.h"
+#include "pwplib.h"
+
+#define DESTRUCTORS 8
+
+/******************** random stuff *************************/
+
+void pwplib_dummy(){}
+#define pwp_dummy pwplib_dummy
+
+void pwplib_dump_rast_plain()
+{
+   TEMPMALL(u8,tmp,pwplib.videobuf.width*pwplib.videobuf.height*2);
+   u8
+      *d=tmp,
+      *parentbuf=pwplib.videobuf.d,
+      *s=parentbuf;
+
+   int i=pwplib.videobuf.width*pwplib.videobuf.height;
+   
+   for(;i;i--)
+   {
+#ifdef DRIVE_WIN32
+      d[0]=176;
+#else
+      d[0]='%';
+#endif
+      d[1]=*s++;
+      d+=2;
+   }
+
+   pwplib.videobuf.d=tmp;
+   pwplib.dump_attr();
+   pwplib.videobuf.d=parentbuf;
+
+   TEMPFREE(tmp);
+}
+
+/********************* timer (unix) ************************/
+
+#define TIMERHZ 72
+int pwp_timer_nrt()
+{
+   static int lastctr=0,framectr=0;
+
+   if(pwplib.setup[SETUP_BPS])
+   {
+      pwplib.timer_counter++; /* kludge */
+      return (pwplib.timer_counter*TIMERHZ)/(pwplib.setup[SETUP_BPS]>>3);
+   }
+    else
+   {
+      if(pwplib.timer_counter!=lastctr)
+      {
+         framectr++;
+         lastctr=pwplib.timer_counter;
+      }
+       else 
+          pwplib.timer_counter++;
+      return (framectr*TIMERHZ)/pwplib.setup[SETUP_FPS];
+   }
+}
+
+int pwplib_timer()
+{
+        static int base=-1;int v;
+        v=pwplib.timerfunc();
+        if(base==-1)base=v;
+        return v-base;
+}
+
+/********************* destructors, signals etc **********/
+
+void(*pwp_destr[DESTRUCTORS])();
+
+void pwp_regdestr(void(*func)())
+{
+   static int curr=0;
+   pwp_destr[curr++]=func;
+   pwp_destr[curr]=NULL;
+}
+
+void pwplib_shutdown()
+{
+   int i=0;
+
+   while(pwp_destr[i]!=NULL)
+         pwp_destr[i++]();
+}
+
+/******************** initialization *********************/
+
+int pwplib_init_common()
+{
+   /*** base stuff ***/
+
+   pwplib.sound=
+   pwplib.loopflush=
+   pwplib.player=
+   pwplib.dump_attr=
+   pwplib.dump_rast=
+   pwplib.prep_attr=
+   pwplib.prep_rast=
+     pwplib_dummy;
+
+   pwp_destr[0]=NULL;
+}
+
+/***********************************************/
+
+void rmarg(int*argc,char**argv,int n)
+{
+   while(n<*argc)
+   {
+      argv[n]=argv[n+1];
+      n++;
+   }
+   (*argc)--;
+}
+
+/*********************************************************************/
+
+#define ARGC pwplib.argc
+#define ARGV pwplib.argv
+int getopts(optab*argin)
+{
+   int i=0;
+   
+   {optab*s0=argin;
+    while(s0->name!=NULL)
+    {
+       *(s0->var)=s0->dflt;
+       s0++;
+    }
+   }
+
+   for(i=0;i<ARGC;)
+   {
+      int j=0;
+      
+      int match=0,wh=-1,lev=0,m=0;
+
+      while(argin[j].name!=NULL)
+      {
+         char*s1=argin[j].name;
+         char*s0=ARGV[i];
+         int ngl=0,m=0;
+
+         while(*s0)
+         {
+            if(*s0=='-')
+               ngl=0;
+            else
+            if(*s0=='+')
+               ngl=1;
+            else
+            {
+               m++;
+               if(*s0=='\0' || *s1=='\0')break;
+                 else
+               if((*s0|32)!=*s1)
+               {
+                  m=0;
+                  break;
+               }
+               s1++;
+            }
+            s0++;
+         }
+
+         if(m>match)
+         {
+            match=m;
+            lev=ngl;
+            wh=j;
+         }
+         j++;
+      }
+      
+      if(wh>=0)
+      {
+        rmarg(&ARGC,ARGV,i);
+      
+        switch((int)argin[wh].type)
+        {
+           case(OPT_BIN):
+              *((int*)(argin[wh].var))=lev;
+              break;
+
+           case(OPT_NOT):
+              *((int*)(argin[wh].var))=1-lev;
+              break;
+
+           case(OPT_ONE):
+              *((int*)(argin[wh].var))=1;
+
+           case(OPT_INT):
+              if(ARGV[i]!=NULL)
+              {
+                 *((int*)(argin[wh].var))=atoi(ARGV[i]);
+                 rmarg(&ARGC,ARGV,i);
+              }
+              break;
+         
+           case(OPT_STRING):
+              if(ARGV[i]!=NULL)
+              {
+                 *((char**)(argin[wh].var))=strdup(ARGV[i]);
+                 rmarg(&ARGC,&ARGV,1);
+              }
+              break;
+        }
+      }
+       else i++;
+   }
+}
+#undef ARGC
+#undef ARGV
+
+/************************************/
+
+optab main_init[]=
+{
+   /* stuph */
+   "help",   OPT_ONE,(void*)0,(void*)&pwplib.setup[SETUP_WANTHELP],
+   "shutup", OPT_ONE,(void*)0,(void*)&pwplib.setup[SETUP_SHUTUP],
+   "infodelay",OPT_INT,(void*)100,(void*)&pwplib.set.infodelay,
+
+   /* general */
+   "nosound",OPT_ONE,(void*)0,(void*)&pwplib.setup[SETUP_NOSOUND],
+   "novideo",OPT_ONE,(void*)0,(void*)&pwplib.setup[SETUP_NOVIDEO],
+
+   /* video */
+   "term",   OPT_STRING,(void*)NULL,(void*)&pwplib.set.term,
+   "lang",   OPT_STRING,(void*)NULL,(void*)&pwplib.set.lang,
+   "tty",    OPT_BIN,(void*)0,(void*)&pwplib.setup[SETUP_TTY], /* obsolete? */
+   "pvp",    OPT_BIN,(void*)0,(void*)&pwplib.setup[SETUP_PVP],
+
+   /* size */
+   "height", OPT_INT,(void*)0,(void*)&pwplib.setup[SETUP_USERHEIGHT],
+   "width",  OPT_INT,(void*)0,(void*)&pwplib.setup[SETUP_USERWIDTH],
+
+   /* conversion */
+   "trans",  OPT_INT,(void*)-1,(void*)&pwplib.setup[SETUP_TRANS],
+   "colors", OPT_INT,(void*)-1,(void*)&pwplib.setup[SETUP_COLORS],
+   "raster", OPT_INT,(void*)-1,(void*)&pwplib.setup[SETUP_RASTER],
+   "halve",  OPT_BIN,(void*)1,(void*)&pwplib.setup[SETUP_HALVE],
+
+   /* tty-etc stuff */
+   "fps",    OPT_INT,(void*)0,(void*)&pwplib.setup[SETUP_FPS],
+   "bps",    OPT_INT,(void*)0,(void*)&pwplib.setup[SETUP_BPS],
+   "minfps", OPT_INT,(void*)0,(void*)&pwplib.setup[SETUP_MINFPS],
+   "maxfps", OPT_INT,(void*)256,(void*)&pwplib.setup[SETUP_MAXFPS],
+   "lossy",  OPT_BIN,(void*)0,(void*)&pwplib.setup[SETUP_LOSSY],
+   "fdelay", OPT_INT,(void*)0,(void*)&pwplib.set.framedelay,
+   "fbytes", OPT_INT,(void*)500,(void*)&pwplib.set.framebytes,
+
+   /* audio options */
+   "audev",  OPT_STRING,(void*)NULL,(void*)&pwplib.set.audev,
+   "volume", OPT_INT,(void*)32,(void*)&pwplib.setup[SETUP_VOLUME],
+
+   NULL,0,NULL,NULL
+};
+
+void printhelp()
+{
+         printf(
+         "usage: %s [options] where options include:\n\n"
+
+         "  help      this text\n"
+
+         "\n"
+
+         "  shutup    be quiet - only output the essentials\n"
+         "  term s    set terminal type to s (e.g. xterm-color, vt100, ansi)\n"
+         "  lang s    set locale/language to s (e.g. en, fi)\n"
+         "  pvp       output in pwp video phormat (stdout)\n"
+
+         "\n"
+
+         "  nosound   no sound\n"
+         "  novideo   no video output\n"
+
+         "\n"
+         
+         "  height x  set buffer height (default = fullwindow)\n"
+         "  width x   set buffer width (default = fullwindow)\n"
+         
+         "\n"
+
+         "  volume v  set soft volume to v (numeric, default 32)\n"
+         "  colors x  color configuration: 0=16x16, 1=8fg 2=8bg, 3=8x8\n"
+         "            8=monochrome, 9=vtattributes\n"
+         "  trans n   charset: 1=ibm, 2=ascii, 3=ascii-pure\n"
+         "  raster n  raster rendering mode: 0==fg+bg 1=fgonly 2=mono\n"
+         "  ascii     pure ascii: no colors, no attributes\n"
+         "  nohalve   always use one character cell to represent a pixel\n"
+
+         "\n"
+
+         "  fbytes n  bytes/frame threshold (optimize frame if exceeded)\n"
+         "  fdelay n  delay after each frame (milliseconds)\n"
+
+         "\n"
+
+         "  bps n     non-rt: fix to n bits per second, no delay\n"
+         "  fps n     non-rt: fix to n frames per second, no delay\n"
+         "\n",pwplib.argv[0]);
+}
+
+void pwplib_getopts()
+{
+   getopts(main_init);
+
+   if(pwplib.set.lang==NULL)
+      pwplib.set.lang=pwp_get_locale();
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/snd-hpux.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,69 @@
+#include "config.h"
+
+#ifdef DRIVE_HPUX
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include <sys/audio.h>
+
+#include "pwplib.h"
+
+#define TIMERHZ 72
+
+struct{
+   int fd;
+   char buf[4096];
+   int buflgt;
+   int freq;
+}pwp_hpuxsnd;
+
+extern void gb_sound(int,int,int,int);
+
+void hpuxsnd_loopflush()
+{
+  for(;;)
+  {
+    struct audio_status bi;
+    ioctl(pwp_hpuxsnd.fd,AUDIO_GET_STATUS,&bi);
+    if(bi.transmit_exact_count>3000)break;
+
+    pwplib.player();
+    gb_genwave(pwp_hpuxsnd.buf,pwp_hpuxsnd.buflgt);
+    write(pwp_hpuxsnd.fd,pwp_hpuxsnd.buf,pwp_hpuxsnd.buflgt);
+
+    if(bi.transmit_buffer_count>6000)break;
+  }
+}
+
+void hpuxsnd_restore()
+{
+  close(pwp_hpuxsnd.fd);
+}
+
+int hpuxsnd_init()
+{
+  pwp_hpuxsnd.fd=open("/dev/audio",O_WRONLY);
+  if(pwp_hpuxsnd.fd<0)return 0;
+
+    ioctl(pwp_hpuxsnd.fd,AUDIO_SET_TXBUFSIZE,2048); 
+    ioctl(pwp_hpuxsnd.fd,AUDIO_SET_SAMPLE_RATE,8000);
+    ioctl(pwp_hpuxsnd.fd,AUDIO_SET_CHANNELS,AUDIO_CHANNEL_0|AUDIO_CHANNEL_1);
+    ioctl(pwp_hpuxsnd.fd,AUDIO_SET_DATA_FORMAT,AUDIO_FORMAT_LINEAR8BIT);
+
+  pwpwrite("* HP-UX sound\n");
+
+  pwp_hpuxsnd.freq=8000;
+  pwp_hpuxsnd.buflgt=pwp_hpuxsnd.freq/TIMERHZ;
+
+  pwplib.sound=gb_sound;
+  pwplib.loopflush=hpuxsnd_loopflush;
+  gb_init(pwp_hpuxsnd.freq);
+
+  pwp_regdestr(hpuxsnd_restore);
+
+  return 1;
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/snd-oss.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,60 @@
+#include "config.h"
+
+#ifdef DRIVE_OSS
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include <linux/soundcard.h>
+
+#include "pwplib.h"
+
+#define TIMERHZ 72
+
+struct{
+   int fd;
+   char buf[4096];
+   int buflgt;
+   int freq;
+}pwp_oss;
+
+extern void gb_sound(int,int,int,int);
+
+void oss_loopflush()
+{
+  for(;;)
+  {audio_buf_info bi;ioctl(pwp_oss.fd,SNDCTL_DSP_GETOSPACE,&bi);
+    if(bi.fragments==1)break;
+    pwplib.player();
+    gb_genwave(pwp_oss.buf,pwp_oss.buflgt);
+    write(pwp_oss.fd,pwp_oss.buf,pwp_oss.buflgt);
+    if(bi.fragments<3)break;
+  }
+}
+
+void oss_restore()
+{
+  close(pwp_oss.fd);
+}
+
+int oss_init()
+{
+  pwp_oss.fd=open("/dev/dsp",O_WRONLY);
+  if(pwp_oss.fd<0)return 0;
+
+  pwpwrite("* OSS sound\n");
+
+  pwp_oss.freq=8000;
+  pwp_oss.buflgt=pwp_oss.freq/TIMERHZ;
+
+  pwplib.sound=gb_sound;
+  pwplib.loopflush=oss_loopflush;
+  gb_init(pwp_oss.freq);
+
+  pwp_regdestr(oss_restore);
+
+  return 1;
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/snd-sdl.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,70 @@
+/*
+ * pwplib SDL (Simple Directmedia Layer) audio "driver"
+ * (C) Copyright 2010 ccr/TNSP^PWP <ccr@tnsp.org>
+ *
+ * This file and other changes are distributed under same
+ * license as pwplib itself.
+ */
+
+#include "config.h"
+
+#ifdef DRIVE_SDL
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <SDL.h>
+
+#include "pwplib.h"
+
+#define TIMERHZ 72
+
+
+extern void gb_sound(int, int, int, int);
+
+
+static void pwp_sdlaudio_fill(void *udata, Uint8 * buf, int len)
+{
+    pwplib.player();
+    gb_genwave(buf, len);
+}
+
+static void pwp_sdlaudio_loopflush(void)
+{
+    /* Dummy */
+}
+
+static void pwp_sdlaudio_close(void)
+{
+    SDL_CloseAudio();
+}
+
+int pwp_sdlaudio_init()
+{
+    SDL_AudioSpec fmt;
+
+    fmt.freq = 44100;
+    fmt.format = AUDIO_U8;
+    fmt.channels = 1;
+    fmt.samples = fmt.freq / TIMERHZ;
+    fmt.callback = pwp_sdlaudio_fill;
+
+    if (SDL_OpenAudio(&fmt, NULL) < 0)
+    {
+        pwpwrite("* SDL: Could not get desired audio format.\n");
+        return 0;
+    }
+
+    pwpwrite("* SDL sound\n");
+
+    pwplib.sound = gb_sound;
+    pwplib.loopflush = pwp_sdlaudio_loopflush;
+    gb_init(fmt.freq);
+
+    SDL_PauseAudio(0);
+
+    pwp_regdestr(pwp_sdlaudio_close);
+
+    return 1;
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/snd-w32.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,146 @@
+#include "config.h"
+
+#ifdef DRIVE_WIN32
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <malloc.h>
+
+#include <windows.h>
+
+#define TIMERHZ 72
+
+#include "pwplib.h"
+
+#define NUMBUFS 2
+
+#define HARDBUFSIZE 65536
+
+struct
+{
+  int      buffersize;
+  HWAVEOUT outHandle;
+  WAVEHDR  waveHdr[NUMBUFS];
+  char     *bufData[NUMBUFS];
+  int      currbuf;
+  int      bufferptr;
+  int      letsgo;
+}
+pwp_w32snd;
+
+extern void gb_sound(int,int,int,int);
+
+void win32snd_fill()
+{
+   while(pwp_w32snd.bufferptr<(HARDBUFSIZE-pwp_w32snd.buffersize))
+   {
+      pwplib.player();
+
+      gb_genwave(pwp_w32snd.bufData[pwp_w32snd.currbuf] +
+                 pwp_w32snd.bufferptr,
+                 pwp_w32snd.buffersize);
+
+      pwp_w32snd.bufferptr += pwp_w32snd.buffersize;
+   }
+  pwp_w32snd.waveHdr[pwp_w32snd.currbuf].lpData =
+            pwp_w32snd.bufData[pwp_w32snd.currbuf];
+  pwp_w32snd.waveHdr[pwp_w32snd.currbuf].dwBufferLength =
+            pwp_w32snd.bufferptr;
+
+  pwp_w32snd.bufferptr=0;
+
+   waveOutPrepareHeader(
+      pwp_w32snd.outHandle,
+     &pwp_w32snd.waveHdr[pwp_w32snd.currbuf],
+      sizeof(WAVEHDR));
+
+   waveOutWrite(
+          pwp_w32snd.outHandle,
+         &pwp_w32snd.waveHdr[pwp_w32snd.currbuf],
+          sizeof(WAVEHDR));
+
+   pwp_w32snd.currbuf=(pwp_w32snd.currbuf+1)%NUMBUFS;
+}
+
+static void CALLBACK win32snd_callback(HWAVEOUT hwo,UINT uMsg,
+       DWORD dwParam0, DWORD dwParam1, DWORD dwParam2)
+{
+   if(pwp_w32snd.letsgo==0) return;
+
+/*
+   if(pwp_w32snd.waveHdr[pwp_w32snd.currbuf].dwFlags&WHDR_PREPARED)
+      waveOutUnprepareHeader(
+        pwp_w32snd.outHandle,
+       &pwp_w32snd.waveHdr[pwp_w32snd.currbuf],
+            sizeof(WAVEHDR));
+*/
+   win32snd_fill();
+}
+
+void win32snd_restore()
+{
+}
+
+void win32snd_start()
+{
+   if(pwp_w32snd.letsgo==0)
+   {
+     {int i=0;
+      for(;i<NUMBUFS;i++) win32snd_fill();
+     }
+
+     pwp_w32snd.letsgo++;
+   }
+}
+
+int win32snd_init()
+{
+   HANDLE bufHandle,waveHdrHandle;
+   WAVEFORMATEX waveFormat;
+
+   /************/
+
+   /* try: 8000/8/1, 11025/8/1, 11025/16/1, 22050/16/1, 22050/16/2,
+           44100/16/2 */
+
+   waveFormat.wFormatTag = WAVE_FORMAT_PCM;
+   waveFormat.nChannels = 1;
+   waveFormat.nSamplesPerSec = 22050;
+   waveFormat.wBitsPerSample = 8;
+   waveFormat.nBlockAlign =
+     waveFormat.nChannels * (waveFormat.wBitsPerSample/8);
+   waveFormat.nAvgBytesPerSec =
+     waveFormat.nSamplesPerSec * waveFormat.nBlockAlign;
+   waveFormat.cbSize = 0;
+
+   pwp_w32snd.letsgo=0;
+
+   {int i=0;for(;i<NUMBUFS;i++)
+   pwp_w32snd.bufData[i] = malloc(HARDBUFSIZE);
+   }
+
+   pwplib.sound=gb_sound;
+   gb_init(waveFormat.nAvgBytesPerSec);
+
+   pwp_w32snd.buffersize = waveFormat.nAvgBytesPerSec/TIMERHZ;
+   pwp_w32snd.currbuf=0;
+   pwp_w32snd.bufferptr = 0;
+ 
+   {int r = waveOutOpen(&pwp_w32snd.outHandle,WAVE_MAPPER,&waveFormat,
+                        (DWORD)win32snd_callback,0,
+                        CALLBACK_FUNCTION);
+    if(r) { printf("ERROR\n"); }
+   }
+
+   pwp_regdestr(win32snd_restore);
+
+//   pwp_w32snd.buffersize = waveFormat.nAvgBytesPerSec/TIMERHZ;
+
+   pwplib.loopflush = win32snd_start;
+
+   return 1;
+}
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/tty.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,287 @@
+#include "config.h"
+#ifdef DRIVE_TTY
+
+#include "pwplib.h"
+
+#define __TTY_C
+
+#include "tty.h"
+
+/****************/
+
+#ifdef HAVE_TTYSTUFF
+
+void tty_restore_termios()
+{
+   tcsetattr(STDIN,TCSADRAIN,&pwp_tty.setup);
+}
+
+void tty_init_termios()
+{
+   struct termios t;
+   tcgetattr(STDIN,&t);
+   memcpy(&pwp_tty.setup,&t,sizeof(struct termios));
+   
+   t.c_lflag=ISIG; /* &=~(ECHO+ECHOE+ECHOK+ECHONL+NOFLSH);*/
+   
+/*   t.c_lflag=t.c_oflag=0; */
+   t.c_cc[VMIN]=1;
+   t.c_cc[VTIME]=0;
+   tcsetattr(STDIN,TCSADRAIN,&t);
+
+   pwp_regdestr(tty_restore_termios);
+}
+
+void tty_getwinsize()
+{
+#  ifdef TIOCGWINSZ
+  {struct winsize wsz;
+  if(ioctl(0,TIOCGWINSZ,&wsz)>=0){
+     pwp_tty.width=wsz.ws_col;pwp_tty.height=wsz.ws_row;
+     if(pwp_tty.width>0 && pwp_tty.height>0) return;
+  }}
+#  endif
+
+  {char*tmp;
+  pwp_tty.height=((tmp=getenv("LINES"))?atoi(tmp):0);
+  pwp_tty.width=((tmp=getenv("COLUMNS"))?atoi(tmp):0);
+  if(pwp_tty.height>0 && pwp_tty.width>0)return;}
+
+  pwp_tty.height=24;
+  pwp_tty.width=80;
+}
+
+void tty_write(u8*data,int lgt)
+{
+   if(lgt<0)lgt=strlen(data);
+
+   write(pwp_tty.fd,data,lgt);
+   pwplib.timer_counter+=lgt;
+}
+
+/******************************************************************/
+
+void tty_probe_raw()
+{
+   fd_set fdset;
+   struct timeval timeout;
+
+   tty_init_termios();
+
+   memset((void*)&fdset,0,sizeof(fd_set));
+   FD_SET(0,&fdset);
+   timeout.tv_sec=0;
+   timeout.tv_usec=250000;
+
+   write(STDOUT,"\33[c",3*sizeof(char));
+
+   usleep(250000); /* give it some time to react */
+
+   select(0,&fdset,NULL,NULL,&timeout);
+
+   if(FD_ISSET(STDIN,&fdset))
+   {
+      char buf[40],*b;
+      int lgt,num;
+
+      lgt=read(STDIN,buf,40*sizeof(char))/sizeof(char);
+
+      if(lgt<3) return;
+      if( (buf[0]!=27) ||
+          (buf[1]!='[') ||
+          (buf[2]!='?')) return;
+
+      b=buf+3;lgt-=3;num=0;
+
+      pwp_tty.type=TTY_VT1XX;
+      pwp_tty.minor=0;
+      pwp_tty.vtcap=0;
+
+      while(lgt)
+      {
+         char c=*b++;
+         if(c>='0' && c<='9')
+            num=(num*10)+c-'0';
+         else
+         {
+            /*fprintf(stderr,"NUMBAH %d\n",num);*/
+            if(num>=62)
+            {
+               pwp_tty.type =TTY_VT2XX;
+               pwp_tty.minor=20+(num-60)*100;
+            }
+            else
+            if(num<32)pwp_tty.vtcap|=(1<<num);
+            
+            num=0;
+         }
+         lgt--;
+      }
+
+      if(pwp_tty.vtcap&(1<<3)) /* ReGIS */
+      {
+         if(pwp_tty.minor==220)
+            pwp_tty.minor=240;
+         if(pwp_tty.minor==320)
+         {
+            pwp_tty.minor=330;
+            /* how to check 340? */
+         }
+         /* ... otherz */
+      }
+
+      /* protection from vt2xx wannabes - enable after lag fix */
+#ifdef DRIVE_TTY_VT2XX      
+/*      if( (pwp_tty.type==TTY_VT2XX) &&
+          (!(pwp_tty.vtcap&(1<<7))))
+      {
+         pwp_tty.type=TTY_VT1XX;
+      }*/
+#else
+	if(pwp_tty.type=TTY_VT2XX)pwp_tty.type=TTY_VT1XX;
+#endif
+
+   }
+    else
+         pwp_tty.type=TTY_DUMB;
+
+   tty_restore_termios();
+}
+
+/******************************************************************/
+
+int tty_probe()
+{
+   char*tt;
+
+   pwp_tty.type=TTY_DUMB;
+
+   pwpwrite("* getting terminal type..\n");
+
+   tt=pwplib.set.term;
+   if(tt==NULL)
+   {
+      tty_probe_raw();
+      tt=getenv("TERM");
+      if(tt==NULL)return pwp_tty.type;
+   }
+
+   if(tt[0]=='x')pwp_tty.type=TTY_XVT_MONO;
+
+   if( (!strcmp(tt,"xterm-color")) ||
+       (!strcmp(tt,"aixterm"))
+      )
+   {
+      return TTY_XVT_COLOR;
+   }
+
+   if( (pwp_tty.type==TTY_VT1XX) ||
+       (pwp_tty.type==TTY_DUMB))
+   {
+      if(tt[0]=='v')
+      {
+         pwp_tty.minor=atoi(tt+2);
+
+         if(pwp_tty.minor>=200 && pwp_tty.type!=TTY_VT1XX)
+                  return TTY_VT2XX;
+             else return TTY_VT1XX;
+      }
+
+      if(tt[0]=='a')
+         return TTY_ANSISYS;
+
+      if(tt[0]=='l')
+         return TTY_LINUX;
+
+      if(!strcmp(tt,"dumb"))
+         return TTY_DUMB;
+   }
+
+   return pwp_tty.type;
+}
+
+#endif
+
+/******************************************************************/
+
+int tty_init()
+{
+#ifdef HAVE_TTYSTUFF
+
+  int colors=2,chars=2,rasters=1;
+
+  pwp_tty.fd=2; /* stderr */
+
+  tty_init_termios();
+
+  tty_getwinsize();
+  pwp_tty.type=tty_probe();
+#endif
+  pwplib.videobuf.width=pwp_tty.width;
+  pwplib.videobuf.height=pwp_tty.height;
+  pwplib.videobuf.d=malloc(pwplib.videobuf.width*
+    pwplib.videobuf.height*sizeof(u16));
+#ifdef HAVE_TTYSTUFF
+  pwp_tty.prevbuf=malloc(pwplib.videobuf.width*
+    pwplib.videobuf.height*sizeof(u16));
+
+  pwpwrite("* terminal on stdout: ");
+
+  switch((int)pwp_tty.type)
+  {
+     case(TTY_DUMB):
+        pwpwrite("dumb or unsupported\n");
+        tty_dumb_init();
+        break;
+
+     case(TTY_VT2XX):
+#ifdef DRIVE_TTY_VT2XX
+        {
+          char buf[40];
+          sprintf(buf,"vt220/compatible (vt%d)\n",pwp_tty.minor);
+          pwpwrite(buf);
+        }
+        tty_vt2xx_init();
+        break;
+#endif
+     case(TTY_VT1XX):
+        pwpwrite("vt100/compatible");
+        if(pwp_tty.minor>=200)
+        {  char buf[40];
+           sprintf(buf," (a vt%d wannabe)\n",pwp_tty.minor);
+           pwpwrite(buf);
+        }
+         else pwpwrite("\n");
+        tty_vt1xx_init();
+        break;
+
+
+#     ifdef DRIVE_LINUXCON
+     case(TTY_LINUX):
+        pwpwrite("linux console\n");
+        tty_linux_init();
+        break;
+#     endif
+
+     case(TTY_XVT_COLOR):
+        pwpwrite("xterm/compatible with color\n");
+        tty_ansicol_init();
+        break;
+
+     case(TTY_XVT_MONO):
+        pwpwrite("xterm (monochrome)\n");
+        tty_vt1xx_init();
+        break;
+
+     case(TTY_ANSISYS):
+        pwpwrite("msdos ansi or compatible\n");
+        tty_ansisys_init();
+        break;
+   }
+#endif
+   return 1;
+}
+
+#endif
+      
+  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/tty.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,42 @@
+#include "pwplib.h"
+
+#ifndef __TTY_C
+  extern
+#endif
+struct
+{
+  int fd;
+  int width; int height;
+
+  int type,minor;
+  long int vtcap;
+
+  int att,cx,cy; /* getridoff */
+
+  u8*prevbuf;
+
+#ifdef __POSIX__
+  struct termios setup;
+#endif
+
+  int maxframedata;
+  int framedelay;
+}pwp_tty;
+
+/* major types */
+enum
+{
+  TTY_DUMB=0,
+
+  TTY_XVT_MONO,
+  TTY_XVT_COLOR,
+
+  TTY_VT_COLOR_IBM,
+  TTY_VT_COLOR,
+  TTY_VT1XX,         /* vt100, vt102 etc */
+
+  TTY_ANSISYS,       /* ansi, ansi-bbs etc */
+  TTY_LINUX,         /* linux */
+ 
+  TTY_VT2XX          /* vtnnn where nnn>=200 */
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/types.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,41 @@
+#ifndef FUCK1
+  typedef unsigned char u8;
+  typedef signed char s8;
+  typedef unsigned short int u16;
+  typedef signed short int s16;
+  typedef unsigned long int u32;
+  typedef signed long int s32;
+#else
+#  define u8 unsigned char
+#  define s8 signed char
+#  define u16 unsigned short int
+#  define s16 signed short int
+#  define u32 unsigned long int
+#  define s32 signed long int
+#endif
+
+#ifdef BIG_ENDIAN
+#  define BYTES2(a,b) (((a)<<8)|(b))
+#  define FIRSTBYTE(a)  ((a)>>8)
+#  define SECONDBYTE(a) ((a)&0xff)
+#else
+#  define BYTES2(a,b) (((b)<<8)|(a))
+#  define FIRSTBYTE(a)  ((a)&0xff)
+#  define SECONDBYTE(a) ((a)>>8)
+#endif
+
+#ifndef FUCK0
+#  define TEMPMALL(a,b,c) a b[c]
+#  define TEMPFREE(a)
+#else
+#  define TEMPMALL(a,b,c) a *b=malloc((c)*sizeof(a))
+#  define TEMPFREE(a)     free(a)
+#endif
+
+#ifdef howmany
+#  undef howmany
+#endif
+
+#ifdef minor
+#  undef minor
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwplib/win32con.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,105 @@
+#include "config.h"
+
+#ifdef DRIVE_WIN32
+
+#include "pwplib.h"
+
+#include <windows.h>
+
+/******************** vcsa code ********************/
+
+struct{
+   HANDLE hstdout;
+   COORD  size;
+
+   CHAR_INFO*buf;
+}pwp_win32;
+
+/********************************************************/
+
+void pwpwrite(char*z)
+{
+/*   fprintf(stderr,"%s\n",z); */
+}
+
+void win32con_dump_attr()
+{
+   u8*s=pwplib_buf;
+   CHAR_INFO*d=pwp_win32.buf;
+   int i=80*50;
+
+   for(;i;i--)
+   {
+      d->Char.AsciiChar=*s++;
+      d->Attributes=*s++;
+      d++;
+   }
+
+   {
+      const COORD bufsize = {80,50};
+      const COORD bufcoord = {0,0};
+      const SMALL_RECT writerect = { 0,0,79,49 };
+
+      WriteConsoleOutput(pwp_win32.hstdout,pwp_win32.buf,
+                         bufsize,bufcoord,&writerect);
+   }
+}
+
+int win32con_probe()
+{
+   if(GetStdHandle(STD_OUTPUT_HANDLE) != INVALID_HANDLE_VALUE)
+      return 1; else return 0;
+}
+
+int win32con_init()
+{
+   AllocConsole();
+
+   pwp_win32.hstdout = GetStdHandle(STD_OUTPUT_HANDLE);
+
+   { int ret=-1;
+     const COORD sz = {80,50};
+     const SMALL_RECT area = { 0,0,79,49 };
+
+     ret &= SetConsoleScreenBufferSize(pwp_win32.hstdout,sz);
+     ret &= SetConsoleWindowInfo(pwp_win32.hstdout,1,&area);
+
+     if(!ret)
+     {
+        FreeConsole();
+        AllocConsole();
+
+        pwp_win32.hstdout = CreateConsoleScreenBuffer(
+            GENERIC_WRITE, FILE_SHARE_WRITE, NULL,
+            CONSOLE_TEXTMODE_BUFFER, NULL);
+
+        SetConsoleActiveScreenBuffer(pwp_win32.hstdout);
+        SetConsoleScreenBufferSize(pwp_win32.hstdout,sz);
+        SetConsoleWindowInfo(pwp_win32.hstdout,1,&area);
+     }
+
+     SetConsoleTitle("pwp");
+   }
+
+     pwp_win32.buf=malloc(sizeof(CHAR_INFO)*80*50);
+
+     pwplib.videobuf.width  = 80;
+     pwplib.videobuf.height = 100;
+
+     pwplib.dump_attr=win32con_dump_attr;
+
+     conv_init(2,0,0);
+
+//   {int i=0;for(;i<20;i++)pwplib.setup[i]=0;}
+/*
+     tty_init();
+     pwplib.setup[SETUP_TRANS] =
+     pwplib.setup[SETUP_COLORS] =
+     pwplib.setup[SETUP_RASTER] = -1;
+     pwplib.setup[SETUP_HALVE]=1;
+     conv_init(2,0,0);
+*/
+     pwplib.dump_attr=win32con_dump_attr;
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwpzax/Final_Isi.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,336 @@
+unsigned char fisi_patord[]={
+
+	0,0,1,1,2,3,	/* intropart */
+	6,7,8,9,	/* isi #0 */
+        0,0,14,14,        /* pelu #0 */
+
+	6,7,8,9,
+
+	0,0,14,14,        /* pelu #1 */
+
+        10,11,12,13,6,7,8,9,
+
+	4,
+
+/*	5,5,
+	
+	15,15,16,17,4,*/ 255
+	};
+
+unsigned char fisi_trax[][3][64]={
+
+/***************************** iNTRO pART ******/
+
+/* PATTERN 0 */
+32,254,32,254,32,254,32,254,32,255,255,254,32,255,255,254,32,254,32,
+254,32,254,32,254,32,255,255,254,32,255,255,254,35,254,35,254,35,254,
+35,254,35,255,255,254,35,255,255,254,34,254,34,254,34,254,34,254,35,
+255,255,254,50,254,34,254,
+39,254,39,254,39,254,39,254,39,255,255,254,39,255,255,254,39,254,39,
+254,39,254,39,254,39,255,255,254,39,255,255,254,42,254,42,254,42,254,
+42,254,42,255,255,254,42,255,255,254,41,254,41,254,41,254,41,254,42,
+255,255,254,57,254,41,255,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,
+
+/* PATTERN 1 */
+32,254,32,254,32,254,32,254,32,255,255,254,32,255,255,254,32,254,32,
+254,32,254,32,254,32,255,255,254,32,255,255,254,35,254,35,254,35,254,
+35,254,35,255,255,254,35,255,255,254,34,254,34,254,34,254,34,254,35,
+255,255,254,50,254,34,254,
+80,255,255,254,71,254,80,254,83,254,80,254,71,254,80,254,83,255,255,
+254,80,254,71,255,255,254,80,254,71,254,80,254,83,255,255,254,74,254,
+83,254,82,254,74,254,82,254,83,254,82,255,255,254,85,254,82,255,255,
+254,73,254,82,254,82,254,
+64,254,67,254,71,254,67,254,64,254,255,255,67,254,255,255,64,254,67,
+254,71,254,67,254,64,254,255,255,67,254,255,255,67,254,71,254,74,254,
+71,254,67,254,74,254,71,254,67,254,66,254,69,254,73,254,69,254,67,254,
+255,255,66,254,67,254,
+
+/* PATTERN 2 */
+37,254,37,254,37,254,37,254,37,255,255,254,37,255,255,254,37,254,37,
+254,37,254,37,254,37,255,255,254,37,255,255,254,40,254,40,254,40,254,
+40,254,40,255,255,254,40,255,255,254,39,254,39,254,39,254,39,254,40,
+255,255,254,55,254,39,254,
+85,255,255,254,80,254,85,254,88,254,85,254,80,254,85,254,88,255,255,
+254,85,254,80,255,255,254,85,254,80,254,85,254,88,255,255,254,83,254,
+88,254,87,254,83,254,87,254,88,254,87,255,255,254,90,254,87,255,255,
+254,82,254,87,254,87,254,
+69,254,72,254,80,254,72,254,69,254,255,255,72,254,255,255,69,254,72,
+254,80,254,72,254,69,254,255,255,72,254,255,255,72,254,80,254,83,254,
+80,254,72,254,83,254,80,254,72,254,71,254,74,254,82,254,74,254,72,254,
+255,255,71,254,72,254,
+
+/* PATTERN 2 */
+37,254,37,254,37,254,37,254,37,255,255,254,37,255,255,254,37,254,37,
+254,37,254,37,254,37,255,255,254,37,255,255,254,40,254,40,254,40,254,
+40,254,40,255,255,254,40,255,255,254,39,254,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+85,255,255,254,80,254,85,254,88,254,85,254,80,254,85,254,88,255,255,
+254,85,254,80,255,255,254,85,254,80,254,85,254,88,255,255,254,83,254,
+88,254,87,254,83,254,87,254,88,254,87,254,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+69,254,72,254,80,254,72,254,69,254,255,255,72,254,255,255,69,254,72,
+254,80,254,72,254,69,254,255,255,72,254,255,255,72,254,80,254,83,254,
+80,254,72,254,83,254,80,254,72,254,71,254,
+255/*253*/,255,255,255,255,255,255,255,255,255,255,255,255,255/*252*/,
+
+/*************************** tODELLUUS PART */
+
+/* 4 == tyhjae */
+
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,
+255,255,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,
+255,255,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,
+255,250,
+
+/* 6==fmoottori1 */
+48,255,64,255,48,255,64,255,48,255,64,255,51,255,67,255,48,255,64,255,48,
+255,64,255,48,255,64,255,50,255,66,255,48,255,64,255,48,255,64,255,51,255,
+67,255,55,255,71,255,51,255,67,255,51,255,67,255,53,255,69,255,50,255,66,
+255,
+80,254,96,87,96,87,80,87,80,254,96,87,99,90,87,90,80,254,87,80,96,87,80,
+87,80,254,87,254,98,89,85,89,80,254,96,87,96,87,83,87,83,254,90,85,87,82,
+87,82,99,254,90,254,85,254,99,254,85,254,82,254,82,254,85,82,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,
+255,255,
+
+/* PATTERN 1 */
+/*254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,25
+255,255,
+66,254,255,255,50,254,255,255,82,73,82,254,66,254,255,255,66,254,255,255,
+50,254,255,255,82,73,82,254,66,254,255,255,64,254,255,255,48,254,255,255,
+80,71,80,254,64,254,255,255,48,254,255,255,255,254,255,255,96,254,96,254,
+96,254,96,254,
+50,255,255,254,66,254,50,254,50,255,255,254,66,254,50,254,50,255,255,254,
+66,254,50,254,50,255,255,254,66,254,50,254,48,255,255,254,64,254,48,254,
+48,255,255,254,64,254,48,254,48,254,255,255,255,255,255,255,48,255,255,
+254,48,254,64,254,
+*/
+
+80,254,255,255,80,254,74,255,80,255,74,255,80,254,255,255,255,255,71,255,
+255,254,72,254,71,254,72,255,71,255,72,255,74,254,255,255,74,254,72,255,
+74,255,72,255,74,254,255,255,255,255,69,255,255,254,71,254,69,254,255,255,
+69,254,74,255,
+64,254,255,255,48,254,255,255,80,71,80,254,64,254,255,255,64,254,255,255,
+48,254,255,255,80,71,80,254,64,254,255,255,58,254,255,255,42,254,255,255,
+74,69,74,254,58,254,255,255,58,254,255,255,42,254,255,255,74,69,74,254,
+58,254,255,255,
+48,255,255,254,64,254,48,254,48,255,255,254,64,254,48,254,48,255,255,254,
+64,254,48,254,48,254,64,254,48,254,64,254,42,255,255,254,58,254,42,254,
+42,255,255,254,58,254,42,254,42,255,255,254,58,254,42,254,42,254,58,254,
+42,254,58,254,
+
+82,254,255,255,82,254,80,255,82,255,80,255,82,254,255,255,255,255,73,255,
+255,254,74,254,73,255,74,255,73,255,74,255,80,254,255,255,80,254,74,255,
+80,255,74,255,80,254,255,255,255,255,71,255,255,254,73,254,87,254,87,254,
+87,254,87,254,
+66,254,255,255,50,254,255,255,82,73,82,254,66,254,255,255,66,254,255,255,
+50,254,255,255,82,73,82,254,66,254,255,255,64,254,255,255,48,254,255,255,
+80,71,80,254,64,254,255,255,48,254,255,255,48,254,255,255,80,71,80,254,
+64,254,255,255,
+50,255,255,254,66,254,50,254,50,255,255,254,66,254,50,254,50,255,255,254,
+66,254,50,254,50,255,255,254,66,254,50,254,48,255,255,254,64,254,48,254,
+48,255,255,254,64,254,48,254,48,255,255,254,64,254,48,254,48,255,255,254,
+48,254,64,254,
+
+85,254,255,255,85,254,83,255,85,255,83,255,85,254,255,255,255,255,80,255,
+255,254,81,254,80,254,81,255,80,255,81,255,83,254,255,255,83,254,81,255,
+83,255,81,255,83,254,255,255,255,255,74,255,255,254,80,254,74,254,255,255,
+74,254,83,255,
+69,254,255,255,53,254,255,255,85,80,85,254,69,254,255,255,69,254,255,255,
+53,254,255,255,85,80,85,254,69,254,255,255,67,254,255,255,51,254,255,255,
+83,74,83,254,67,254,255,255,67,254,255,255,51,254,255,255,83,74,83,254,67,
+254,255,255,
+53,255,255,254,69,254,53,254,53,255,255,254,69,254,53,254,53,255,255,254,
+69,254,53,254,53,254,69,254,53,254,69,254,51,255,255,254,67,254,51,254,51,
+255,255,254,67,254,51,254,51,255,255,254,67,254,51,254,51,254,67,254,51,
+254,67,254,
+
+87,254,255,255,87,254,85,255,87,255,85,255,87,254,255,255,255,255,82,255,
+255,254,83,254,82,255,83,255,82,255,83,255,85,254,255,255,85,254,83,255,
+85,255,83,255,85,254,255,255,255,255,80,255,255,254,82,254,96,254,255,255,
+255,255,255,255,
+71,254,255,255,55,254,255,255,87,82,87,254,71,254,255,255,71,254,255,255,
+55,254,255,255,87,82,87,254,71,254,255,255,69,254,255,255,53,254,255,255,
+85,80,85,254,69,254,255,255,53,254,255,255,53,254,255,255,85,254,255,255,
+255,255,255,255,
+55,255,255,254,71,254,55,254,55,255,255,254,71,254,55,254,55,255,255,254,
+71,254,55,254,55,255,255,254,71,254,55,254,53,255,255,254,69,254,53,254,
+53,255,255,254,69,254,53,254,53,255,255,254,69,254,53,254,53,254,255,255,
+255,255,255,255,
+
+/* PATTERN 6 */
+86,254,255,255,81,254,255,255,73,254,255,255,81,254,255,255,86,254,81,255,
+73,255,81,255,86,254,255,255,89,254,86,255,84,254,255,255,75,254,255,255,
+59,254,255,255,75,254,255,255,84,254,75,255,65,255,72,255,81,255,72,255,68,
+255,97,255,
+86,254,255,255,70,254,255,255,86,81,70,254,86,81,70,254,86,254,255,255,70,
+254,255,255,102,97,86,254,86,81,70,254,84,254,255,255,68,254,255,255,100,
+91,84,254,84,75,68,254,84,254,255,255,68,254,255,255,100,91,84,254,84,75,
+68,254,
+54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,54,255,255,254,
+70,254,54,254,54,255,255,254,70,254,54,254,52,255,255,254,68,254,52,254,
+52,255,255,254,68,254,52,254,52,255,255,254,68,254,52,254,52,255,255,254,
+68,254,52,254,
+
+/* PATTERN 0 */
+88,254,255,255,83,254,255,255,75,254,255,255,83,254,255,255,88,254,83,255,
+75,255,83,255,88,254,255,255,91,254,88,255,86,254,255,255,81,254,255,255,
+65,254,255,255,81,254,255,255,86,254,81,254,70,254,81,254,86,254,81,254,
+86,254,81,254,
+72,254,255,255,56,254,255,255,88,83,72,254,72,254,255,255,72,254,255,255,
+56,254,255,255,88,83,72,254,72,254,255,255,70,254,255,255,54,254,255,255,
+86,81,70,254,70,254,255,255,86,254,70,254,86,254,70,254,86,81,70,254,86,
+81,70,254,
+56,255,255,254,72,254,56,254,56,255,255,254,72,254,56,254,56,255,255,254,
+72,254,56,254,56,255,255,254,72,254,56,254,54,255,255,254,70,254,54,254,
+54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,54,255,255,254,
+70,254,54,254,
+
+/* PATTERN 1 */
+86,254,255,255,81,254,255,255,73,254,255,255,81,254,255,255,86,254,81,255,
+73,255,81,255,86,254,255,255,89,254,86,255,84,254,255,255,75,254,255,255,
+59,254,255,255,75,254,255,255,84,254,75,255,65,255,72,255,81,255,72,255,
+68,255,97,255,
+86,254,255,255,70,254,255,255,86,81,70,254,86,81,70,254,86,254,255,255,70,
+254,255,255,102,97,86,254,86,81,70,254,84,254,255,255,68,254,255,255,100,
+91,84,254,84,75,68,254,84,254,255,255,68,254,255,255,100,91,84,254,84,75,
+68,254,
+54,255,255,254,70,254,54,254,54,255,255,254,70,254,54,254,54,255,255,254,
+70,254,54,254,54,255,255,254,70,254,54,254,52,255,255,254,68,254,52,254,
+52,255,255,254,68,254,52,254,52,255,255,254,68,254,52,254,52,255,255,254,
+68,254,52,254,
+
+/* PATTERN 2 */
+88,254,255,255,83,254,255,255,75,254,255,255,83,254,255,255,88,254,83,255,
+75,255,83,255,88,254,255,255,91,254,88,255,86,254,255,255,81,254,255,255,
+65,254,255,255,81,254,255,255,86,254,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,
+72,254,255,255,56,254,255,255,88,83,72,254,72,254,255,255,72,254,255,255,
+56,254,255,255,88,83,72,254,72,254,255,255,70,254,255,255,54,254,255,255,
+86,81,70,254,70,254,255,255,86,254,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,
+56,255,255,254,72,254,56,254,56,255,255,254,72,254,56,254,56,255,255,254,
+72,254,56,254,56,255,255,254,72,254,56,254,54,255,255,254,70,254,54,254,
+54,255,255,254,70,254,54,254,54,254,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,
+
+/********************************************/
+
+/* PATTERN 14 == 0 nostettuna 3:lla */
+35,254,35,254,35,254,35,254,35,255,255,254,35,255,255,254,35,254,35,254,
+35,254,35,254,35,255,255,254,35,255,255,254,38,254,38,254,38,254,38,254,
+38,255,255,254,38,255,255,254,37,254,37,254,37,254,37,254,38,255,255,254,
+53,254,37,254,
+42,254,42,254,42,254,42,254,42,255,255,254,42,255,255,254,42,254,42,254,
+42,254,42,254,42,255,255,254,42,255,255,254,45,254,45,254,45,254,45,254,
+45,255,255,254,45,255,255,254,44,254,44,254,44,254,44,254,45,255,255,254,
+60,254,44,255,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,
+255,255,
+
+/*****************/
+
+/* PATTERN 15 */
+53,255,69,255,53,255,69,255,53,255,69,255,56,255,72,255,53,255,69,255,53,
+255,69,255,53,255,69,255,55,255,71,255,53,255,69,255,53,255,69,255,56,255,
+72,255,64,255,80,255,56,255,72,255,56,255,72,255,58,255,74,255,55,255,71,
+255,
+85,254,101,96,101,96,85,96,85,254,101,96,104,99,96,99,85,254,96,85,101,96,
+85,96,85,254,96,254,103,98,90,98,85,254,101,96,101,96,88,96,88,254,99,90,
+96,87,96,87,104,254,99,254,90,254,104,254,90,254,87,254,87,254,90,87,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,
+255,255,
+
+51,255,67,255,51,255,67,255,51,255,67,255,54,255,70,255,51,255,67,255,51,
+255,67,255,51,255,67,255,53,255,69,255,51,255,67,255,51,255,67,255,54,255,
+70,255,58,255,74,255,54,255,70,255,54,255,70,255,56,255,72,255,53,255,69,
+255,
+83,254,255,255,255,255,255,255,255,255,255,255,86,254,255,255,83,254,255,
+255,255,255,255,255,255,255,255,255,85,254,85,254,83,254,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,86,254,255,255,255,255,255,255,88,
+254,88,254,85,254,85,254,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,
+255,255,
+
+51,255,67,255,51,255,67,255,51,255,67,255,54,255,70,255,51,255,67,255,51,
+255,67,255,51,255,67,255,53,255,69,255,51,255,67,255,51,255,67,255,54,255,
+70,255,58,255,74,255,54,255,70,255,54,255,70,255,88,254,88,254,88,254,88,
+254,
+83,254,255,255,255,255,255,255,255,255,255,255,86,254,255,255,83,254,255,
+255,255,255,255,255,255,255,255,255,85,254,85,254,83,254,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,86,254,255,255,255,255,255,255,
+83,88,83,88,96,88,96,88,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,
+255,255,
+
+48,255,64,255,48,255,64,255,48,255,64,255,51,255,67,255,48,255,64,255,48,
+255,64,255,48,255,64,255,50,255,66,255,48,255,64,255,48,255,64,255,51,255,
+67,255,55,255,71,255,51,255,67,255,51,255,67,255,53,255,69,255,50,255,66,
+255,
+80,254,96,87,96,87,80,87,80,254,96,87,99,254,255,255,80,254,87,80,96,87,
+80,87,80,254,87,254,98,254,98,82,80,254,96,87,96,254,255,255,83,254,90,
+85,87,254,255,255,99,254,90,254,85,254,99,254,85,254,82,254,255,255,82,
+254,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,
+255,255,
+
+53,255,69,255,53,255,69,255,53,255,69,255,56,255,72,255,53,255,69,255,53,
+255,69,255,53,255,69,255,55,255,71,255,53,255,69,255,53,255,69,255,56,255,
+72,255,64,255,80,255,56,255,72,255,56,255,72,255,58,255,74,255,55,255,71,
+255,
+85,254,101,96,101,96,85,96,85,254,101,96,104,254,255,255,85,254,96,85,101,
+96,85,96,85,254,96,254,103,254,103,87,85,254,101,96,101,254,255,255,88,254,
+99,90,96,254,255,255,104,254,99,254,90,254,104,254,90,254,87,254,255,255,
+87,254,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,
+255,255
+
+};
+
+pwpmusic Final_Isi={
+  "Final Isi theme",
+  3,
+  5,
+  fisi_patord,
+  fisi_trax
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwpzax/Future_Moottori.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,52 @@
+unsigned char fmoot_patord[]={
+  0,1,
+  2,2,3,3,
+  4,5,
+  6,6,7,7,
+  255
+};
+
+char fmoot_trax[8][2][64]={
+/* PATTERN 0 */
+48,255,64,255,48,255,64,255,48,255,64,255,51,255,67,255,48,255,64,255,48,255,64,255,48,255,64,255,50,255,66,255,48,255,64,255,48,255,64,255,51,255,67,255,55,255,71,255,51,255,67,255,51,255,67,255,53,255,69,255,50,255,66,255,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,
+
+/* PATTERN 1 */
+48,255,64,255,48,255,64,255,48,255,64,255,51,255,67,255,48,255,64,255,48,255,64,255,48,255,64,255,50,255,66,255,48,255,64,255,48,255,64,255,51,255,67,255,55,255,71,255,51,255,67,255,51,255,67,255,53,254,255,255,255,255,255,
+255,
+254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,99,90,85,98,
+
+/* PATTERN 2 */
+48,255,64,255,48,255,64,255,48,255,64,255,51,255,67,255,48,255,64,255,48,255,64,255,48,255,64,255,50,255,66,255,48,255,64,255,48,255,64,255,51,255,67,255,55,255,71,255,51,255,67,255,51,255,67,255,53,255,69,255,50,255,66,255,
+80,254,96,87,96,87,80,87,80,254,96,87,99,90,87,90,80,254,87,80,96,87,80,87,80,254,87,254,98,89,85,89,80,254,96,87,96,87,83,87,83,254,90,85,87,82,87,82,99,254,90,254,85,254,99,254,85,254,82,254,82,254,85,82,
+
+/* PATTERN 3 */
+53,255,69,255,53,255,69,255,53,255,69,255,56,255,72,255,53,255,69,255,53,255,69,255,53,255,69,255,55,255,71,255,53,255,69,255,53,255,69,255,56,255,72,255,64,255,80,255,56,255,72,255,56,255,72,255,58,255,74,255,55,255,71,255,
+85,254,101,96,101,96,85,96,85,254,101,96,104,99,96,99,85,254,96,85,101,96,85,96,85,254,96,254,103,98,90,98,85,254,101,96,101,96,88,96,88,254,99,90,96,87,96,87,104,254,99,254,90,254,104,254,90,254,87,254,87,254,90,87,
+
+/* PATTERN 4 */
+51,255,67,255,51,255,67,255,51,255,67,255,54,255,70,255,51,255,67,255,51,255,67,255,51,255,67,255,53,255,69,255,51,255,67,255,51,255,67,255,54,255,70,255,58,255,74,255,54,255,70,255,54,255,70,255,56,255,72,255,53,255,69,255,
+83,254,255,255,255,255,255,255,255,255,255,255,86,254,255,255,83,254,255,255,255,255,255,255,255,255,255,255,85,254,85,254,83,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,86,254,255,255,255,255,255,255,88,254,88,254,85,254,85,254,
+
+/* PATTERN 5 */
+51,255,67,255,51,255,67,255,51,255,67,255,54,255,70,255,51,255,67,255,51,255,67,255,51,255,67,255,53,255,69,255,51,255,67,255,51,255,67,255,54,255,70,255,58,255,74,255,54,255,70,255,54,255,70,255,88,254,88,254,88,254,88,254,
+83,254,255,255,255,255,255,255,255,255,255,255,86,254,255,255,83,254,255,255,255,255,255,255,255,255,255,255,85,254,85,254,83,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,86,254,255,255,255,255,255,255,83,88,83,88,96,88,96,88,
+
+/* PATTERN 6 */
+48,255,64,255,48,255,64,255,48,255,64,255,51,255,67,255,48,255,64,255,48,255,64,255,48,255,64,255,50,255,66,255,48,255,64,255,48,255,64,255,51,255,67,255,55,255,71,255,51,255,67,255,51,255,67,255,53,255,69,255,50,255,66,255,
+80,254,96,87,96,87,80,87,80,254,96,87,99,254,255,255,80,254,87,80,96,87,80,87,80,254,87,254,98,254,98,82,80,254,96,87,96,254,255,255,83,254,90,85,87,254,255,255,99,254,90,254,85,254,99,254,85,254,82,254,255,255,82,254,
+
+/* PATTERN 7 */
+53,255,69,255,53,255,69,255,53,255,69,255,56,255,72,255,53,255,69,255,53,255,69,255,53,255,69,255,55,255,71,255,53,255,69,255,53,255,69,255,56,255,72,255,64,255,80,255,56,255,72,255,56,255,72,255,58,255,74,255,55,255,71,255,
+85,254,101,96,101,96,85,96,85,254,101,96,104,254,255,255,85,254,96,85,101,96,85,96,85,254,96,254,103,254,103,87,85,254,101,96,101,254,255,255,88,254,99,90,96,254,255,255,104,254,99,254,90,254,104,254,90,254,87,254,255,255,87,254,
+};
+
+pwpmusic Future_Moottori={
+  "Future Moottori",
+  2,
+  6,
+  fmoot_patord,
+  fmoot_trax
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwpzax/Go_Mazzembly.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,50 @@
+#define Q 255
+#define W 254
+
+unsigned char gomazm_patord[]={0,1,2,3,4,5,4,6,7,8,7,8,4,5,4,6,7,8,7,8,255};
+
+unsigned char gomazm_trax[9][2][64]={
+/* PATTERN 0 */
+82,Q,83,Q,82,Q,80,Q,82,Q,Q,Q,W,Q,Q,Q,Q,Q,Q,Q,85,Q,W,Q,85,Q,W,Q,87,Q,W,Q,80,Q,82,Q,80,Q,74,Q,80,Q,Q,Q,W,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,64,W,64,W,
+50,Q,Q,Q,Q,Q,Q,Q,66,Q,Q,Q,50,Q,Q,Q,50,Q,Q,Q,Q,Q,Q,Q,66,Q,Q,Q,50,Q,Q,Q,48,Q,Q,Q,Q,Q,Q,Q,64,Q,Q,Q,48,Q,Q,Q,48,Q,Q,Q,Q,Q,Q,Q,64,Q,Q,Q,48,Q,Q,Q,
+
+/* PATTERN 1 */
+82,Q,83,Q,82,Q,80,Q,82,Q,Q,Q,W,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,85,Q,W,Q,87,Q,W,Q,80,Q,Q,Q,W,Q,Q,Q,80,W,80,W,80,W,80,W,73,Q,Q,Q,W,Q,Q,Q,53,W,Q,Q,69,W,69,W,
+50,Q,Q,Q,Q,Q,Q,Q,66,Q,Q,Q,50,Q,Q,Q,50,Q,Q,Q,Q,Q,Q,Q,66,Q,Q,Q,50,Q,Q,Q,48,Q,Q,Q,Q,Q,Q,Q,64,Q,Q,Q,48,Q,Q,Q,55,Q,Q,Q,Q,Q,Q,Q,71,Q,Q,Q,53,Q,Q,Q,
+
+/* PATTERN 2 */
+82,Q,83,Q,82,Q,80,Q,82,Q,Q,Q,W,Q,Q,Q,Q,Q,Q,Q,85,Q,W,Q,85,Q,W,Q,87,Q,W,Q,80,W,Q,Q,80,W,82,W,80,Q,Q,Q,W,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,
+50,Q,Q,Q,Q,Q,Q,Q,66,Q,Q,Q,50,Q,Q,Q,50,Q,Q,Q,Q,Q,Q,Q,66,Q,Q,Q,50,Q,Q,Q,48,Q,Q,Q,Q,Q,Q,Q,64,Q,Q,Q,48,Q,Q,Q,48,Q,Q,Q,Q,Q,Q,Q,64,Q,Q,Q,48,Q,Q,Q,
+
+/* PATTERN 3 */
+74,Q,80,Q,74,Q,73,Q,74,Q,Q,Q,W,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,66,W,Q,Q,71,Q,Q,Q,W,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,
+42,Q,Q,Q,Q,Q,Q,Q,58,Q,Q,Q,42,Q,Q,Q,42,Q,Q,Q,Q,Q,Q,Q,58,Q,Q,Q,42,Q,Q,Q,55,Q,Q,Q,W,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,82,81,75,73,71,70,68,66,65,59,57,55,54,52,50,50,
+
+/* PATTERN 4 */
+82,W,82,W,82,W,82,W,85,Q,Q,Q,87,Q,Q,Q,87,Q,89,Q,87,Q,89,Q,82,Q,W,Q,Q,Q,Q,Q,80,W,80,W,80,W,80,W,84,Q,Q,Q,85,Q,Q,Q,85,Q,87,Q,85,Q,87,Q,84,Q,87,Q,84,Q,80,Q,
+50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,53,Q,69,Q,51,Q,67,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,52,Q,68,Q,50,Q,66,Q,
+
+/* PATTERN 5 */
+82,W,82,W,82,W,82,W,85,Q,Q,Q,87,Q,Q,Q,87,Q,89,Q,87,Q,89,Q,85,Q,89,Q,85,Q,96,Q,87,Q,Q,Q,W,Q,Q,Q,84,Q,Q,Q,87,Q,84,Q,96,Q,Q,Q,87,Q,Q,Q,84,W,84,W,80,W,80,W,
+50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,53,Q,69,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,52,Q,68,W,55,W,71,W,
+
+/* PATTERN 6 */
+82,W,82,W,82,W,82,W,85,Q,Q,Q,87,Q,Q,Q,87,Q,89,Q,87,Q,89,Q,85,Q,89,Q,85,Q,96,Q,87,Q,Q,Q,W,Q,Q,Q,84,Q,Q,Q,87,Q,84,Q,96,W,Q,Q,96,Q,W,Q,96,W,Q,Q,96,W,103,W,
+50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,50,Q,66,Q,53,Q,69,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,48,Q,64,Q,48,W,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,48,W,71,W,
+
+/* PATTERN 7 */
+69,Q,Q,W,69,W,69,W,72,W,Q,Q,74,Q,Q,W,74,Q,80,Q,74,Q,80,Q,74,Q,80,Q,74,Q,80,Q,67,Q,Q,W,67,W,67,W,71,W,Q,Q,72,Q,Q,W,71,Q,74,Q,71,Q,74,Q,71,Q,74,Q,71,Q,74,Q,
+53,Q,69,Q,53,Q,53,Q,69,Q,53,Q,53,Q,69,Q,56,Q,72,Q,56,Q,56,Q,72,Q,56,Q,56,W,72,W,51,Q,67,Q,51,Q,51,Q,67,Q,51,Q,51,Q,67,Q,55,Q,71,Q,55,Q,55,Q,71,Q,55,Q,55,W,71,W,
+
+/* PATTERN 8 */
+69,Q,Q,W,69,W,69,W,72,W,Q,Q,74,Q,Q,W,74,Q,80,Q,74,Q,80,Q,74,Q,W,Q,74,W,83,W,74,Q,Q,W,71,Q,67,Q,74,Q,Q,W,71,Q,67,Q,83,W,83,W,74,Q,71,Q,67,Q,58,Q,74,Q,71,Q,
+53,Q,69,Q,53,Q,53,Q,69,Q,53,Q,53,Q,69,Q,56,Q,72,Q,56,Q,56,Q,72,Q,56,Q,56,Q,72,Q,51,Q,67,Q,51,Q,51,Q,67,Q,51,Q,51,Q,67,Q,58,Q,74,Q,58,Q,58,Q,71,Q,55,Q,58,Q,74,Q
+};
+
+pwpmusic Go_Mazzembly={
+  "Go Mazzembly / Da Aztex theme",
+  2,
+  5,
+  gomazm_patord,
+  gomazm_trax
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwpzax/Ikuisuus.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,77 @@
+unsigned char iku_patord[]={6,7,0,3,4,5,0,3,2,1,8,9,10,11,8,9,10,11,0,3,0,3,4,5,4,5,
+255};
+
+#define Q 255
+#define W 254
+
+unsigned char iku_trax[12][3][64]={
+
+/*PATTERN 0*/
+16,W,16,W,32,W,16,W,32,16,32,W,32,W,16,W,16,W,16,W,32,W,16,W,32,16,32,W,32,W,16,W,19,W,19,W,35,W,19,W,35,19,35,W,35,W,19,W,19,W,19,W,35,W,19,W,35,19,35,W,35,W,19,W,
+32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,W,16,Q,32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,Q,Q,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,42,Q,Q,W,35,W,19,W,
+32,Q,35,Q,34,Q,32,36,39,Q,35,Q,32,Q,35,Q,32,Q,35,Q,34,Q,32,36,39,Q,35,Q,48,Q,39,Q,35,Q,39,Q,35,Q,39,35,42,Q,39,Q,35,Q,39,Q,42,Q,39,Q,35,Q,42,35,39,Q,35,Q,42,Q,35,Q,
+
+/*PATTERN 1*/
+18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,26,W,26,W,42,W,26,W,42,26,42,W,42,W,26,W,21,W,21,W,37,W,21,W,53,W,Q,Q,Q,Q,Q,Q,
+34,Q,Q,W,41,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,37,Q,Q,W,26,Q,Q,W,42,W,37,W,26,Q,Q,W,37,W,26,W,37,Q,Q,W,21,Q,Q,W,48,W,Q,Q,Q,Q,Q,Q,
+W,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,
+
+/*PATTERN 2*/
+16,W,16,W,32,W,16,W,32,16,32,W,32,W,16,W,16,W,16,W,32,W,16,W,32,16,32,W,W,W,16,W,19,W,19,W,35,W,19,W,35,19,35,W,35,W,19,W,19,W,19,W,35,W,19,W,35,19,35,W,51,35,51,W,
+32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,W,16,Q,32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,Q,Q,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,42,Q,Q,W,35,W,19,W,
+W,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,
+
+/*PATTERN 3*/
+18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,26,W,26,W,42,W,26,W,42,26,42,W,42,W,26,W,21,W,21,W,37,W,21,W,37,W,21,W,37,W,21,W,
+34,Q,Q,W,41,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,37,Q,Q,W,26,Q,Q,W,42,W,37,W,26,Q,Q,W,37,W,26,W,37,Q,Q,W,21,Q,Q,W,48,Q,Q,W,16,W,26,W,
+34,Q,39,Q,34,Q,37,Q,35,Q,34,Q,39,Q,34,Q,35,Q,34,Q,39,Q,34,Q,35,Q,34,Q,39,Q,34,Q,42,Q,37,Q,34,Q,27,Q,42,Q,37,Q,26,Q,21,Q,37,Q,41,Q,37,Q,48,Q,41,Q,37,Q,42,Q,26,Q,
+
+/*PATTERN 4*/
+16,W,16,W,32,W,16,W,32,16,32,W,32,W,16,W,16,W,16,W,32,W,16,W,32,16,32,W,32,W,16,W,19,W,19,W,35,W,19,W,35,19,35,W,35,W,19,W,19,W,19,W,35,W,19,W,35,19,35,W,35,W,19,W,
+32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,W,16,Q,32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,Q,Q,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,42,Q,Q,W,35,W,19,W,
+32,Q,Q,W,34,W,32,W,39,Q,Q,W,32,W,Q,Q,32,Q,Q,W,34,W,32,W,39,Q,Q,W,48,W,Q,W,35,W,39,W,35,Q,Q,W,42,W,39,W,35,Q,Q,W,42,Q,Q,W,35,Q,Q,W,39,Q,Q,W,42,W,Q,Q,
+
+/*PATTERN 5*/
+18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,26,W,26,W,42,W,26,W,42,26,42,W,42,W,26,W,21,W,21,W,37,W,21,W,37,W,Q,Q,41,25,41,25,
+34,Q,Q,W,41,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,37,Q,Q,W,26,Q,Q,W,42,W,37,W,26,Q,Q,W,37,W,26,W,37,Q,Q,W,21,Q,Q,W,48,W,Q,Q,Q,Q,Q,Q,
+34,Q,Q,W,34,W,37,W,35,Q,Q,W,39,W,Q,Q,35,Q,Q,W,39,W,34,W,35,Q,Q,W,39,W,34,W,42,Q,Q,W,34,W,27,W,42,Q,Q,W,26,W,21,W,37,W,41,W,37,W,48,W,41,W,Q,Q,Q,Q,Q,Q,
+
+/*PATTERN 6*/
+32,16,32,16,32,16,32,16,34,18,34,18,34,18,34,18,35,19,35,19,35,19,35,19,34,18,34,18,35,19,35,19,32,16,32,16,32,16,32,16,34,18,34,18,34,18,34,18,35,19,35,19,35,19,35,19,37,21,37,21,37,21,37,21,
+16,Q,Q,W,32,W,16,W,18,Q,Q,W,34,W,18,W,19,Q,Q,W,35,W,19,W,34,Q,Q,W,35,Q,Q,W,16,Q,Q,W,32,W,16,W,18,Q,Q,W,34,W,18,W,19,Q,35,Q,19,Q,35,Q,21,Q,37,Q,21,Q,37,Q,
+32,Q,48,32,48,Q,32,Q,34,Q,50,34,50,34,50,34,35,Q,51,35,51,Q,35,Q,34,Q,50,34,51,35,51,35,32,Q,48,32,48,Q,32,Q,34,50,34,50,34,Q,34,Q,35,Q,35,51,35,Q,51,35,37,Q,37,Q,53,37,21,37,
+
+/*PATTERN 7*/
+32,16,32,16,32,16,32,16,34,18,34,18,34,18,34,18,35,19,35,19,35,19,35,19,34,18,34,18,35,19,35,19,32,16,32,16,32,16,32,16,34,18,34,18,34,18,34,18,35,19,35,19,35,19,35,19,27,W,Q,Q,Q,Q,48,W,
+16,Q,Q,W,32,W,16,W,18,Q,Q,W,34,W,18,W,19,Q,Q,W,35,W,19,W,34,Q,Q,W,35,Q,Q,W,16,Q,Q,W,32,W,16,W,18,Q,Q,W,34,W,18,W,19,Q,35,Q,19,Q,35,Q,27,W,48,W,48,W,48,W,
+32,Q,48,32,48,Q,32,Q,34,Q,50,34,50,34,50,34,35,Q,51,35,51,Q,35,Q,34,Q,50,34,51,35,51,35,32,Q,48,32,48,Q,32,Q,34,50,34,50,34,Q,34,Q,35,Q,35,51,35,Q,51,35,43,W,43,W,48,W,48,W,
+
+/*PATTERN 8*/
+16,Q,W,Q,16,Q,W,Q,16,Q,16,Q,16,Q,16,Q,16,Q,W,Q,16,Q,W,Q,16,Q,16,Q,16,Q,16,Q,19,Q,W,Q,19,Q,W,Q,19,Q,19,Q,19,Q,19,Q,19,Q,W,Q,19,Q,W,Q,19,Q,W,Q,19,Q,Q,Q,
+32,Q,W,Q,16,Q,W,Q,32,Q,W,Q,16,Q,32,Q,32,Q,W,Q,16,Q,W,Q,32,Q,W,Q,16,Q,32,Q,35,Q,W,Q,19,Q,W,Q,35,Q,W,Q,19,Q,W,Q,35,Q,W,Q,19,Q,35,Q,35,Q,W,Q,19,Q,W,Q,
+32,Q,Q,W,48,W,39,W,48,W,39,W,32,W,Q,Q,48,W,39,W,48,W,39,W,35,W,Q,Q,32,W,Q,Q,35,Q,Q,W,51,W,42,W,51,W,42,W,35,W,Q,Q,42,W,51,W,35,W,51,W,35,19,42,26,51,W,35,W,
+
+/*PATTERN 9*/
+26,Q,W,Q,26,Q,W,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,21,Q,W,Q,21,Q,W,Q,21,Q,21,Q,21,Q,21,Q,21,Q,W,Q,21,Q,W,Q,21,Q,21,Q,21,Q,21,Q,
+42,Q,W,Q,26,Q,W,Q,42,Q,W,Q,26,Q,W,Q,42,Q,W,Q,26,Q,42,Q,42,Q,W,Q,26,Q,42,Q,37,Q,W,Q,21,Q,37,Q,37,Q,W,Q,21,Q,W,Q,37,Q,W,Q,21,Q,37,Q,37,Q,21,Q,37,Q,21,Q,
+42,Q,Q,W,34,W,42,W,34,W,Q,Q,50,W,42,W,34,Q,Q,W,42,W,34,W,42,W,34,W,42,W,34,W,37,Q,Q,W,41,Q,Q,W,34,Q,Q,W,37,Q,Q,W,41,W,37,W,35,W,19,W,37,W,21,W,32,W,16,W,
+
+/*PATTERN 10*/
+32,Q,W,Q,16,Q,W,Q,32,Q,32,Q,16,Q,16,Q,32,Q,W,Q,16,Q,W,Q,32,Q,32,Q,16,Q,16,Q,35,Q,W,Q,19,Q,W,Q,35,Q,35,Q,19,Q,19,Q,35,Q,W,Q,35,Q,W,Q,35,Q,W,Q,19,Q,W,Q,
+32,Q,W,Q,16,Q,W,Q,32,Q,W,Q,16,Q,W,Q,32,Q,16,Q,32,Q,16,Q,32,Q,W,Q,16,Q,W,Q,35,Q,W,Q,19,Q,W,Q,35,Q,19,Q,35,Q,19,Q,35,Q,W,Q,19,Q,35,Q,35,Q,W,Q,19,Q,W,Q,
+32,Q,Q,W,48,W,39,W,48,W,39,W,35,W,32,W,35,Q,Q,W,32,Q,Q,W,48,Q,Q,W,35,W,32,W,35,Q,Q,W,51,W,42,W,W,W,W,W,35,Q,Q,W,42,Q,Q,W,35,Q,Q,W,42,W,19,W,51,W,35,W,
+
+/*PATTERN 11*/
+39,Q,W,Q,23,Q,W,Q,39,Q,39,Q,23,Q,23,Q,39,Q,W,Q,39,Q,W,Q,39,Q,39,Q,23,Q,23,Q,32,Q,32,Q,16,Q,16,Q,32,Q,W,Q,32,Q,W,Q,32,Q,32,Q,16,Q,16,Q,32,Q,W,Q,16,Q,W,Q,
+39,Q,W,Q,23,Q,W,Q,39,Q,W,Q,23,Q,39,Q,39,Q,W,Q,23,Q,W,Q,39,Q,23,Q,39,Q,23,Q,32,Q,16,Q,32,Q,16,Q,32,Q,16,Q,32,Q,16,Q,32,Q,W,Q,Q,Q,Q,Q,32,Q,16,Q,32,Q,16,Q,
+55,Q,Q,W,23,W,39,W,43,Q,Q,W,39,W,23,W,39,W,43,W,50,W,43,W,39,W,34,W,39,W,43,W,48,W,39,W,35,W,32,W,48,W,Q,Q,39,W,32,W,48,W,16,W,39,W,16,W,48,W,32,W,64,W,16,W
+
+};
+
+pwpmusic Ikuisuus={
+  "Ikuisuus theme",
+  3,
+  5,
+  iku_patord,
+  iku_trax
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwpzax/iku_musa.h	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,68 @@
+char patord[]={6,7,0,3,4,5,0,3,2,1,8,9,10,11,8,9,10,11,0,3,0,3,4,5,4,5,99};
+
+#define Q 255
+#define W 254
+
+char trax[12][3][64]={
+
+/*PATTERN 0*/
+16,W,16,W,32,W,16,W,32,16,32,W,32,W,16,W,16,W,16,W,32,W,16,W,32,16,32,W,32,W,16,W,19,W,19,W,35,W,19,W,35,19,35,W,35,W,19,W,19,W,19,W,35,W,19,W,35,19,35,W,35,W,19,W,
+32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,W,16,Q,32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,Q,Q,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,42,Q,Q,W,35,W,19,W,
+32,Q,35,Q,34,Q,32,36,39,Q,35,Q,32,Q,35,Q,32,Q,35,Q,34,Q,32,36,39,Q,35,Q,48,Q,39,Q,35,Q,39,Q,35,Q,39,35,42,Q,39,Q,35,Q,39,Q,42,Q,39,Q,35,Q,42,35,39,Q,35,Q,42,Q,35,Q,
+
+/*PATTERN 1*/
+18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,26,W,26,W,42,W,26,W,42,26,42,W,42,W,26,W,21,W,21,W,37,W,21,W,53,W,Q,Q,Q,Q,Q,Q,
+34,Q,Q,W,41,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,37,Q,Q,W,26,Q,Q,W,42,W,37,W,26,Q,Q,W,37,W,26,W,37,Q,Q,W,21,Q,Q,W,48,W,Q,Q,Q,Q,Q,Q,
+W,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,
+
+/*PATTERN 2*/
+16,W,16,W,32,W,16,W,32,16,32,W,32,W,16,W,16,W,16,W,32,W,16,W,32,16,32,W,W,W,16,W,19,W,19,W,35,W,19,W,35,19,35,W,35,W,19,W,19,W,19,W,35,W,19,W,35,19,35,W,51,35,51,W,
+32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,W,16,Q,32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,Q,Q,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,42,Q,Q,W,35,W,19,W,
+W,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,
+
+/*PATTERN 3*/
+18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,26,W,26,W,42,W,26,W,42,26,42,W,42,W,26,W,21,W,21,W,37,W,21,W,37,W,21,W,37,W,21,W,
+34,Q,Q,W,41,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,37,Q,Q,W,26,Q,Q,W,42,W,37,W,26,Q,Q,W,37,W,26,W,37,Q,Q,W,21,Q,Q,W,48,Q,Q,W,16,W,26,W,
+34,Q,39,Q,34,Q,37,Q,35,Q,34,Q,39,Q,34,Q,35,Q,34,Q,39,Q,34,Q,35,Q,34,Q,39,Q,34,Q,42,Q,37,Q,34,Q,27,Q,42,Q,37,Q,26,Q,21,Q,37,Q,41,Q,37,Q,48,Q,41,Q,37,Q,42,Q,26,Q,
+
+/*PATTERN 4*/
+16,W,16,W,32,W,16,W,32,16,32,W,32,W,16,W,16,W,16,W,32,W,16,W,32,16,32,W,32,W,16,W,19,W,19,W,35,W,19,W,35,19,35,W,35,W,19,W,19,W,19,W,35,W,19,W,35,19,35,W,35,W,19,W,
+32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,W,16,Q,32,Q,Q,W,39,W,16,W,32,Q,Q,W,39,Q,Q,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,35,Q,Q,W,42,W,19,W,42,Q,Q,W,35,W,19,W,
+32,Q,Q,W,34,W,32,W,39,Q,Q,W,32,W,Q,Q,32,Q,Q,W,34,W,32,W,39,Q,Q,W,48,W,Q,W,35,W,39,W,35,Q,Q,W,42,W,39,W,35,Q,Q,W,42,Q,Q,W,35,Q,Q,W,39,Q,Q,W,42,W,Q,Q,
+
+/*PATTERN 5*/
+18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,18,W,18,W,34,W,18,W,34,18,34,W,34,W,18,W,26,W,26,W,42,W,26,W,42,26,42,W,42,W,26,W,21,W,21,W,37,W,21,W,37,W,Q,Q,41,25,41,25,
+34,Q,Q,W,41,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,50,W,18,W,34,Q,Q,W,37,Q,Q,W,26,Q,Q,W,42,W,37,W,26,Q,Q,W,37,W,26,W,37,Q,Q,W,21,Q,Q,W,48,W,Q,Q,Q,Q,Q,Q,
+34,Q,Q,W,34,W,37,W,35,Q,Q,W,39,W,Q,Q,35,Q,Q,W,39,W,34,W,35,Q,Q,W,39,W,34,W,42,Q,Q,W,34,W,27,W,42,Q,Q,W,26,W,21,W,37,W,41,W,37,W,48,W,41,W,Q,Q,Q,Q,Q,Q,
+
+/*PATTERN 6*/
+32,16,32,16,32,16,32,16,34,18,34,18,34,18,34,18,35,19,35,19,35,19,35,19,34,18,34,18,35,19,35,19,32,16,32,16,32,16,32,16,34,18,34,18,34,18,34,18,35,19,35,19,35,19,35,19,37,21,37,21,37,21,37,21,
+16,Q,Q,W,32,W,16,W,18,Q,Q,W,34,W,18,W,19,Q,Q,W,35,W,19,W,34,Q,Q,W,35,Q,Q,W,16,Q,Q,W,32,W,16,W,18,Q,Q,W,34,W,18,W,19,Q,35,Q,19,Q,35,Q,21,Q,37,Q,21,Q,37,Q,
+32,Q,48,32,48,Q,32,Q,34,Q,50,34,50,34,50,34,35,Q,51,35,51,Q,35,Q,34,Q,50,34,51,35,51,35,32,Q,48,32,48,Q,32,Q,34,50,34,50,34,Q,34,Q,35,Q,35,51,35,Q,51,35,37,Q,37,Q,53,37,21,37,
+
+/*PATTERN 7*/
+32,16,32,16,32,16,32,16,34,18,34,18,34,18,34,18,35,19,35,19,35,19,35,19,34,18,34,18,35,19,35,19,32,16,32,16,32,16,32,16,34,18,34,18,34,18,34,18,35,19,35,19,35,19,35,19,27,W,Q,Q,Q,Q,48,W,
+16,Q,Q,W,32,W,16,W,18,Q,Q,W,34,W,18,W,19,Q,Q,W,35,W,19,W,34,Q,Q,W,35,Q,Q,W,16,Q,Q,W,32,W,16,W,18,Q,Q,W,34,W,18,W,19,Q,35,Q,19,Q,35,Q,27,W,48,W,48,W,48,W,
+32,Q,48,32,48,Q,32,Q,34,Q,50,34,50,34,50,34,35,Q,51,35,51,Q,35,Q,34,Q,50,34,51,35,51,35,32,Q,48,32,48,Q,32,Q,34,50,34,50,34,Q,34,Q,35,Q,35,51,35,Q,51,35,43,W,43,W,48,W,48,W,
+
+/*PATTERN 8*/
+16,Q,W,Q,16,Q,W,Q,16,Q,16,Q,16,Q,16,Q,16,Q,W,Q,16,Q,W,Q,16,Q,16,Q,16,Q,16,Q,19,Q,W,Q,19,Q,W,Q,19,Q,19,Q,19,Q,19,Q,19,Q,W,Q,19,Q,W,Q,19,Q,W,Q,19,Q,Q,Q,
+32,Q,W,Q,16,Q,W,Q,32,Q,W,Q,16,Q,32,Q,32,Q,W,Q,16,Q,W,Q,32,Q,W,Q,16,Q,32,Q,35,Q,W,Q,19,Q,W,Q,35,Q,W,Q,19,Q,W,Q,35,Q,W,Q,19,Q,35,Q,35,Q,W,Q,19,Q,W,Q,
+32,Q,Q,W,48,W,39,W,48,W,39,W,32,W,Q,Q,48,W,39,W,48,W,39,W,35,W,Q,Q,32,W,Q,Q,35,Q,Q,W,51,W,42,W,51,W,42,W,35,W,Q,Q,42,W,51,W,35,W,51,W,35,19,42,26,51,W,35,W,
+
+/*PATTERN 9*/
+26,Q,W,Q,26,Q,W,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,26,Q,21,Q,W,Q,21,Q,W,Q,21,Q,21,Q,21,Q,21,Q,21,Q,W,Q,21,Q,W,Q,21,Q,21,Q,21,Q,21,Q,
+42,Q,W,Q,26,Q,W,Q,42,Q,W,Q,26,Q,W,Q,42,Q,W,Q,26,Q,42,Q,42,Q,W,Q,26,Q,42,Q,37,Q,W,Q,21,Q,37,Q,37,Q,W,Q,21,Q,W,Q,37,Q,W,Q,21,Q,37,Q,37,Q,21,Q,37,Q,21,Q,
+42,Q,Q,W,34,W,42,W,34,W,Q,Q,50,W,42,W,34,Q,Q,W,42,W,34,W,42,W,34,W,42,W,34,W,37,Q,Q,W,41,Q,Q,W,34,Q,Q,W,37,Q,Q,W,41,W,37,W,35,W,19,W,37,W,21,W,32,W,16,W,
+
+/*PATTERN 10*/
+32,Q,W,Q,16,Q,W,Q,32,Q,32,Q,16,Q,16,Q,32,Q,W,Q,16,Q,W,Q,32,Q,32,Q,16,Q,16,Q,35,Q,W,Q,19,Q,W,Q,35,Q,35,Q,19,Q,19,Q,35,Q,W,Q,35,Q,W,Q,35,Q,W,Q,19,Q,W,Q,
+32,Q,W,Q,16,Q,W,Q,32,Q,W,Q,16,Q,W,Q,32,Q,16,Q,32,Q,16,Q,32,Q,W,Q,16,Q,W,Q,35,Q,W,Q,19,Q,W,Q,35,Q,19,Q,35,Q,19,Q,35,Q,W,Q,19,Q,35,Q,35,Q,W,Q,19,Q,W,Q,
+32,Q,Q,W,48,W,39,W,48,W,39,W,35,W,32,W,35,Q,Q,W,32,Q,Q,W,48,Q,Q,W,35,W,32,W,35,Q,Q,W,51,W,42,W,W,W,W,W,35,Q,Q,W,42,Q,Q,W,35,Q,Q,W,42,W,19,W,51,W,35,W,
+
+/*PATTERN 11*/
+39,Q,W,Q,23,Q,W,Q,39,Q,39,Q,23,Q,23,Q,39,Q,W,Q,39,Q,W,Q,39,Q,39,Q,23,Q,23,Q,32,Q,32,Q,16,Q,16,Q,32,Q,W,Q,32,Q,W,Q,32,Q,32,Q,16,Q,16,Q,32,Q,W,Q,16,Q,W,Q,
+39,Q,W,Q,23,Q,W,Q,39,Q,W,Q,23,Q,39,Q,39,Q,W,Q,23,Q,W,Q,39,Q,23,Q,39,Q,23,Q,32,Q,16,Q,32,Q,16,Q,32,Q,16,Q,32,Q,16,Q,32,Q,W,Q,Q,Q,Q,Q,32,Q,16,Q,32,Q,16,Q,
+55,Q,Q,W,23,W,39,W,43,Q,Q,W,39,W,23,W,39,W,43,W,50,W,43,W,39,W,34,W,39,W,43,W,48,W,39,W,35,W,32,W,48,W,Q,Q,39,W,32,W,48,W,16,W,39,W,16,W,48,W,32,W,64,W,16,W
+
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwpzax/zaxplay.c	Tue May 18 04:25:44 2010 +0300
@@ -0,0 +1,313 @@
+/*
+ *  PWP music player. Uses /dev/dsp (8-bit unsigned raw)
+ *
+ *  compile: gcc zaxplay.c -o zaxplay -lm
+ *
+ *  run: zaxplay <tunenum 0..3>
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <string.h>
+/* #include <linux/string.h> */
+
+#include <unistd.h>
+#include <fcntl.h>
+#include <math.h>
+
+typedef struct
+{
+  char*title;
+  int numchans;
+  int tempo;
+
+  unsigned char*patord;
+  unsigned char*tracks;
+}pwpmusic;
+
+#include "Final_Isi.h"
+#include "Future_Moottori.h"
+#include "Go_Mazzembly.h"
+#include "Ikuisuus.h"
+
+struct {
+   int wvlgt;
+   int wvleft;
+   int wvphase;
+}
+gb_ch[3];
+#define ch gb_ch
+
+int fd;
+int freq=8000;
+
+pwpmusic*tune;
+pwpmusic*tunes[]={&Final_Isi,&Future_Moottori,&Go_Mazzembly,&Ikuisuus};
+#define NUMTUNES 4
+
+gb_gen1chan(char*d,int l,int freq)
+{
+  int ph=128*256;
+  while(l--){
+    *d++=64+((ph>>8)&0x80);
+    ph+=freq;
+  }
+}
+
+gb_beepemu(char*d,int l)
+{
+  static int pf=0;
+  int
+    fq0=ch[0].wvlgt,
+    fq1=ch[1].wvlgt,
+    fq2=ch[2].wvlgt,fq;
+  if(ch[0].wvphase==0)fq0=32768;
+  if(ch[1].wvphase==0)fq1=32768;
+  if(ch[2].wvphase==0)fq2=32768;
+
+  if(fq0>fq1){int tmp=fq0;fq0=fq1;fq1=tmp;}
+  if(fq0>fq2){int tmp=fq0;fq0=fq2;fq2=tmp;}
+  if(fq1>fq2){int tmp=fq1;fq1=fq2;fq2=tmp;}
+
+  if(pf&1){
+    if(pf&2)fq=fq1;else fq=fq2;
+    if(!fq)fq=fq0;
+  }else{
+    fq=fq0;
+    if(fq==32768){fq=fq1;
+      if(fq==32768)fq=fq2;}
+  }
+  if(fq==32768)memset(d,128,l);else
+  {
+    fq=(65536*256)/fq; 
+    gb_gen1chan(d,l,fq);
+  }
+  pf++;
+}
+
+gb_genwave(char*d,int l)  /* tee oBtiMoITU versio joskus */
+{
+   int remain=0;
+
+   l<<=8;
+   while(l){
+      int min=ch[0].wvleft,w,sum;
+          w=ch[1].wvleft;if(w<min)min=w;
+          w=ch[2].wvleft;if(w<min)min=w;
+
+      /* tuon laskenta loppuun? */
+      sum=ch[0].wvphase+ch[1].wvphase+ch[2].wvphase+128;
+      if(sum<0)sum=0;else if(sum>255)sum=255;
+
+      if(min>l)min=l; l-=min;
+      memset(d,sum,(min+remain)>>8);
+        d+=((min+remain)>>8);
+        remain=(min+remain)&255;
+
+      {int i=0;
+      for(;i<3;i++){
+         w=ch[i].wvleft-=min;
+         if(!w){
+           ch[i].wvleft=ch[i].wvlgt;	/* add pulseratio */
+           ch[i].wvphase=0-ch[i].wvphase;
+         }
+      }}
+    }
+}
+
+/* my_memset, ... */
+
+/*
+gb_genwave_opt(char*buf,int endptr)
+{
+   #define SETTILL(a) \
+     {int bord=w##a,rs;if(bord>endptr)goto last;\
+      rs=sum;if(rs&~0xff){if(rs<0)rs=0;else rs=255;}\
+      memset(buf+(ptr>>8),rs,2+((bord-ptr)>>8));ptr=bord;\
+      ch[a].wvphase=0-ch[a].wvphase;\
+      sum+=(ch[a].wvphase)<<1;\
+      w##a=ptr+ch[a].wvlgt;}
+   #define HANDLE(s0,s1,s2) \
+      {SETTILL(s0); \
+      if(w##s0<=w##s1)goto w##s0##w##s1##w##s2;else \
+      if(w##s0<=w##s2)goto w##s1##w##s0##w##s2;else \
+                      goto w##s1##w##s2##w##s0;}
+
+   int ptr=0,sum=ch[0].wvphase+
+                 ch[1].wvphase+
+                 ch[2].wvphase;
+
+   int w0=ch[0].wvleft,
+       w1=ch[1].wvleft,
+       w2=ch[2].wvleft;
+
+   endptr<<=8;
+
+   w1w2w0:HANDLE(1,2,0);
+   w2w1w0:HANDLE(2,1,0);
+   w0w2w1:HANDLE(0,2,1);
+   w2w0w1:HANDLE(2,0,1);
+   w0w1w2:HANDLE(0,1,2);
+   w1w0w2:HANDLE(1,0,2);
+
+   last:
+     {int rs=sum;
+     if(rs&~0xff){if(rs<0)rs=0;else rs=255;}
+     memset(buf+(ptr>>8),rs,(endptr-ptr)>>8);}
+
+     ch[0].wvleft=w0-endptr;
+     ch[1].wvleft=w1-endptr;
+     ch[2].wvleft=w2-endptr;
+
+   #undef SETTILL
+}
+*/
+
+gb_genwave_opt(char*buf,int endptr)
+{
+   int ptr=0,sum=ch[0].wvphase+
+                 ch[1].wvphase+
+                 ch[2].wvphase;
+
+   #define w0 ch[0].wvleft
+   #define w1 ch[1].wvleft
+   #define w2 ch[2].wvleft
+
+/*   volatile int w0=ch[0].wvleft,
+       w1=ch[1].wvleft,
+       w2=ch[2].wvleft;*/
+
+   endptr<<=8;
+
+   #define SETTILL(a) \
+     {int bord=w##a,rs;if(bord>endptr)goto last;\
+      rs=sum;if(rs&~0xff){if(rs<0)rs=0;else rs=255;}\
+      memset(buf+(ptr>>8),rs,2+((bord-(ptr&~0xff))>>8));ptr=bord;\
+      ch[a].wvphase=0-ch[a].wvphase;\
+      sum+=(ch[a].wvphase)<<1;\
+      w##a=ptr+ch[a].wvlgt;}
+
+   if(w0<=w1){
+      if(w1<=w2)goto w0w1w2;else
+      if(w2<=w0)goto w2w0w1;else
+                goto w0w2w1;
+   }else{
+      if(w0<=w2)goto w1w0w2;else
+      if(w2<=w1)goto w2w1w0;       //.. else w1w2w0 (next)
+   }
+
+   w1w2w0:
+     SETTILL(1);
+     if(w1<=w2)goto w1w2w0;else
+     if(w1<=w0)goto w2w1w0;else   //.. if(w1>w0)goto w2w0w1;
+               goto w2w0w1;
+   w2w1w0:
+     SETTILL(2);
+     if(w2<=w1)goto w2w1w0;else
+     if(w2<=w0)goto w1w2w0;else
+               goto w1w0w2;
+
+   w0w2w1:
+     SETTILL(0);
+     if(w0<=w2)goto w0w2w1;else
+     if(w0<=w1)goto w2w0w1;else   //.. if(w0>w1)goto w2w1w0;
+               goto w2w1w0;
+   w2w0w1:
+     SETTILL(2);
+     if(w2<=w0)goto w2w0w1;else
+     if(w2<=w1)goto w0w2w1;else
+               goto w0w1w2;       //.. not reqd
+
+   w0w1w2:
+     SETTILL(0);
+     if(w0<=w1)goto w0w1w2;else
+     if(w0<=w2)goto w1w0w2;else   //.. if(w0>w2)goto w1w2w0;
+               goto w1w2w0;
+
+   w1w0w2:
+     SETTILL(1);
+     if(w1<=w0)goto w1w0w2;else
+     if(w1<=w2)goto w0w1w2;else
+               goto w0w2w1;
+
+   last:
+     {int rs=sum;
+     if(rs&~0xff){if(rs<0)rs=0;else rs=255;}
+     memset(buf+(ptr>>8),rs,2+((endptr-ptr)>>8));}
+
+     ch[0].wvleft=w0-endptr;
+     ch[1].wvleft=w1-endptr;
+     ch[2].wvleft=w2-endptr;
+
+   #undef SETTILL
+}
+#define VOLUME 32
+
+playnote(char*buf) /* ==> playtick */
+{
+  static int ord=0,row=0;
+  int chan=0,pat=tune->patord[ord];
+
+  for(;chan<tune->numchans;chan++){
+    unsigned char b=tune->tracks[(pat*tune->numchans+chan)*64+row];
+
+    if(b==254)gb_ch[chan].wvphase=0;else
+    if(b!=255){
+       b=(b>>4)*12+(b&15);
+       gb_ch[chan].wvlgt=
+         ((double)(400.0*256)/pow(1.059465,b));
+         
+       if(gb_ch[chan].wvlgt<512)
+          gb_ch[chan].wvlgt=512;
+
+       gb_ch[chan].wvleft=gb_ch[chan].wvlgt/(chan+2);
+       gb_ch[chan].wvphase=VOLUME;
+    }
+  }
+
+  gb_genwave(buf,tune->tempo*freq/73);
+  write(fd,buf,tune->tempo*freq/73);
+
+/*  {int j=4;for(;j;j--){
+  gb_beepemu(buf,tune->tempo*freq/(73*4));
+  write(fd,buf,tune->tempo*freq/(73*4));}}*/
+
+  row++;if(row==64){
+    row=0;pat=tune->patord[++ord];
+    if(pat==255)ord=0;
+  }
+}
+
+playzax()
+{
+  int i=0;
+  char*buf=malloc(tune->tempo*freq/73);
+  fd=open("/dev/dsp",O_WRONLY);
+
+  for(;i<3;i++){
+  gb_ch[i].wvlgt=gb_ch[i].wvleft=32000;gb_ch[i].wvphase=0;}
+
+  for(;;){
+    playnote(buf);
+  }
+}
+
+int main(int argc,char**argv)
+{
+   if(argc!=2)
+   {
+      fprintf(stderr,"usage: %s <tunenum 0..%d>\n",
+        argv[0],NUMTUNES-1);
+      return 0;
+   }
+
+   {int i=argv[1][0]-'0';
+    if(i<0 || i>=NUMTUNES)i=rand()%NUMTUNES;
+    tune=tunes[i];
+   }
+
+   playzax();
+   return 0;
+}