\
s@mandir=.\$${prefix}/man.@mandir=\\\$${datadir}/man@; \
\
+ s@rm -f conftest@rm -rf conftest@g; \
+ \
print;' \
< configure \
> $$TMP && \
distdepend:: update_plist_version
-debug:
+debug: distdepend
cd ..; xcodebuild -target $(XCODE_TARGET) -configuration Debug build
-release::
+release:: distdepend
cd ..; xcodebuild -target $(XCODE_TARGET) -configuration Release build
+release:: check_versions
+
release:: sign
sign:
codesign -vfs 'Jamie Zawinski' build/Release/*.saver
+check_versions:
+ @\
+ SRC=../utils/version.h ; \
+ V=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' $$SRC` ; \
+ DIR=build/Release ; \
+ RESULT=0 ; \
+ for S in $$DIR/*.saver ; do \
+ for P in $$S/Contents/Info.plist ; do \
+ V2=`perl -0000 -n -e \
+ 'm@<key>CFBundleVersion</key>\s*<string>(.*?)</string>@si \
+ && print $$1' < $$P` ; \
+ if [ "$$V2" != "$$V" ] ; then \
+ echo "Wrong version: $$S ($$V2)" ; \
+ RESULT=1 ; \
+ fi ; \
+ done ; \
+ done ; \
+ if [ "$$RESULT" = 0 ]; then echo "Versions match ($$V2)" ; fi ; \
+ exit $$RESULT
+
+
echo_tarfiles:
@echo `find . \
\( \( -name '.??*' -o -name build -o -name CVS -o -name '*~*' \
rm $$T
# -format UDBZ saves 4% (~1.2 MB) over UDZO.
-dmg::
+dmg:: distdepend check_versions
@ \
set -e ; \
SRC=../utils/version.h ; \
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>5.04</string>
+ <string>5.05</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>5.04</string>
+ <string>5.05</string>
<key>LSMinimumSystemVersion</key>
<string>10.4.0</string>
<key>NSMainNibFile</key>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
- <string>5.04</string>
+ <string>5.05</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>5.04</string>
+ <string>5.05</string>
<key>LSMinimumSystemVersion</key>
<string>10.4.0</string>
<key>NSMainNibFile</key>
}
}
-/* Makes the first word of the text be bold.
+/* Makes the text up to the first comma be bold.
*/
static void
boldify (NSText *nstext)
{
NSString *text = [nstext string];
- NSRange r = [text rangeOfCharacterFromSet:
- [NSCharacterSet whitespaceCharacterSet]];
- r.length = r.location;
+ NSRange r = [text rangeOfString:@"," options:0];
+ r.length = r.location+1;
r.location = 0;
NSFont *font = [nstext font];
// f.origin.y + f.size.height, [kid class]);
}
- if (maxx < 350) maxx = 350; // leave room for the NSText paragraph...
+ if (maxx < 400) maxx = 400; // leave room for the NSText paragraph...
/* Now that we know the width of the window, set the width of the NSText to
that, so that it can decide what its height needs to be.
miny = f.origin.y - LINE_SPACING;
[text setFrame:f];
- // Stop second-guessing us on sizing now. Size is now locked.
+ // Lock the width of the field and unlock the height, and let it resize
+ // once more, to compute the proper height of the text for that width.
+ //
[(NSText *) text setHorizontallyResizable:NO];
+ [(NSText *) text setVerticallyResizable:YES];
+ [(NSText *) text sizeToFit];
+
+ // Now lock the height too: no more resizing this text field.
+ //
[(NSText *) text setVerticallyResizable:NO];
-
+
+ // Now reposition the top edge of the text field to be back where it
+ // was before we changed the height.
+ //
+ float oh = f.size.height;
+ f = [text frame];
+ float dh = f.size.height - oh;
+ f.origin.y += dh;
+ [text setFrame:f];
+
+ // Also adjust the parent height by the change in height of the text field.
+ miny -= dh;
+
// NSLog(@"text new: %3.0f x %3.0f @ %3.0f %3.0f %3.0f %@",
// f.size.width, f.size.height, f.origin.x, f.origin.y,
// f.origin.y + f.size.height, [text class]);
rect.origin.y += rect.size.height;
NSBox *pbox = [[NSBox alloc] initWithFrame:rect];
[pbox setTitlePosition:NSNoTitle];
- [pbox setBorderType:NSNoBorder];
+ [pbox setBorderType:NSBezelBorder];
+
+ {
+ NSRect f = [panel frame];
+ int screen_height = 800 - 64;
+ if (f.size.height > screen_height) {
+ NSLog(@"%@ height was %.0f; clipping to %d",
+ [panel class], f.size.height, screen_height);
+ f.size.height = screen_height;
+ [panel setFrame:f];
+ }
+ }
+
[pbox addSubview:panel];
[pbox addSubview:bbox];
[pbox sizeToFit];
xe.xbutton.y = y;
xe.xbutton.state = state;
if ([e type] == NSScrollWheel)
- xe.xbutton.button = ([e deltaY] > 0 ? Button4 : Button5);
+ xe.xbutton.button = ([e deltaY] > 0 ? Button4 :
+ [e deltaY] < 0 ? Button5 :
+ [e deltaX] > 0 ? Button6 :
+ [e deltaX] < 0 ? Button7 :
+ 0);
else
xe.xbutton.button = [e buttonNumber] + 1;
break;
\f1\b0 \
by Jamie Zawinski \uc0\u8232 and many others\
\
-version 5.04 \uc0\u8232 13-Nov-2007\
+version 5.05 \uc0\u8232 01-Mar-2008\
\
{\field{\*\fldinst{HYPERLINK "http://www.jwz.org/xscreensaver/"}}{\fldrslt \cf2 \ul \ulc2 http://www.jwz.org/xscreensaver/}}\
\pard\pardeftab720\li720
-/* xscreensaver, Copyright (c) 1991-2007 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1991-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
XCharStruct *overall_ret);
extern int XTextWidth (XFontStruct *, const char *, int length);
extern int XSetFont (Display *, GC, Font);
-extern Font XGContextFromGC (GC);
extern Pixmap XCreatePixmap (Display *, Drawable,
unsigned int width, unsigned int height,
-/* xscreensaver, Copyright (c) 1991-2006 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1991-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
static void
query_font (Font fid)
{
+ if (!fid || !fid->nsfont) {
+ NSLog(@"no NSFont in fid");
+ abort();
+ }
+ if (![fid->nsfont fontName]) {
+ NSLog(@"broken NSFont in fid");
+ abort();
+ }
+
int first = 32;
int last = 255;
// copy the other pointers
fid2->ps_name = strdup (fid->ps_name);
- [fid2->nsfont retain];
+// [fid2->nsfont retain];
fid2->metrics.fid = fid2;
return fid2;
try_font (BOOL fixed, BOOL bold, BOOL ital, BOOL serif, float size,
char **name_ret)
{
+ Assert (size > 0, "zero font size");
const char *prefix = (fixed ? "Monaco" : (serif ? "Times" : "Helvetica"));
const char *suffix = (bold && ital
? (serif ? "-BoldItalic" : "-BoldOblique")
{
free (fid->ps_name);
free (fid->metrics.per_char);
- [fid->nsfont release];
+
+ // #### DAMMIT! I can't tell what's going wrong here, but I keep getting
+ // crashes in [NSFont ascender] <- query_font, and it seems to go away
+ // if I never release the nsfont. So, fuck it, we'll just leak fonts.
+ // They're probably not very big...
+ //
+ // [fid->nsfont release];
+
free (fid);
return 0;
}
if (gc->gcv.font)
XUnloadFont (dpy, gc->gcv.font);
gc->gcv.font = copy_font (fid);
+ [gc->gcv.font->nsfont retain];
return 0;
}
-Font // really GContext
-XGContextFromGC (GC gc) // WTF is this actually supposed to do?
-{
- return gc->gcv.font;
-}
-
int
XTextExtents (XFontStruct *f, const char *s, int length,
int *dir_ret, int *ascent_ret, int *descent_ret,
set_font (CGContextRef cgc, GC gc)
{
Font font = gc->gcv.font;
- if (! font)
- font = gc->gcv.font = XLoadFont (0, 0);
+ if (! font) {
+ font = XLoadFont (0, 0);
+ gc->gcv.font = font;
+ [gc->gcv.font->nsfont retain];
+ }
CGContextSelectFont (cgc, font->ps_name, font->size, kCGEncodingMacRoman);
CGContextSetTextMatrix (cgc, CGAffineTransformIdentity);
}
#!/usr/bin/perl -w
-# Copyright © 2006 Jamie Zawinski <jwz@jwz.org>
+# Copyright © 2006-2008 Jamie Zawinski <jwz@jwz.org>
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# Created: 8-Mar-2006.
require 5;
-use diagnostics;
+#use diagnostics; # Fails on some MacOS 10.5 systems
use strict;
my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.6 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $version = q{ $Revision: 1.7 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
my $verbose = 1;
===============================================================================
+Changes since 5.04: * New hacks, `cubicgrid', `hypnowheel', and
+ `lcdscrub' (which isn't really a screen saver).
+ * Updates to `m6502' and `gears'.
+ * Fixed double-buffering problems in `cubestorm' and
+ `noof'.
+ * Better handling of horizontal scroll wheels.
+ * Attempt to work around latest Xinerama braindamage:
+ if the server reports overlapping screens, use the
+ largest non-overlapping rectangles available.
+ * Don't warning about receipt of bogus ClientMessages,
+ since Gnome's just never going to stop sending those.
+ * Worked around MacOS 10.5 perl bug that caused the
+ text-displaying hacks to fail on some systems.
+ * Hopefully fixed font-related System Preferences crashes
+ in MacOS savers.
+ * The recent PAM changes broke the "Caps Lock" warning
+ in the password dialog, the failed login warnings, and
+ syslogging. Fixed all that.
Changes since 5.03: * Fixed a possible crash in the unlock dialog (more
fallout from the recent PAM changes...)
* New hacks, `moebiusgears', `abstractile', and
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
-timestamp='2003-06-17'
+timestamp='2007-05-17'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+
# Originally written by Per Bothner <per@bothner.com>.
# Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry.
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
+ echo "$timestamp" ; exit ;;
--version | -v )
- echo "$version" ; exit 0 ;;
+ echo "$version" ; exit ;;
--help | --h* | -h )
- echo "$usage"; exit 0 ;;
+ echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
+esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-## for Red Hat Linux
-if test -f /etc/redhat-release ; then
- VENDOR=redhat ;
-else
- VENDOR= ;
-fi
-
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- macppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvmeppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- pmax:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mipseb-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- wgrisc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
alpha:OSF1:*:*)
- if test $UNAME_RELEASE = "V4.0"; then
+ case $UNAME_RELEASE in
+ *4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- fi
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
"EV7.9 (21364A)")
UNAME_MACHINE="alphaev79" ;;
esac
+ # A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit 0 ;;
- Alpha*:OpenVMS:*:*)
- echo alpha-hp-vms
- exit 0 ;;
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
- exit 0 ;;
+ exit ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
- exit 0 ;;
+ exit ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4
- exit 0;;
+ exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
- exit 0 ;;
+ exit ;;
*:[Mm]orph[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-morphos
- exit 0 ;;
+ exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
- exit 0 ;;
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
- exit 0;;
+ exit ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
else
echo pyramid-pyramid-bsd
fi
- exit 0 ;;
+ exit ;;
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
- exit 0 ;;
+ exit ;;
DRS?6000:unix:4.0:6*)
echo sparc-icl-nx6
- exit 0 ;;
- DRS?6000:UNIX_SV:4.2*:7*)
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7 && exit 0 ;;
+ sparc) echo sparc-icl-nx7; exit ;;
esac ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- i86pc:SunOS:5.*:*)
+ exit ;;
+ i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
+ exit ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
- exit 0 ;;
+ exit ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
- exit 0 ;;
+ exit ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
exit (-1);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c \
- && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && exit 0
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
- exit 0 ;;
+ exit ;;
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
- exit 0 ;;
+ exit ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
- exit 0 ;;
+ exit ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
- exit 0 ;;
+ exit ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
- exit 0 ;;
+ exit ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
- exit 0 ;;
+ exit ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
- exit 0 ;;
+ exit ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
- exit 0 ;;
+ exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
- exit 0 ;;
+ exit ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
- exit 0 ;;
+ exit ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
- exit 0 ;;
+ exit ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
- exit 0 ;;
+ exit ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit 0 ;;
+ exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
echo i386-ibm-aix
- exit 0 ;;
+ exit ;;
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit 0 ;;
+ exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
exit(0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
- echo rs6000-ibm-aix3.2.5
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
- exit 0 ;;
+ exit ;;
*:AIX:*:[45])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
+ exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
- exit 0 ;;
+ exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
- exit 0 ;;
+ exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
+ exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
- exit 0 ;;
+ exit ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
- exit 0 ;;
+ exit ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
- exit 0 ;;
+ exit ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
- exit 0 ;;
+ exit ;;
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
esac
if [ ${HP_ARCH} = "hppa2.0w" ]
then
- # avoid double evaluation of $set_cc_for_build
- test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep __LP64__ >/dev/null
then
HP_ARCH="hppa2.0w"
else
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
+ exit ;;
ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ia64-hp-hpux${HPUX_REV}
- exit 0 ;;
+ exit ;;
3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
exit (0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
- exit 0 ;;
+ exit ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
- exit 0 ;;
+ exit ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
- exit 0 ;;
+ exit ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
- exit 0 ;;
+ exit ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
- exit 0 ;;
+ exit ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
- exit 0 ;;
+ exit ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
- exit 0 ;;
+ exit ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
- exit 0 ;;
+ exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
- exit 0 ;;
+ exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit 0 ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
- exit 0 ;;
+ exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
- exit 0 ;;
+ exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
- exit 0 ;;
+ exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
*:UNICOS/mp:*:*)
- echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
- # Determine whether the default compiler uses glibc.
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #if __GLIBC__ >= 2
- LIBC=gnu
- #else
- LIBC=
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
- exit 0 ;;
+ exit ;;
+ *:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
- exit 0 ;;
- i*:MINGW*:*)
+ exit ;;
+ *:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
- exit 0 ;;
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
- exit 0 ;;
- x86:Interix*:[34]*)
- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
- exit 0 ;;
+ exit ;;
+ *:Interix*:[3456]*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T | authenticamd)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
- exit 0 ;;
+ exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i586-pc-interix
- exit 0 ;;
+ exit ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
- exit 0 ;;
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
- exit 0 ;;
+ exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
*:GNU:*:*)
+ # the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
- exit 0 ;;
+ exit ;;
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
- exit 0 ;;
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
mips:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
mips64:Linux:*:*)
eval $set_cc_for_build
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
ppc:Linux:*:*)
- echo powerpc-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
+ echo powerpc-unknown-linux-gnu
+ exit ;;
ppc64:Linux:*:*)
- echo powerpc64-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit 0 ;;
+ exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-gnu ;;
esac
- exit 0 ;;
+ exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu
- exit 0 ;;
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
x86_64:Linux:*:*)
- echo x86_64-${VENDOR:-unknown}-linux-gnu
- exit 0 ;;
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa:Linux:*:*)
+ echo xtensa-unknown-linux-gnu
+ exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
;;
a.out-i386-linux)
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit 0 ;;
+ exit ;;
coff-i386)
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit 0 ;;
+ exit ;;
"")
# Either a pre-BFD a.out linker (linux-gnuoldld) or
# one that does not give us useful --help.
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit 0 ;;
+ exit ;;
esac
# Determine whether the default compiler is a.out or elf
eval $set_cc_for_build
LIBC=gnulibc1
# endif
#else
- #ifdef __INTEL_COMPILER
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
LIBC=gnu
#else
LIBC=gnuaout
#endif
#endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0
- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^LIBC/{
+ s: ::g
+ p
+ }'`"
+ test x"${LIBC}" != x && {
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit
+ }
+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo i386-sequent-sysv4
- exit 0 ;;
+ exit ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit 0 ;;
+ exit ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
- exit 0 ;;
+ exit ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
- exit 0 ;;
+ exit ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
- exit 0 ;;
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit 0 ;;
+ exit ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
- exit 0 ;;
- i*86:*:5:[78]*)
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit 0 ;;
+ exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
- exit 0 ;;
+ exit ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
- exit 0 ;;
+ exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
- exit 0 ;;
+ exit ;;
paragon:*:*:*)
echo i860-intel-osf1
- exit 0 ;;
+ exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
- exit 0 ;;
+ exit ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
- exit 0 ;;
+ exit ;;
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
- exit 0 ;;
+ exit ;;
M680?0:D-NIX:5.3:*)
echo m68k-diab-dnix
- exit 0 ;;
- M68*:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
+ && { echo i486-ncr-sysv4; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
- exit 0 ;;
+ exit ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
- exit 0 ;;
+ exit ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
- exit 0 ;;
+ exit ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
else
echo ns32k-sni-sysv
fi
- exit 0 ;;
+ exit ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
echo i586-unisys-sysv4
- exit 0 ;;
+ exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
- exit 0 ;;
+ exit ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
- exit 0 ;;
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
- exit 0 ;;
+ exit ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
- exit 0 ;;
+ exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
- exit 0 ;;
+ exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
- exit 0 ;;
+ exit ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
- exit 0 ;;
+ exit ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
- exit 0 ;;
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Darwin:*:*)
- case `uname -p` in
- *86) UNAME_PROCESSOR=i686 ;;
- powerpc) UNAME_PROCESSOR=powerpc ;;
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = "x86"; then
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
- exit 0 ;;
- NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
- exit 0 ;;
+ exit ;;
BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv
- exit 0 ;;
+ exit ;;
DS/*:UNIX_System_V:*:*)
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
- exit 0 ;;
+ exit ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
- exit 0 ;;
+ exit ;;
*:TENEX:*:*)
echo pdp10-unknown-tenex
- exit 0 ;;
+ exit ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
echo pdp10-dec-tops20
- exit 0 ;;
+ exit ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
echo pdp10-xkl-tops20
- exit 0 ;;
+ exit ;;
*:TOPS-20:*:*)
echo pdp10-unknown-tops20
- exit 0 ;;
+ exit ;;
*:ITS:*:*)
echo pdp10-unknown-its
- exit 0 ;;
+ exit ;;
SEI:*:*:SEIUX)
echo mips-sei-seiux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix"); exit (0);
+ printf ("arm-acorn-riscix\n"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
}
EOF
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
# Apollos put the system type in the environment.
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
# Convex versions that predate uname can use getsysinfo(1)
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
- exit 0 ;;
+ exit ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit 0 ;;
+ exit ;;
c34*)
echo c34-convex-bsd
- exit 0 ;;
+ exit ;;
c38*)
echo c38-convex-bsd
- exit 0 ;;
+ exit ;;
c4*)
echo c4-convex-bsd
- exit 0 ;;
+ exit ;;
esac
fi
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- ftp://ftp.gnu.org/pub/gnu/config/
+ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
/* Define to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION
+/* Define to 1 if you have the `sigtimedwait' function. */
+#undef HAVE_SIGTIMEDWAIT
+
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
-timestamp='2003-06-18'
+timestamp='2007-04-29'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+
# Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry.
#
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
+ echo "$timestamp" ; exit ;;
--version | -v )
- echo "$version" ; exit 0 ;;
+ echo "$version" ; exit ;;
--help | --h* | -h )
- echo "$usage"; exit 0 ;;
+ echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
*local*)
# First pass through any local machine types.
echo $1
- exit 0;;
+ exit ;;
* )
break ;;
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis)
+ -apple | -axis | -knuth | -cray)
os=
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
| a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
- | fr30 | frv \
+ | fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
- | ip2k \
- | m32r | m68000 | m68k | m88k | mcore \
+ | ip2k | iq2000 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
+ | mt \
| msp430 \
+ | nios | nios2 \
| ns16k | ns32k \
- | openrisc | or32 \
+ | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
- | s390 | s390x \
- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
- | strongarm \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
- | x86 | xscale | xstormy16 | xtensa \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* \
- | bs2000-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | cydra-* \
+ | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* \
- | m32r-* \
+ | ip2k-* | iq2000-* \
+ | m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | mcore-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
| msp430-* \
- | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
- | s390-* | s390x-* \
- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
- | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
- | xtensa-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
basic_machine=a29k-amd
os=-udi
;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
amd64)
basic_machine=x86_64-pc
;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
amdahl)
basic_machine=580-amdahl
os=-sysv
basic_machine=j90-cray
os=-unicos
;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16c)
+ basic_machine=cr16c-unknown
+ os=-elf
+ ;;
crds | unos)
basic_machine=m68k-crds
;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
da30 | da30-*)
basic_machine=m68k-da30
;;
basic_machine=m88k-motorola
os=-sysv3
;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
basic_machine=i386-pc
os=-mingw32
;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
miniframe)
basic_machine=m68000-convergent
;;
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
- mmix*)
- basic_machine=mmix-knuth
- os=-mmixware
- ;;
monitor)
basic_machine=m68k-rom68k
os=-coff
basic_machine=i386-pc
os=-msdos
;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
mvs)
basic_machine=i370-ibm
os=-mvs
np1)
basic_machine=np1-gould
;;
- nv1)
- basic_machine=nv1-cray
- os=-unicosmp
- ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
basic_machine=hppa1.1-oki
os=-proelf
;;
- or32 | or32-*)
+ openrisc | openrisc-*)
basic_machine=or32-unknown
- os=-coff
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
basic_machine=i586-unknown
os=-pw32
;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
sa29200)
basic_machine=a29k-amd
os=-udi
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
sei)
basic_machine=mips-sei
os=-seiux
basic_machine=sh-hitachi
os=-hms
;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
sh64)
basic_machine=sh64-unknown
;;
tower | tower-32)
basic_machine=m68k-ncr
;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
udi29k)
basic_machine=a29k-amd
os=-udi
basic_machine=hppa1.1-winbond
os=-proelf
;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
xps | xps100)
basic_machine=xps100-honeywell
;;
romp)
basic_machine=romp-ibm
;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
rs6000)
basic_machine=rs6000-ibm
;;
we32k)
basic_machine=we32k-att
;;
- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparc | sparcv9 | sparcv9b)
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
-opened*)
os=-openedition
;;
+ -os400*)
+ os=-os400
+ ;;
-wince*)
os=-wince
;;
-atheos*)
os=-atheos
;;
+ -syllable*)
+ os=-syllable
+ ;;
-386bsd)
os=-bsd
;;
-sinix*)
os=-sysv4
;;
+ -tpf*)
+ os=-tpf
+ ;;
-triton*)
os=-sysv3
;;
-kaos*)
os=-kaos
;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
-none)
;;
*)
# system, and we'll never get to this point.
case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
*-acorn)
os=-riscix1.2
;;
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
+ c4x-* | tic4x-*)
+ os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
m68*-cisco)
os=-aout
;;
+ mep-*)
+ os=-elf
+ ;;
mips*-cisco)
os=-elf
;;
*-be)
os=-beos
;;
+ *-haiku)
+ os=-haiku
+ ;;
*-ibm)
os=-aix
;;
+ *-knuth)
+ os=-mmixware
+ ;;
*-wec)
os=-proelf
;;
-mvs* | -opened*)
vendor=ibm
;;
+ -os400*)
+ vendor=ibm
+ ;;
-ptx*)
vendor=sequent
;;
+ -tpf*)
+ vendor=ibm
+ ;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
esac
echo $basic_machine$os
-exit 0
+exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
+
+
+
###############################################################################
#
-# Functions to figure out how to disable // comments in ANSI C code.
+# Check for availability of various gcc command-line options.
+#
+###############################################################################
+
+
+
+
+
+
+
+
+###############################################################################
+#
+# Function to figure out how to disable // comments in ANSI C code.
#
# (With recent gcc, this is done with "-std=c89". With older gcc, this
# is done by passing "-lang-c89" to cpp, by passing "-Wp,-lang-c89" to
{ (exit 1); exit 1; }; }
fi
-rm -f conftest$ac_cv_exeext
+rm -rf conftest$ac_cv_exeext
{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
echo "${ECHO_T}$ac_cv_exeext" >&6; }
-rm -f conftest.$ac_ext
+rm -rf conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
return 0;
}
_ACEOF
-rm -f conftest.o conftest.obj
+rm -rf conftest.o conftest.obj
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
{ (exit 1); exit 1; }; }
fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
+rm -rf conftest.$ac_cv_objext conftest.$ac_ext
fi
{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
echo "${ECHO_T}$ac_cv_objext" >&6; }
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
+ rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
rm -f core conftest.err conftest.$ac_objext
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
-rm -f conftest.$ac_ext
+rm -rf conftest.$ac_ext
CC=$ac_save_CC
fi
/* end confdefs.h. */
main(int ac, char **av) { return 0; }
_ACEOF
-rm -f conftest$ac_exeext
+rm -rf conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
echo "${ECHO_T}Turning on gcc compiler warnings." >&6; }
CC="$CC -pedantic -Wall -Wstrict-prototypes -Wnested-externs -Wmissing-prototypes"
OBJCC="$OBJCC -Wall"
- # supposedly gcc 3.4 will have "-Wdeclaration-after-statement"
- # and then perhaps we can do without -pedantic?
+ # As of gcc 3.4, we have "-Wdeclaration-after-statement"
+ # and so perhaps now we can do without -pedantic?
else
case "$host" in
*-irix5* |*-irix6.0-3* )
esac
fi
+if test -n "$GCC"; then
+ { echo "$as_me:$LINENO: checking whether gcc accepts -Wno-overlength-strings" >&5
+echo $ECHO_N "checking whether gcc accepts -Wno-overlength-strings... $ECHO_C" >&6; }
+if test "${ac_cv_gcc_accepts_no_overlength+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ rm -rf conftest.$ac_ext
+ touch conftest.$ac_ext
+ if ( ( gcc -c -Wno-overlength-strings conftest.$ac_ext -o/dev/null >/dev/null ) 2>&1 | \
+ grep unrecognized >/dev/null ); then
+ ac_cv_gcc_accepts_no_overlength=no
+ else
+ ac_cv_gcc_accepts_no_overlength=yes
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_gcc_accepts_no_overlength" >&5
+echo "${ECHO_T}$ac_cv_gcc_accepts_no_overlength" >&6; }
+ ac_gcc_accepts_no_overlength="$ac_cv_gcc_accepts_no_overlength"
+ fi
+
+if test -n "$GCC"; then
+ { echo "$as_me:$LINENO: checking whether gcc accepts -Wdeclaration-after-statement" >&5
+echo $ECHO_N "checking whether gcc accepts -Wdeclaration-after-statement... $ECHO_C" >&6; }
+if test "${ac_cv_gcc_accepts_no_decl_after+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ rm -rf conftest.$ac_ext
+ touch conftest.$ac_ext
+ if ( ( gcc -c -Wdeclaration-after-statement conftest.$ac_ext -o/dev/null >/dev/null ) 2>&1 | \
+ grep unrecognized >/dev/null ); then
+ ac_cv_gcc_accepts_no_decl_after=no
+ else
+ ac_cv_gcc_accepts_no_decl_after=yes
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_gcc_accepts_no_decl_after" >&5
+echo "${ECHO_T}$ac_cv_gcc_accepts_no_decl_after" >&6; }
+ ac_gcc_accepts_no_decl_after="$ac_cv_gcc_accepts_no_decl_after"
+ fi
+
if test -n "$GCC"; then
if test -n "$GCC"; then
- { echo "$as_me:$LINENO: checking whether gcc accepts -std" >&5
-echo $ECHO_N "checking whether gcc accepts -std... $ECHO_C" >&6; }
+ { echo "$as_me:$LINENO: checking whether gcc accepts -no-cpp-precomp" >&5
+echo $ECHO_N "checking whether gcc accepts -no-cpp-precomp... $ECHO_C" >&6; }
+if test "${ac_cv_gcc_accepts_no_cpp_precomp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ rm -rf conftest.$ac_ext
+ touch conftest.$ac_ext
+ if ( ( gcc -c -no-cpp-precomp conftest.$ac_ext -o/dev/null >/dev/null ) 2>&1 | \
+ grep unrecognized >/dev/null ); then
+ ac_cv_gcc_accepts_no_cpp_precomp=no
+ else
+ ac_cv_gcc_accepts_no_cpp_precomp=yes
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_gcc_accepts_no_cpp_precomp" >&5
+echo "${ECHO_T}$ac_cv_gcc_accepts_no_cpp_precomp" >&6; }
+ ac_gcc_accepts_no_cpp_precomp="$ac_cv_gcc_accepts_no_cpp_precomp"
+ fi
+
+ if test "$ac_gcc_accepts_no_cpp_precomp" = yes ; then
+ { echo "$as_me:$LINENO: result: Disabling Objective C extensions in ANSI C code." >&5
+echo "${ECHO_T}Disabling Objective C extensions in ANSI C code." >&6; }
+ CC="$CC -no-cpp-precomp"
+ fi
+ fi
+
+if test -n "$GCC"; then
+ if test -n "$GCC"; then
+ { echo "$as_me:$LINENO: checking whether gcc accepts -std=c89" >&5
+echo $ECHO_N "checking whether gcc accepts -std=c89... $ECHO_C" >&6; }
if test "${ac_cv_gcc_accepts_std+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- if ( ( gcc -E -std=c89 - </dev/null >/dev/null ) 2>&1 | \
+ rm -rf conftest.$ac_ext
+ touch conftest.$ac_ext
+ if ( ( gcc -c -std=c89 conftest.$ac_ext -o/dev/null >/dev/null ) 2>&1 | \
grep unrecognized >/dev/null ); then
ac_cv_gcc_accepts_std=no
else
fi
fi
-if test -n "$GCC"; then
- if test -n "$GCC"; then
- { echo "$as_me:$LINENO: checking whether gcc accepts -no-cpp-precomp" >&5
-echo $ECHO_N "checking whether gcc accepts -no-cpp-precomp... $ECHO_C" >&6; }
-if test "${ac_cv_gcc_accepts_no_cpp_precomp+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if ( ( gcc -E -no-cpp-precomp - </dev/null >/dev/null ) 2>&1 | \
- grep unrecognized >/dev/null ); then
- ac_cv_gcc_accepts_no_cpp_precomp=no
- else
- ac_cv_gcc_accepts_no_cpp_precomp=yes
- fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_gcc_accepts_no_cpp_precomp" >&5
-echo "${ECHO_T}$ac_cv_gcc_accepts_no_cpp_precomp" >&6; }
- ac_gcc_accepts_no_cpp_precomp="$ac_cv_gcc_accepts_no_cpp_precomp"
- fi
-
- if test "$ac_gcc_accepts_no_cpp_precomp" = yes ; then
- { echo "$as_me:$LINENO: result: Disabling Objective C extensions in ANSI C code." >&5
-echo "${ECHO_T}Disabling Objective C extensions in ANSI C code." >&6; }
- CC="$CC -no-cpp-precomp"
- fi
- fi
-
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
continue
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
break
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
break
fi
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
continue
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
break
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#endif
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
*)
eval ac_cv_prog_make_${ac_make}_set=no;;
esac
-rm -f conftest.make
+rm -rf conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
{ echo "$as_me:$LINENO: result: yes" >&5
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+ rm -rf conftest.in conftest.tmp conftest.nl conftest.out;;
esac
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+ rm -rf conftest.in conftest.tmp conftest.nl conftest.out;;
esac
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
else
ac_cv_header_stdc=no
fi
-rm -f conftest*
+rm -rf conftest*
fi
else
ac_cv_header_stdc=no
fi
-rm -f conftest*
+rm -rf conftest*
fi
return 0;
}
_ACEOF
-rm -f conftest$ac_exeext
+rm -rf conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
#include <$ac_header>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
$ac_includes_default
#include <$ac_header>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- rm -f conftest.$ac_objext conftest$ac_exeext
+ rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- rm -f conftest.$ac_objext conftest$ac_exeext
+ rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
$ac_includes_default
#include <$ac_header>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
done
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
fi # $ac_x_includes = no
if test "$ac_x_libraries" = no; then
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
else
ac_cv_os_cray=no
fi
-rm -f conftest*
+rm -rf conftest*
fi
{ echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return find_stack_direction () < 0;
}
_ACEOF
-rm -f conftest$ac_exeext
+rm -rf conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
$ac_includes_default
#include <$ac_header>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest$ac_exeext
+rm -rf conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
_ACEOF
fi
-rm -f conftest.mmap
+rm -rf conftest.mmap
$ac_includes_default
#include <$ac_header>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
$ac_includes_default
#include <libintl.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
$ac_includes_default
#include <linux/version.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
#include <X11/Xmu/Error.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/extensions/XScreenSaver.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/extensions/xidle.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/extensions/XSGIvc.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/extensions/dpms.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/extensions/Xinerama.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/extensions/xf86vmode.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/extensions/xf86vmode.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/extensions/Xrandr.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
{ echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
fi
-rm -f conftest*
+rm -rf conftest*
CPPFLAGS="$ac_save_CPPFLAGS"
if test "${enable_locking+set}" = set; then
enableval=$enable_locking; enable_locking="$enableval"
else
- enable_locking=yes
+ if test "$ac_macosx" = yes; then
+ # We can't lock on MacOS X, so default to not compiling in support for it.
+ # But allow --enable-locking to override that, so I can debug Linux locking
+ # under MacOS X11.
+ enable_locking=no
+ else
+ enable_locking=yes
+ fi
fi
if test "$enable_locking" = yes; then
exit 1
fi
-# We can't lock on MacOS X, so don't even bother compiling in support for it.
-#
-if test "$ac_macosx" = yes; then
- if test "$enable_locking" = yes; then
- { echo "$as_me:$LINENO: result: locking disabled: it doesn't work on MacOS X" >&5
-echo "${ECHO_T}locking disabled: it doesn't work on MacOS X" >&6; }
- enable_locking=no
- cat >>confdefs.h <<\_ACEOF
-#define NO_LOCKING 1
-_ACEOF
-
- fi
-fi
-
###############################################################################
#
true
elif test "$enable_root_passwd" != no; then
- echo "error: something wrong with root-passwd option. Check configure.in ."
+ echo "error: must be yes or no: --enable-root-passwd=$enable_root_passwd"
exit 1
fi
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
echo "${ECHO_T}$ac_cv_lib_c_sigtimedwait" >&6; }
if test $ac_cv_lib_c_sigtimedwait = yes; then
have_timedwait=yes
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_SIGTIMEDWAIT 1
+_ACEOF
+
fi
if test "$have_timedwait" = no ; then
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
{ echo "$as_me:$LINENO: result: $ac_cv_lib_rt_sigtimedwait" >&5
echo "${ECHO_T}$ac_cv_lib_rt_sigtimedwait" >&6; }
if test $ac_cv_lib_rt_sigtimedwait = yes; then
- PASSWD_LIBS="${PASSWD_LIBS} -lrt"
+ have_timedwait=yes
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_SIGTIMEDWAIT 1
+_ACEOF
+
+ PASSWD_LIBS="${PASSWD_LIBS} -lrt"
fi
fi
if test "${ac_cv_pam_strerror_args+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ if test \! -z "$includedir" ; then
+ CPPFLAGS="$CPPFLAGS -I$includedir"
+ fi
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <stdio.h>
- #include <stdlib.h>
- #include <security/pam_appl.h>
+ #include <stdlib.h>
+ #include <security/pam_appl.h>
int
main ()
{
pam_handle_t *pamh = 0;
- char *s = pam_strerror(pamh, PAM_SUCCESS);
+ char *s = pam_strerror(pamh, PAM_SUCCESS);
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- cat >conftest.$ac_ext <<_ACEOF
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ if test \! -z "$includedir" ; then
+ CPPFLAGS="$CPPFLAGS -I$includedir"
+ fi
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <stdio.h>
- #include <stdlib.h>
- #include <security/pam_appl.h>
+ #include <stdlib.h>
+ #include <security/pam_appl.h>
int
main ()
{
char *s =
- pam_strerror(PAM_SUCCESS);
+ pam_strerror(PAM_SUCCESS);
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
ac_cv_pam_strerror_args=$ac_pam_strerror_args
fi
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
fi
case "$with_login_manager_req" in
+ no)
+ with_login_manager=""
+ ;;
/*)
# absolute path
set dummy $with_login_manager_req ; login_manager_tmp=$2
#include <Xm/Xm.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <Xm/ComboBox.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
exit(0);
}
_ACEOF
-rm -f conftest$ac_exeext
+rm -rf conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
fi
{ echo "$as_me:$LINENO: result: $ac_cv_lesstif_version_string" >&5
echo "${ECHO_T}$ac_cv_lesstif_version_string" >&6; }
- rm -f conftest-lt
+ rm -rf conftest-lt
lesstif_version=$ac_cv_lesstif_version
lesstif_version_string=$ac_cv_lesstif_version_string
exit(0);
}
_ACEOF
-rm -f conftest$ac_exeext
+rm -rf conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
fi
{ echo "$as_me:$LINENO: result: $ac_cv_motif_version_string" >&5
echo "${ECHO_T}$ac_cv_motif_version_string" >&6; }
- rm -f conftest-mt
+ rm -rf conftest-mt
motif_version=$ac_cv_motif_version
motif_version_string=$ac_cv_motif_version_string
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
$ac_includes_default
#include <GL/gl.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
#include <GL/glx.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
$EGREP "Mesa|MESA" >/dev/null 2>&1; then
ac_cv_have_mesa_gl=yes
fi
-rm -f conftest*
+rm -rf conftest*
CPPFLAGS="$ac_save_CPPFLAGS"
fi
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat > conftest.$ac_ext <<EOF
-#line 16599 "configure"
+#line 16680 "configure"
#include "confdefs.h"
#include <GL/gl.h>
#ifndef MESA_MAJOR_VERSION
's/^configure: *\([0-9][0-9]*\) *\([0-9].*\)$/\1.\2/p'`
- rm -f conftest.$ac_ext
+ rm -rf conftest.$ac_ext
CPPFLAGS="$ac_save_CPPFLAGS"
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <GL/gle.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <GL/gutil.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <GL/tube.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
$ac_includes_default
#include <gdk-pixbuf/gdk-pixbuf.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
$ac_includes_default
#include <gdk-pixbuf/gdk-pixbuf-xlib.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
$ac_includes_default
#include <gdk-pixbuf-xlib/gdk-pixbuf-xlib.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/xpm.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
$ac_includes_default
#include <jpeglib.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
$ac_includes_default
#include <$ac_header>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/extensions/XShm.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
$ac_includes_default
#include <sys/ipc.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
$ac_includes_default
#include <sys/shm.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -rf conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/extensions/Xdbe.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
#include <X11/extensions/readdisplay.h>
_ACEOF
-rm -f conftest.$ac_objext
+rm -rf conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
+ rm -rf conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
# Transform confdefs.h into a sed script `conftest.defines', that
# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
+rm -rf conftest.defines conftest.tail
# First, append a space to every undef/define line, to ease matching.
echo 's/$/ /' >conftest.defines
# Then, protect against being on the right side of a sed subst, or in
ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
grep . conftest.tail >/dev/null || break
- rm -f conftest.defines
+ rm -rf conftest.defines
mv conftest.tail conftest.defines
done
-rm -f conftest.defines conftest.tail
+rm -rf conftest.defines conftest.tail
echo "ac_result=$ac_in" >>$CONFIG_STATUS
cat >>$CONFIG_STATUS <<\_ACEOF
warn 'Use of shadow passwords was requested, but they were not found.'
fi
+if test "$ac_macosx" = yes ; then
+ if test "$enable_locking" = yes ; then
+ warn "You have specified --enable-locking on MacOS X."
+ warn2 "THIS DOES NOT WORK! Don't do this!"
+ fi
+fi
+
# You are in a twisty maze of namespaces and syntaxes, all alike.
# Fuck the skull of Unix.
#
bindir=`eval eval eval eval eval eval eval echo $bindir`
HACKDIR=`eval eval eval eval eval eval eval echo $HACKDIR`
-HACKDIR_CONF_DIR=`eval eval eval eval eval eval eval echo $HACKDIR_CONF_DIR`
+HACK_CONF_DIR=`eval eval eval eval eval eval eval echo $HACK_CONF_DIR`
# canonicalize slashes.
bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'`
[Define if you have PAM and pam_strerror() requires two
arguments.])
+AH_TEMPLATE([HAVE_SIGTIMEDWAIT],
+ [Define to 1 if you have the `sigtimedwait' function.])
+
AH_TEMPLATE([HAVE_SHADOW_PASSWD],
[Define this if your system uses 'shadow' passwords, that is, the
passwords live in /etc/shadow instead of /etc/passwd, and one
AC_MSG_RESULT(Turning on gcc compiler warnings.)
CC="$CC -pedantic -Wall -Wstrict-prototypes -Wnested-externs -Wmissing-prototypes"
OBJCC="$OBJCC -Wall"
- # supposedly gcc 3.4 will have "-Wdeclaration-after-statement"
- # and then perhaps we can do without -pedantic?
+ # As of gcc 3.4, we have "-Wdeclaration-after-statement"
+ # and so perhaps now we can do without -pedantic?
else
case "$host" in
*-irix5* |*-irix6.[0-3]* )
###############################################################################
#
-# Functions to figure out how to disable // comments in ANSI C code.
+# Check for availability of various gcc command-line options.
+#
+###############################################################################
+
+AC_DEFUN(AC_CHECK_GCC_ARG,
+ [if test -n "$GCC"; then
+ AC_CACHE_CHECK([whether gcc accepts [$2]],
+ ac_cv_gcc_accepts_[$1],
+ [rm -rf conftest.$ac_ext
+ touch conftest.$ac_ext
+ if ( ( gcc -c [$2] conftest.$ac_ext -o/dev/null >/dev/null ) 2>&1 | \
+ grep unrecognized >/dev/null ); then
+ ac_cv_gcc_accepts_[$1]=no
+ else
+ ac_cv_gcc_accepts_[$1]=yes
+ fi])
+ ac_gcc_accepts_[$1]="$ac_cv_gcc_accepts_[$1]"
+ fi
+])
+
+AC_DEFUN(AC_NO_LONG_STRING_WARNINGS,
+ [AC_CHECK_GCC_ARG(no_overlength, -Wno-overlength-strings)])
+
+AC_DEFUN(AC_NO_MISPLACED_DECLARATIONS,
+ [AC_CHECK_GCC_ARG(no_decl_after, -Wdeclaration-after-statement)])
+
+
+###############################################################################
+#
+# Function to figure out how to disable // comments in ANSI C code.
#
# (With recent gcc, this is done with "-std=c89". With older gcc, this
# is done by passing "-lang-c89" to cpp, by passing "-Wp,-lang-c89" to
###############################################################################
AC_DEFUN(AC_GCC_ACCEPTS_STD,
- [if test -n "$GCC"; then
- AC_CACHE_CHECK([whether gcc accepts -std],
- ac_cv_gcc_accepts_std,
- [if ( ( gcc -E -std=c89 - </dev/null >/dev/null ) 2>&1 | \
- grep unrecognized >/dev/null ); then
- ac_cv_gcc_accepts_std=no
- else
- ac_cv_gcc_accepts_std=yes
- fi])
- ac_gcc_accepts_std="$ac_cv_gcc_accepts_std"
- fi
-])
+ [AC_CHECK_GCC_ARG(std, -std=c89)])
AC_DEFUN(AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE,
[if test -n "$GCC"; then
###############################################################################
AC_DEFUN(AC_GCC_ACCEPTS_NO_CPP_PRECOMP,
- [if test -n "$GCC"; then
- AC_CACHE_CHECK([whether gcc accepts -no-cpp-precomp],
- ac_cv_gcc_accepts_no_cpp_precomp,
- [if ( ( gcc -E -no-cpp-precomp - </dev/null >/dev/null ) 2>&1 | \
- grep unrecognized >/dev/null ); then
- ac_cv_gcc_accepts_no_cpp_precomp=no
- else
- ac_cv_gcc_accepts_no_cpp_precomp=yes
- fi])
- ac_gcc_accepts_no_cpp_precomp="$ac_cv_gcc_accepts_no_cpp_precomp"
- fi
-])
+ [AC_CHECK_GCC_ARG(no_cpp_precomp, -no-cpp-precomp)])
AC_DEFUN(AC_NO_OBJECTIVE_C,
[if test -n "$GCC"; then
# random compiler setup
AC_CANONICAL_HOST
AC_PROG_CC_ANSI
-AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE
+AC_NO_LONG_STRING_WARNINGS
+AC_NO_MISPLACED_DECLARATIONS
AC_NO_OBJECTIVE_C
+AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE
AC_PROG_CPP
AC_C_CONST
AC_C_INLINE
AC_ARG_ENABLE(locking,[Screen locking options:
--enable-locking Compile in support for locking the display.
--disable-locking Do not allow locking at all.],
- [enable_locking="$enableval"],[enable_locking=yes])
+ [enable_locking="$enableval"],
+ [if test "$ac_macosx" = yes; then
+ # We can't lock on MacOS X, so default to not compiling in support for it.
+ # But allow --enable-locking to override that, so I can debug Linux locking
+ # under MacOS X11.
+ enable_locking=no
+ else
+ enable_locking=yes
+ fi])
if test "$enable_locking" = yes; then
true
elif test "$enable_locking" = no; then
exit 1
fi
-# We can't lock on MacOS X, so don't even bother compiling in support for it.
-#
-if test "$ac_macosx" = yes; then
- if test "$enable_locking" = yes; then
- AC_MSG_RESULT(locking disabled: it doesn't work on MacOS X)
- enable_locking=no
- AC_DEFINE(NO_LOCKING)
- fi
-fi
-
###############################################################################
#
AC_DEFINE(ALLOW_ROOT_PASSWD)
true
elif test "$enable_root_passwd" != no; then
- echo "error: something wrong with root-passwd option. Check configure.in ."
+ echo "error: must be yes or no: --enable-root-passwd=$enable_root_passwd"
exit 1
fi
# On Linux, sigtimedwait() is in libc; on Solaris, it's in librt.
have_timedwait=no
- AC_CHECK_LIB(c, sigtimedwait, [have_timedwait=yes])
+ AC_CHECK_LIB(c, sigtimedwait,
+ [have_timedwait=yes
+ AC_DEFINE(HAVE_SIGTIMEDWAIT)])
if test "$have_timedwait" = no ; then
- AC_CHECK_LIB(rt, sigtimedwait, [PASSWD_LIBS="${PASSWD_LIBS} -lrt"])
+ AC_CHECK_LIB(rt, sigtimedwait, [have_timedwait=yes
+ AC_DEFINE(HAVE_SIGTIMEDWAIT)
+ PASSWD_LIBS="${PASSWD_LIBS} -lrt"])
fi
AC_MSG_CHECKING(how to call pam_strerror)
AC_CACHE_VAL(ac_cv_pam_strerror_args,
- [AC_TRY_COMPILE([#include <stdio.h>
- #include <stdlib.h>
- #include <security/pam_appl.h>],
- [pam_handle_t *pamh = 0;
- char *s = pam_strerror(pamh, PAM_SUCCESS);],
- [ac_pam_strerror_args=2],
- [AC_TRY_COMPILE([#include <stdio.h>
- #include <stdlib.h>
- #include <security/pam_appl.h>],
- [char *s =
- pam_strerror(PAM_SUCCESS);],
- [ac_pam_strerror_args=1],
- [ac_pam_strerror_args=0])])
+ [AC_TRY_X_COMPILE([#include <stdio.h>
+ #include <stdlib.h>
+ #include <security/pam_appl.h>],
+ [pam_handle_t *pamh = 0;
+ char *s = pam_strerror(pamh, PAM_SUCCESS);],
+ [ac_pam_strerror_args=2],
+ [AC_TRY_X_COMPILE([#include <stdio.h>
+ #include <stdlib.h>
+ #include <security/pam_appl.h>],
+ [char *s =
+ pam_strerror(PAM_SUCCESS);],
+ [ac_pam_strerror_args=1],
+ [ac_pam_strerror_args=0])])
ac_cv_pam_strerror_args=$ac_pam_strerror_args])
ac_pam_strerror_args=$ac_cv_pam_strerror_args
if test "$ac_pam_strerror_args" = 1 ; then
fi
case "$with_login_manager_req" in
+ no)
+ with_login_manager=""
+ ;;
/*)
# absolute path
set dummy $with_login_manager_req ; login_manager_tmp=$2
warn 'Use of shadow passwords was requested, but they were not found.'
fi
+if test "$ac_macosx" = yes ; then
+ if test "$enable_locking" = yes ; then
+ warn "You have specified --enable-locking on MacOS X."
+ warn2 "THIS DOES NOT WORK! Don't do this!"
+ fi
+fi
+
# You are in a twisty maze of namespaces and syntaxes, all alike.
# Fuck the skull of Unix.
#
bindir=`eval eval eval eval eval eval eval echo $bindir`
HACKDIR=`eval eval eval eval eval eval eval echo $HACKDIR`
-HACKDIR_CONF_DIR=`eval eval eval eval eval eval eval echo $HACKDIR_CONF_DIR`
+HACK_CONF_DIR=`eval eval eval eval eval eval eval echo $HACK_CONF_DIR`
# canonicalize slashes.
bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'`
find $(srcdir) -name '*.[chly]' -print | xargs etags -a
echo_tarfiles:
- @$(MAKE) XScreenSaver_ad.h XScreenSaver_Xm_ad.h 2>&1 >&/dev/null
+ @$(MAKE) XScreenSaver_ad.h XScreenSaver_Xm_ad.h 2>&1 >/dev/null
@echo $(TARFILES)
check_men:
lock.o: $(UTILS_SRC)/resources.h
lock.o: $(srcdir)/xscreensaver.h
mlstring.o: $(srcdir)/mlstring.h
+passwd.o: $(srcdir)/auth.h
passwd.o: ../config.h
+passwd.o: $(srcdir)/prefs.h
+passwd.o: $(srcdir)/types.h
+passwd.o: $(srcdir)/xscreensaver.h
passwd-pwent.o: ../config.h
prefs.o: ../config.h
prefs.o: $(srcdir)/prefs.h
! a screen saver and locker for the X window system
! by Jamie Zawinski
!
-! version 5.04
-! 13-Nov-2007
+! version 5.05
+! 01-Mar-2008
!
! See "man xscreensaver" for more info. The latest version is always
! available at http://www.jwz.org/xscreensaver/
cwaves -root \n\
m6502 -root \n\
abstractile -root \n\
+- lcdscrub -root \n\
- default-n: webcollage -root \n\
- default-n: "WebCollage (whacked)" \
webcollage -root -filter \
@GL_KLUDGE@ GL: voronoi -root \n\
@GL_KLUDGE@ GL: moebiusgears -root \n\
@GL_KLUDGE@ GL: lockward -root \n\
+@GL_KLUDGE@ GL: cubicgrid -root \n\
+@GL_KLUDGE@ GL: hypnowheel -root \n\
+@GL_KLUDGE@ GL: "Hypnowheel (dense)" hypnowheel -root -count 3 -layers 50 \n\
+@GL_KLUDGE@ GL: "Hypnowheel (trifoil)" hypnowheel -root -count 3 -layers 2 -speed 9 -twist 9 -wander \n\
\
- xdaliclock -root -font BUILTIN3 \n\
- xplanet -vroot -wait 1 -timewarp 90000 \
*passwd.uname: True
*splash.heading.label: XScreenSaver %s
-*splash.body.label: Copyright © 1991-2006 by
+*splash.body.label: Copyright © 1991-2008 by
*splash.body2.label: Jamie Zawinski <jwz@jwz.org>
*splash.demo.label: Settings
*splash.help.label: Help
*hacks.glschool.name: GLSchool
*hacks.glcells.name: GLCells
*hacks.moebiusgears.name: MoebiusGears
+*hacks.cubicgrid.name: CubicGrid
+*hacks.lcdscrub.name: LCDscrub
! obsolete, but still used by xscreensaver-demo-Xm.
*hacks.documentation.isInstalled: True
cwaves -root \\n\
m6502 -root \\n\
abstractile -root \\n\
+- lcdscrub -root \\n\
- default-n: webcollage -root \\n\
- default-n: \"WebCollage (whacked)\" \
webcollage -root -filter \
GL: voronoi -root \\n\
GL: moebiusgears -root \\n\
GL: lockward -root \\n\
+ GL: cubicgrid -root \\n\
+ GL: hypnowheel -root \\n\
+ GL: \"Hypnowheel (dense)\" hypnowheel -root -count 3 -layers 50 \\n\
+ GL: \"Hypnowheel (trifoil)\" hypnowheel -root -count 3 -layers 2 -speed 9 -twist 9 -wander \\n\
\
- xdaliclock -root -font BUILTIN3 \\n\
- xplanet -vroot -wait 1 -timewarp 90000 \
"*passwd.asterisks: True",
"*passwd.uname: True",
"*splash.heading.label: XScreenSaver %s",
-"*splash.body.label: Copyright © 1991-2006 by",
+"*splash.body.label: Copyright © 1991-2008 by",
"*splash.body2.label: Jamie Zawinski <jwz@jwz.org>",
"*splash.demo.label: Settings",
"*splash.help.label: Help",
"*hacks.glschool.name: GLSchool",
"*hacks.glcells.name: GLCells",
"*hacks.moebiusgears.name: MoebiusGears",
+"*hacks.cubicgrid.name: CubicGrid",
+"*hacks.lcdscrub.name: LCDscrub",
"*hacks.documentation.isInstalled: True",
/* demo-Gtk.c --- implements the interactive demo-mode and options dialogs.
- * xscreensaver, Copyright (c) 1993-2007 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1993-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
look as good in the plain-old default Latin1 "C" locale.)
*/
#ifdef HAVE_GTK2
- sprintf(copy, ("Copyright \xC2\xA9 1991-2006 %s"), s);
+ sprintf(copy, ("Copyright \xC2\xA9 1991-2008 %s"), s);
#else /* !HAVE_GTK2 */
- sprintf(copy, ("Copyright \251 1991-2006 %s"), s);
+ sprintf(copy, ("Copyright \251 1991-2008 %s"), s);
#endif /* !HAVE_GTK2 */
sprintf (msg, "%s\n\n%s", copy, desc);
the length ISO C89 compilers are required to
support" in the following expression... */
# endif
- strcat (buf,
+ strcat (buf, STFU
_("You are running as root. This usually means that xscreensaver\n"
"was unable to contact your X server because access control is\n"
"turned on. Try running this command:\n"
if (!was) gtk_widget_set_sensitive (parent, True);
#ifdef HAVE_GTK2
model = gtk_tree_view_get_model (GTK_TREE_VIEW (list));
- STFU g_assert (model);
+ g_assert (model);
if (gtk_tree_model_iter_nth_child (model, &iter, NULL, list_elt))
{
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (list));
the .ad file... */
#endif
+STFU
static char *defaults[] = {
#include "XScreenSaver_ad.h"
0
#ifndef NO_LOCKING /* (mostly) whole file */
-#ifdef HAVE_SYSLOG
-# include <syslog.h>
-#endif /* HAVE_SYSLOG */
-
#ifdef HAVE_XHPDISABLERESET
# include <X11/XHPlib.h>
static void hp_lock_reset (saver_info *si, Bool lock_p);
char *date_label;
char *passwd_string;
Bool passwd_changed_p; /* Whether the user entry field needs redrawing */
+ Bool caps_p; /* Whether we saw a keypress with caps-lock on */
char *unlock_label;
char *login_label;
char *uname_label;
pw->passwd_cursor = XCreateFontCursor (si->dpy, XC_top_left_arrow);
pw->prompt_screen = ssi;
- if (si->prefs.verbose_p)
- fprintf (stderr, "%s: %d: creating password dialog.\n",
- blurb(), pw->prompt_screen->number);
screen = pw->prompt_screen->screen;
cmap = DefaultColormapOfScreen (screen);
pw->prompt_screen = ssi;
if (si->prefs.verbose_p)
- fprintf (stderr, "%s: %d: creating password dialog.\n",
- blurb(), pw->prompt_screen->number);
+ fprintf (stderr, "%s: %d: creating password dialog (\"%s\")\n",
+ blurb(), pw->prompt_screen->number,
+ info_msg ? info_msg : "");
screen = pw->prompt_screen->screen;
cmap = DefaultColormapOfScreen (screen);
if (si->passwd_dialog)
{
+ if (si->prefs.verbose_p)
+ fprintf (stderr, "%s: %d: destroying password dialog.\n",
+ blurb(), pw->prompt_screen->number);
+
XDestroyWindow (si->dpy, si->passwd_dialog);
si->passwd_dialog = 0;
}
saver_preferences *p = &si->prefs;
char *msg = 0;
XEvent event;
- unsigned int caps_p = 0;
passwd_animate_timer ((XtPointer) si, 0);
else if (event.xany.type == KeyPress)
{
handle_passwd_key (si, &event.xkey);
- caps_p = (event.xkey.state & LockMask);
+ si->pw_data->caps_p = (event.xkey.state & LockMask);
}
else if (event.xany.type == ButtonPress ||
event.xany.type == ButtonRelease)
default: msg = 0; break;
}
- if (si->unlock_state == ul_fail)
- si->unlock_failures++;
-
if (p->verbose_p)
- switch (si->unlock_state)
- {
- case ul_fail:
- fprintf (stderr, "%s: auth/input incorrect!%s\n", blurb(),
- (caps_p ? " (CapsLock)" : ""));
- break;
- case ul_cancel:
- fprintf (stderr, "%s: input cancelled.\n", blurb()); break;
- case ul_time:
- fprintf (stderr, "%s: input timed out.\n", blurb()); break;
- case ul_finished:
- fprintf (stderr, "%s: input finished.\n", blurb()); break;
- default: break;
- }
-
-#ifdef HAVE_SYSLOG
- if (si->unlock_state == ul_fail)
- {
- /* If they typed a password (as opposed to just hitting return) and
- the password was invalid, log it.
- */
- struct passwd *pw = getpwuid (getuid ());
- char *d = DisplayString (si->dpy);
- char *u = (pw && pw->pw_name ? pw->pw_name : "???");
- int opt = 0;
- int fac = 0;
-
-# ifdef LOG_PID
- opt = LOG_PID;
-# endif
-
-# if defined(LOG_AUTHPRIV)
- fac = LOG_AUTHPRIV;
-# elif defined(LOG_AUTH)
- fac = LOG_AUTH;
-# else
- fac = LOG_DAEMON;
-# endif
-
- if (!d) d = "";
- openlog (progname, opt, fac);
- syslog (LOG_NOTICE, "FAILED LOGIN %d ON DISPLAY \"%s\", FOR \"%s\"",
- si->unlock_failures, d, u);
- closelog ();
- }
-#endif /* HAVE_SYSLOG */
-
- if (si->unlock_state == ul_fail)
- XBell (si->dpy, False);
-
- if (si->unlock_state == ul_success && si->unlock_failures != 0)
- {
- if (si->unlock_failures == 1)
- fprintf (real_stderr,
- "%s: WARNING: 1 failed attempt to unlock the screen.\n",
- blurb());
- else
- fprintf (real_stderr,
- "%s: WARNING: %d failed attempts to unlock the screen.\n",
- blurb(), si->unlock_failures);
- fflush (real_stderr);
-
- si->unlock_failures = 0;
+ switch (si->unlock_state) {
+ case ul_cancel:
+ fprintf (stderr, "%s: input cancelled.\n", blurb()); break;
+ case ul_time:
+ fprintf (stderr, "%s: input timed out.\n", blurb()); break;
+ case ul_finished:
+ fprintf (stderr, "%s: input finished.\n", blurb()); break;
+ default: break;
}
if (msg)
void
auth_finished_cb (saver_info *si)
{
- if (si->unlock_state == ul_fail)
- {
- make_passwd_window (si, "Authentication failed!", NULL, True);
- sleep (2); /* Not very nice, I know */
+ char buf[1024];
+ const char *s;
- /* Swallow any keyboard or mouse events that were received while the
- * dialog was up */
- {
- XEvent e;
- long mask = (KeyPressMask | KeyReleaseMask |
- ButtonPressMask | ButtonReleaseMask);
- while (XCheckMaskEvent (si->dpy, mask, &e))
- ;
- }
+ /* If we have something to say, put the dialog back up for a few seconds
+ to display it. Otherwise, don't bother.
+ */
+
+ if (si->unlock_state == ul_fail && /* failed with caps lock on */
+ si->pw_data && si->pw_data->caps_p)
+ s = "Authentication failed (Caps Lock?)";
+ else if (si->unlock_state == ul_fail) /* failed without caps lock */
+ s = "Authentication failed!";
+ else if (si->unlock_state == ul_success && /* good, but report failures */
+ si->unlock_failures > 0)
+ {
+ if (si->unlock_failures == 1)
+ s = "There has been\n1 failed login attempt.";
+ else
+ {
+ sprintf (buf, "There have been\n%d failed login attempts.",
+ si->unlock_failures);
+ s = buf;
+ }
+ si->unlock_failures = 0;
}
+ else /* good, with no failures, */
+ goto END; /* or timeout, or cancel. */
+
+ make_passwd_window (si, s, NULL, True);
+ XSync (si->dpy, False);
+ {
+ int secs = 4;
+ time_t start = time ((time_t *) 0);
+ XEvent event;
+ while (time ((time_t *) 0) < start + secs)
+ if (XPending (si->dpy))
+ {
+ XNextEvent (si->dpy, &event);
+ if (event.xany.window == si->passwd_dialog &&
+ event.xany.type == Expose)
+ draw_passwd_window (si);
+ else if (event.xany.type == ButtonPress ||
+ event.xany.type == ButtonRelease)
+ break;
+ XSync (si->dpy, False);
+ }
+ else
+ usleep (250000); /* 1/4 second */
+ }
+
+ END:
if (si->pw_data)
destroy_passwd_window (si);
}
raise_window (si, True, True, True);
- if (p->verbose_p)
- fprintf (stderr, "%s: prompting for password.\n", blurb());
-
xss_authenticate(si, p->verbose_p);
return (si->unlock_state == ul_success);
/* passwd-pam.c --- verifying typed passwords with PAM
* (Pluggable Authentication Modules.)
* written by Bill Nottingham <notting@redhat.com> (and jwz) for
- * xscreensaver, Copyright (c) 1993-2003 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1993-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
PAM_NO_DELAY(pamh);
+ if (verbose_p)
+ fprintf (stderr, "%s: pam_authenticate (...) ...\n", blurb());
+
timeout.tv_sec = 0;
timeout.tv_nsec = 1;
set = block_sigchld();
status = pam_authenticate (pamh, 0);
+# ifdef HAVE_SIGTIMEDWAIT
sigtimedwait (&set, NULL, &timeout);
+ /* #### What is the portable thing to do if we don't have it? */
+# endif /* HAVE_SIGTIMEDWAIT */
unblock_sigchld();
if (verbose_p)
(status2 == PAM_SUCCESS ? "Success" : "Failure"));
}
- si->unlock_state = (status == PAM_SUCCESS) ? ul_success : ul_fail;
+ if (status == PAM_SUCCESS)
+ si->unlock_state = ul_success; /* yay */
+ else if (si->unlock_state == ul_cancel ||
+ si->unlock_state == ul_time)
+ ; /* more specific failures ok */
+ else
+ si->unlock_state = ul_fail; /* generic failure */
}
struct auth_response *authresp = 0;
struct pam_response *pam_responses;
saver_info *si = (saver_info *) vsaver_info;
+ Bool verbose_p;
/* On SunOS 5.6, the `closure' argument always comes in as random garbage. */
si = (saver_info *) suns_pam_implementation_blows;
+ verbose_p = si->prefs.verbose_p;
+
/* Converting the PAM prompts into the XScreenSaver native format.
* It was a design goal to collapse (INFO,PROMPT) pairs from PAM
* into a single call to the unlock_cb function. The unlock_cb function
if (!pam_responses || !messages)
goto end;
+ if (verbose_p)
+ fprintf (stderr, "%s: pam_conversation (", blurb());
+
for (i = 0; i < nmsgs; ++i)
{
+ if (verbose_p && i > 0) fprintf (stderr, ", ");
+
messages[i].msg = msg[i]->msg;
- /* Default fallback of PROMPT_ECHO */
- messages[i].type =
- msg[i]->msg_style == PAM_PROMPT_ECHO_OFF
- ? AUTH_MSGTYPE_PROMPT_NOECHO
- : msg[i]->msg_style == PAM_PROMPT_ECHO_ON
- ? AUTH_MSGTYPE_PROMPT_ECHO
- : msg[i]->msg_style == PAM_ERROR_MSG
- ? AUTH_MSGTYPE_ERROR
- : msg[i]->msg_style == PAM_TEXT_INFO
- ? AUTH_MSGTYPE_INFO
- : AUTH_MSGTYPE_PROMPT_ECHO;
+ switch (msg[i]->msg_style) {
+ case PAM_PROMPT_ECHO_OFF: messages[i].type = AUTH_MSGTYPE_PROMPT_NOECHO;
+ if (verbose_p) fprintf (stderr, "ECHO_OFF");
+ break;
+ case PAM_PROMPT_ECHO_ON: messages[i].type = AUTH_MSGTYPE_PROMPT_ECHO;
+ if (verbose_p) fprintf (stderr, "ECHO_ON");
+ break;
+ case PAM_ERROR_MSG: messages[i].type = AUTH_MSGTYPE_ERROR;
+ if (verbose_p) fprintf (stderr, "ERROR_MSG");
+ break;
+ case PAM_TEXT_INFO: messages[i].type = AUTH_MSGTYPE_INFO;
+ if (verbose_p) fprintf (stderr, "TEXT_INFO");
+ break;
+ default: messages[i].type = AUTH_MSGTYPE_PROMPT_ECHO;
+ if (verbose_p) fprintf (stderr, "PROMPT_ECHO");
+ break;
+ }
+
+ if (verbose_p)
+ fprintf (stderr, "=\"%s\"", msg[i]->msg ? msg[i]->msg : "(null)");
}
+ if (verbose_p)
+ fprintf (stderr, ") ...\n");
+
ret = si->unlock_cb(nmsgs, messages, &authresp, si);
if (ret == 0)
if (authresp)
free(authresp);
+ if (verbose_p)
+ fprintf (stderr, "%s: pam_conversation (...) ==> %s\n", blurb(),
+ (ret == 0 ? "PAM_SUCCESS" : "PAM_CONV_ERR"));
+
if (ret == 0)
{
*resp = pam_responses;
# include <unistd.h>
#endif
+#ifndef VMS
+# include <pwd.h> /* for getpwuid() */
+#else /* VMS */
+# include "vms-pwd.h"
+#endif /* VMS */
+
+#ifdef HAVE_SYSLOG
+# include <syslog.h>
+#endif /* HAVE_SYSLOG */
+
#include <X11/Intrinsic.h>
+#include "xscreensaver.h"
#include "auth.h"
extern const char *blurb(void);
memset(&message, 0, sizeof(message));
+ if (verbose_p)
+ fprintf(stderr, "%s: non-PAM password auth.\n", blurb());
+
/* Call the auth_conv function with "Password:", then feed
* the result into valid_p()
*/
if (!response)
return;
- si->unlock_state = valid_p(response->response, verbose_p) ? ul_success : ul_fail;
+ if (valid_p (response->response, verbose_p))
+ si->unlock_state = ul_success; /* yay */
+ else if (si->unlock_state == ul_cancel ||
+ si->unlock_state == ul_time)
+ ; /* more specific failures ok */
+ else
+ si->unlock_state = ul_fail; /* generic failure */
if (response->response)
free(response->response);
}
+/* Write a password failure to the system log.
+ */
+static void
+do_syslog (saver_info *si, Bool verbose_p)
+{
+# ifdef HAVE_SYSLOG
+ struct passwd *pw = getpwuid (getuid ());
+ char *d = DisplayString (si->dpy);
+ char *u = (pw && pw->pw_name ? pw->pw_name : "???");
+ int opt = 0;
+ int fac = 0;
+
+# ifdef LOG_PID
+ opt = LOG_PID;
+# endif
+
+# if defined(LOG_AUTHPRIV)
+ fac = LOG_AUTHPRIV;
+# elif defined(LOG_AUTH)
+ fac = LOG_AUTH;
+# else
+ fac = LOG_DAEMON;
+# endif
+
+ if (!d) d = "";
+
+# undef FMT
+# define FMT "FAILED LOGIN %d ON DISPLAY \"%s\", FOR \"%s\""
+
+ if (verbose_p)
+ fprintf (stderr, "%s: syslog: " FMT "\n", blurb(),
+ si->unlock_failures, d, u);
+
+ openlog (progname, opt, fac);
+ syslog (LOG_NOTICE, FMT, si->unlock_failures, d, u);
+ closelog ();
+
+# endif /* HAVE_SYSLOG */
+}
+
+
+
/**
* Runs through each authentication driver calling its try_unlock function.
* Called xss_authenticate() because AIX beat us to the name authenticate().
if (verbose_p)
fprintf(stderr, "%s: All authentication mechanisms failed.\n", blurb());
+ if (si->unlock_state == ul_fail)
+ {
+ si->unlock_failures++;
+ do_syslog (si, verbose_p);
+ }
+
DONE:
if (si->auth_finished_cb)
si->auth_finished_cb (si);
[Desktop Entry]
Exec=xscreensaver-demo
-Icon=xscreensaver.xpm
+Icon=xscreensaver
Terminal=false
_Name=Screensaver
_Comment=Change screensaver properties
Type=Application
-Categories=Application;Settings;Appearance;AdvancedSettings;
+Categories=Settings;DesktopSettings;Security;
/* subprocs.c --- choosing, spawning, and killing screenhacks.
- * xscreensaver, Copyright (c) 1991-2007 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1991-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
execvp (av[0], av); /* shouldn't return. */
- if (errno != ENOENT || si->prefs.verbose_p)
+ if (errno != ENOENT /* || si->prefs.verbose_p */ )
{
- /* Ignore "no such file or directory" errors, unless verbose.
+ /* Ignore "no such file or directory" errors.
Issue all other exec errors, though. */
sprintf (buf, "%s: running %s", blurb(), av[0]);
perror (buf);
if (which == PASS)
{
si->unlock_cb = gui_auth_conv;
+ si->auth_finished_cb = auth_finished_cb;
xss_authenticate(si, True);
fprintf (stderr, "%s: authentication FAILED!\n", progname);
XSync(si->dpy, False);
+ fprintf (stderr, "\n######################################\n\n");
sleep (3);
}
else
/* timers.c --- detecting when the user is idle, and other timer-related tasks.
- * xscreensaver, Copyright (c) 1991-2004 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1991-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
f = fopen (PROC_INTERRUPTS, "r");
if (!f)
- return False;
+ {
+ if (why) *why = "does not exist";
+ return False;
+ }
fclose (f);
return True;
/* windows.c --- turning the screen black; dealing with visuals, virtual roots.
- * xscreensaver, Copyright (c) 1991-2007 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1991-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
{
target_x = ssi->x;
target_y = ssi->y;
+ which = ssi->number;
}
/* Find the Xinerama rectangle that contains the mouse position. */
for (i = 0; i < si->nscreens; i++)
{
- if (target_x >= si->screens[i].x &&
+ if (which == -1 &&
+ target_x >= si->screens[i].x &&
target_y >= si->screens[i].y &&
target_x < si->screens[i].x + si->screens[i].width &&
target_y < si->screens[i].y + si->screens[i].height)
-/* xscreensaver-command, Copyright (c) 1991-2004 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver-command, Copyright (c) 1991-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
usage: %s -<option>\n\
\n\
This program provides external control of a running xscreensaver process.\n\
- Version %s, copyright (c) 1991-2006 Jamie Zawinski <jwz@jwz.org>.\n\
+ Version %s, copyright (c) 1991-2008 Jamie Zawinski <jwz@jwz.org>.\n\
\n\
The xscreensaver program is a daemon that runs in the background.\n\
You control a running xscreensaver process by sending it messages\n\
# Created: 20-Oct-2003.
require 5;
-use diagnostics;
+#use diagnostics; # Fails on some MacOS 10.5 systems
use strict;
my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.3 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $version = q{ $Revision: 1.4 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
my @grabber = ("screencapture", "-x");
my @converter = ("pdf2jpeg");
#!/usr/bin/perl -w
-# Copyright © 2001-2006 Jamie Zawinski <jwz@jwz.org>.
+# Copyright © 2001-2008 Jamie Zawinski <jwz@jwz.org>.
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# Created: 12-Apr-01.
require 5;
-use diagnostics;
+#use diagnostics; # Fails on some MacOS 10.5 systems
use strict;
use POSIX;
# errors about UTF-8 all over the place without this.
my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.25 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $version = q{ $Revision: 1.26 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
my $verbose = 0;
#!/usr/bin/perl -w
-# Copyright © 2001-2007 Jamie Zawinski <jwz@jwz.org>.
+# Copyright © 2001-2008 Jamie Zawinski <jwz@jwz.org>.
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# Created: 13-Apr-2001.
require 5;
-use diagnostics;
+#use diagnostics; # Fails on some MacOS 10.5 systems
use strict;
my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.17 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $version = q{ $Revision: 1.18 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
my $tmpdir = $ENV{TMPDIR} || "/tmp";
my $tmpfile = sprintf("%s/xssv.%08x.ppm", $tmpdir, rand(0xFFFFFFFF));
#!/usr/bin/perl -w
-# Copyright © 2005, 2006 Jamie Zawinski <jwz@jwz.org>
+# Copyright © 2005-2008 Jamie Zawinski <jwz@jwz.org>
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# Created: 19-Mar-2005.
require 5;
-use diagnostics;
+#use diagnostics; # Fails on some MacOS 10.5 systems
use strict;
+
use Socket;
use POSIX qw(strftime);
use Text::Wrap qw(wrap);
use bytes;
my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.14 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $version = q{ $Revision: 1.15 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
my $verbose = 0;
my $http_proxy = undef;
-/* xscreensaver, Copyright (c) 1991-2007 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1991-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
fflush (stdout);
fflush (stderr);
fprintf (stdout, "\
-xscreensaver %s, copyright (c) 1991-2006 by Jamie Zawinski <jwz@jwz.org>\n\
+xscreensaver %s, copyright (c) 1991-2008 by Jamie Zawinski <jwz@jwz.org>\n\
\n\
All xscreensaver configuration is via the `~/.xscreensaver' file.\n\
Rather than editing that file by hand, just run `xscreensaver-demo':\n\
if (p->verbose_p)
fprintf (stderr,
- "%s %s, copyright (c) 1991-2006 "
+ "%s %s, copyright (c) 1991-2008 "
"by Jamie Zawinski <jwz@jwz.org>.\n",
progname, si->version);
}
+#ifdef HAVE_XINERAMA
+
+static Bool
+screens_overlap_p (XineramaScreenInfo *a, XineramaScreenInfo *b)
+{
+ /* Two rectangles overlap if the max of the tops is less than the
+ min of the bottoms and the max of the lefts is less than the min
+ of the rights.
+ */
+# undef MAX
+# undef MIN
+# define MAX(A,B) ((A)>(B)?(A):(B))
+# define MIN(A,B) ((A)<(B)?(A):(B))
+
+ int maxleft = MAX(a->x_org, b->x_org);
+ int maxtop = MAX(a->y_org, b->y_org);
+ int minright = MIN(a->x_org + a->width - 1, b->x_org + b->width);
+ int minbot = MIN(a->y_org + a->height - 1, b->y_org + b->height);
+ return (maxtop < minbot && maxleft < minright);
+}
+
+
+/* Go through the list of Xinerama screen descriptions, and mark the
+ ones that appear to be insane, so that we don't use them.
+ */
+static void
+check_xinerama_sanity (int count, Bool verbose_p, XineramaScreenInfo *xsi)
+{
+ static Bool printed_p = False;
+ int i, j;
+ char err[1024];
+ *err = 0;
+
+# define X1 xsi[i].x_org
+# define X2 xsi[j].x_org
+# define Y1 xsi[i].y_org
+# define Y2 xsi[j].y_org
+# define W1 xsi[i].width
+# define W2 xsi[j].width
+# define H1 xsi[i].height
+# define H2 xsi[j].height
+
+# define WHINE() do { \
+ if (verbose_p) { \
+ if (! printed_p) { \
+ fprintf (stderr, "%s: compensating for Xinerama braindamage:\n", \
+ blurb()); \
+ printed_p = True; \
+ } \
+ fprintf (stderr, "%s: %d: %s\n", blurb(), xsi[i].screen_number,err); \
+ } \
+ xsi[i].screen_number = -1; \
+ } while(0)
+
+ /* If a screen is enclosed by any other screen, that's insane.
+ */
+ for (i = 0; i < count; i++)
+ for (j = 0; j < count; j++)
+ if (i != j &&
+ xsi[i].screen_number >= 0 &&
+ xsi[j].screen_number >= 0 &&
+ X1 >= X2 && Y1 >= Y2 && (X1+W1) <= (X2+W2) && (X1+H1) <= (X2+H2))
+ {
+ sprintf (err, "%dx%d+%d+%d enclosed by %dx%d+%d+%d",
+ W1, H1, X1, Y1,
+ W2, H2, X2, Y2);
+ WHINE();
+ continue;
+ }
+
+ /* After checking for enclosure, check for other lossage against earlier
+ screens. We do enclosure first so that we make sure to pick the
+ larger one.
+ */
+ for (i = 0; i < count; i++)
+ for (j = 0; j < i; j++)
+ {
+ if (xsi[i].screen_number < 0) continue; /* already marked */
+
+ *err = 0;
+ if (X1 == X2 && Y1 == Y2 && W1 == W2 && H1 == H2)
+ sprintf (err, "%dx%d+%d+%d duplicated", W1, H1, X1, Y1);
+
+ else if (screens_overlap_p (&xsi[i], &xsi[j]))
+ sprintf (err, "%dx%d+%d+%d overlaps %dx%d+%d+%d",
+ W1, H1, X1, Y1,
+ W2, H2, X2, Y2);
+
+ if (*err) WHINE();
+ }
+
+# undef X1
+# undef X2
+# undef Y1
+# undef Y2
+# undef W1
+# undef W2
+# undef H1
+# undef H2
+}
+
+#endif /* HAVE_XINERAMA */
+
+
+
/* Examine all of the display's screens, and populate the `saver_screen_info'
structures. Make sure this is called after hack_environment() sets $PATH.
*/
if (si->xinerama_p)
{
- XineramaScreenInfo *xsi = XineramaQueryScreens (si->dpy, &si->nscreens);
+ int nscreens = 0;
+ XineramaScreenInfo *xsi = XineramaQueryScreens (si->dpy, &nscreens);
if (!xsi)
si->xinerama_p = False;
else
{
+ int j = 0;
si->screens = (saver_screen_info *)
- calloc(sizeof(saver_screen_info), si->nscreens);
- for (i = 0; i < si->nscreens; i++)
+ calloc(sizeof(saver_screen_info), nscreens);
+ check_xinerama_sanity (nscreens, si->prefs.verbose_p, xsi);
+ for (i = 0; i < nscreens; i++)
{
- si->screens[i].x = xsi[i].x_org;
- si->screens[i].y = xsi[i].y_org;
- si->screens[i].width = xsi[i].width;
- si->screens[i].height = xsi[i].height;
+ if (xsi[i].screen_number < 0) /* deemed insane */
+ continue;
+ si->screens[j].x = xsi[i].x_org;
+ si->screens[j].y = xsi[i].y_org;
+ si->screens[j].width = xsi[i].width;
+ si->screens[j].height = xsi[i].height;
+ j++;
}
+ si->nscreens = j;
XFree (xsi);
}
si->default_screen = &si->screens[0];
static void
bogus_clientmessage_warning (saver_info *si, XEvent *event)
{
+#if 0 /* Oh, fuck it. GNOME likes to spew random ClientMessages at us
+ all the time. This is presumably indicative of an error in
+ the sender of that ClientMessage: if we're getting it and
+ ignoring it, then it's not reaching the intended recipient.
+ But people complain to me about this all the time ("waaah!
+ xscreensaver is printing to it's stderr and that gets my
+ panties all in a bunch!") And I'm sick of hearing about it.
+ So we'll just ignore these messages and let GNOME go right
+ ahead and continue to stumble along in its malfunction.
+ */
+
saver_preferences *p = &si->prefs;
char *str = XGetAtomName_safe (si->dpy, event->xclient.message_type);
Window w = event->xclient.window;
fprintf (stderr, "%s: %d: for window 0x%lx (%s)\n",
blurb(), screen, (unsigned long) w, wdesc);
if (str) XFree (str);
+
+#endif /* 0 */
}
+
Bool
handle_clientmessage (saver_info *si, XEvent *event, Bool until_idle_p)
{
j = strlen (buf);
strcat (buf, exts[i].desc);
if (!exts[i].useful_p)
- {
- int k = j + 18;
- while (strlen (buf) < k) strcat (buf, " ");
- strcat (buf, "<-- not supported at compile time!");
- }
+ strcat (buf, " (disabled at compile time)");
fprintf (stderr, "%s\n", buf);
}
not_on_console = False;
else if (gethostname (localname, sizeof (localname)))
not_on_console = True; /* can't find hostname? */
+ else if (!strncmp (dpyname, "/tmp/launch-", 12)) /* MacOS X launchd */
+ not_on_console = False;
else
{
/* We have to call gethostbyname() on the result of gethostname()
fuzzyflakes.c anemotaxis.c memscroller.c substrate.c \
intermomentary.c fireworkx.c fireworkx_mmx.S fiberlamp.c \
boxfit.c interaggregate.c celtic.c cwaves.c m6502.c \
- asm6502.c abstractile.c \
+ asm6502.c abstractile.c lcdscrub.c \
webcollage-cocoa.m webcollage-helper-cocoa.m
SCRIPTS = vidwhacker webcollage ljlatest
fuzzyflakes.o anemotaxis.o memscroller.o substrate.o \
intermomentary.o fireworkx.o fiberlamp.o boxfit.o \
interaggregate.o celtic.o cwaves.o webcollage-cocoa.o \
- webcollage-helper-cocoa.o m6502.0 asm6502.o abstractile.o
+ webcollage-helper-cocoa.o m6502.0 asm6502.o abstractile.o \
+ lcdscrub.c
NEXES = attraction blitspin bouboule braid bubbles decayscreen deco \
drift flag flame forest vines galaxy grav greynetic halo \
fontglide apple2 xanalogtv pong wormhole mismunch \
pacman fuzzyflakes anemotaxis memscroller substrate \
intermomentary fireworkx fiberlamp boxfit interaggregate \
- celtic cwaves m6502 abstractile \
+ celtic cwaves m6502 abstractile lcdscrub \
@JPEG_EXES@
SEXES = sonar
JPEG_EXES = webcollage-helper
wormhole.man mismunch.man pacman.man fuzzyflakes.man \
anemotaxis.man memscroller.man substrate.man \
intermomentary.man fireworkx.man fiberlamp.man boxfit.man \
- interaggregate.man celtic.man cwaves.man abstractile.man
+ interaggregate.man celtic.man cwaves.man abstractile.man \
+ lcdscrub
STAR = *
-EXTRAS = README Makefile.in xml2man.pl .gdbinit \
+EXTRAS = README Makefile.in xml2man.pl m6502.sh .gdbinit \
euler2d.tex \
config/README \
config/$(STAR).xml \
images/bubbles/$(STAR).xpm \
images/noseguy/$(STAR).xbm \
images/noseguy/$(STAR).xpm \
+ images/m6502/$(STAR).asm \
images/molecules/$(STAR).pdb \
images/pacman/$(STAR).xpm
done
clean:
- -rm -f *.o a.out core $(EXES)
+ -rm -f *.o a.out core $(EXES) m6502.h
distclean: clean
-rm -f Makefile TAGS *~ "#"*
# close. This excludes dependencies on files in /usr/include, etc. It tries
# to include only dependencies on files which are themselves a part of this
# package.
-distdepend::
+distdepend:: m6502.h
@echo updating dependencies in `pwd`/Makefile.in... ; \
$(DEPEND) -w 0 -f - \
-s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
-e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d' \
-e 's@\.\./utils@$$(UTILS_SRC)@g' \
-e 's@ \([^$$]\)@ $$(srcdir)/\1@g' \
- -e 's@ $$(srcdir)/\(.*config.h\)@ \1@g' ; \
+ -e 's@ $$(srcdir)/\(.*config.h\)@ \1@g' \
+ -e 's@ $$(srcdir)/\(m6502.h\)@ \1@g' ; \
echo '' \
) > /tmp/distdepend.$$$$ && \
mv Makefile.in Makefile.in.bak && \
cwaves: cwaves.o $(HACK_OBJS) $(COL)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
+m6502.h:
+ @echo "building m6502.h from $(srcdir)/images/m6502/*.asm"; \
+ UTILS_SRC="$(UTILS_SRC)" \
+ $(srcdir)/m6502.sh m6502.h $(srcdir)/images/m6502/*.asm
+
m6502: m6502.o asm6502.o $(HACK_OBJS) $(ATV)
$(CC_HACK) -o $@ $@.o asm6502.o $(HACK_OBJS) $(ATV) $(HACK_LIBS)
abstractile: abstractile.o $(HACK_OBJS) $(COL)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
+lcdscrub: lcdscrub.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+
# The rules for those hacks which follow the `xlockmore' API.
#
laser.o: $(UTILS_SRC)/yarandom.h
laser.o: $(srcdir)/xlockmoreI.h
laser.o: $(srcdir)/xlockmore.h
+lcdscrub.o: ../config.h
+lcdscrub.o: $(srcdir)/screenhackI.h
+lcdscrub.o: $(srcdir)/screenhack.h
+lcdscrub.o: $(UTILS_SRC)/colors.h
+lcdscrub.o: $(UTILS_SRC)/grabscreen.h
+lcdscrub.o: $(UTILS_SRC)/hsv.h
+lcdscrub.o: $(UTILS_SRC)/resources.h
+lcdscrub.o: $(UTILS_SRC)/usleep.h
+lcdscrub.o: $(UTILS_SRC)/visual.h
+lcdscrub.o: $(UTILS_SRC)/yarandom.h
lightning.o: ../config.h
lightning.o: $(srcdir)/screenhackI.h
lightning.o: $(UTILS_SRC)/colors.h
m6502.o: $(srcdir)/analogtv.h
m6502.o: $(srcdir)/asm6502.h
m6502.o: ../config.h
+m6502.o: m6502.h
m6502.o: $(srcdir)/screenhackI.h
m6502.o: $(srcdir)/screenhack.h
m6502.o: $(UTILS_SRC)/colors.h
return 1;
}
- if (!mine->input_available_p) return 0;
+ if (!mine ||
+ !mine->input_available_p ||
+ !mine->pipe)
+ return 0;
rc=read (fileno (mine->pipe), (void *) buf, n);
if (rc>0) mine->lastc=buf[rc-1];
+/*-*- indent-tabs-mode:nil -*- */
/* Copyright (C) 2007 Jeremy English <jhe@jeremyenglish.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
#include "asm6502.h"
+#ifdef DEBUGGER
+# define random rand
+#endif
+
typedef enum{
LEFT, RIGHT
} Side;
}
static void pushByte(machine_6502 *machine, Bit32 value ) {
- Bit32 address = 0x600 + machine->codeLen;
+ Bit32 address = machine->defaultCodePC;
checkAddress(address);
- machine->memory[0x600 + machine->codeLen] = value & 0xff;
+ machine->memory[address] = value & 0xff;
machine->codeLen++;
+ machine->defaultCodePC++;
}
/*
pointer->value = memReadByte(machine, PC);
return TRUE;
case INDIRECT_X:
- zp = memReadByte(machine, PC);
+ zp = memReadByte(machine, PC) + machine->regX;
pointer->addr = memReadByte(machine,zp) +
- (memReadByte(machine,zp+1)<<8) + machine->regX;
+ (memReadByte(machine,zp+1)<<8);
pointer->value = memReadByte(machine, pointer->addr);
return TRUE;
case INDIRECT_Y:
pointer->value = popByte(machine);
return TRUE;
case INDIRECT_X:
- zp = popByte(machine);
+ zp = popByte(machine) + machine->regX;
pointer->addr = memReadByte(machine,zp) +
- (memReadByte(machine,zp+1)<<8) + machine->regX;
+ (memReadByte(machine,zp+1)<<8);
pointer->value = memReadByte(machine, pointer->addr);
return TRUE;
case INDIRECT_Y:
}
+static void dismem(machine_6502 *machine, AddrMode adm, char *output){
+ Bit8 zp;
+ Bit16 n;
+ switch(adm){
+ case SINGLE:
+ output = "";
+ break;
+ case IMMEDIATE_LESS:
+ case IMMEDIATE_GREAT:
+ case IMMEDIATE_VALUE:
+ n = popByte(machine);
+ sprintf(output,"#$%x",n);
+ break;
+ case INDIRECT_X:
+ zp = popByte(machine);
+ n = memReadByte(machine,zp) +
+ (memReadByte(machine,zp+1)<<8);
+ sprintf(output,"($%x,x)",n);
+ break;
+ case INDIRECT_Y:
+ zp = popByte(machine);
+ n = memReadByte(machine,zp) +
+ (memReadByte(machine,zp+1)<<8);
+ sprintf(output,"($%x),y",n);
+ break;
+ case ABS_OR_BRANCH:
+ case ZERO:
+ n = popByte(machine);
+ sprintf(output,"$%x",n);
+ break;
+ case ZERO_X:
+ n = popByte(machine);
+ sprintf(output,"$%x,x",n);
+ break;
+ case ZERO_Y:
+ n = popByte(machine);
+ sprintf(output,"$%x,y",n);
+ break;
+ case ABS_VALUE:
+ n = popWord(machine);
+ sprintf(output,"$%x",n);
+ break;
+ case ABS_LABEL_X:
+ case ABS_X:
+ n = popWord(machine);
+ sprintf(output,"$%x,x",n);
+ break;
+ case ABS_LABEL_Y:
+ case ABS_Y:
+ n = popWord(machine);
+ sprintf(output,"$%x,x",n);
+ break;
+ case DCB_PARAM:
+ output = "";
+ break;
+ }
+}
+
/* manZeroNeg - Manage the negative and zero flags */
static void manZeroNeg(machine_6502 *machine, Bit8 value){
machine->regP = setBit(machine->regP, ZERO_FL, (value == 0));
Bit8 ar = nibble(machine->regA, RIGHT);
Bit8 br = nibble(ptr.value, RIGHT);
Bit8 al = nibble(machine->regA, LEFT);
- Bit8 bl = nibble(machine->regA, LEFT);
+ Bit8 bl = nibble(ptr.value, LEFT);
tmp = 0xf + ar - br + c;
if ( tmp < 0x10){
}
}
+/* isCmdChar() - Is this a valid character for a command. All of the
+ command are alpha except for the entry point code that is "*=" */
+static BOOL isCmdChar(char c){
+ return (isalpha(c) || c == '*' || c == '=');
+}
+
+
/* command() - parse a command from the source code. We pass along a
machine so the opcode can be validated. */
static BOOL command(machine_6502 *machine, char **s, char **cmd){
int i = 0;
skipSpace(s);
- for(;isalpha(**s) && i < MAX_CMD_LEN; (*s)++)
+ for(;isCmdChar(**s) && i < MAX_CMD_LEN; (*s)++)
(*cmd)[i++] = **s;
if (i == 0)
return TRUE; /* Could be a blank line. */
+ else if (strcmp(*cmd,"*=") == 0)
+ return TRUE; /* This is an entry point. */
else
return isCommand(machine,*cmd);
}
}
/* fileToBuffer() - Allocates a buffer and loads all of the file into memory. */
-static char *fileToBuffer(char *filename){
+static char *fileToBuffer(const char *filename){
const int defaultSize = 1024;
FILE *ifp;
int c;
machine->regX = 0;
machine->regY = 0;
machine->regP = setBit(machine->regP, FUTURE_FL, 1);
- machine->regPC = 0x600;
+ machine->defaultCodePC = machine->regPC = PROG_START;
machine->regSP = STACK_TOP;
machine->runForever = FALSE;
machine->labelPtr = 0;
fprintf(output,"%s\n",(i&1)?"--":"");
}
-void save_program(machine_6502 *machine, char *filename){
- FILE *ofp;
- Bit16 pc = 0x600;
- Bit16 end = pc + machine->codeLen;
- Bit16 n;
- ofp = fopen(filename, "w");
- if (ofp == NULL)
- eprintf("Could not open file.");
+/* XXX */
+/* void save_program(machine_6502 *machine, char *filename){ */
+/* FILE *ofp; */
+/* Bit16 pc = PROG_START; */
+/* Bit16 end = pc + machine->codeLen; */
+/* Bit16 n; */
+/* ofp = fopen(filename, "w"); */
+/* if (ofp == NULL) */
+/* eprintf("Could not open file."); */
- fprintf(ofp,"Bit8 prog[%d] =\n{",machine->codeLen);
- n = 1;
- while(pc < end)
- fprintf(ofp,"0x%.2x,%s",machine->memory[pc++],n++%10?" ":"\n");
- fseek(ofp,-2,SEEK_CUR);
- fprintf(ofp,"};\n");
+/* fprintf(ofp,"Bit8 prog[%d] =\n{",machine->codeLen); */
+/* n = 1; */
+/* while(pc < end) */
+/* fprintf(ofp,"0x%.2x,%s",machine->memory[pc++],n++%10?" ":"\n"); */
+/* fseek(ofp,-2,SEEK_CUR); */
+/* fprintf(ofp,"};\n"); */
- fclose(ofp);
-}
+/* fclose(ofp); */
+/* } */
static BOOL translate(Opcodes *op,Param *param, machine_6502 *machine){
switch(param->type){
case IMMEDIATE_GREAT:
if (op->Imm) {
pushByte(machine, op->Imm);
- pushByte(machine, param->lbladdr / 0xFF);
+ pushByte(machine, param->lbladdr >> 8);
break;
}
else {
else {
if (op->BRA) {
pushByte(machine, op->BRA);
- if (param->lbladdr < (machine->codeLen + 0x600))
+ if (param->lbladdr < (machine->codeLen + PROG_START))
pushByte(machine,
(0xff - (machine->codeLen-param->lbladdr)) & 0xff);
else
machine_6502 *machine;
machine = args;
if (isBlank(asmline->command)) return TRUE;
-
- if (strcmp("DCB",asmline->command) == 0){
+ if (strcmp("*=",asmline->command) == 0){
+ machine->defaultCodePC = asmline->param->value[0];
+ }
+ else if (strcmp("DCB",asmline->command) == 0){
int i;
for(i = 0; i < asmline->param->vp; i++)
pushByte(machine, asmline->param->value[i]);
AsmLine *asmlist;
reset(machine);
- machine->regPC = 0x600;
+ machine->defaultCodePC = machine->regPC = PROG_START;
asmlist = parseAssembly(machine, &codeOk, code);
if(codeOk){
linkLabels(asmlist);
/* Second pass: translate the instructions */
machine->codeLen = 0;
+ /* Link label call push_byte which increments defaultCodePC.
+ We need to reset it so the compiled code goes in the
+ correct spot. */
+ machine->defaultCodePC = PROG_START;
if (!apply(asmlist, compileLine, machine))
return FALSE;
- if (machine->codeLen > 0 ){
- machine->memory[0x600+machine->codeLen] = 0x00;
+ if (machine->defaultCodePC > PROG_START ){
+ machine->memory[machine->defaultCodePC] = 0x00;
codeOk = TRUE;
}
else{
fprintf(stderr,"Invalid opcode!\n");
}
if( (machine->regPC == 0) ||
- (!machine->codeRunning) ||
- (machine->regPC > (machine->codeLen+0x600)) ) {
+ (!machine->codeRunning) ) {
machine->codeRunning = FALSE;
}
}
}
fprintf(output,"STACK:");
hexDump(machine,(STACK_TOP - stacksz) + 1, stacksz, output);
- fprintf(output,"\n================================================================================\n");
}
-
+void disassemble(machine_6502 *machine, FILE *output){
+ /* Read the opcode
+ increment the program counter
+ print the opcode
+ loop until end of program. */
+ AddrMode adm;
+ Bit16 addr;
+ Bit8 opcode;
+ int opidx;
+ char *mem;
+ int i;
+ Bit16 opc = machine->regPC;
+ mem = calloc(20,sizeof(char));
+ machine->regPC = PROG_START;
+ do{
+ addr = machine->regPC;
+ opcode = popByte(machine);
+ opidx = opIndex(machine,opcode,&adm);
+ for (i = 0; i < 20; i++) mem[i] = '\0';
+ dismem(machine, adm, mem);
+ fprintf(output,"%x\t%s\t%s\n",
+ addr,machine->opcodes[opidx].name,mem);
+ }while((machine->regPC - PROG_START) < machine->codeLen); /*XXX - may need to change since defaultCodePC */
+ free(mem);
+ machine->regPC = opc;
+}
\f
-void eval_file(machine_6502 *machine, char *filename, Plotter plot, void *plotterState){
+void eval_file(machine_6502 *machine, const char *filename, Plotter plot, void *plotterState){
char *code = NULL;
machine->plot = plot;
free(code);
- machine->regPC = 0x600;
+ machine->defaultCodePC = machine->regPC = PROG_START;
machine->codeRunning = TRUE;
do{
sleep(0); /* XXX */
trace(machine);
#endif
execute(machine);
- if (!machine->codeRunning)
- break;
- }while((machine->regPC - 0x600) < machine->codeLen);
+ }while(machine->codeRunning);
}
-void start_eval_file(machine_6502 *machine, char *filename, Plotter plot, void *plotterState){
+void start_eval_file(machine_6502 *machine, const char *filename, Plotter plot, void *plotterState){
char *code = NULL;
reset(machine);
free(code);
- machine->regPC = 0x600;
+ machine->defaultCodePC = machine->regPC = PROG_START;
machine->codeRunning = TRUE;
execute(machine);
}
-void start_eval_binary(machine_6502 *machine, Bit8 *program,
- unsigned int proglen,
+void start_eval_string(machine_6502 *machine, const char *code,
Plotter plot, void *plotterState){
- unsigned int pc, n;
reset(machine);
+
machine->plot = plot;
machine->plotterState = plotterState;
- machine->regPC = 0x600;
- pc = machine->regPC;
- machine->codeLen = proglen;
- n = 0;
- while (n < proglen){
- machine->memory[pc++] = program[n++];
+ if (! compileCode(machine, code) ){
+ fprintf(stderr,"Could not compile code.\n");
}
+
+ machine->defaultCodePC = machine->regPC = PROG_START;
machine->codeRunning = TRUE;
execute(machine);
}
+/* void start_eval_binary(machine_6502 *machine, Bit8 *program, */
+/* unsigned int proglen, */
+/* Plotter plot, void *plotterState){ */
+/* unsigned int pc, n; */
+/* reset(machine); */
+/* machine->plot = plot; */
+/* machine->plotterState = plotterState; */
+
+/* machine->regPC = PROG_START; */
+/* pc = machine->regPC; */
+/* machine->codeLen = proglen; */
+/* n = 0; */
+/* while (n < proglen){ */
+/* machine->memory[pc++] = program[n++]; */
+/* } */
+/* machine->codeRunning = TRUE; */
+/* execute(machine); */
+/* } */
+
void next_eval(machine_6502 *machine, int insno){
int i = 0;
for (i = 1; i < insno; i++){
- if (machine->codeRunning){/* && ((machine->regPC - 0x600) < machine->codeLen))*/
+ if (machine->codeRunning){
#if 0
- trace(machine);
+ trace(machine, stdout);
#endif
execute(machine);
}
MAX_CMD_LEN = 4, /* Each assembly command is 3 characeters long */
/* The stack works from the top down in page $100 to $1ff */
STACK_TOP = 0x1ff,
- STACK_BOTTOM = 0x100
+ STACK_BOTTOM = 0x100,
+ PROG_START = 0x600 /* The default entry point for the program */
};
typedef enum{
Bit8 regP;
Bit16 regPC; /* A pair of 8 bit registers */
Bit16 regSP;
+ Bit16 defaultCodePC;
Bit8 memory[MEM_64K];
BOOL runForever;
int labelPtr;
/* eval_file() - Compiles and runs a file until the program is
finished */
-void eval_file(machine_6502 *machine, char *filename,
+void eval_file(machine_6502 *machine, const char *filename,
Plotter plot, void *plotterState);
/* start_eval_file() - Compile the file and execute the first
instruction */
-void start_eval_file(machine_6502 *machine, char *filename,
+void start_eval_file(machine_6502 *machine, const char *filename,
Plotter plot, void *plotterState);
+/* XXX
void start_eval_binary(machine_6502 *machine, Bit8 *program,
unsigned int proglen,
Plotter plot, void *plotterState);
+*/
+
+void start_eval_string(machine_6502 *machine, const char *code,
+ Plotter plot, void *plotterState);
/* next_eval() - Execute the next insno of machine instructions */
void next_eval(machine_6502 *machine, int insno);
void hexDump(machine_6502 *machine, Bit16 start,
Bit16 numbytes, FILE *output);
+/* Disassemble() - Prints the assembly code for the program currently
+ loaded in memory.*/
+void disassemble(machine_6502 *machine, FILE *output);
+
/* trace() - Prints to output the current value of registers, the
current nmemonic, memory address and value. */
void trace(machine_6502 *machine, FILE *output);
/* save_program() - Writes a binary file of the program loaded in
memory. */
-void save_program(machine_6502 *machine, char *filename);
-
+/* XXX
+void save_program(machine_6502 *machine, const char *filename);
+*/
#endif /* __ASM6502_H__ */
-/* xscreensaver, Copyright (c) 2005, 2006 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 2005-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
else
{
st->ncolors = get_integer_resource (st->dpy, "colors", "Colors"); /* re-get */
+ if (st->ncolors < 1) st->ncolors = 1;
make_smooth_colormap (st->dpy, st->xgwa.visual, st->xgwa.colormap,
st->colors, &st->ncolors, True, 0, False);
+ if (st->ncolors < 1) abort();
XClearWindow (st->dpy, st->window);
}
}
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) KALEIDESCOPE.C
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) KUMPPA.C
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LASER.C
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LCDSCRUB.C
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LIGHTNING.C
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LISA.C
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LISSIE.C
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) KALEIDESCOPE.C
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) KUMPPA.C
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LASER.C
+$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LCDSCRUB.C
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LIGHTNING.C
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LISA.C
$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE)/INCL=([],[-],[-.UTILS]) LISSIE.C
a screen saver and locker for the X window system
by Jamie Zawinski
- version 5.04
- 13-Nov-2007
+ version 5.05
+ 01-Mar-2008
http://www.jwz.org/xscreensaver/
<number id="decay" type="slider" arg="-decay %"
_label="Explosion Decay" _low-label="Linger" _high-label="Pop!"
- low="0.0" high="1.0" default="0.1"/>
+ low="0.0" high="1.0" default="0.07"/>
+
+ <number id="momentum" type="slider" arg="-momentum %"
+ _label="Explosion Momentum" _low-label="None" _high-label="Full"
+ low="0.0" high="1.0" default="0.6"/>
<hgroup>
<boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<screensaver name="cubicgrid" _label="CubicGrid">
+
+ <command arg="-root"/>
+
+ <number id="zoom" type="slider" arg="-zoom %"
+ _label="Dot spacing" _low-label="Close" _high-label="Far"
+ low="15" high="100" default="20"/>
+
+ <number id="delay" type="slider" arg="-delay %"
+ _label="Animation speed" _low-label="Slow" _high-label="Fast"
+ low="0" high="30000" default="20000" convert="invert"/>
+
+ <number id="speed" type="slider" arg="-speed %"
+ _label="Rotation speed" _low-label="Slow" _high-label="Fast"
+ low="0.2" high="10.0" default="1.0"/>
+
+ <boolean id="bigdots" _label="Big Dots" arg-unset="-no-bigdots"/>
+ <boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>
+
+ <_description>
+Draws the view of an observer located inside a rotating 3D lattice of colored
+points.
+
+Written by Vasek Potocek; 2007.
+ </_description>
+</screensaver>
<command arg="-root"/>
+ <number id="seeds" type="spinbutton" arg="-seeds %"
+ _label="Seeds" low="1" high="15" default="1"/>
+
+ <hgroup>
<number id="maxcells" type="slider" arg="-maxcells %"
- _label="Max. number of cells" _low-label="Few" _high-label="Many"
+ _label="Max cells" _low-label="Few" _high-label="Many"
low="50" high="5000" default="800"/>
-
+ </hgroup>
+
+ <hgroup>
<number id="radius" type="slider" arg="-radius %"
_label="Cell radius" _low-label="Small" _high-label="Huge"
low="5" high="80" default="40"/>
-
- <number id="seeds" type="spinbutton" arg="-seeds %"
- _label="Seeds" low="1" high="15" default="1"/>
-
+ </hgroup>
+
+ <hgroup>
<number id="minfood" type="slider" arg="-minfood %"
- _label="Min. amount of food" _low-label="Small" _high-label="A lot"
+ _label="Min food" _low-label="Starve" _high-label="Gorge"
low="0" high="100" default="5"/>
-
+ </hgroup>
+
+ <hgroup>
<number id="maxfood" type="slider" arg="-maxfood %"
- _label="Max. amount of food" _low-label="Small" _high-label="A lot"
+ _label="Max food" _low-label="Starve" _high-label="Gorge"
low="10" high="100" default="20"/>
-
+ </hgroup>
+
+ <hgroup>
<number id="divideage" type="slider" arg="-divideage %"
_label="Cell division" _low-label="Quick" _high-label="Slow"
low="1" high="100" default="20"/>
-
+ </hgroup>
+
+ <hgroup>
<number id="mindist" type="slider" arg="-mindist %"
_label="Min. distance" _low-label="Small" _high-label="Large"
low="1.0" high="3.0" default="1.4"/>
+ </hgroup>
- <boolean id="keepold" _label="Keep dead cells" arg-set="-keepold"/>
-
+ <hgroup>
<number id="delay" type="slider" arg="-delay %"
_label="Animation Speed" _low-label="Slow" _high-label="Fast"
low="0" high="50000" default="20000"
convert="invert"/>
-
+ </hgroup>
+
+ <hgroup>
<number id="pause" type="slider" arg="-pause %"
_label="Pause at end" _low-label="Short" _high-label="Long"
low="0" high="400" default="20"/>
-
+ </hgroup>
+
<select id="quality">
<option id="q0" _label="Lowest sphere detail" arg-set="-quality 0"/>
<option id="q1" _label="Medium sphere detail" arg-set="-quality 1"/>
<option id="q2" _label="Normal sphere detail" arg-set="-quality 2"/>
- <option id="q3" _label="More sphere detail" arg-set="-quality 3"/>
+ <option id="q3" _label="More sphere detail"/>
<option id="q4" _label="Highest sphere detail" arg-set="-quality 4"/>
</select>
-
+
+ <hgroup>
+ <boolean id="keepold" _label="Keep dead cells" arg-set="-keepold"/>
+
<boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>
-
+
<boolean id="wireframe" _label="Wireframe" arg-set="-wireframe"/>
+ </hgroup>
<xscreensaver-image />
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<screensaver name="hypnowheel" _label="Hypnowheel">
+
+ <command arg="-root"/>
+
+ <number id="delay" type="slider" arg="-delay %"
+ _label="Frame Rate" _low-label="Slow" _high-label="Fast"
+ low="0" high="100000" default="20000"
+ convert="invert"/>
+
+ <number id="speed" type="slider" arg="-speed %"
+ _label="Speed" _low-label="Slow" _high-label="Fast"
+ low="0.1" high="20.0" default="1.0"/>
+
+ <number id="layers" type="slider" arg="-layers %"
+ _label="Layers" _low-label="1" _high-label="50"
+ low="1" high="50" default="4"/>
+
+ <number id="count" type="slider" arg="-count %"
+ _label="Arms" _low-label="2" _high-label="50"
+ low="2" high="50" default="13"/>
+
+ <number id="twistiness" type="slider" arg="-twistiness %"
+ _label="Twistiness" _low-label="Low" _high-label="High"
+ low="0.2" high="10" default="4"/>
+
+ <hgroup>
+ <boolean id="wander" _label="Wander" arg-set="-wander"/>
+ <boolean id="symmetric" _label="Symmetric Twisting" arg-set="-symmetric"/>
+ </hgroup>
+
+ <boolean id="showfps" _label="Show Frames-per-Second" arg-set="-fps"/>
+
+ <_description>
+Draws a series of overlapping, translucent spiral patterns.
+The tightness of their spirals fluctuates in and out.
+
+Written by Jamie Zawinski; 2008.
+ </_description>
+</screensaver>
<!-- #### -spring_constant [5] -->
<_description>
-A simple kaleidescope. See also "gleidescope".
+A simple kaleidoscope. See also "gleidescope".
Written by Ron Tapia; 1997.
</_description>
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<screensaver name="lcdscrub" _label="LCDscrub">
+
+ <command arg="-root"/>
+
+ <number id="delay" type="slider" arg="-delay %"
+ _label="Speed" _low-label="Slow" _high-label="Fast"
+ low="0" high="1500000" default="1000000"
+ convert="invert"/>
+
+ <hgroup>
+ <number id="spread" type="spinbutton" arg="-spread %"
+ _label="Spread" low="2" high="64" default="8"/>
+
+ <number id="cycles" type="spinbutton" arg="-cycles %"
+ _label="Cycles" low="1" high="600" default="60"/>
+ </hgroup>
+
+ <_description>
+This screen saver is not meant to look pretty, but rather, to
+repair burn-in on LCD monitors.
+
+Believe it or not, screen burn is not a thing of the past.
+It can happen to LCD screens pretty easily, even in this modern age.
+However, leaving the screen on and displaying high contrast images
+can often repair the damage. That's what this screen saver does.
+
+See also:
+
+ http://docs.info.apple.com/article.html?artnum=88343
+
+ http://toastycode.com/blog/2008/02/05/lcd-scrub/
+
+Inspired by the like-named program by Daniel Sandler.
+
+Written by Jamie Zawinski; 2008.
+ </_description>
+</screensaver>
fp = &flags[MI_SCREEN(mi)];
make_flag_bits(mi);
+ if (!fp->image) abort();
fp->width = MI_WIN_WIDTH(mi);
fp->height = MI_WIN_HEIGHT(mi);
Window window = MI_WINDOW(mi);
flagstruct *fp = &flags[MI_SCREEN(mi)];
+ if (!fp->image) abort();
if (fp->cache == window) { /* not double-buffering */
XClearWindow (display, window);
} else if (fp->width <= MAXW(fp) || fp->height <= MAXH(fp)) {
tangram_shapes.c crackberg.c glhanoi.c cube21.c \
timetunnel.c juggler3d.c topblock.c glschool.c \
glschool_gl.c glschool_alg.c glcells.c voronoi.c \
- moebiusgears.c lockward.c
+ moebiusgears.c lockward.c cubicgrid.c hypnowheel.c
OBJS = xscreensaver-gl-helper.o normals.o glxfonts.o \
atlantis.o b_draw.o b_lockglue.o b_sphere.o bubble3d.o \
tangram_shapes.o crackberg.o glhanoi.o cube21.o \
timetunnel.o juggler3d.o topblock.o glschool.o \
glschool_gl.o glschool_alg.o glcells.o voronoi.o \
- moebiusgears.o lockward.o
+ moebiusgears.o lockward.o cubicgrid.o hypnowheel.o
GL_EXES = cage gears moebius pipes sproingies stairs superquadrics \
morph3d rubik atlantis lament bubble3d glplanet pulsar \
antinspect providence pinion boing carousel fliptext \
antmaze tangram crackberg glhanoi cube21 timetunnel \
juggler3d topblock glschool glcells voronoi moebiusgears \
- lockward
+ lockward cubicgrid hypnowheel
GLE_EXES = extrusion
GL_UTIL_EXES = xscreensaver-gl-helper
HACK_EXES = @GL_EXES@ @GLE_EXES@
carousel.man fliptext.man antmaze.man tangram.man \
crackberg.man glhanoi.man cube21.man timetunnel.man \
juggler3d.man topblock.man glschool.man glcells.man \
- voronoi.man moebiusgears.man lockward.man
+ voronoi.man moebiusgears.man lockward.man cubicgrid.man \
+ hypnowheel.man
MEN = @GL_MEN@
EXTRAS = README Makefile.in dxf2gl.pl molecules.sh starwars.txt
lockward: lockward.o $(HACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+cubicgrid: cubicgrid.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+hypnowheel: hypnowheel.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
##############################################################################
#
cubestorm.o: $(UTILS_SRC)/yarandom.h
cubestorm.o: $(HACK_SRC)/xlockmoreI.h
cubestorm.o: $(HACK_SRC)/xlockmore.h
+cubicgrid.o: ../../config.h
+cubicgrid.o: $(srcdir)/gltrackball.h
+cubicgrid.o: $(srcdir)/rotator.h
+cubicgrid.o: $(HACK_SRC)/screenhackI.h
+cubicgrid.o: $(UTILS_SRC)/colors.h
+cubicgrid.o: $(UTILS_SRC)/grabscreen.h
+cubicgrid.o: $(UTILS_SRC)/hsv.h
+cubicgrid.o: $(UTILS_SRC)/resources.h
+cubicgrid.o: $(UTILS_SRC)/usleep.h
+cubicgrid.o: $(UTILS_SRC)/visual.h
+cubicgrid.o: $(UTILS_SRC)/xshm.h
+cubicgrid.o: $(UTILS_SRC)/yarandom.h
+cubicgrid.o: $(HACK_SRC)/xlockmoreI.h
+cubicgrid.o: $(HACK_SRC)/xlockmore.h
dangerball.o: ../../config.h
dangerball.o: $(srcdir)/gltrackball.h
dangerball.o: $(srcdir)/rotator.h
hypertorus.o: $(UTILS_SRC)/yarandom.h
hypertorus.o: $(HACK_SRC)/xlockmoreI.h
hypertorus.o: $(HACK_SRC)/xlockmore.h
+hypnowheel.o: ../../config.h
+hypnowheel.o: $(srcdir)/rotator.h
+hypnowheel.o: $(HACK_SRC)/screenhackI.h
+hypnowheel.o: $(UTILS_SRC)/colors.h
+hypnowheel.o: $(UTILS_SRC)/grabscreen.h
+hypnowheel.o: $(UTILS_SRC)/hsv.h
+hypnowheel.o: $(UTILS_SRC)/resources.h
+hypnowheel.o: $(UTILS_SRC)/usleep.h
+hypnowheel.o: $(UTILS_SRC)/visual.h
+hypnowheel.o: $(UTILS_SRC)/xshm.h
+hypnowheel.o: $(UTILS_SRC)/yarandom.h
+hypnowheel.o: $(HACK_SRC)/xlockmoreI.h
+hypnowheel.o: $(HACK_SRC)/xlockmore.h
involute.o: ../../config.h
involute.o: $(srcdir)/involute.h
involute.o: $(srcdir)/normals.h
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (mp->trackball, event->xbutton.button, 5,
!event->xbutton.state);
float sin2 = sin(ant_step + 2 * Pi / 3);
float sin3 = sin(ant_step + 4 * Pi / 3);
- glEnable(GL_POLYGON_SMOOTH);
+/* Apparently this is a performance killer on many systems...
+ glEnable(GL_POLYGON_SMOOTH);
+ */
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-/* boing, Copyright (c) 2005 Jamie Zawinski <jwz@jwz.org>
+/* boing, Copyright (c) 2005-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->trackball, event->xbutton.button, 10,
!event->xbutton.state);
*
* 2005: opts work. added options -balls, -ballsize, -explosion
*
+ * 2006: opts work. added option -decay
+ *
+ * 2008: opts work. added option -momentum
+ *
*/
#include "boxed.h"
# define DEF_BALLS "25"
# define DEF_BALLSIZE "2.0"
# define DEF_EXPLOSION "15.0"
-# define DEF_DECAY "0.1"
+# define DEF_DECAY "0.07"
+# define DEF_MOMENTUM "0.6"
#undef countof
#define countof(x) (int)(sizeof((x))/sizeof((*x)))
static GLfloat cfg_ballsize;
static GLfloat cfg_explosion;
static GLfloat cfg_decay;
+static GLfloat cfg_momentum;
static XrmOptionDescRec opts[] = {
{"-ballsize", ".boxed.ballsize", XrmoptionSepArg, 0},
{"-explosion", ".boxed.explosion", XrmoptionSepArg, 0},
{"-decay", ".boxed.decay", XrmoptionSepArg, 0},
+ {"-momentum", ".boxed.momentum", XrmoptionSepArg, 0},
};
static argtype vars[] = {
{&cfg_ballsize, "ballsize", "Ball Size", DEF_BALLSIZE, t_Float},
{&cfg_explosion, "explosion", "Explosion", DEF_EXPLOSION, t_Float},
{&cfg_decay, "decay", "Explosion Decay", DEF_DECAY, t_Float},
+ {&cfg_momentum, "momentum", "Explosion Momentum", DEF_MOMENTUM, t_Float},
};
ENTRYPOINT ModeSpecOpt boxed_opts = {countof(opts), opts, countof(vars), vars, NULL};
float scalefac;
float explosion;
float decay;
+ float momentum;
vectorf color;
tri *tris;
GLint *indices;
float ballsize;
float explosion;
float decay;
+ float momentum;
BOOL textures;
BOOL transparent;
float camspeed;
return v->x * v->x + v->y * v->y + v->z * v->z;
}
+static inline GLfloat
+squaremagnitudehorz(vectorf * v)
+{
+ return v->x * v->x + v->z * v->z;
+}
+
/*
scalevector(&bman->balls[b].dir,&bman->balls[b].dir,0.80f);
if (squaremagnitude(&bman->balls[b].dir) < 0.08f) {
createball(&bman->balls[b]);
- }
+ }
+ if (squaremagnitudehorz(&bman->balls[b].dir) < 0.005f) {
+ createball(&bman->balls[b]);
+ }
}
}
{
int pos;
float explosion;
+ float momentum;
float scale;
register int i;
- vectorf avgdir,dvect;
+ vectorf avgdir,dvect,mvect;
tman->scalefac = b->radius;
copyvector(&tman->color,&b->color);
explosion = 1.0f + tman->explosion * 2.0 * rnd();
+ momentum = tman->momentum;
tman->num_tri = ind_num/3;
dvect.y = (0.15f - 0.3f*rnd());
dvect.z = (0.1f - 0.2f*rnd());
addvectors(&tman->tris[i].dir,&tman->tris[i].dir,&dvect);
+
+ /* add ball's momentum to each piece of the exploded ball */
+ mvect.x = b->dir.x * momentum;
+ mvect.y = 0;
+ mvect.z = b->dir.z * momentum;
+ addvectors(&tman->tris[i].dir,&tman->tris[i].dir,&mvect);
}
}
cfg_ballsize = MAX(1.0f,MIN(5.0f,cfg_ballsize));
cfg_explosion = MAX(0.0f,MIN(50.0f,cfg_explosion));
cfg_decay = MAX(0.0f,MIN(1.0f,cfg_decay));
+ cfg_momentum = MAX(0.0f,MIN(1.0f,cfg_momentum));
config->numballs = cfg_balls;
config->textures = TRUE;
config->transparent = FALSE;
config->explosion = cfg_explosion;
config->decay = cfg_decay;
+ config->momentum = cfg_momentum;
config->ballsize = cfg_ballsize;
config->camspeed = 35.0f;
}
/* Load configuration */
setdefaultconfig(&gp->config);
+
+ /* give the decay parameter a better curve */
+ if (gp->config.decay <= 0.8182) { gp->config.decay = gp->config.decay / 3; }
+ else { gp->config.decay = (gp->config.decay - 0.75) * 4; }
bman = &gp->bman;
for(i=0;i<bman->num_balls;i++) {
gp->tman[i].explosion = (float) (((int)gp->config.explosion) / 15.0f );
gp->tman[i].decay = gp->config.decay;
+ gp->tman[i].momentum = gp->config.momentum;
gp->tman[i].vertices = NULL;
gp->tman[i].normals = NULL;
gp->tman[i].tris = NULL;
-/* carousel, Copyright (c) 2005-2007 Jamie Zawinski <jwz@jwz.org>
+/* carousel, Copyright (c) 2005-2008 Jamie Zawinski <jwz@jwz.org>
* Loads a sequence of images and rotates them around.
*
* Permission to use, copy, modify, distribute, and sell this software and its
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (ss->trackball, event->xbutton.button, 5,
!event->xbutton.state);
-/* cubenetic, Copyright (c) 2002-2006 Jamie Zawinski <jwz@jwz.org>
+/* cubenetic, Copyright (c) 2002-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (cc->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
-/* cubestorm, Copyright (c) 2003, 2004 Jamie Zawinski <jwz@jwz.org>
+/* cubestorm, Copyright (c) 2003-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
#define DEF_SPEED "1.0"
#define DEF_THICKNESS "0.06"
#define DEF_COUNT "4"
+#define DEF_DBUF "False"
typedef struct {
rotator *rot;
static Bool do_wander;
static GLfloat speed;
static GLfloat thickness;
+static Bool dbuf_p;
static XrmOptionDescRec opts[] = {
{ "-spin", ".spin", XrmoptionNoArg, "True" },
{ "-wander", ".wander", XrmoptionNoArg, "True" },
{ "+wander", ".wander", XrmoptionNoArg, "False" },
{ "-speed", ".speed", XrmoptionSepArg, 0 },
- { "-thickness", ".thickness", XrmoptionSepArg, 0 },
+ { "-db", ".doubleBuffer", XrmoptionNoArg, "True"},
+ { "+db", ".doubleBuffer", XrmoptionNoArg, "False"},
+ { "-thickness", ".thickness", XrmoptionSepArg, 0 },
};
static argtype vars[] = {
{&do_wander, "wander", "Wander", DEF_WANDER, t_Bool},
{&speed, "speed", "Speed", DEF_SPEED, t_Float},
{&thickness, "thickness", "Thickness", DEF_THICKNESS, t_Float},
+ {&dbuf_p, "doubleBuffer", "DoubleBuffer", DEF_DBUF, t_Bool},
};
ENTRYPOINT ModeSpecOpt cube_opts = {countof(opts), opts, countof(vars), vars, NULL};
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
draw_faces (mi);
glEndList ();
+ glDrawBuffer(dbuf_p ? GL_BACK : GL_FRONT);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}
if (mi->fps_p) do_fps (mi);
glFinish();
- glXSwapBuffers(dpy, window);
+ if (dbuf_p)
+ glXSwapBuffers(dpy, window);
}
XSCREENSAVER_MODULE_2 ("CubeStorm", cubestorm, cube)
--- /dev/null
+/*-
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notice appear in all copies and that
+ * both that copyright notice and this permission notice appear in
+ * supporting documentation.
+ *
+ * This file is provided AS IS with no warranties of any kind. The author
+ * shall have no liability with respect to the infringement of copyrights,
+ * trade secrets or any patents by this file or any part thereof. In no
+ * event will the author be liable for any lost revenue or profits or
+ * other special, indirect and consequential damages.
+ *
+ * Cubic Grid - a 3D lattice. The observer is located in the centre of
+ * a spinning finite lattice. As it rotates, various view-throughs appear and
+ * evolve. A simple idea with interesting results.
+ *
+ * Vasek Potocek (Dec-28-2007)
+ * vasek.potocek@post.cz
+ */
+
+#define DEFAULTS "*delay: 20000 \n" \
+ "*showFPS: False \n" \
+ "*wireframe: False \n"
+
+# define refresh_cubicgrid 0
+#include "xlockmore.h"
+
+#ifdef USE_GL
+
+#define DEF_SPEED "1.0"
+#define DEF_DIV "30"
+#define DEF_SIZE "20.0"
+#define DEF_BIGDOTS "True"
+
+#undef countof
+#define countof(x) (sizeof((x))/sizeof((*x)))
+
+#include "rotator.h"
+#include "gltrackball.h"
+
+/*************************************************************************/
+
+static int ticks;
+static float size;
+static float speed;
+static Bool bigdots;
+
+static argtype vars[] = {
+ { &speed, "speed", "Speed", DEF_SPEED, t_Float },
+ { &size, "zoom", "Zoom", DEF_SIZE, t_Float },
+ { &ticks, "ticks", "Ticks", DEF_DIV, t_Int },
+ { &bigdots, "bigdots", "BigDots", DEF_BIGDOTS, t_Bool },
+};
+
+static XrmOptionDescRec opts[] = {
+ { "-speed", ".speed", XrmoptionSepArg, 0 },
+ { "-zoom", ".zoom", XrmoptionSepArg, 0 },
+ { "-ticks", ".ticks", XrmoptionSepArg, 0 },
+ { "-bigdots", ".bigdots", XrmoptionNoArg, "True" },
+ { "+bigdots", ".bigdots", XrmoptionNoArg, "False" },
+};
+
+ENTRYPOINT ModeSpecOpt cubicgrid_opts = {countof(opts), opts, countof(vars), vars, NULL};
+
+#ifdef USE_MODULES
+ModStruct cubicgrid_description =
+{ "cubicgrid", "init_cubicgrid", "draw_cubicgrid", "release_cubicgrid",
+ "draw_cubicgrid", "change_cubicgrid", NULL, &cubicgrid_opts,
+ 25000, 1, 1, 1, 1.0, 4, "",
+ "Shows a rotating 3D lattice from inside", 0, NULL
+};
+#endif
+
+typedef struct {
+ GLXContext *glx_context;
+ GLfloat ratio;
+ GLint list;
+
+ rotator *rot;
+ trackball_state *trackball;
+ Bool button_down_p;
+} cubicgrid_conf;
+
+static cubicgrid_conf *cubicgrid = NULL;
+
+static const GLfloat zpos = -18.0;
+
+/*************************************************************************/
+
+ENTRYPOINT Bool
+cubicgrid_handle_event (ModeInfo *mi, XEvent *event)
+{
+ cubicgrid_conf *cp = &cubicgrid[MI_SCREEN(mi)];
+
+ if (event->xany.type == ButtonPress &&
+ event->xbutton.button == Button1)
+ {
+ cp->button_down_p = True;
+ gltrackball_start (cp->trackball,
+ event->xbutton.x, event->xbutton.y,
+ MI_WIDTH (mi), MI_HEIGHT (mi));
+ return True;
+ }
+ else if (event->xany.type == ButtonRelease &&
+ event->xbutton.button == Button1)
+ {
+ cp->button_down_p = False;
+ return True;
+ }
+ else if (event->xany.type == ButtonPress &&
+ (event->xbutton.button == Button4 ||
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
+ {
+ gltrackball_mousewheel (cp->trackball, event->xbutton.button, 2,
+ !!event->xbutton.state);
+ return True;
+ }
+ else if (event->xany.type == MotionNotify &&
+ cp->button_down_p)
+ {
+ gltrackball_track (cp->trackball,
+ event->xmotion.x, event->xmotion.y,
+ MI_WIDTH (mi), MI_HEIGHT (mi));
+ return True;
+ }
+
+ return False;
+}
+
+
+static Bool draw_main(cubicgrid_conf *cp)
+{
+ double x, y, z;
+
+ glClear(GL_COLOR_BUFFER_BIT);
+ glLoadIdentity();
+ glTranslatef(0, 0, zpos);
+
+ glScalef(size/ticks, size/ticks, size/ticks);
+ gltrackball_rotate (cp->trackball);
+ get_rotation (cp->rot, &x, &y, &z, !cp->button_down_p);
+ glRotatef (x * 360, 1.0, 0.0, 0.0);
+ glRotatef (y * 360, 0.0, 1.0, 0.0);
+ glRotatef (z * 360, 0.0, 0.0, 1.0);
+
+ glTranslatef(-ticks/2.0, -ticks/2.0, -ticks/2.0);
+ glCallList(cp->list);
+
+ return True;
+}
+
+static void init_gl(ModeInfo *mi)
+{
+ cubicgrid_conf *cp = &cubicgrid[MI_SCREEN(mi)];
+ int x, y, z;
+ float tf = ticks;
+
+ glClearColor(0.0, 0.0, 0.0, 1.0);
+ glDrawBuffer(GL_BACK);
+ if(bigdots) {
+ glPointSize(2.0);
+ }
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ glShadeModel(GL_FLAT);
+
+ cp->list = glGenLists(1);
+ glNewList(cp->list, GL_COMPILE);
+ if(MI_IS_MONO(mi)) {
+ glColor3f(1.0, 1.0, 1.0);
+ glBegin(GL_POINTS);
+ for(x = 0; x < ticks; x++) {
+ for(y = 0; y < ticks; y++) {
+ for(z = 0; z < ticks; z++) {
+ glVertex3f(x, y, z);
+ }
+ }
+ }
+ glEnd();
+ }
+ else
+ {
+ glBegin(GL_POINTS);
+ for(x = 0; x < ticks; x++) {
+ for(y = 0; y < ticks; y++) {
+ for(z = 0; z < ticks; z++) {
+ glColor3f(x/tf, y/tf, z/tf);
+ glVertex3f(x, y, z);
+ }
+ }
+ }
+ glEnd();
+ }
+ glEndList();
+}
+
+/*************************************************************************/
+
+ENTRYPOINT void reshape_cubicgrid(ModeInfo *mi, int width, int height)
+{
+ cubicgrid_conf *cp = &cubicgrid[MI_SCREEN(mi)];
+ if(!height) height = 1;
+ cp->ratio = (GLfloat)width/(GLfloat)height;
+ glViewport(0, 0, (GLint) width, (GLint) height);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluPerspective(30.0, cp->ratio, 1.0, 100.0);
+ glMatrixMode(GL_MODELVIEW);
+ glClear(GL_COLOR_BUFFER_BIT);
+}
+
+ENTRYPOINT void release_cubicgrid(ModeInfo *mi)
+{
+ if (cubicgrid != NULL) {
+ int screen;
+ for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++) {
+ cubicgrid_conf *cp = &cubicgrid[screen];
+ if (cp->glx_context) {
+ cp->glx_context = NULL;
+ }
+ }
+ free((void *)cubicgrid);
+ cubicgrid = NULL;
+ }
+ FreeAllGL(mi);
+}
+
+ENTRYPOINT void init_cubicgrid(ModeInfo *mi)
+{
+ cubicgrid_conf *cp;
+ if(!cubicgrid) {
+ cubicgrid = (cubicgrid_conf *)calloc(MI_NUM_SCREENS(mi), sizeof(cubicgrid_conf));
+ if(!cubicgrid) return;
+ }
+ cp = &cubicgrid[MI_SCREEN(mi)];
+
+ if ((cp->glx_context = init_GL(mi)) != NULL) {
+ init_gl(mi);
+ reshape_cubicgrid(mi, MI_WIDTH(mi), MI_HEIGHT(mi));
+ } else {
+ MI_CLEARWINDOW(mi);
+ }
+
+ {
+ double spin_speed = 0.045 * speed;
+ double spin_accel = 0.005 * speed;
+
+ cp->rot = make_rotator (spin_speed, spin_speed, spin_speed,
+ spin_accel, 0, True);
+ cp->trackball = gltrackball_init ();
+ }
+}
+
+ENTRYPOINT void draw_cubicgrid(ModeInfo * mi)
+{
+ Display *display = MI_DISPLAY(mi);
+ Window window = MI_WINDOW(mi);
+ cubicgrid_conf *cp;
+ if (!cubicgrid) return;
+ cp = &cubicgrid[MI_SCREEN(mi)];
+ MI_IS_DRAWN(mi) = True;
+ if (!cp->glx_context) return;
+ glXMakeCurrent(display, window, *(cp->glx_context));
+ if (!draw_main(cp)) {
+ release_cubicgrid(mi);
+ return;
+ }
+ if (MI_IS_FPS(mi)) do_fps (mi);
+ glFlush();
+ glXSwapBuffers(display, window);
+}
+
+#ifndef STANDALONE
+ENTRYPOINT void change_cubicgrid(ModeInfo * mi)
+{
+ cubicgrid_conf *cp = &cubicgrid[MI_SCREEN(mi)];
+ if (!cp->glx_context) return;
+ glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(cp->glx_context));
+ init_gl(mi);
+}
+#endif /* !STANDALONE */
+
+
+XSCREENSAVER_MODULE ("CubicGrid", cubicgrid)
+
+#endif
--- /dev/null
+.TH XScreenSaver 1 "Dec-28-07" "X Version 11"
+.SH NAME
+cubicgrid - rotating 3D lattice seen from inside
+.SH SYNOPSIS
+.B cubicgrid
+[\-display \fIhost:display.screen\fP]
+[\-visual \fIvisual\fP]
+[\-window]
+[\-root]
+[\-install]
+[\-delay \fImicroseconds\fP]
+[\-mono]
+[\-speed \fInumber\fP]
+[\-zoom \fInumber\fP]
+[\-ticks \fInumber\fP]
+[\-bigdots]
+[\-fps]
+.SH DESCRIPTION
+This program shows the view of an observer located inside a set of points
+arranged to a 3D lattice. As the lattice rotates, various view-throughs appear
+and evolve. A simple idea with interesting results.
+.SH OPTIONS
+.I cubicgrid
+accepts the following options:
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-install
+Install a private colormap for the window.
+.TP 8
+.B \-visual \fIvisual\fP\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-delay \fImicroseconds\fP
+How long to pause between frames. Default is 20000, or 0.02 second.
+.TP 8
+.B \-mono
+Draw in black and white. If not used, a fixed all-color scheme is chosen.
+.TP 8
+.B \-speed \fInumber\fP
+The maximum speed of the rotation. The actual speed and axis change smoothly
+for better effect. 0.5 - 10. The default is 1.0.
+.TP 8
+.B \-zoom \fInumber\fP
+Size of the lattice. Ideally it should fill all the screen, but one may find
+other values also interesting. 5 - 50. The default of 20 should do for common
+screen aspect ratios.
+.TP 8
+.B \-ticks \fInumber\fP
+The count of points drawn along every axis. 10 - 100. The default is 30.
+.TP 8
+.B \-bigdots
+Draw the points twice as big.
+.TP 8
+.B \-fps
+Display a running tally of how many frames per second are being rendered.
+In conjunction with \fB\-delay 0\fP, this can be a useful benchmark of
+your GL performance.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 2007 by Vasek Potocek. Permission to use, copy, modify,
+distribute, and sell this software and its documentation for any purpose is
+hereby granted without fee, provided that the above copyright notice appear in
+all copies and that both that copyright notice and this permission notice
+appear in supporting documentation. No representations are made about the
+suitability of this software for any purpose. It is provided "as is" without
+express or implied warranty.
+.SH AUTHOR
+Vasek Potocek <vasek.potocek@post.cz>, Dec-28-07.
-/* dangerball, Copyright (c) 2001-2004 Jamie Zawinski <jwz@jwz.org>
+/* dangerball, Copyright (c) 2001-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (dc->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
*
* version 1.0 - June 6, 2002
*
- * Copyright (C) 2002-2007 Blair Tennessy (tennessb@unbc.ca)
+ * Copyright (C) 2002-2008 Blair Tennessy (tennessb@unbc.ca)
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
{1.0, 0.55, 0.1},
{0.8, 0.52, 0.8},
{0.43, 0.54, 0.76},
- {0.8, 0.8, 0.8},
+ {0.2, 0.2, 0.2},
{0.35, 0.60, 0.35},
};
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (cs->trackball, event->xbutton.button, 5,
!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (e->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (gp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (c->trackball, event->xbutton.button, 5,
!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (c->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->user_trackball, event->xbutton.button, 5,
!event->xbutton.state);
-/* gears, Copyright (c) 2007 Jamie Zawinski <jwz@jwz.org>
+/* gears, Copyright (c) 2007-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
g4->y = 0;
g4->th = -g3->th;
+ /* rotate central gear 1/2 tooth-size if odd number of teeth */
+ if (g4->nteeth & 1)
+ g4->th -= (180.0 / g4->nteeth);
+
g0->inverted_p = True;
g0->x = 0;
g0->y = 0;
- g0->nteeth = g4->nteeth * 3;
- g0->r = g4->r * 3.05;
+ g0->nteeth = g1->nteeth * 3;
+ g0->r = g1->r * 3.05;
g0->inner_r = g0->r * 0.8;
g0->inner_r2 = 0;
g0->inner_r3 = 0;
- g0->th = -(g4->th - (180 / g0->nteeth));
- g0->ratio = g4->ratio / 3;
+ g0->th = g1->th + (180 / g0->nteeth);
+ g0->ratio = g1->ratio / 3;
g0->tooth_slope = 0;
g0->nubs = 3;
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (gp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
/* glblur --- radial blur using GL textures
- * Copyright (c) 2002-2004 Jamie Zawinski <jwz@jwz.org>
+ * Copyright (c) 2002-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (fs->trackball, event->xbutton.button, 5,
!!event->xbutton.state);
float diskHeight;
float *diskPos; /* pre-computed disk positions on rods */
Disk *disk;
- float speed;
GLint floorList;
GLint baseList;
GLint poleList;
[\-root]
[\-delay \fInumber\fP]
[\-count \fInumber\fP]
-[\-speed \fInumber\fP]
-[\-rotspeed \fInumber\fP]
[\-wireframe]
[\-light]
[\-texture]
.B \-delay \fInumber\fP
Per-frame delay, in microseconds. Default: 30000 (0.03 seconds.).
.TP 8
-.B \-speed \fInumber\fP
-Speed of disk animation. Default: 12.0 er, units per second. Let's call them metres.
-.TP 8
-.B \-rotspeed \fInumber\fP
-Speed of disk animation. Default: 0.1 rads per second.
-.TP 8
.B \-count \fInumber\fP
Number of disks. Default: 7.
.TP 8
-/* glknots, Copyright (c) 2003-2007 Jamie Zawinski <jwz@jwz.org>
+/* glknots, Copyright (c) 2003-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->trackball, event->xbutton.button, 5,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (gp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
-/* glslideshow, Copyright (c) 2003-2006 Jamie Zawinski <jwz@jwz.org>
+/* glslideshow, Copyright (c) 2003-2008 Jamie Zawinski <jwz@jwz.org>
* Loads a sequence of images and smoothly pans around them; crossfades
* when loading new images.
*
*/
if ((int) (0.5 + (sp->from.w * 1000 / sp->from.h)) !=
(int) (0.5 + (sp->to.w * 1000 / sp->to.h)))
- abort();
+ {
+ fprintf (stderr, "%s: botched aspect: %f x %f vs %f x %f: %s\n",
+ progname, sp->from.w, sp->from.h, sp->to.w, sp->to.h,
+ sp->img->title);
+ abort();
+ }
sp->from.x /= vp_w;
sp->from.y /= vp_h;
-/* gltext, Copyright (c) 2001-2006 Jamie Zawinski <jwz@jwz.org>
+/* gltext, Copyright (c) 2001-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (tp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
-/* gltrackball, Copyright (c) 2002, 2005 Jamie Zawinski <jwz@jwz.org>
+/* gltrackball, Copyright (c) 2002-2008 Jamie Zawinski <jwz@jwz.org>
* GL-flavored wrapper for trackball.c
*
* Permission to use, copy, modify, distribute, and sell this software and its
# define Button4 4 /* X11/Xlib.h */
# define Button5 5
+# define Button6 6
+# define Button7 7
/* Call this when a mouse-wheel click is detected.
Clicks act like horizontal or vertical drags.
Percent is the length of the drag as a percentage of the screen size.
- Button is 'Button4' or 'Button5'.
+ Button is 'Button4' or 'Button5' (for the vertical wheel)
+ or 'Button5' or 'Button6' (for the horizontal wheel).
+ If `flip_p' is true, swap the horizontal and vertical axes.
*/
void
gltrackball_mousewheel (trackball_state *ts,
- int button, int percent, int horizontal_p)
+ int button, int percent, int flip_p)
{
int up_p;
double move;
+ int horizontal_p;
+
+#ifdef HAVE_COCOA
+ flip_p = 0; /* MacOS has already handled this. */
+#endif
+
switch (button) {
- case Button4: up_p = 1; break;
- case Button5: up_p = 0; break;
+ case Button4: up_p = 1; horizontal_p = 0; break;
+ case Button5: up_p = 0; horizontal_p = 0; break;
+ case Button6: up_p = 1; horizontal_p = 1; break;
+ case Button7: up_p = 0; horizontal_p = 1; break;
default: abort(); break;
}
- if (horizontal_p) up_p = !up_p;
+ if (flip_p)
+ {
+ horizontal_p = !horizontal_p;
+ up_p = !up_p;
+ }
move = (up_p
? 1.0 - (percent / 100.0)
-/* gltrackball, Copyright (c) 2002, 2005 Jamie Zawinski <jwz@jwz.org>
+/* gltrackball, Copyright (c) 2002-2008 Jamie Zawinski <jwz@jwz.org>
* GL-flavored wrapper for trackball.c
*
* Permission to use, copy, modify, distribute, and sell this software and its
/* Call this when a mouse-wheel click is detected.
Clicks act like horizontal or vertical drags.
Percent is the length of the drag as a percentage of the screen size.
- Button is 'Button4' or 'Button5'.
+ Button is 'Button4' or 'Button5' (for the vertical wheel)
+ or 'Button5' or 'Button6' (for the horizontal wheel).
+ If `flip_p' is true, swap the horizontal and vertical axes.
*/
void gltrackball_mousewheel (trackball_state *ts,
- int button, int percent, int horizontal_p);
+ int button, int percent, int flip_p);
/* Return the quaternion encapsulated by the trackball state.
*/
-/* glxfonts, Copyright (c) 2001-2006 Jamie Zawinski <jwz@jwz.org>
+/* glxfonts, Copyright (c) 2001-2008 Jamie Zawinski <jwz@jwz.org>
* Loads X11 fonts for use with OpenGL.
*
* Permission to use, copy, modify, distribute, and sell this software and its
glRasterPos2f (x, y);
for (i = 0; i < strlen(string); i++)
{
- char c = string[i];
+ unsigned char c = (unsigned char) string[i];
if (c == '\n')
{
glRasterPos2f (x, (y -= line_height));
/* grab-ximage.c --- grab the screen to an XImage for use with OpenGL.
- * xscreensaver, Copyright (c) 2001-2006 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 2001-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
XGetGeometry (dpy, pixmap, &root, &x, &y, &width, &height, &bw, &depth);
}
+ if (width < 5 || height < 5) /* something's gone wrong somewhere... */
+ return 0;
+
/* Convert the server-side Pixmap to a client-side GL-ordered XImage.
*/
# ifdef HAVE_XSHM_EXTENSION
--- /dev/null
+/* hypnowheel, Copyright (c) 2008 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ *
+ * Draws overlapping spirals, where the tightness of the spirals changes.
+ * Nice settings:
+ *
+ * -layers 7 -wander
+ * -count 3 -layers 50
+ * -twistiness 0.2 -layers 20
+ * -count 3 -layers 2 -speed 20 -twist 10 -wander
+ */
+
+#define DEFAULTS "*delay: 20000 \n" \
+ "*count: 13 \n" \
+ "*showFPS: False \n" \
+ "*fpsSolid: True \n" \
+ "*wireframe: False \n" \
+
+# define refresh_hypnowheel 0
+# define release_hypnowheel 0
+# define hypnowheel_handle_event 0
+#undef countof
+#define countof(x) (sizeof((x))/sizeof((*x)))
+
+#include "xlockmore.h"
+#include "colors.h"
+#include "rotator.h"
+#include <ctype.h>
+
+#ifdef USE_GL /* whole file */
+
+
+#define DEF_WANDER "False"
+#define DEF_SYMMETRIC "False"
+#define DEF_SPEED "1.0"
+#define DEF_TWISTINESS "4.0"
+#define DEF_LAYERS "4"
+
+typedef struct {
+ int color;
+ GLfloat twist;
+ GLfloat alpha;
+ rotator *rot;
+} disc;
+
+typedef struct {
+ GLXContext *glx_context;
+ rotator *rot;
+ disc *discs;
+ int ncolors;
+ XColor *colors;
+
+} hypnowheel_configuration;
+
+static hypnowheel_configuration *bps = NULL;
+
+static GLfloat speed;
+static GLfloat twistiness;
+static GLfloat nlayers;
+static Bool do_wander;
+static Bool do_symmetric;
+
+static XrmOptionDescRec opts[] = {
+ { "-speed", ".speed", XrmoptionSepArg, 0 },
+ { "-twistiness", ".twistiness", XrmoptionSepArg, 0 },
+ { "-layers", ".layers", XrmoptionSepArg, 0 },
+ { "-wander", ".wander", XrmoptionNoArg, "True" },
+ { "+wander", ".wander", XrmoptionNoArg, "False" },
+ { "-symmetric", ".symmetric", XrmoptionNoArg, "True" },
+ { "+symmetric", ".symmetric", XrmoptionNoArg, "False" },
+};
+
+static argtype vars[] = {
+ {&do_wander, "wander", "Wander", DEF_WANDER, t_Bool},
+ {&do_symmetric, "symmetric", "Symmetric", DEF_SYMMETRIC, t_Bool},
+ {&speed, "speed", "Speed", DEF_SPEED, t_Float},
+ {&twistiness, "twistiness", "Twistiness", DEF_TWISTINESS, t_Float},
+ {&nlayers, "layers", "Layers", DEF_LAYERS, t_Float},
+};
+
+ENTRYPOINT ModeSpecOpt hypnowheel_opts = {
+ countof(opts), opts, countof(vars), vars, NULL};
+
+
+static void
+draw_spiral (ModeInfo *mi, disc *d)
+{
+ int wire = MI_IS_WIREFRAME(mi);
+ hypnowheel_configuration *bp = &bps[MI_SCREEN(mi)];
+ GLfloat rr = 0.5;
+ int n = MI_COUNT(mi);
+ int steps = n * (wire ? 3 : (n < 5 ? 60 : n < 10 ? 20 : 10));
+ GLfloat dth = M_PI*2 / n;
+ GLfloat dr = rr / steps;
+ GLfloat th;
+ GLfloat twist = d->twist;
+ GLfloat dtwist = M_PI * 2 * twist / steps;
+ double cscale = 65536.0;
+
+ if (nlayers > 3 && !wire)
+ cscale *= (nlayers-2); /* don't wash out to white */
+
+ glColor4f (bp->colors[d->color].red / cscale,
+ bp->colors[d->color].green / cscale,
+ bp->colors[d->color].blue / cscale,
+ d->alpha);
+ for (th = 0; th < M_PI*2; th += dth)
+ {
+ GLfloat th1 = th;
+ GLfloat r;
+ glBegin (wire ? GL_LINE_STRIP : GL_QUAD_STRIP);
+ for (r = 0; r <= rr; r += dr)
+ {
+ GLfloat th2 = th1 + dth/2 + dtwist;
+ th1 += dtwist;
+ glVertex3f (r * cos(th1), r * sin(th1), 0);
+ if (! wire)
+ glVertex3f (r * cos(th2), r * sin(th2), 0);
+ mi->polygon_count++;
+ }
+ glEnd();
+ }
+}
+
+
+
+/* Window management, etc
+ */
+ENTRYPOINT void
+reshape_hypnowheel (ModeInfo *mi, int width, int height)
+{
+ GLfloat h = (GLfloat) height / (GLfloat) width;
+
+ glViewport (0, 0, (GLint) width, (GLint) height);
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluPerspective (30.0, 1/h, 1.0, 100.0);
+
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ gluLookAt( 0.0, 0.0, 30.0,
+ 0.0, 0.0, 0.0,
+ 0.0, 1.0, 0.0);
+
+ glClear(GL_COLOR_BUFFER_BIT);
+}
+
+
+ENTRYPOINT void
+init_hypnowheel (ModeInfo *mi)
+{
+ hypnowheel_configuration *bp;
+ int wire = MI_IS_WIREFRAME(mi);
+ int i;
+
+ if (!bps) {
+ bps = (hypnowheel_configuration *)
+ calloc (MI_NUM_SCREENS(mi), sizeof (hypnowheel_configuration));
+ if (!bps) {
+ fprintf(stderr, "%s: out of memory\n", progname);
+ exit(1);
+ }
+ }
+
+ bp = &bps[MI_SCREEN(mi)];
+
+ bp->glx_context = init_GL(mi);
+
+ reshape_hypnowheel (mi, MI_WIDTH(mi), MI_HEIGHT(mi));
+
+ bp->rot = make_rotator (0, 0, 0, 0, speed * 0.0025, False);
+
+ bp->ncolors = 1024;
+ bp->colors = (XColor *) calloc(bp->ncolors, sizeof(XColor));
+ make_smooth_colormap (0, 0, 0,
+ bp->colors, &bp->ncolors,
+ False, 0, False);
+
+ if (MI_COUNT(mi) < 2) MI_COUNT(mi) = 2;
+ if (nlayers < 1) nlayers = 1;
+ bp->discs = (disc *) calloc (nlayers, sizeof (disc));
+
+ for (i = 0; i < nlayers; i++)
+ {
+ double spin_speed = speed * 0.2;
+ double wander_speed = speed * 0.0012;
+ double spin_accel = 0.2;
+
+ bp->discs[i].twist = 0;
+ bp->discs[i].alpha = 1;
+ bp->discs[i].color = i * bp->ncolors / nlayers;
+
+ spin_speed += frand (spin_speed / 5);
+ wander_speed += frand (wander_speed * 3);
+
+ bp->discs[i].rot = make_rotator (spin_speed, spin_speed, spin_speed,
+ spin_accel,
+ (do_wander ? wander_speed : 0),
+ True);
+ }
+
+ glDisable (GL_LIGHTING);
+ glDisable (GL_DEPTH_TEST);
+ glDepthMask (GL_FALSE);
+ glDisable (GL_CULL_FACE);
+
+ if (! wire)
+ {
+ glEnable (GL_BLEND);
+ glBlendFunc (GL_ONE, GL_ONE);
+ }
+}
+
+
+ENTRYPOINT void
+draw_hypnowheel (ModeInfo *mi)
+{
+ hypnowheel_configuration *bp = &bps[MI_SCREEN(mi)];
+ Display *dpy = MI_DISPLAY(mi);
+ Window window = MI_WINDOW(mi);
+ int i;
+
+ if (!bp->glx_context)
+ return;
+
+ glXMakeCurrent(MI_DISPLAY(mi), MI_WINDOW(mi), *(bp->glx_context));
+
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ glPushMatrix ();
+
+ {
+ double x, y, z;
+ get_position (bp->rot, &x, &y, &z, True);
+ glTranslatef((x - 0.5) * 8,
+ (y - 0.5) * 8,
+ 0);
+
+ get_rotation (bp->rot, &x, &y, &z, True);
+ glRotatef (x * 360, 1.0, 0.0, 0.0);
+ glRotatef (y * 360, 0.0, 1.0, 0.0);
+ glRotatef (z * 360, 0.0, 0.0, 1.0);
+ }
+
+ mi->polygon_count = 0;
+
+ glScalef (45, 45, 45);
+
+ for (i = 0; i < nlayers; i++)
+ {
+ disc *d = &bp->discs[i];
+ double x, y, z;
+ rotator *rot = (do_symmetric ? bp->discs[(i & ~0x1)].rot : d->rot);
+ Bool tick = (!do_symmetric || i == 0);
+
+ glPushMatrix();
+
+ d->color++;
+ if (d->color >= bp->ncolors)
+ d->color = 0;
+
+ get_position (rot, &x, &y, &z, tick);
+ x -= 0.5;
+ y -= 0.5;
+ x *= 0.1;
+ y *= 0.1;
+
+ glTranslatef (x, y, 0);
+ d->twist = (z * twistiness *
+ ((i & 1) ? 1 : -1));
+
+ get_rotation (rot, &x, &y, &z, tick);
+
+ glRotatef (360 * z, 0, 0, 1); /* rotation of this disc */
+
+ draw_spiral (mi, &bp->discs[i]);
+ glPopMatrix();
+ }
+
+ glPopMatrix ();
+
+ if (mi->fps_p) do_fps (mi);
+ glFinish();
+
+ glXSwapBuffers(dpy, window);
+}
+
+XSCREENSAVER_MODULE ("Hypnowheel", hypnowheel)
+
+#endif /* USE_GL */
--- /dev/null
+.TH XScreenSaver 1 "" "X Version 11"
+.SH NAME
+hypnowheel - draws overlapping, translucent spiral patterns
+.SH SYNOPSIS
+.B hypnowheel
+[\-display \fIhost:display.screen\fP]
+[\-visual \fIvisual\fP]
+[\-window]
+[\-root]
+[\-delay \fIint\fP]
+[\-layers \fIint\fP]
+[\-count \fIint\fP]
+[\-twistiness \fIfloat\fP]
+[\-speed \fIfloat\fP]
+[\-wander\fP]
+[\-symmetric\fP]
+[\-fps]
+.SH DESCRIPTION
+Draws a series of overlapping, translucent spiral patterns.
+The tightness of their spirals fluctuates in and out.
+.SH OPTIONS
+.TP 8
+.B \-visual \fIvisual\fP
+Specify which visual to use. Legal values are the name of a visual class,
+or the id number (decimal or hex) of a specific visual.
+.TP 8
+.B \-window
+Draw on a newly-created window. This is the default.
+.TP 8
+.B \-root
+Draw on the root window.
+.TP 8
+.B \-delay \fIint\fP
+Delay between frames, in microseconds. Default 20000.
+.TP 8
+.B \-layers \fIint\fP
+How many different spirals to draw at once. Default 4.
+.TP 8
+.B \-count \fIint\fP
+How many arms each spiral should have. Default 11.
+.TP 8
+.B \-twistiness \fIfloat\fP
+How tightly wound the spirals can become, measured in rotations.
+Default 4.0 (four times around).
+.TP 8
+.B \-speed \fIratio\fP
+Less than 1 for slower, greater than 1 for faster. Default 1.
+.TP 8
+.B \-wander
+If specified, then the centers of the spirals will wander around,
+rather than them all having the same origin.
+.TP 8
+.B \-symmetric
+If specified, then each pair of left-wrapping and right-wrapping
+spirals will be mirror images of each other.
+.TP 8
+.B \-fps | \-no-fps
+Whether to show a frames-per-second display at the bottom of the screen.
+.SH ENVIRONMENT
+.PP
+.TP 8
+.B DISPLAY
+to get the default host and display number.
+.TP 8
+.B XENVIRONMENT
+to get the name of a resource file that overrides the global resources
+stored in the RESOURCE_MANAGER property.
+.SH SEE ALSO
+.BR X (1),
+.BR xscreensaver (1)
+.SH COPYRIGHT
+Copyright \(co 2008 by Jamie Zawinski. Permission to use, copy, modify,
+distribute, and sell this software and its documentation for any purpose is
+hereby granted without fee, provided that the above copyright notice appear
+in all copies and that both that copyright notice and this permission notice
+appear in supporting documentation. No representations are made about the
+suitability of this software for any purpose. It is provided "as is" without
+express or implied warranty.
+.SH AUTHOR
+Jamie Zawinski.
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (js->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
-/* Juggler3D, Copyright (c) 2005 Brian Apps <brian@jugglesaver.co.uk>
+/* Juggler3D, Copyright (c) 2005-2008 Brian Apps <brian@jugglesaver.co.uk>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (pEvent->xany.type == ButtonPress &&
(pEvent->xbutton.button == Button4 ||
- pEvent->xbutton.button == Button5))
+ pEvent->xbutton.button == Button5 ||
+ pEvent->xbutton.button == Button6 ||
+ pEvent->xbutton.button == Button7))
{
gltrackball_mousewheel (pState->trackball, pEvent->xbutton.button, 2,
!pEvent->xbutton.state);
return True;
} else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5)) {
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7)) {
gltrackball_mousewheel (kp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
return True;
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (lc->trackball, event->xbutton.button, 5,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->trackball, event->xbutton.button, 5,
!!event->xbutton.state);
*/
struct lockward_context; /* Forward declaration. */
+#define int8_t char
+#define int16_t short
+#define int32_t int
+#define uint8_t unsigned char
+#define uint16_t unsigned short
+#define uint32_t unsigned int
+
typedef struct bladestate {
uint8_t outer, inner; /* Radii */
} bladestate;
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (sp->trackball, event->xbutton.button, 5,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (mp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
-/* moebiusgears, Copyright (c) 2007 Jamie Zawinski <jwz@jwz.org>
+/* moebiusgears, Copyright (c) 2007-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (mc->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
if (mi->fps_p) do_fps (mi);
glFinish();
- glXSwapBuffers(MI_DISPLAY(mi), MI_WINDOW(mi));
+/* For some reason this hack screws up on Cocoa if we try to double-buffer it.
+ It looks fine single-buffered, so let's just do that. */
+/* glXSwapBuffers(MI_DISPLAY(mi), MI_WINDOW(mi)); */
}
fprintf(stderr, "%s: out of memory\n", progname);
exit(1);
}
- bp = &bps[MI_SCREEN(mi)];
}
bp = &bps[MI_SCREEN(mi)];
bp->glx_context = init_GL(mi);
+ glDrawBuffer(GL_FRONT);
glClearColor(0.0, 0.0, 0.0, 1.0);
glEnable(GL_LINE_SMOOTH);
glShadeModel(GL_FLAT);
-/* pinion, Copyright (c) 2004-2006 Jamie Zawinski <jwz@jwz.org>
+/* pinion, Copyright (c) 2004-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (pp->trackball, event->xbutton.button, 5,
!!event->xbutton.state);
-/* polyhedra, Copyright (c) 2004-2006 Jamie Zawinski <jwz@jwz.org>
+/* polyhedra, Copyright (c) 2004-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (qs->trackball, event->xbutton.button, 5,
!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (sb->trackball, event->xbutton.button, 5,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (gp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
-/* xscreensaver, Copyright (c) 2002-2006 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 2002-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (cc->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (bp->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (tc->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
-/* topblock, Copyright (c) 2006 rednuht <topblock.xscreensaver@jumpstation.co.uk>
+/* topblock, Copyright (c) 2006-2008
+ * rednuht <topblock.xscreensaver@jumpstation.co.uk>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
else if (event->xany.type == ButtonPress &&
(event->xbutton.button == Button4 ||
- event->xbutton.button == Button5))
+ event->xbutton.button == Button5 ||
+ event->xbutton.button == Button6 ||
+ event->xbutton.button == Button7))
{
gltrackball_mousewheel (tb->trackball, event->xbutton.button, 10,
!!event->xbutton.state);
--- /dev/null
+; Brick Out by Blake Ramsdell <blaker@gmail.com> http://www.blakeramsdell.com
+
+; A poor attempt at brick out with no player involved. Maybe someday I'll
+; let you play it, or you can view this as an exercise for the reader to put
+; in a paddle that is user-controlled.
+
+; I guess this is Copyright (C) 2007 Blake Ramsdell, and you have a license to
+; do whatever you want with it, just tell me what you did and give me a
+; mention. If you want to sell it, and you make a billion dollars, then good
+; for you. You might at least throw a party and invite me.
+
+; The gist of it is pretty simple -- you have a ball, and the ball has an X
+; and a Y velocity. When it hits something, it bounces off of it. If the thing
+; that it hits is not a wall, then it erases it. Pretty dead-simple behavior.
+
+; I don't like the vertical movement -- there's a shortcut in here somewhere
+; to make it less computationally expensive I think. Right now it just does a
+; two byte add and subtract of $20.
+
+; The ball motion is also a bit weird looking. I don't know if this is an
+; artifact of the simulation environment combined with a normal tearing
+; artifact related to refresh or what.
+
+; Blake Ramsdell, May 2007
+
+init:
+ lda #$fe
+ sta $2 ; X velocity (0 = fast, ff = slow)
+ ; (low bit is direction, 0 = down or right, 1 = up or left)
+ lda #$ee
+ sta $3 ; Y velocity
+
+drawbox:
+ lda #0 ; Use $0-$1 as a screen address for drawing the field
+ sta $0
+ lda #2
+ sta $1
+
+ ldx #$20 ; Loop $20 times
+boxloop:
+ lda #2 ; Line color (red)
+ sta $1ff,x ; Top line
+ sta $5df,x ; Bottom line
+ ldy #0
+ sta ($0),y ; Left line
+ ldy #$1f
+ sta ($0),y ; Right line
+
+ cpx #$1 ; If we're just before the bottom line...
+ beq noblocks ; Don't draw any blocks there
+
+
+ lda #3 ; First block for this row, Cyan in color
+ ldy #$17 ; It's at X position $17
+ sta ($0),y ; Draw it
+
+ lda #4 ; Second block for this row, Purple in color
+ iny ; It's at the next X position
+ sta ($0),y ; Draw it
+
+ lda #5 ; Third block for this row, Green in color
+ iny ; It's at the next X position
+ sta ($0),y ; Draw it
+
+ lda #6 ; Fourth block for this row, Blue in color
+ iny ; It's at the next X position
+ sta ($0),y ; Draw it
+
+
+noblocks:
+ clc ; Get ready to increment the row, clear the carry for add
+ lda $0 ; Get the low byte
+ adc #$20 ; Add $20 to it for the next row
+ sta $0 ; Put it back
+ lda $1 ; Get the high byte
+ adc #0 ; Factor in the carry
+ sta $1 ; Put it back
+
+ dex ; Decrement the loop counter
+ bne boxloop ; Do it again unless it's zero
+
+ ldx $2 ; Load the X velocity
+ ldy $3 ; Load the Y velocity
+
+ lda #$44 ; Pick a start point
+ sta $0 ; Ball position low
+ lda #$02
+ sta $1 ; Ball position high
+
+drawball:
+ txa ; Preserve X
+ pha
+ lda #1 ; Ball color (white)
+ ldx #0 ; Clear X for indirect addressing for writing to screen
+ sta ($0,x) ; Draw the ball
+ pla ; Restore X
+ tax
+
+decloop:
+ dex ; Decrement the X velocity
+ beq updatexpos ; If it's zero, time to adjust X
+ dey ; Decrement the Y velocity
+ bne decloop ; If it's not zero, loop, otherwise fall through to adjust Y
+
+updateypos:
+ txa ; Preserve X
+ pha
+ jsr clearball ; Put background over the current ball position
+updateyposnoclear:
+ lda $3 ; Get the Y velocity
+ and #1 ; See if it's down
+ bne moveup ; If not, then it's up, otherwise fall through to down
+
+movedown:
+ clc ; Prepare for moving to the next Y line and doing the add
+ lda $0 ; Low byte of the current ball position
+ adc #$20 ; Next row
+ sta $0 ; Put it back
+ bcc ycollision ; If no carry, go on to check for collision
+ inc $1 ; Had a carry, fix the high byte of the address
+ bne ycollision ; Z flag is always clear ($1 will never be zero)
+
+moveup:
+ sec ; Prepare for moving to the previous Y line and subtracting
+ lda $0 ; Low byte of the current ball position
+ sbc #$20 ; Previous row
+ sta $0 ; Put it back
+ lda $1 ; High byte
+ sbc #$0 ; Factor out the carry
+ sta $1 ; Put it back
+
+ycollision:
+ ldx #0 ; Prepare for indirect read
+ lda ($0,x) ; Get the current pixel at the new ball position
+ bne ycollided ; If it's not zero (the background color) then we hit
+ ldy $3 ; Otherwise, load up the current Y velocity
+ pla ; Restore the X velocity
+ tax
+ jmp drawball ; Back to the top
+
+ycollided:
+ cmp #$2 ; Border color?
+ beq ycollided2 ; If so, then we just bounce, don't eat a brick
+
+ ; Erase brick
+ lda #0 ; Background color (black)
+ sta ($0,x) ; Erase it
+
+ycollided2:
+ lda #1 ; Get ready to change direction
+ eor $3 ; Flip the low bit on the Y velocity (change direction)
+ sta $3 ; Put it back
+ jmp updateyposnoclear ; Go back to make sure we didn't hit anything else
+
+updatexpos:
+ jsr clearball ; Put background over the current ball position
+updatexposnoclear:
+ lda $2 ; Get the current X velocity
+ and #1 ; See if it's right by testing the low bit
+ bne moveleft ; If not, move left
+
+moveright:
+ inc $0 ; Move right
+ bne xcollision ; Z flag is always clear
+
+moveleft:
+ dec $0 ; Move left
+
+xcollision:
+ ldx #0 ; Prepare for indirect read
+ lda ($0,x) ; Get the current pixel at the new ball position
+ bne xcollided ; If it's not zero (the background color) then we hit
+ ldx $2 ; Otherwise, load up the current X velocity
+ jmp drawball ; Back to the top
+
+xcollided:
+ cmp #$2 ; Border color?
+ beq xcollided2 ; If so, then we just bounce, don't eat a brick
+
+ ; Erase brick
+ lda #0 ; Background color (black)
+ sta ($0,x) ; Erase it
+
+xcollided2:
+ lda #1 ; Get ready to change direction
+ eor $2 ; Flip the low bit on the X velocity (change direction)
+ sta $2 ; Put it back
+ jmp updatexposnoclear ; Go back to make sure we didn't hit anything else
+
+clearball:
+ lda #0 ; Background color (black)
+ tax ; Clear X for indirect
+ sta ($0,x) ; Black out the ball
+ rts ; Return to caller
+
--- /dev/null
+; testing byterun compression
+
+start:
+ lda #<logo
+ sta $0
+ lda #>logo
+ sta $1
+ lda #$00
+ sta $2
+ lda #$02
+ sta $3
+
+decrunchLoop:
+ lda $3
+ cmp #$6
+ bne moreWork
+ rts
+moreWork:
+ ldy #0
+ lda ($0),y
+ cmp #$ff
+ bne notCrunched
+ iny
+ lda ($0),y ; repeat #
+ sta $4
+ iny
+ lda ($0),y ; color
+ ldy $4
+drawLoop:
+ ldx #0
+ sta ($2,x)
+ jsr nextPixel
+ dey
+ bne drawLoop
+ jsr getNextByte
+ jsr getNextByte
+ jmp decrunchLoop
+notCrunched:
+ ldx #0
+ sta ($2,x)
+ jsr nextPixel
+ jsr getNextByte
+ jmp decrunchLoop
+
+getNextByte:
+ inc $0
+ lda $0
+ cmp #$00
+ bne notHi
+ inc $1
+notHi:
+ rts
+
+nextPixel:
+ inc $2
+ ldx $2
+ cpx #$00
+ bne notNextLine
+ inc $3
+notNextLine:
+ rts
+
+
+logo:
+ dcb $ff,43,1,$f,$f,$f,$c,$f,$f,$f,$ff,24,1,$c,$f,$c,0
+ dcb $c,$f,$c,$ff,24,1,0,$f,$c,0,$c,$f,$c,$ff,24,1
+ dcb $c,$f,$c,0,$c,$f,$c,$ff,24,1,0,$f,$c,0,$c,$f,$c
+ dcb $ff,24,1,$c,$f,0,0,$c,$f,$c,$ff,24,1,0,$f,$c,0
+ dcb $c,$f,$c,$ff,24,1,0,$f,$c,0,$c,$f,0,$ff,24,1
+ dcb 0,$f,$c,0,$c,$f,0,$ff,23,1,$f,0,$f,$c,0,$c,$f,0,$f
+ dcb $ff,22,1,$c,0,1,$c,0,$c,$f,0,$c,$ff,21,1
+ dcb $f,0,0,1,0,0,$c,1,0,0,$ff,21,1,$c,0,$c,1,$c,0
+ dcb $c,1,$c,0,$c,$ff,19,1,$f,0,0,$f,1,$c,0
+ dcb $c,1,$f,0,0,$f,$ff,17,1,$f,0,0,0,1,1,$c,0
+ dcb $c,1,1,0,0,0,$ff,16,1,$f,0,0,0,$f,1,1,0,0
+ dcb $c,1,1,$f,0,0,0,$f,$ff,13,1
+ dcb $c,0,0,0,$c,1,1,1,$c,0,$c,1,1,1,$c,0,0,0,$c
+ dcb $ff,10,1,$c,0,0,0,0,$c,1,1,1,1,0,0
+ dcb $c,1,1,1,1,0,0,0,0,0,$c,$ff,8,1
+ dcb 0,0,0,0,$c,1,1,1,1,1,0,0
+ dcb $c,1,1,1,1,1,$c,0,0,0,0,1,1,1,1,1
+ dcb 1,1,1,1,0,0,$c,1,1,1,1,1,1,1,$c,0
+ dcb $c,1,1,1,1,1,1,$f,$c,0,0,$ff,18,1,$f
+ dcb $ff,53,1,0,$f,1,0,0,0,0,0,$f,1,$c
+ dcb $c,1,1,1,$c,0,0,0,1,1,0,$f,$f,1,1,1
+ dcb 1,1,1,1,$c,0,0,1,1,1,0,$f,1,1,$f,0
+ dcb 0,$f,1,1,0,$f,1,$c,$c,1,0,$f,1,1,1,1
+ dcb 1,1,1,1,0,$f,0,$f,1,1,0,$f,1,1,$f,$c
+ dcb $c,$c,1,1,0,1,1,$f,0,1,0,$f,1,1,1,1
+ dcb 1,1,1,1,0,1,$c,$f,1,1,$c,$f,1,1,0,$f
+ dcb $f,0,1,1,0,$f,$f,0,$f,1,0,$f,1,1,1,1
+ dcb 1,1,1,$c,0,$c,0,0,1,1,0,$f,1,1,0,$c
+ dcb $c,0,$f,1,0,$f,0,$f,1,1,0,$f,1,1,1,1
+ dcb 1,1,1,0,$c,$f,$f,0,$f,1,$c,$f,1,$c,$c,$f
+ dcb $f,$c,$c,1,0,1,$f,$c,1,1,0,$f,1,1,1,1
+ dcb 1,1,$f,0,1,1,1,$c,$c,1,0,$f,1,0,$f,1
+ dcb 1,$f,0,1,0,$f,1,0,$f,1,0,$f,$ff,16,1
+ dcb $f,$ff,5,1,$f,1,1,1,$f,$ff,38,1
+
+
--- /dev/null
+; Rule 30 cellular automata
+; by D.S.
+
+ lda #1
+ sta $20f
+
+l3:
+ lda #2
+ sta 3
+ sta 5
+ sta 7
+ lda #1
+ sta 9
+ sta 6
+ lda #255
+ sta 8
+ lda #0
+ sta 2
+ lda #32
+ sta 4
+ ldx #30
+l1:
+ ldy #31
+
+l2:
+ lda ($2),y
+ ora ($6),y
+ eor ($8),y
+ sta ($4),y
+ dey
+ bpl l2
+
+ lda $2
+ adc #32
+ sta $2
+ lda $3
+ adc #0
+ sta $3
+ lda $4
+ adc #32
+ sta $4
+ lda $5
+ adc #0
+ sta $5
+ lda $6
+ adc #32
+ sta $6
+ lda $7
+ adc #0
+ sta $7
+ lda $8
+ adc #32
+ sta $8
+ lda $9
+ adc #0
+ sta $9
+ dex
+ bpl l1
+
+ ldy #31
+l4:
+ lda ($2),y
+ sta $200,y
+ dey
+ bpl l4
+
+ jmp l3
--- /dev/null
+; Code 600 cellular automata - by D.S.
+ lda #1
+ sta $22f
+
+l3:
+ ldy #29
+
+l2:
+ lda $220,y
+ adc $221,y
+ adc $222,y
+ tax
+ lda rule,x
+ sta $201,y
+ dey
+ bpl l2
+
+ ldy #$c0
+ sec
+ll2:
+ lda $503,y
+ sta $523,y
+ sta $53b,y
+ lda $504,y
+ sta $524,y
+ sta $53a,y
+ lda $505,y
+ sta $525,y
+ sta $539,y
+ lda $506,y
+ sta $526,y
+ sta $538,y
+ lda $507,y
+ sta $527,y
+ sta $537,y
+ lda $508,y
+ sta $528,y
+ sta $536,y
+ lda $509,y
+ sta $529,y
+ sta $535,y
+ lda $50a,y
+ sta $52a,y
+ sta $534,y
+ lda $50b,y
+ sta $52b,y
+ sta $533,y
+ lda $50c,y
+ sta $52c,y
+ sta $532,y
+ lda $50d,y
+ sta $52d,y
+ sta $531,y
+ lda $50e,y
+ sta $52e,y
+ sta $530,y
+ lda $50f,y
+ sta $52f,y
+ tya
+ adc #$df
+ tay
+ bcs ll2
+
+ ldy #$e0
+ sec
+ll3:
+ lda $403,y
+ sta $423,y
+ sta $43b,y
+ lda $404,y
+ sta $424,y
+ sta $43a,y
+ lda $405,y
+ sta $425,y
+ sta $439,y
+ lda $406,y
+ sta $426,y
+ sta $438,y
+ lda $407,y
+ sta $427,y
+ sta $437,y
+ lda $408,y
+ sta $428,y
+ sta $436,y
+ lda $409,y
+ sta $429,y
+ sta $435,y
+ lda $40a,y
+ sta $42a,y
+ sta $434,y
+ lda $40b,y
+ sta $42b,y
+ sta $433,y
+ lda $40c,y
+ sta $42c,y
+ sta $432,y
+ lda $40d,y
+ sta $42d,y
+ sta $431,y
+ lda $40e,y
+ sta $42e,y
+ sta $430,y
+ lda $40f,y
+ sta $42f,y
+ tya
+ adc #$df
+ tay
+ bcs ll3
+
+ ldy #$e0
+ sec
+ll4:
+ lda $303,y
+ sta $323,y
+ sta $33b,y
+ lda $304,y
+ sta $324,y
+ sta $33a,y
+ lda $305,y
+ sta $325,y
+ sta $339,y
+ lda $306,y
+ sta $326,y
+ sta $338,y
+ lda $307,y
+ sta $327,y
+ sta $337,y
+ lda $308,y
+ sta $328,y
+ sta $336,y
+ lda $309,y
+ sta $329,y
+ sta $335,y
+ lda $30a,y
+ sta $32a,y
+ sta $334,y
+ lda $30b,y
+ sta $32b,y
+ sta $333,y
+ lda $30c,y
+ sta $32c,y
+ sta $332,y
+ lda $30d,y
+ sta $32d,y
+ sta $331,y
+ lda $30e,y
+ sta $32e,y
+ sta $330,y
+ lda $30f,y
+ sta $32f,y
+ tya
+ adc #$df
+ tay
+ bcs ll4
+
+
+ ldy #$e0
+ sec
+ll1:
+ lda $203,y
+ sta $223,y
+ sta $23b,y
+ lda $204,y
+ sta $224,y
+ sta $23a,y
+ lda $205,y
+ sta $225,y
+ sta $239,y
+ lda $206,y
+ sta $226,y
+ sta $238,y
+ lda $207,y
+ sta $227,y
+ sta $237,y
+ lda $208,y
+ sta $228,y
+ sta $236,y
+ lda $209,y
+ sta $229,y
+ sta $235,y
+ lda $20a,y
+ sta $22a,y
+ sta $234,y
+ lda $20b,y
+ sta $22b,y
+ sta $233,y
+ lda $20c,y
+ sta $22c,y
+ sta $232,y
+ lda $20d,y
+ sta $22d,y
+ sta $231,y
+ lda $20e,y
+ sta $22e,y
+ sta $230,y
+ lda $20f,y
+ sta $22f,y
+ tya
+ adc #$df
+ tay
+ bcs ll1
+
+ jmp l3
+
+; Rules, uncomment only one line of the following.
+rule:
+ dcb 0,2,0,1,1,2,0 ; CODE 600
+; dcb 0,2,1,0,2,0,0 ; CODE 177
+; dcb 0,1,2,0,2,0,1; CODE 912
\ No newline at end of file
--- /dev/null
+;; Show "6502" on the screen waving up and down.
+;; Jeremy English 29-December-2007
+;;
+;; Each digit is stored as a pattern of vertical bits.
+;; For example:
+;;
+;; 111111 This is the digit six. We think of the digit
+;; 111111 by it's column pattern. The column patterns
+;; 110000 are labeled at the bottom of the example.
+;; 110000 Pattern B is 1100110011. The basic algorithm
+;; 111111 is that we get the pattern, paint the first
+;; 111111 bit (1 foreground, 0 background) then dec y
+;; 110011 and get the next bit.
+;; 110011
+;; 111111 The pattern for each digit is:
+;; 111111 6 = AABBCC
+;; ------ 5 = DDBBCC
+;; AABBCC 0 = AAEEAA
+;; 2 = CCBBDD
+
+;; Addresses $0 and $1 are used by the paint subroutine.
+;; Addresses $2 through $6 are used by the display pattern subroutine
+;; Address $7 is used in the main loop
+;; Address $8 through $1a are used for the start positions
+;; Address $1b is used by the display pattern subroutine
+;; Address $1c is used as the color row offset.
+;; Addresses $d0 through $ef store the font table
+
+jmp init_font_table
+start:
+
+;; Initialize the pointers to the start position.
+lda #<y_start_pos1
+sta $b
+lda #>y_start_pos1
+sta $c
+lda #<y_start_pos2
+sta $d
+lda #>y_start_pos2
+sta $e
+lda #<y_start_pos3
+sta $f
+lda #>y_start_pos3
+sta $10
+lda #<y_start_pos4
+sta $11
+lda #>y_start_pos4
+sta $12
+lda #<y_start_pos5
+sta $13
+lda #>y_start_pos5
+sta $14
+lda #<y_start_pos4
+sta $15
+lda #>y_start_pos4
+sta $16
+lda #<y_start_pos3
+sta $17
+lda #>y_start_pos3
+sta $18
+lda #<y_start_pos2
+sta $19
+lda #>y_start_pos2
+sta $1a
+
+
+lda #0 ; start position to use
+sta $8
+
+main_loop:
+inc $1c ; increment the color offset.
+inc $1d ; increment the starting x position
+ldy $8 ; load the current start position index
+ldx $b,y ; get the lsb from the table
+txa
+sta $9 ; store the msb of the start position pointer
+iny ; move to the next position in the table
+ldx $b,y ; get the msb from the table
+txa
+sta $a ; store the lsb of the start position pointer
+iny ; move the index up by one
+tya
+cmp #$10 ; have we looked at all 16 start positions?
+bne store_idx ; if not then keep the index and store it
+lda #0 ; set the index back to zero
+store_idx:
+sta $8 ; save the index back in memory
+
+ldy #0
+lda #$ff
+sta $4 ; initialize the column to FF
+display_loop:
+ inc $4 ; increment the column
+ ldx $d0,y ; load the lsb from the font table
+ stx $2
+ iny
+ ldx $d0,y ; load the msb from the font table
+ stx $3
+ sty $7 ; save y in memory
+ jsr dis_pat ; Jump to the display pattern subroutine.
+ inc $4 ; increment the column
+ jsr dis_pat ; Each pattern gets painted twice so we have a thicker font
+ ldy $7 ; get y out of memory
+ iny ; increment the index
+ tya
+ cmp #$20 ; Did we display all of the columns?
+ bne display_loop ;if not continue
+jmp main_loop
+rts
+
+init_font_table:
+ ;;Setup a table in the zero page that contains the string "6502"
+ lda #<pattern_a ;start with digit 6. It's pattern is aabbcc
+ sta $d0
+ lda #>pattern_a
+ sta $d1
+ lda #<pattern_b
+ sta $d2
+ lda #>pattern_b
+ sta $d3
+ lda #<pattern_c
+ sta $d4
+ lda #>pattern_c
+ sta $d5
+ lda #<pattern_null ;We want to space everything out with blanks
+ sta $d6
+ lda #>pattern_null
+ sta $d7
+ lda #<pattern_d ;load memory for digit 5 ddbbcc
+ sta $d8
+ lda #>pattern_d
+ sta $d9
+ lda #<pattern_b
+ sta $da
+ lda #>pattern_b
+ sta $db
+ lda #<pattern_c
+ sta $dc
+ lda #>pattern_c
+ sta $dd
+ lda #<pattern_null
+ sta $de
+ lda #>pattern_null
+ sta $df
+ lda #<pattern_a ;load memory for digit 0 aaeeaa
+ sta $e0
+ lda #>pattern_a
+ sta $e1
+ lda #<pattern_e
+ sta $e2
+ lda #>pattern_e
+ sta $e3
+ lda #<pattern_a
+ sta $e4
+ lda #>pattern_a
+ sta $e5
+ lda #<pattern_null
+ sta $e6
+ lda #>pattern_null
+ sta $e7
+ lda #<pattern_c ;load memory for digit 2 ccbbdd
+ sta $e8
+ lda #>pattern_c
+ sta $e9
+ lda #<pattern_b
+ sta $ea
+ lda #>pattern_b
+ sta $eb
+ lda #<pattern_d
+ sta $ec
+ lda #>pattern_d
+ sta $ed
+ lda #<pattern_null
+ sta $ee
+ lda #>pattern_null
+ sta $ef
+ jmp start
+
+
+;; Display a pattern on the screen. The pattern to use is
+;; stored at $2 and $3. The current column is stored at $4.
+dis_pat:
+ ldy $4 ; Load the current column into y
+ lda ($9),y ; Get the start position for y
+ tay
+ sty $5 ; Store the starting position in memory
+ ldy #0 ; We have 12 bits that need to be painted
+dis_pat_loop:
+ lda ($2),y ; get a bit from the pattern
+ pha ; save the color on the stack
+ tya ; move the index into the accumulator
+ clc ; clear the carry
+ adc $5 ; add the starting position to the index
+ sty $6 ; store the index
+ tay ; The calculated y position
+ ldx $4 ; The x position is the current column
+ pla ; pop the color off of the stack
+ beq go_paint ; black just paint it
+ clc ; get rid of any carry bit
+ sty $1b ; save the y coordinate
+ tya
+ clc
+ adc $1c ; add the color offset
+ and #$7 ; make sure the look up is in range
+ tay ; move the new index into y so we can look up the color
+ lda color_row,y ; if not black get the row color
+ ldy $1b ; restore the y coordinate
+go_paint:
+ jsr paint ; paint the pixel on the screen
+ ldy $6 ; get the index out of memory
+ iny ; increment the index
+ tya
+ cmp #12 ; Have we looked at all of the bits?
+ bne dis_pat_loop ; if not then continue looking
+ rts ; else return from the subroutine
+
+;; Paint - Put a pixel on the screen by using the x registry for
+;; the x position, the y registry for the y position and
+;; the accumulator for the color.
+paint:
+ pha ; Save the color
+ lda yl,y ; Get the LSB of the memory address for y
+ sta $0 ; Store it first
+ lda yh,y ; Get the MSB of the memory address for y
+ sta $1 ; Store it next
+ txa ; We want x in the y registry so we transfer it to A
+ tay ; and then A into y.
+ pla ; Pop the color off of the stack
+ sta ($0),y ; Store the color at the correct y + x address.
+ rts ; return from the subroutine.
+
+;; Paint uses the following two tables to look up the
+;; correct address for a y coordinate between
+;; 0 and 31.
+
+;; Y cord MSB
+yh:
+ dcb $02, $02, $02, $02, $02, $02, $02, $02
+ dcb $03, $03, $03, $03, $03, $03, $03, $03
+ dcb $04, $04, $04, $04, $04, $04, $04, $04
+ dcb $05, $05, $05, $05, $05, $05, $05, $05
+;; Y cord LSB
+yl:
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
+
+;; A zero is on the end of each pattern to clean up
+;; residue left by waving.
+pattern_a:
+ dcb 0,1,1,1,1,1,1,1,1,1,1,0
+
+pattern_b:
+ dcb 0,1,1,0,0,1,1,0,0,1,1,0
+
+pattern_c:
+ dcb 0,1,1,0,0,1,1,1,1,1,1,0
+
+pattern_d:
+ dcb 0,1,1,1,1,1,1,0,0,1,1,0
+
+pattern_e:
+ dcb 0,1,1,0,0,0,0,0,0,1,1,0
+
+pattern_null:
+ dcb 0,0,0,0,0,0,0,0,0,0,0,0
+
+;; Table that store the current start position
+;; of each y column.
+y_start_pos1:
+ dcb 10,10,9,9,8,8,7,7,6,6,7,7,8,8,9,9,10,10,9,9,8,8,7,7
+ dcb 6,6,7,7,8,8
+
+y_start_pos2:
+ dcb 9,9,8,8,8,8,8,8,7,7,8,8,8,8,8,8,9,9,8,8,8,8,8,8
+ dcb 7,7,8,8,8,8
+
+y_start_pos3:
+ dcb 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
+ dcb 8,8,8,8,8,8
+
+y_start_pos4:
+ dcb 7,7,8,8,8,8,8,8,9,9,8,8,8,8,8,8,7,7,8,8,8,8,8,8
+ dcb 9,9,8,8,8,8
+
+y_start_pos5:
+ dcb 6, 6,7,7,8,8,9,9,10,10,9,9,8,8,7,7, 6, 6,7,7,8,8,9,9
+ dcb 10,10,9,9,8,8
+
+color_row:
+ dcb $7,$8,$9,$2,$4,$6,$e,$3,$d,$5
--- /dev/null
+
+start:
+ ldx #0
+c:lda bottombar,x
+ cmp #$ff
+ beq init
+ sta $4e0,x
+ sta $5e0,x
+ inx
+ jmp c
+init:
+ jsr initDraw
+ lda #0
+ sta $10 ; scrptr
+ sta $11 ; txtptr
+loop:
+ jsr drawMain
+ jsr putfont
+ jsr scrollarea
+ jmp loop
+
+scrollarea:
+ ldx #0
+g:lda $521,x
+ sta $520,x
+ lda $541,x
+ sta $540,x
+ lda $561,x
+ sta $560,x
+ lda $581,x
+ sta $580,x
+ lda $5a1,x
+ sta $5a0,x
+ inx
+ cpx #31
+ bne g
+ rts
+
+putfont:
+ lda $10 ; scrptr
+ cmp #0
+ bne noNext
+ inc $11
+ ldx $11
+ lda scrolltext,x
+ tax
+ lda fontSize,x
+ sta $10
+noNext:
+ dec $10
+ ldx $11
+ lda scrolltext,x
+ cmp #$ff
+ bne notResetText
+ lda #0
+ sta $10
+ sta $11
+ rts
+
+notResetText:
+ asl
+ tax
+ lda fontlookup,x
+ sta $2
+ inx
+ lda fontlookup,x
+ sta $3
+ lda #<fonts
+ clc
+ adc $2
+ sta $0
+ lda #>fonts
+ adc $3
+ sta $1
+ ldy $10
+ lda ($00),y
+ sta $53f
+ tya
+ clc
+ adc #6
+ tay
+ lda ($00),y
+ sta $55f
+ tya
+ clc
+ adc #6
+ tay
+ lda ($00),y
+ sta $57f
+ tya
+ clc
+ adc #6
+ tay
+ lda ($00),y
+ sta $59f
+ tya
+ clc
+ adc #6
+ tay
+ lda ($00),y
+ sta $5bf
+ rts
+
+initDraw:
+ lda #<picture
+ sta $20
+ lda #>picture
+ sta $21
+ lda #$00
+ sta $22
+ lda #$02
+ sta $23
+ ldx #$0
+ rts
+drawMain:
+ ldx #0
+ lda ($20,x)
+ cmp #$ff
+ beq done
+ sta ($22,x)
+ inc $20
+ lda $20
+ cmp #$00
+ bne n1
+ inc $21
+n1:
+ inc $22
+ lda $22
+ cmp #$00
+ bne done
+ lda $23
+ cmp #$05
+ beq done
+ inc $23
+done:
+ rts
+
+picture:
+ dcb 0,0,0,0,0,0,0,0,0,$b,$b,$c,$f,$f,$f,$f
+ dcb $f,$b,0,0,0,$b,$b,$c,$c,$f,$f,$b,0,0,0,0
+ dcb 0,0,0,0,0,0,0,0,0,$b,$c,$c,$f,$c,$f,$f
+ dcb $b,$b,$b,$b,$b,0,$b,$b,$c,$f,$f,$c,0,0,0,0
+ dcb 0,0,0,0,0,0,0,$b,0,$c,$b,$f,$c,$f,$f,$c
+ dcb $c,$b,0,$b,$c,$c,$c,$f,$f,1,$f,$c,$b,0,0,0
+ dcb 0,0,0,0,0,0,0,0,$b,$b,$c,$c,$c,$f,$f,$f
+ dcb $c,$c,$c,$c,$c,$c,$f,$c,$f,$f,$f,$f,$b,0,0,0
+ dcb 0,0,0,0,0,0,0,$b,0,0,$b,$c,$c,$f,$f,$f
+ dcb $f,$c,$f,$f,$f,$f,$f,$f,$f,1,$f,$f,$c,0,0,0
+ dcb 0,0,0,0,0,0,0,0,0,$b,$b,$b,$c,$f,$f,1
+ dcb $f,$f,$c,$f,$f,$f,1,$f,$f,$f,$f,$f,$f,0,0,0
+ dcb 0,0,0,0,0,0,0,0,0,$b,$b,$b,$b,$c,$f,1
+ dcb $f,$f,$f,$f,$f,$f,$f,$f,1,$f,$f,$f,$f,$b,0,0
+ dcb 0,0,0,0,0,0,0,0,$b,0,$b,$c,$b,$c,$c,1
+ dcb 1,$f,1,$f,1,$f,1,$f,$f,1,$f,$f,1,$b,0,0
+ dcb 0,0,0,0,0,0,0,$b,$b,$b,$c,$c,$b,$c,$f,1
+ dcb 1,1,$f,$f,1,$f,$f,1,$f,$f,$f,$f,1,$c,0,0
+ dcb 0,0,0,0,0,0,0,$b,$b,$c,$c,$c,$b,$c,$c,$f
+ dcb 1,1,1,$f,$f,1,$f,1,$f,1,$f,$f,1,$c,0,0
+ dcb 0,0,0,0,0,$b,$b,$b,$c,$c,$c,$f,$c,$c,$f,$f
+ dcb 1,1,1,1,$f,$f,$f,1,$f,1,$f,$f,$f,$f,0,0
+ dcb 0,0,0,0,0,0,$b,$c,$c,$c,$f,$c,$f,$c,$f,$f
+ dcb 1,1,1,1,1,$f,$f,1,$f,$f,$f,$f,1,$f,$b,0
+ dcb 0,0,0,0,$b,$b,$b,$c,$c,$f,$c,$f,$f,$c,$f,$f
+ dcb 1,1,1,1,1,$f,$f,$f,1,$f,$f,$f,1,$c,$b,$b
+ dcb 0,0,0,0,$b,$b,$c,$f,$c,$f,$f,$f,$f,$f,$c,$f
+ dcb 1,1,1,1,1,$f,$f,$f,1,$f,$f,$f,$f,$f,$b,$b
+ dcb 0,0,0,0,$b,$c,$c,$c,$f,$f,$f,$f,$f,$f,$f,$f
+ dcb $f,1,1,1,$f,$b,$f,$f,$f,1,$f,$f,$f,$f,$b,$b
+ dcb 0,0,0,0,$b,$c,$c,$f,$c,$f,$f,$f,$f,$f,$f,$f
+ dcb $f,$f,$f,$c,$b,$f,$f,1,$f,$f,$f,$f,$f,$f,$c,$b
+ dcb 0,0,0,0,$b,$b,$c,$c,$f,$c,$f,$f,$f,$f,$f,$f
+ dcb $c,$c,$b,$c,$c,$f,$f,1,$c,$c,$f,$f,$f,$f,$c,$b
+ dcb 0,0,0,0,$b,$b,$c,$c,$c,$f,$f,$f,$f,$f,$f,$f
+ dcb $f,$f,$f,$f,$f,1,$f,$c,$b,$f,$c,$f,$c,$f,$c,$b
+ dcb 0,0,0,0,0,$b,$c,$c,$c,$c,$f,$f,$f,$f,$f,$f
+ dcb $f,$f,$f,$f,$f,$c,$b,$c,$c,$c,$f,$f,$c,$f,$c,$c
+ dcb 0,0,0,0,0,$b,$b,$c,$c,$c,$c,$c,$f,$f,$f,$f
+ dcb $f,$f,$f,$c,$b,$b,$c,$c,$c,$f,$c,$f,$f,$f,$c,$b
+ dcb 0,0,0,0,0,$b,$b,$b,$b,$c,$c,$f,$c,$f,$f,$f
+ dcb $c,$c,$b,$b,$b,$c,$b,$b,$c,$c,$f,$c,$c,$f,$c,$c
+ dcb 0,0,0,0,0,0,$b,$b,$c,$b,$c,$c,$c,$c,$c,$c
+ dcb $b,$b,$b,$b,$c,$b,$b,$c,$c,$f,$f,$f,$c,$c,$c,$b
+ dcb 0,0,0,0,0,0,0,0,$b,$b,$b,$c,$c,$c,$c,$c
+ dcb $c,$c,$b,$b,$b,$b,$c,$c,$f,$f,$f,$c,$c,$c,$c,$c
+ dcb $ff
+
+
+fontSize:
+ dcb 5,5,5,5,5,5,5,5 ;abcdefgh
+ dcb 2,5,5,5,6,6,5,5 ;ijklmnop
+ dcb 6,5,5,4,5,6,6,6 ;qrstuvwx
+ dcb 6,5,2,3 ;yz.[SPACE]
+
+;
+; a=0, b=1, c=2, d=3....
+;
+
+scrolltext:
+ dcb 0
+
+ dcb 14,13,11,24,27 ; "only "
+ dcb 03,04,15,19,07,27 ; "depth "
+ dcb 12,0,10,4,18,27 ; "makes "
+ dcb 8,19,27 ; "it "
+ dcb 15,14,18,18,8,1,11,4 ; "possible"
+ dcb 26,26,26 ; "..."
+ dcb 19,7,8,18,27 ; "this "
+ dcb 8,18,27 ; "is "
+ dcb 19,7,4,27 ; "the "
+ dcb 5,8,17,18,19,27 ; "first "
+ dcb 3,4,12,14,27 ; "demo "
+ dcb 12,0,3,4,27 ; "made "
+ dcb 8,13,27 ; "in "
+ dcb 19,7,8,18,27 ; "this "
+ dcb 4,13,21,26,26,26,26,27 ; "env.... "
+ dcb 7,14,15,4,27 ; "hope "
+ dcb 24,14,20,27 ; "you "
+ dcb 11,8,10,4,27 ; "like "
+ dcb 8,19,26,26,26,27,27 ; "it... "
+ dcb 22,22,22,26 ; "www."
+ dcb 3,4,15,19,7,26 ; "depth."
+ dcb 14,17,6,27,27,27,27,27 ; "org "
+
+ dcb $ff ; end of text
+
+fontlookup:
+ dcb $00,$00 ;a
+ dcb $20,$00 ;b
+ dcb $40,$00 ;c
+ dcb $60,$00 ;d
+ dcb $80,$00 ;e
+ dcb $a0,$00 ;f
+ dcb $c0,$00 ;g
+ dcb $e0,$00 ;h
+ dcb $00,$01 ;i
+ dcb $20,$01 ;j
+ dcb $40,$01 ;k
+ dcb $60,$01 ;l
+ dcb $80,$01 ;m
+ dcb $a0,$01 ;n
+ dcb $c0,$01 ;o
+ dcb $e0,$01 ;p
+ dcb $00,$02 ;q
+ dcb $20,$02 ;r
+ dcb $40,$02 ;s
+ dcb $60,$02 ;t
+ dcb $80,$02 ;u
+ dcb $a0,$02 ;v
+ dcb $c0,$02 ;w
+ dcb $e0,$02 ;x
+ dcb $00,$03 ;y
+ dcb $20,$03 ;z
+ dcb $40,$03 ;.
+ dcb $60,$03 ;" "
+
+fonts:
+ dcb 0,1,1,0,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,1,1,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,0
+
+ dcb 0,1,1,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,1,1,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,1,1,1,0,0
+ dcb 0,0
+
+ dcb 0,1,1,0,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,1,1,0,0,0
+ dcb 0,0
+
+ dcb 0,1,1,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,1,1,1,0,0
+ dcb 0,0
+
+ dcb 1,1,1,1,0,0
+ dcb 0,0,0,1,0,0
+ dcb 0,1,1,1,0,0
+ dcb 0,0,0,1,0,0
+ dcb 1,1,1,1,0,0
+ dcb 0,0
+
+ dcb 1,1,1,1,0,0
+ dcb 0,0,0,1,0,0
+ dcb 0,1,1,1,0,0
+ dcb 0,0,0,1,0,0
+ dcb 0,0,0,1,0,0
+ dcb 0,0
+
+ dcb 1,1,1,0,0,0
+ dcb 0,0,0,1,0,0
+ dcb 1,1,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,1,1,0,0,0
+ dcb 0,0
+
+ dcb 1,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,1,1,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,0
+
+ dcb 1,0,0,0,0,0
+ dcb 1,0,0,0,0,0
+ dcb 1,0,0,0,0,0
+ dcb 1,0,0,0,0,0
+ dcb 1,0,0,0,0,0
+ dcb 0,0
+
+ dcb 1,0,0,0,0,0
+ dcb 1,0,0,0,0,0
+ dcb 1,0,0,0,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,1,1,0,0,0
+ dcb 0,0
+
+ dcb 1,0,0,1,0,0
+ dcb 0,1,0,1,0,0
+ dcb 0,0,1,1,0,0
+ dcb 0,1,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,0
+
+ dcb 0,0,0,1,0,0
+ dcb 0,0,0,1,0,0
+ dcb 0,0,0,1,0,0
+ dcb 0,0,0,1,0,0
+ dcb 1,1,1,1,0,0
+ dcb 0,0
+
+ dcb 1,0,0,0,1,0
+ dcb 1,1,0,1,1,0
+ dcb 1,0,1,0,1,0
+ dcb 1,0,0,0,1,0
+ dcb 1,0,0,0,1,0
+ dcb 0,0
+
+ dcb 1,0,0,0,1,0
+ dcb 1,0,0,1,1,0
+ dcb 1,0,1,0,1,0
+ dcb 1,1,0,0,1,0
+ dcb 1,0,0,0,1,0
+ dcb 0,0
+
+ dcb 0,1,1,0,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,1,1,0,0,0
+ dcb 0,0
+
+ dcb 0,1,1,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,1,1,1,0,0
+ dcb 0,0,0,1,0,0
+ dcb 0,0,0,1,0,0
+ dcb 0,0
+
+ dcb 0,1,1,0,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,1,0,1,0,0
+ dcb 1,0,1,0,0,0
+ dcb 0,0
+
+ dcb 0,1,1,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,1,1,1,0,0
+ dcb 0,1,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 0,0
+
+ dcb 1,1,1,0,0,0
+ dcb 0,0,0,1,0,0
+ dcb 0,1,1,0,0,0
+ dcb 1,0,0,0,0,0
+ dcb 0,1,1,1,0,0
+ dcb 0,0
+
+ dcb 1,1,1,0,0,0
+ dcb 0,1,0,0,0,0
+ dcb 0,1,0,0,0,0
+ dcb 0,1,0,0,0,0
+ dcb 0,1,0,0,0,0
+ dcb 0,0
+
+ dcb 1,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,0,0,1,0,0
+ dcb 1,1,1,0,0,0
+ dcb 0,0
+
+ dcb 1,0,0,0,1,0
+ dcb 1,0,0,0,1,0
+ dcb 1,0,0,0,1,0
+ dcb 0,1,0,1,0,0
+ dcb 0,0,1,0,0,0
+ dcb 0,0
+
+ dcb 1,0,0,0,1,0
+ dcb 1,0,0,0,1,0
+ dcb 1,0,1,0,1,0
+ dcb 1,1,0,1,1,0
+ dcb 1,0,0,0,1,0
+ dcb 0,0
+
+ dcb 1,0,0,0,1,0
+ dcb 0,1,0,1,0,0
+ dcb 0,0,1,0,0,0
+ dcb 0,1,0,1,0,0
+ dcb 1,0,0,0,1,0
+ dcb 0,0
+
+ dcb 1,0,0,0,1,0
+ dcb 0,1,0,1,0,0
+ dcb 0,0,1,0,0,0
+ dcb 0,0,1,0,0,0
+ dcb 0,0,1,0,0,0
+ dcb 0,0
+
+ dcb 1,1,1,1,0,0 ; z
+ dcb 1,0,0,0,0,0
+ dcb 0,1,1,0,0,0
+ dcb 0,0,0,1,0,0
+ dcb 1,1,1,1,0,0
+ dcb 0,0
+
+ dcb 0,0,0,0,0,0 ; .
+ dcb 0,0,0,0,0,0
+ dcb 0,0,0,0,0,0
+ dcb 0,0,0,0,0,0
+ dcb 1,0,0,0,0,0
+ dcb 0,0
+
+ dcb 0,0,0,0,0,0 ; " "
+ dcb 0,0,0,0,0,0
+ dcb 0,0,0,0,0,0
+ dcb 0,0,0,0,0,0
+ dcb 0,0,0,0,0,0
+ dcb 0,0
+
+bottombar:
+ dcb $b,$9,$b,9,8,9,8,$a,8,$a,7,$a,7,1,7,1,1
+ dcb 7,1,7,$a,7,$a,8,$a,8,9,8,9,$b,9,$b
+ dcb $ff
+
--- /dev/null
+; By DMSC - daniel.serpell@gmail.com
+;
+; This demo was programmed in ACME:
+; http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/
+;
+; If you want the source code, send me an email :-)
+;
+
+ dcb 76, 94, 11,133, 32,162, 8,160, 8,145, 16,136,208,251,165, 16
+ dcb 24,105, 32,133, 16,165, 17,105, 0,133, 17,165, 32,202,208,231
+ dcb 96,230, 48,165, 48, 41, 63,133, 48,170,189,106, 6,170,189, 8
+ dcb 3,105, 1, 41, 3,157, 8, 3,138, 73,231,170,189, 0, 2,105
+ dcb 1, 41, 3,157, 0, 2,165, 48, 73, 63,170,189,106, 6, 73,224
+ dcb 170,189, 8, 2,105, 1, 41, 3,157, 8, 2,138, 73,231,170,189
+ dcb 0, 3,105, 1, 41, 3,157, 0, 3, 96,224,192,160,128, 96,225
+ dcb 64,193,161,226,129, 32,194, 97,162,227,195,130,228, 65,163,196
+ dcb 98,229,131,164,197,230,231,132,165,198, 99, 66, 33, 0,199,166
+ dcb 133,100,167, 67,134,101,135, 34, 68,102,103, 69, 35, 70, 71, 36
+ dcb 1, 37, 38, 39, 2, 3, 4, 5, 6, 7,166, 48,189,198, 6,170
+ dcb 254, 24, 3, 73, 7,170,254, 16, 3, 73,231,170,254, 24, 2, 73
+ dcb 7,170,254, 16, 2, 96, 0, 32, 1, 33, 64, 2, 65, 34, 96, 66
+ dcb 3, 97, 35, 98, 67,128, 4,129, 36, 99,130, 68,160, 5,161,131
+ dcb 100, 37,162, 69,132,192,163,101, 6,193, 38,194, 70,164,133,195
+ dcb 102,224, 7,225, 39,165,226,196,134, 71,227,103,197,166,228,135
+ dcb 198,229,167,230,199,231,166, 49,189, 21, 7,170,189, 0,160,157
+ dcb 0, 5,230, 49, 96,195,227,194,162,228, 97,226,128,129,130,225
+ dcb 64,161,163,224, 96,160,193,196, 32, 98,192, 65, 0,131,229,164
+ dcb 33, 99,197, 66,132, 1,230, 34,165, 67,100,198, 2, 3, 68, 6
+ dcb 35,133,166, 5,101, 4,199, 7, 36,231, 69,134,167, 37, 38,102
+ dcb 135, 70,232, 71, 39,103,136,200,168, 8, 11, 10,169,233,104, 9
+ dcb 12,137,201, 13, 40, 44, 72, 43,170, 42, 45, 41,105, 73,202, 14
+ dcb 138,234, 74, 75,106,203, 76,171, 46, 77,235,107,139, 15,108,172
+ dcb 174,140,173,141,142,204,109,206,207,205, 78,175, 47,236,239,143
+ dcb 237,238,110,240,241,111,208, 16, 79,176,209,242, 48,144,243, 80
+ dcb 177,244,112,210, 17, 49,178,179, 52, 53,147, 18, 81,211,145, 19
+ dcb 146, 51, 85,180, 20, 54,113,148, 22, 50, 84,212, 21, 55,115,245
+ dcb 83,114,116, 23, 82, 86, 88, 89, 87,118,117,119,149,213, 56, 57
+ dcb 181,214, 90,121,122,150,151,182,183,215,246, 58,120,247, 24,153
+ dcb 184,152,216, 25, 26, 59, 91,248,123,185, 27, 60,217,154, 28, 92
+ dcb 249, 29,155,186, 61,218, 93,124,250,187, 30,251, 62,156, 94,125
+ dcb 219,188, 31,252,254,220,253, 63,126,255,157,221, 95,159,191,222
+ dcb 127,189,223,158,190,165, 66, 41,224,208, 72,165, 66, 24,105, 1
+ dcb 41, 31,133, 66,165, 67,240, 7,198, 67,169, 0, 76, 97, 8,198
+ dcb 69,240,247, 16, 37,166, 64,230, 64,189,177, 9, 16, 15, 41,127
+ dcb 133, 67, 73,127,208,228,169, 1,133, 70, 76, 42, 8,170,189,117
+ dcb 8,133, 69,234,234,189,181, 8,133, 65,166, 65,230, 65,189,245
+ dcb 8,133, 68,165, 66, 24,105,224,133, 66,166, 66,169, 1,102, 68
+ dcb 42,157, 0,160, 96, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2
+ dcb 3, 2, 3, 3, 3, 3, 3, 1, 2, 3, 1, 5, 3, 3, 3, 3
+ dcb 3, 2, 2, 3, 3, 5, 4, 3, 3, 5, 4, 4, 4, 3, 3, 4
+ dcb 4, 1, 3, 4, 3, 5, 5, 5, 4, 5, 4, 4, 3, 4, 4, 7
+ dcb 4, 4, 4, 2, 1, 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30
+ dcb 32, 35, 35, 38, 40, 43, 46, 49, 50, 52, 4, 55, 55, 60, 63, 65
+ dcb 68, 71, 73, 75, 78, 78, 33, 83, 86, 89, 94, 98,102,106,109,112
+ dcb 116, 94,120,123,127,130,134,139,144,148,153,157,161,164,167,171
+ dcb 178,171,182,186, 5, 56, 68, 56, 36,124, 4, 76, 84, 36, 68, 84
+ dcb 40, 24, 40,124,100, 84, 88, 56, 84, 72, 76, 80, 96, 40, 84, 40
+ dcb 36, 84, 56, 44, 28,124, 36, 24, 24, 36,124, 24, 52, 16, 60, 80
+ dcb 24, 37, 30,124, 32, 28,188, 1,190,124, 24, 36, 60, 32, 28, 32
+ dcb 28, 24, 36, 24, 63, 36, 24, 36, 63, 60, 16, 32, 52, 44,120, 36
+ dcb 56, 4, 60, 56, 4, 56, 4, 56, 57, 6, 56, 44, 52, 36, 12, 48
+ dcb 208, 48, 12,252,164,164, 88,120,132,132, 72,252,132,132,120,252
+ dcb 164,132,252,160,128,120,132,164, 56,252, 32, 32,252, 8, 4,248
+ dcb 252, 48, 80,140,252, 4, 4,252, 64, 60, 64,252, 64, 48, 8,252
+ dcb 120,132,132,132,120,252,144,144, 96,120,132,134,133,120,252,144
+ dcb 144,108, 68,164,164,152,128,252,128,248, 4, 4,248, 4, 8,240
+ dcb 224, 28, 16,224, 28, 16,224,204, 48, 48,204,140,148,164,196, 0
+ dcb 0,133, 41, 10, 28, 29, 63, 63, 63,136, 15, 10, 28, 29, 14, 27
+ dcb 63, 63, 63,132, 55, 17, 18, 28, 62, 18, 28, 62, 10,136, 27, 14
+ dcb 10, 21, 21, 34,143, 15, 10, 28, 29,142, 39, 40, 48, 50,149,145
+ dcb 10, 23, 13, 62, 23, 24, 32,136, 28, 24, 22, 14,136, 11, 14, 10
+ dcb 30, 29, 18, 15, 30, 21,128, 14, 15, 15, 14, 12, 29, 28, 63, 63
+ dcb 63,144,159,255, 55, 17, 18, 28, 62, 18, 28, 62, 10, 21, 21,129
+ dcb 15, 24, 27, 62, 23, 24, 32,136, 11, 34, 14, 63, 63, 63,141, 63
+ dcb 63, 63, 11, 34, 14,150,159,143, 11, 34, 62, 39, 48, 54, 38, 2
+ dcb 0, 0, 7, 63, 5, 63, 2, 9, 11, 34, 62, 39, 48, 54, 38, 2
+ dcb 0, 0, 7, 63, 5, 63, 2, 9, 11, 34, 62, 39, 48, 54, 38, 2
+ dcb 0, 0, 7, 63, 5, 63, 2, 9,143,159,255,169, 0,133, 42,169
+ dcb 1,133, 44,133, 45,169, 0,133, 32,169,160,133, 33,165, 42,133
+ dcb 43,162, 15,160, 15,145, 32, 24,101, 44,230, 44,136, 16,246,165
+ dcb 32, 24,105, 32,133, 32,165, 33,105, 0,133, 33,169, 1,133, 44
+ dcb 165, 43, 24,101, 45,133, 43,230, 45,202, 16,215,169, 0,133, 32
+ dcb 169,160,133, 33,169,224,133, 34,169, 3,133, 35,169, 0,133, 36
+ dcb 169, 4,133, 37,169,240,133, 38,169, 3,133, 39,169, 16,133, 40
+ dcb 169, 4,133, 41,169, 15,133, 46,160, 15,177, 32, 74, 74, 74, 74
+ dcb 170,189, 62, 11,209, 34,240, 18,145, 34,145, 36,170,152, 73, 15
+ dcb 168,138,145, 38,145, 40,152, 73, 15,168,136, 16,221,165, 32, 24
+ dcb 105, 32,133, 32,165, 33,105, 0,133, 33,165, 34, 24,105,224,133
+ dcb 34,165, 35,105,255,133, 35,165, 36, 24,105, 32,133, 36,165, 37
+ dcb 105, 0,133, 37,165, 38, 24,105,224,133, 38,165, 39,105,255,133
+ dcb 39,165, 40, 24,105, 32,133, 40,165, 41,105, 0,133, 41,198, 46
+ dcb 16,150,230, 42,165, 42, 41, 63,240, 3, 76, 95, 10, 96, 0, 11
+ dcb 12, 15, 1, 15, 12, 11, 0, 11, 12, 15, 1, 15, 12, 11, 0, 11
+ dcb 12, 15, 1, 15, 12, 11, 0, 11, 12, 15, 1, 15, 12, 11,169, 1
+ dcb 162,255,134, 16,162, 1,134, 17, 32, 3, 6,169, 2,162, 7,134
+ dcb 16,162, 2,134, 17, 32, 3, 6,169, 3,162, 7,134, 16,162, 3
+ dcb 134, 17, 32, 3, 6,169, 31,133, 66,169, 0,133, 70,133, 67,133
+ dcb 64,169, 1,141,109, 8,169, 0,141,114, 8,169,160,141,115, 8
+ dcb 169, 63,133, 48,169,128,133, 49,169, 3,141,109, 8,169, 0,170
+ dcb 157, 0,160,232,208,250, 32, 33, 6, 32,170, 6, 32, 6, 7, 32
+ dcb 21, 8,165, 66, 73, 31,208, 13,173,109, 8, 24,105, 2, 41, 3
+ dcb 105, 3,141,109, 8,165, 49,208,221,173, 17, 7, 73, 1,141, 17
+ dcb 7,165, 70,240,209, 32, 29, 12, 32, 91, 10,169, 31,133, 66,169
+ dcb 0,133, 70,133, 67,141,109, 8,169, 0,141,114, 8,169, 3,141
+ dcb 115, 8, 32, 29, 12, 32, 21, 8,165, 66, 73, 31,208,247,173,115
+ dcb 8, 73, 7,141,115, 8,165, 70,240,235, 76, 94, 11,169, 0,170
+ dcb 157, 0, 2,157, 0, 3,157, 0, 4,157, 0, 5,232,208,241, 96
+
--- /dev/null
+;; dmsc
+;;
+;; PostPosted: Thu Dec 13, 2007 11:57 pm Post subject: Dragon curve
+;; fractal
+;;
+;;
+;; Hi!
+;;
+;; This draws the dragon curve fractal (really a "twin dragon"):
+
+lda #0
+ sta $0
+
+lop:
+ lda $0
+ sta $1
+ lda #3
+ sta $6
+ lda #232
+ sta $5
+
+ ldx #0
+lpN:
+ lsr $1
+ bcc nos
+ lda $5
+ clc
+ adc tL,x
+ sta $5
+ lda $6
+ adc tH,x
+ sta $6
+nos:
+ inx
+ lda $1
+ bne lpN
+ inx
+ txa
+ ldy #0
+ sta ($5),y
+
+ inc $0
+ bne lop
+ rts
+
+tL:
+ dcb 32, 31, 254, 190, 128, 132, 8, 8
+tH:
+ dcb 0, 0, 255, 255, 255, 255, 0, 1
--- /dev/null
+;\r
+; draw image\r
+;\r
+\r
+start:\r
+ lda #<logo\r
+ sta $0\r
+ lda #>logo\r
+ sta $1\r
+\r
+ lda #$00\r
+ sta $2\r
+ lda #$02\r
+ sta $3\r
+\r
+ ldx #$0\r
+l:\r
+ lda ($0,x)\r
+ sta ($2,x)\r
+\r
+ inc $00\r
+ lda $00\r
+ cmp #$00\r
+ bne notReset1\r
+ inc $01\r
+notReset1:\r
+\r
+ inc $02\r
+ lda $02 \r
+ cmp #$00\r
+ bne notReset2\r
+ lda $03\r
+ cmp #$05\r
+ beq done\r
+ inc $03\r
+notReset2:\r
+\r
+ jmp l\r
+done:\r
+ rts\r
+\r
+logo:\r
+ dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,6,6,6\r
+ dcb 6,6,6,6,1,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,1,1,1,1,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,1,1,6,6,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,1,6,6,6,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,6,6,6,6,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,6,6,6,6,6,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,6,6,6,6,6,6,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,6,6,6,6,6,6,6,6,6,6,6,6,1\r
+ dcb 1,1,1,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,6,6,6,6,6,6,6,6,6,6,1,1,1\r
+ dcb 1,1,1,1,1,6,6,6,6,6,6,6,6,6,6,6\r
+ dcb 1,1,6,6,6,6,6,6,6,6,6,1,1,1,1,1\r
+ dcb 1,1,1,1,1,6,6,6,6,6,6,6,6,6,6,1\r
+ dcb 1,1,6,6,6,6,6,6,6,6,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,6,6,6,6,6,6,6,6,6,1,1\r
+ dcb 1,1,6,6,6,6,6,6,6,6,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,6,6,6,6,6,6,6,6,1,1,1\r
+ dcb 1,6,6,6,6,6,6,6,6,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,6,6,6,6,6,6,6,1,1,1,1\r
+ dcb 1,6,6,6,6,6,6,6,6,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,6,6,6,6,6,6,1,1,1,1,1\r
+ dcb 1,6,6,6,6,6,6,6,6,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,6,6,6,6,6,1,1,1,1,1,1\r
+ dcb 1,6,6,6,6,6,6,6,6,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1\r
+ dcb 1,6,6,6,6,6,6,6,6,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1\r
+ dcb 1,6,6,6,6,6,6,6,6,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1\r
+ dcb 1,6,6,6,6,6,6,6,6,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,2,2,2,2,2,2,2,2,1,1,1\r
+ dcb 1,1,6,6,6,6,6,6,6,6,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,2,2,2,2,2,2,2,2,2,1,1\r
+ dcb 1,1,6,6,6,6,6,6,6,6,6,1,1,1,1,1\r
+ dcb 1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1\r
+ dcb 1,1,1,6,6,6,6,6,6,6,6,6,1,1,1,1\r
+ dcb 1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2\r
+ dcb 1,1,1,6,6,6,6,6,6,6,6,6,6,1,1,1\r
+ dcb 1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,6,6,6,6,6,6,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,6,6,6,6,6,6,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,6,6,6,6,6,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,6,6,6,6,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,1,1,6,6,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,1,1,1,6,6,6,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,1,1,1,1,1,1,6,6,6,6\r
+ dcb 6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1\r
+ dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1\r
+\r
--- /dev/null
+; awfully slow.. be patient
+
+init:
+ ldx #0
+ stx $0
+ inx
+ stx $2
+ stx $3
+ inx
+ stx $1
+
+loop:
+ lda $2
+ cmp #$20
+ bne notIncF2
+ inc $3
+ lda #0
+ sta $2
+notIncF2:
+ inc $2
+
+; CALCULATE START
+
+ lda $2
+ sta $f1
+ lda $2
+ sta $f2
+ jsr multiply
+
+ lda $f4
+ sta $f8
+
+ lda $3
+ sta $f1
+ lda $3
+ sta $f2
+ jsr multiply
+
+; CALCULATE STOP
+
+ lda $f4
+ clc
+ adc $f8
+
+ lsr
+ lsr
+ lsr
+ lsr
+ lsr
+ ldx #0
+ sta ($0,x)
+ inc $0
+ lda $0
+ cmp #$00
+ bne notNextY
+ inc $1
+ lda $1
+ cmp #6
+ beq exit
+notNextY:
+ jmp loop
+exit:
+ rts
+
+multiply:
+ lda #0
+ sta $f4
+ sta $f5
+ ldx #8
+a:asl $f4
+ rol $f5
+ asl $f2
+ bcc b
+ clc
+ lda $f4
+ adc $f1
+ sta $f4
+ bcc b
+ inc $f5
+b:dex
+ bne a
+ rts
\ No newline at end of file
--- /dev/null
+;;Matrix :)
+
+loop:
+ lda $fe
+ and #$1f
+ tay
+ tax
+ lda matrix,y
+ sta $1
+ tay
+ lda #0
+ jsr paint
+ inc $1
+ lda $1
+ and #$1f
+ sta matrix,y
+ tay
+ lda #5
+ jsr paint
+ lda $fe
+ and #$1f
+ tay
+ tax
+ lda matrix,y
+ sta $1
+ tay
+ lda #$d
+ jsr paint
+ lda $fe
+ and #$1f
+ tay
+ tax
+ lda matrix,y
+ sta $1
+ tay
+ lda #$5
+ jsr paint
+ jmp loop
+
+paint:
+ pha
+ lda yl,y
+ sta $2
+ lda yh,y
+ sta $3
+ txa
+ tay
+ pla
+ sta ($2),y
+ rts
+
+yh:
+ dcb $02, $02, $02, $02, $02, $02, $02, $02
+ dcb $03, $03, $03, $03, $03, $03, $03, $03
+ dcb $04, $04, $04, $04, $04, $04, $04, $04
+ dcb $05, $05, $05, $05, $05, $05, $05, $05
+
+yl:
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
+
+matrix:
+ dcb 5,16,19,19,17,26,10,14,11,4,1,2,20,1,8,30
+ dcb 17,26,19,19,31,21,11,19,3,24,4,24,13,8,8,26
+
--- /dev/null
+; static noise
+
+start: ldy #$ff
+ ldx #$0
+loop: lda $fe
+ sta $200,x
+ and #$7
+ sta $300,x
+ and #$3
+ sta $400,x
+ and #$1
+ sta $500,x
+ inx
+ dey
+ bne loop
+ rts
--- /dev/null
+ ;; Jeremy English Dec 11 2007
+ ;; Random walk
+ lda #16
+ sta $0 ; The current x pos
+ sta $1 ; The current y pos
+ lda $fe ; Get random color
+ sta $5 ; Store the color
+ lda $fe ; Amount of time to use this color
+ sta $6
+
+loop:
+ ldx $0
+ ldy $1
+ lda $5
+ jsr paint
+ jsr walk
+ dec $6
+ bne loop
+ ;; get a new color
+ lda $fe
+ sta $5
+ ;; get a new duration
+ lda $fe
+ sta $6
+ jmp loop
+
+walk:
+ lda $fe
+ and #3
+ cmp #0
+ beq right
+ cmp #1
+ beq left
+ cmp #2
+ beq up
+ jmp down
+
+right:
+ inc $0
+ jmp done
+left:
+ dec $0
+ jmp done
+up:
+ dec $1
+ jmp done
+down:
+ inc $1
+ jmp done
+done:
+ lda $0
+ and #31
+ sta $0
+ lda $1
+ and #31
+ sta $1
+ rts
+
+paint:
+ pha
+ lda yl,y
+ sta $2
+ lda yh,y
+ sta $3
+ txa
+ tay
+ pla
+ sta ($2),y
+ rts
+
+ ;; Y cord MSB
+yh:
+ dcb $02, $02, $02, $02, $02, $02, $02, $02
+ dcb $03, $03, $03, $03, $03, $03, $03, $03
+ dcb $04, $04, $04, $04, $04, $04, $04, $04
+ dcb $05, $05, $05, $05, $05, $05, $05, $05
+ ;; Y cord LSB
+yl:
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
+ dcb $00, $20, $40, $60, $80, $a0, $c0, $e0
--- /dev/null
+loop: lda $fe ; A=rnd\r
+ sta $00 ; ZP(0)=A\r
+ lda $fe\r
+ and #$3 ; A=A&3\r
+ clc ; Clear carry\r
+ adc #$2 ; A+=2\r
+ sta $01 ; ZP(1)=A\r
+ lda $fe ; A=rnd\r
+ ldy #$0 ; Y=0\r
+ sta ($00),y ; ZP(0),ZP(1)=y\r
+ jmp loop\r
--- /dev/null
+ lda $fe ; A=rnd\r
+ sta $00 ; ZP(0)=A\r
+ lda $fe\r
+ and #$3 ; A=A&3\r
+ clc ; Clear carry\r
+ adc #$2 ; A+=2\r
+ sta $01 ; ZP(1)=A\r
+ lda $fe ; A=rnd\r
+ ldy #$0 ; Y=0\r
+ sta ($00),y ; ZP(0),ZP(1)=y\r
+ jmp $600\r
--- /dev/null
+; "Rorschach test"
+; Not at all what it was supposed to be,
+; but it turns out pretty cool and can
+; create some interesting patterns.
+
+ lda #8
+ tax
+dr:
+ sta $3cb,x
+ sta $40b,x
+ dex
+ bpl dr
+ sta $3f3
+ sta $3eb
+
+ lda #1
+ sta $3ec
+
+ ldx #255
+mk:
+ lda $fe
+ sta $1200,x
+ lda $fe
+ sta $1300,x
+ lda $fe
+ sta $1400,x
+ lda $fe
+ sta $1500,x
+ dex
+ cpx #$ff
+ bne mk
+
+; smooth it
+
+ ldy #0
+re:
+ lda #1
+ sta $3ec,y
+
+ ldx #255
+sm:
+ lda $1201,x
+ adc $11ff,x
+ adc $1220,x
+ adc $11e0,x
+ lsr
+ lsr
+ sta $1200,x
+
+ lda $1301,x
+ adc $12ff,x
+ adc $1320,x
+ adc $12e0,x
+ lsr
+ lsr
+ sta $1300,x
+
+ lda $1401,x
+ adc $13ff,x
+ adc $1420,x
+ adc $13e0,x
+ lsr
+ lsr
+ sta $1400,x
+
+ lda $1501,x
+ adc $14ff,x
+ adc $1520,x
+ adc $14e0,x
+ lsr
+ lsr
+ sta $1500,x
+
+ dex
+ cpx #$ff
+ bne sm
+ iny
+ cpy #7
+ bne re
+
+ lda #1
+ sta $3f0
+
+ ;copy it
+
+ clc
+ ldx #255
+cp:
+ lda $1200,x
+ lsr
+ lsr
+ tay
+ lda colors,y
+ sta $200,x
+
+ lda $1300,x
+ lsr
+ lsr
+ tay
+ lda colors,y
+ sta $300,x
+
+ lda $1400,x
+ lsr
+ lsr
+ tay
+ lda colors,y
+ sta $400,x
+
+ lda $1500,x
+ lsr
+ lsr
+ tay
+ lda colors,y
+ sta $500,x
+
+ dex
+ cpx #$ff
+ bne cp
+ rts
+
+colors:
+ dcb 0,0,0,0,0,$9,$9,1,1,0,0,0,0,0
+
--- /dev/null
+start:
+ldx #0
+cs:
+lda $2000,x
+sta $500,x
+dex
+bne cs
+
+stx $20
+
+loop:
+
+inc $20
+lda $20
+and #$7f
+tay
+and #$1f
+tax
+lda sinus,x
+tax
+
+d:
+
+lda #0
+sta $1e0,x
+sta $2e0,x
+lda $1000,y
+sta $200,x
+lda $1080,y
+sta $220,x
+lda $1100,y
+sta $240,x
+lda $1180,y
+sta $260,x
+lda $1200,y
+sta $280,x
+lda $1280,y
+sta $2a0,x
+lda $1300,y
+sta $2c0,x
+lda $1380,y
+sta $2c0,x
+inx
+iny
+txa
+and #$1f
+bne d
+
+jmp loop
+
+; 32 ($20) long
+sinus:
+dcb 0,0,0,0,$20,$20,$20
+dcb $40,$40,$60,$80,$a0,$a0,$c0,$c0,$c0
+dcb $e0,$e0,$e0,$e0,$c0,$c0,$c0
+dcb $a0,$a0,$80,$60,$40,$40,$20,$20,$20
+
+*=$1000
+santa:
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,$a,$a,0,0,0,0,0,0
+dcb 0,0,0,0,0,$a,$a,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,2,2,2,1,0,0,0,0,$9,$9,$9,$9,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,$a,$a,$a,0,0,0,0,0
+dcb 0,0,0,0,0,$a,$a,$a,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,$9,$9,0,0,0,0,0,0,0,0
+dcb 0,1,1,2,2,0,$9,$9,$9,$9,$9,$9,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,$a,$a,$a,$a,$a,$a,0,0,0,0
+dcb 0,0,0,$a,$a,$a,$a,$a,$a,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,$9,$9,$9,0,0,0,0,0,0
+dcb 0,1,2,2,$9,$9,$9,$9,$9,$9,$9,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,$a,$a,$a,$a,$a,$a,$b
+dcb $b,$b,$b,$b,$b,$b,$a,$a,$a,$a,$a,$a,$b,$b,$b,$b
+dcb $b,$b,$b,$b,$b,$9,$9,$9,$9,$9,$9,$9,$9,$9,$9,$9
+dcb $9,2,2,$9,$9,$9,$9,$9,$9,$9,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,$a,$a,$a,$a,$a,$a,$a
+dcb $a,0,0,0,0,0,$a,$a,$a,$a,$a,$a,$a,$a,0,0
+dcb 0,0,0,0,0,0,0,$9,$9,$9,$9,$9,$9,$9,$9,$9
+dcb 2,2,$9,$9,$9,$9,$9,$9,$9,$9,$9,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,$a,$a,$a,$a,$a,$a,0
+dcb $a,$a,0,0,0,0,$a,$a,$a,$a,$a,$a,0,$a,$a,0
+dcb 0,0,0,0,0,$a,$a,0,0,$9,$a,$9,$9,$9,$9,$9
+dcb $9,$9,$a,$9,$9,$9,$9,$9,$9,$9,$9,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,$a,0,$a,0,0,$a,0
+dcb 0,$a,0,0,0,0,$a,0,$a,0,0,$a,0,0,$a,0
+dcb 0,0,0,0,0,$a,0,0,0,$a,0,0,0,0,0,0
+dcb 0,$a,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,$a,$a,0,$a,0,0,$a,$a
+dcb 0,$a,$a,0,0,$a,$a,0,$a,0,0,$a,$a,0,$a,$a
+dcb 0,0,0,0,0,0,$a,$a,$a,$a,$a,$a,$a,$a,$a,$a
+dcb $a,$a,$a,$a,$a,$a,$a,$a,$a,$a,$a,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+*=$2000
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,$c,1,1,1
+dcb 0,0,0,0,0,0,0,0,0,0,0,1,1,1,$a,$a
+dcb 0,0,0,0,0,0,0,0,0,0,$c,1,1,1,1,1
+dcb 1,1,$c,0,0,0,0,0,0,0,0,0,1,1,0,0
+dcb 0,0,0,0,0,0,0,0,$c,1,1,1,1,1,1,1
+dcb 1,1,1,1,1,$c,0,0,0,0,0,1,1,1,1,0
+dcb 0,0,0,0,0,0,$c,1,1,1,1,1,1,1,1,1
+dcb 1,1,1,1,1,1,$c,0,0,0,0,1,1,1,1,0
+dcb 0,0,0,0,0,$c,1,1,1,1,1,1,1,1,1,1,1
+dcb 1,1,1,1,1,1,1,1,$c,0,0,1,1,0,0
+dcb 0,0,$c,1,1,1,1,1,1,1,1,1,1,1,1,1
+dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+
\ No newline at end of file
--- /dev/null
+; A very simple example of
+; self-modifying code
+; and code entry points
+
+ lda $fe
+ sta $1001
+ jmp $1000
+
+ *=$1000
+ lda #$00
+ sta $3ef
+ jmp $600
--- /dev/null
+; 6502 assembler Sierpinsky Triangle ver.2
+; by Magnus Wedmark 2007-05-02
+; This program is especially written for
+; the 6502asm.com competition and
+; uses the 32*32 pixel display used in that
+; virtual platform. The sierpinsky
+; fractal is one of the simplest to
+; implement. Here is a walk-through:
+; 1) Specify 3 points that form a triangle
+; 2) Choose one of them as a starting point
+; 3) Choose one of them as targetpoint randomly
+; 4) Set the new current position half-way
+; between the current point and the target
+; point.
+; 5) Goto 3
+
+ LDX #0
+ LDY #0
+new_rnd:
+ LDA $FE ; random 0-255
+ AND #3 ; only 0-3 left
+ CMP #3
+ BNE good_rnd
+ JMP new_rnd
+good_rnd:
+; random = 0-2
+ PHA
+; transform X and Y values according to:
+; X=X/2+(P*8) and Y=Y/2+(P*16)
+ ASL
+ ASL
+ ASL
+ STA $F3 ; P*8
+ PLA
+ AND #1
+ ASL
+ ASL
+ ASL
+ ASL
+ STA $F4 ; (P AND 1)*16
+ TXA
+ LSR
+ ADC $F3
+ TAX
+ TYA
+ LSR
+ ADC $F4
+ TAY
+ JSR set_point ; use and restore regs
+ JMP new_rnd
+
+set_point: ; uses both X,Y,A and restores them
+ PHA ; backup all reg-value (X,Y,A)
+ TXA
+ PHA
+ TYA
+ PHA
+ PHA
+ PHA ; triple Y push, two for int. use
+ STX $F2 ; transfer X to Y using $F2
+ LDY $F2
+ LDA #0
+ STA $F0
+ LDA #$2
+ STA $F1 ; set base vector to $200
+ LDA #0
+ PLA ; transfer the pushed Y-coord to A
+ AND #$07 ; the value %0000'0111
+ ASL
+ ASL
+ ASL
+ ASL
+ ASL
+ CLC
+ ADC $F0
+ STA $F0
+ BCC no_carry
+ INC $F1
+no_carry:
+ CLC
+ PLA ; transfer the pushed Y-coord to A
+ AND #$18
+ LSR
+ LSR
+ LSR
+ ADC $F1
+ STA $F1
+
+ CLC
+ TYA
+ ADC $F0
+ ADC $F1
+
+ LDA #1 ;1 = white for trouble-shooting
+ JSR set_toning_point ; use for shading
+ STA ($F0),Y ; set pixel
+ PLA ; restore all reg-value (X,Y,A)
+ TAY
+ PLA
+ TAX
+ PLA
+ RTS
+
+; sub routine to shade the current pixel ($F0),Y
+; lighter on a scale: $0, $B, $C, $F, $1
+; Black, DarkGrey, Grey, LightGrey, White
+set_toning_point:
+ LDA ($F0),Y
+ CMP #$00
+ BNE not_black
+ LDA #$0B
+ RTS
+not_black:
+ CMP #$0B
+ BNE not_dgrey
+ LDA #$0C
+ RTS
+not_dgrey:
+ CMP #$0C
+ BNE not_grey
+ LDA #$0F
+ RTS
+not_grey:
+ CMP #$0F
+ BNE not_lgrey
+ LDA #$01
+ RTS
+not_lgrey:
+; white stays white
+ RTS
+
--- /dev/null
+; "spacer", move a space ship through an\r
+; endless tunnel. You die once you hit\r
+; the walls.\r
+;\r
+; Controls:\r
+;\r
+; W - move up\r
+; X - move down\r
+; Any other key will stop the ship\r
+;\r
+; Ps: this game runs awfully slow =)\r
+;\r
+\r
+start:\r
+ jsr init\r
+\r
+loop:\r
+ ;; jsr drawShip \r
+ jsr drawMap\r
+ jsr genMap\r
+ jsr readKeys\r
+ jmp loop\r
+\r
+;--\r
+\r
+drawShip:\r
+ lda $82 ; mychange\r
+; asl \r
+ tay\r
+\r
+ lda ypos,y\r
+ sta $00\r
+ iny\r
+ lda ypos,y\r
+ sta $01\r
+\r
+ ldx #42\r
+ lda ($00,x)\r
+ cmp #0\r
+ beq noCrash\r
+ cmp #5\r
+; bne crashed \r
+;my changes\r
+noCrash:\r
+ lda #5\r
+ sta ($00,x)\r
+\r
+ lda $60\r
+ cmp $61\r
+ beq ret\r
+\r
+ lda $61\r
+ asl\r
+ tay\r
+ lda ypos,y\r
+ sta $00\r
+ iny\r
+ lda ypos,y\r
+ sta $01\r
+ lda #0\r
+ ldx #42\r
+ sta ($00,x)\r
+\r
+ lda $60\r
+ sta $61\r
+ret:\r
+ rts\r
+\r
+;--\r
+\r
+crashed:\r
+ lda $fe\r
+ sta ($00,x)\r
+ jmp crashed\r
+\r
+;--\r
+\r
+readKeys:\r
+ lda $ff\r
+ cmp #119\r
+ bne notUp\r
+ dec $60\r
+ rts\r
+notUp:\r
+ cmp #120\r
+ bne noMove\r
+ inc $60\r
+noMove:\r
+ rts\r
+\r
+;--\r
+\r
+init:\r
+ ldx #0\r
+drawLogo:\r
+ lda bottomLogo,x\r
+ sta $500,x\r
+ inx\r
+ cpx #0\r
+ bne drawLogo\r
+\r
+ lda #10\r
+ sta $60\r
+ sta $61\r
+\r
+ ldx #0\r
+ lda #$c\r
+c:sta $200,x\r
+ sta $400,x\r
+ dex\r
+ cpx #0\r
+ bne c\r
+\r
+ lda #16\r
+ sta $80 ; origin\r
+ ldx #15\r
+set:\r
+ sta $81,x ; target\r
+ dex\r
+ bpl set\r
+ rts\r
+\r
+;--\r
+\r
+drawMap:\r
+ lda #0\r
+ sta $78\r
+ lda #32\r
+ sta $79\r
+ lda #192\r
+ sta $7a\r
+ lda #224\r
+ sta $7b\r
+\r
+ ldx #15\r
+drawLoop:\r
+ lda $81,x\r
+ sta $82,x\r
+ tay\r
+ lda ypos,y\r
+ sta $00\r
+ iny\r
+ lda ypos,y\r
+ sta $01\r
+\r
+ lda #$c\r
+ ldy $78\r
+ sta ($00),y\r
+ iny\r
+ sta ($00),y\r
+\r
+ ldy $7b\r
+ sta ($00),y\r
+ iny\r
+ sta ($00),y\r
+\r
+ ldy $79\r
+ lda #0\r
+ sta ($00),y\r
+ iny\r
+ sta ($00),y\r
+\r
+ ldy $7a\r
+ sta ($00),y\r
+ iny\r
+ sta ($00),y\r
+\r
+ inc $78\r
+ inc $79\r
+ inc $7a\r
+ inc $7b\r
+ inc $78\r
+ inc $79\r
+ inc $7a\r
+ inc $7b\r
+ dex\r
+ bpl drawLoop\r
+ rts\r
+\r
+;---\r
+\r
+genMap:\r
+ lda $80\r
+ cmp $81\r
+ beq done\r
+ lda $80\r
+ clc\r
+ sbc $81\r
+ bpl plus\r
+ bmi minus\r
+done:\r
+ lda $fe\r
+ and #$f\r
+ asl\r
+ sta $80\r
+ rts\r
+minus:\r
+ dec $81\r
+ dec $81\r
+ rts\r
+plus:\r
+ inc $81\r
+ inc $81\r
+ rts\r
+\r
+ypos:\r
+ dcb $00,$02,$20,$02,$40,$02,$60,$02\r
+ dcb $80,$02,$a0,$02,$c0,$02,$e0,$02\r
+ dcb $00,$03,$20,$03,$40,$03,$60,$03\r
+ dcb $80,$03,$a0,$03,$c0,$03,$e0,$03\r
+ dcb $00,$04,$20,$04,$40,$04,$60,$04\r
+ dcb $80,$04,$a0,$04,$c0,$04,$e0,$04\r
+ dcb $00,$05,$20,$05,$40,$05,$60,$05\r
+ dcb $80,$05,$a0,$05,$c0,$05,$e0,$05\r
+\r
+bottomLogo:\r
+ dcb $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0\r
+ dcb $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0\r
+ dcb $0,$0,$0,$0,$0,$0,$1,$1,$1,$6,$1,$1,$1,$0\r
+ dcb $0,$6,$1,$1,$6,$0,$0,$1,$1,$1,$6,$0,$1,$1\r
+ dcb $1,$0,$1,$1,$1,$6,$0,$0,$6,$1,$6,$0,$6,$0\r
+ dcb $1,$0,$6,$1,$6,$1,$6,$0,$1,$0,$1,$0,$6,$0\r
+ dcb $6,$1,$6,$0,$6,$0,$1,$0,$6,$1,$6,$0,$0,$6\r
+ dcb $1,$1,$6,$6,$1,$1,$1,$0,$6,$1,$0,$0,$1,$0\r
+ dcb $1,$6,$0,$6,$6,$1,$1,$1,$0,$6,$1,$0,$6,$1\r
+ dcb $0,$6,$6,$6,$6,$6,$1,$6,$1,$1,$6,$6,$6,$1\r
+ dcb $1,$1,$1,$6,$1,$6,$6,$6,$6,$1,$6,$6,$6,$6\r
+ dcb $1,$1,$1,$6,$6,$6,$6,$1,$1,$1,$1,$e,$1,$1\r
+ dcb $e,$6,$6,$1,$1,$6,$1,$6,$1,$1,$1,$1,$e,$1\r
+ dcb $1,$1,$1,$6,$1,$1,$6,$1,$6,$6,$6,$1,$1,$1\r
+ dcb $6,$e,$1,$1,$6,$e,$6,$1,$1,$e,$1,$e,$6,$1\r
+ dcb $1,$1,$6,$e,$1,$1,$1,$e,$1,$1,$6,$1,$6,$e\r
+ dcb $e,$e,$6,$e,$e,$6,$e,$e,$6,$e,$e,$6,$e,$e\r
+ dcb $6,$e,$e,$6,$e,$e,$6,$e,$e,$6,$e,$e,$6,$e\r
+ dcb $e,$6,$e,$e\r
--- /dev/null
+;;; 6502 logo Jeremy English 12-January-2008
+
+start:
+ldx #0
+stx $20
+lda #5
+sta $21
+lda $fe
+sta $22
+
+loop:
+dec $21
+lda $21
+beq randcolor
+jmp pastrandcolor
+
+randcolor:
+lda #5
+sta $21
+ldx #33
+inc $22
+lda $22
+and #7
+tay
+rl:
+lda $1000,x
+beq pastcolor1
+lda color_row,y
+sta $1000,x
+
+pastcolor1:
+lda $1040,x
+beq pastcolor2
+lda color_row,y
+sta $1040,x
+
+pastcolor2:
+lda $1080,x
+beq pastcolor3
+lda color_row,y
+sta $1080,x
+
+pastcolor3:
+lda $10c0,x
+beq pastcolor4
+lda color_row,y
+sta $10c0,x
+
+pastcolor4:
+lda $1100,x
+beq pastcolor5
+lda color_row,y
+sta $1100,x
+
+pastcolor5:
+lda $1140,x
+beq pastcolor6
+lda color_row,y
+sta $1140,x
+
+pastcolor6:
+lda $1180,x
+beq pastcolor7
+lda color_row,y
+sta $1180,x
+
+pastcolor7:
+lda $11C0,x
+beq pastcolor8
+lda color_row,y
+sta $11C0,x
+
+pastcolor8:
+lda $1200,x
+beq pastcolor9
+lda color_row,y
+sta $1200,x
+
+pastcolor9:
+inx
+txa
+and #$3f
+bne rl
+
+pastrandcolor:
+
+inc $20
+lda $20
+and #$3f
+tay
+and #$1f
+tax
+lda sinus,x
+tax
+
+d:
+
+lda #0
+sta $2e0,x
+sta $3e0,x
+lda $1000,y
+sta $300,x
+lda $1080,y
+sta $320,x
+lda $1100,y
+sta $340,x
+lda $1180,y
+sta $360,x
+lda $1200,y
+sta $380,x
+lda $1280,y
+sta $3a0,x
+lda $1300,y
+sta $3c0,x
+lda $1380,y
+sta $3c0,x
+inx
+iny
+txa
+and #$1f
+bne d
+
+jmp loop
+
+; 32 ($20) long
+sinus:
+dcb 0,0,0,0,$20,$20,$20
+dcb $40,$40,$60,$80,$a0,$a0,$c0,$c0,$c0
+dcb $e0,$e0,$e0,$e0,$c0,$c0,$c0
+dcb $a0,$a0,$80,$60,$40,$40,$20,$20,$20
+
+color_row:
+dcb $7,$8,$9,$2,$4,$6,$e,$3
+
+
+*=$1000
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
+dcb 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
+dcb 0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0
+dcb 0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0
+dcb 0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1
+dcb 0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1
+dcb 0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1
+dcb 0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1
+dcb 0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1
+dcb 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
+dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
+dcb 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
+
--- /dev/null
+; We all love zookeeper !!!!
+; muhmi Nov 13, 2007 9:45 am
+
+ldx #0
+lda #0
+hupsu:
+sta $200,x
+sta $300,x
+sta $400,x
+sta $500,x
+bne hupsu
+
+
+lda #1
+ldx #0
+fill:
+txa
+tay
+lda seko,x
+tax
+lda kuva,x
+sta $200,x
+lda kuva_0,x
+sta $300,x
+lda kuva_1,x
+sta $400,x
+lda kuva_2,x
+sta $500,x
+tya
+tax
+inx
+bne fill
+
+rts
+
+seko:
+dcb 46,93,219,97,168,170,196,63,204,201,206
+dcb 56,238,25,2,186,209,191,138,226,80,128
+dcb 58,171,81,115,42,44,102,193,69,231,107
+dcb 78,5,218,103,11,13,221,130,149,16,227
+dcb 105,213,232,182,17,255,27,190,205,137,192
+dcb 222,233,94,52,229,96,18,220,202,122,166
+dcb 43,153,131,246,177,4,70,22,7,86,173
+dcb 141,151,164,32,143,40,156,185,121,132,165
+dcb 62,249,252,139,154,251,85,236,12,134,245
+dcb 184,39,195,119,242,244,162,74,1,77,51
+dcb 33,75,35,76,34,10,89,47,189,237,71
+dcb 159,9,38,101,180,116,147,140,183,157,123
+dcb 14,19,126,199,100,45,241,28,125,210,155
+dcb 41,254,31,144,55,247,111,95,57,53,223
+dcb 152,108,203,36,214,37,113,200,66,67,197
+dcb 29,250,20,212,68,87,207,163,145,211,48
+dcb 136,24,98,215,169,83,124,224,181,187,142
+dcb 84,240,54,110,234,59,243,79,50,30,114
+dcb 6,178,0,172,148,146,179,120,60,225,65
+dcb 230,208,15,72,117,248,198,106,129,92,127
+dcb 175,160,49,216,176,133,64,109,112,82,90
+dcb 235,104,158,194,8,161,167,88,91,174,23
+dcb 73,118,150,3,99,61,217,26,239,21,253
+dcb 135,188,228
+
+kuva:
+dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0
+dcb 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1
+dcb 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0
+dcb 0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1
+dcb 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,11,11
+dcb 11,0,0,0,0,0,0,1,0,0,0,11,11,11,0,0,0,0,0,1,1,1,1,1
+dcb 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1
+kuva_0:
+dcb 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1
+dcb 1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1
+dcb 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1
+dcb 1,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0
+dcb 0,1,15,0,0,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1
+dcb 0,0,0,0,0,0,0,0,0,0,15,0,0,0,1,1,1,0,0,0,1,0,0,0
+dcb 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,15,0,0,0,1,1
+dcb 1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,1,0,0,0,1,1,1,0,0
+dcb 0,0,15,0,0,0,1,1,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,1
+dcb 0,0,0,1,1,1,0,0,0,0,1,0,0,0,1,1
+kuva_1:
+dcb 1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0
+dcb 0,0,15,0,0,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1
+dcb 0,0,0,0,0,0,0,0,0,0,15,0,0,0,1,1,1,0,0,0,1,1,0,0
+dcb 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1
+dcb 1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1
+dcb 1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0
+dcb 1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1
+dcb 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1
+dcb 1,0,0,0,1,1,1,1,1,1,1,1,1,15,15,15,1,1,1,1,1,1,1,1
+dcb 1,1,15,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,15,15,15
+dcb 1,1,1,1,1,1,1,1,1,1,15,0,0,0,1,1
+kuva_2:
+dcb 1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+dcb 1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,15,15,0
+dcb 15,15,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1
+dcb 1,1,1,1,1,15,15,0,15,15,1,1,1,1,1,1,1,1,1,0,0,0,1,1
+dcb 1,0,0,0,15,1,1,1,1,1,1,1,1,15,15,0,1,1,1,1,1,1,1,1
+dcb 1,1,1,0,0,0,1,1,1,0,0,0,0,15,15,15,15,15,15,1,15,1,1,1
+dcb 1,1,15,1,15,15,15,1,1,15,0,0,0,0,1,1,1,0,0,0,0,15,15,15
+dcb 15,15,15,1,15,1,1,1,1,1,15,1,15,15,15,1,1,15,0,0,0,0,1,1
+dcb 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0
+dcb 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1
-/* imsmap, Copyright (c) 1992 Juergen Nickelsen <nickel@cs.tu-berlin.de>
+/* imsmap, Copyright (c) 1992-2008 Juergen Nickelsen and Jamie Zawinski.
* Derived from code by Markus Schirmer, TU Berlin.
*
* Permission to use, copy, modify, distribute, and sell this software and its
if (mono_p)
st->flip_xy = 0;
- if (!st->ncolors)
- {
- st->ncolors = get_integer_resource (st->dpy, "ncolors", "Integer");
- st->delay = get_integer_resource (st->dpy, "delay", "Integer");
- st->delay2 = get_integer_resource (st->dpy, "delay2", "Integer");
- st->iterations = get_integer_resource (st->dpy, "iterations", "Integer");
- if (st->iterations < 0) st->iterations = 0;
- else if (st->iterations > 7) st->iterations = 7;
-
- if (st->ncolors <= 2) st->ncolors = 0;
- if (st->ncolors == 0) mono_p = True;
- if (st->ncolors > 255) st->ncolors = 255; /* too many look bad */
-
- st->gc = XCreateGC (st->dpy, st->window, 0, &gcv);
- st->gc2 = XCreateGC (st->dpy, st->window, 0, &gcv);
- }
+ st->ncolors = get_integer_resource (st->dpy, "ncolors", "Integer");
+ st->delay = get_integer_resource (st->dpy, "delay", "Integer");
+ st->delay2 = get_integer_resource (st->dpy, "delay2", "Integer");
+ st->iterations = get_integer_resource (st->dpy, "iterations", "Integer");
+ if (st->iterations < 0) st->iterations = 0;
+ else if (st->iterations > 7) st->iterations = 7;
+
+ if (st->ncolors <= 2) st->ncolors = 0;
+ if (st->ncolors == 0) mono_p = True;
+ if (st->ncolors > 255) st->ncolors = 255; /* too many look bad */
+
+ if (!st->gc) st->gc = XCreateGC (st->dpy, st->window, 0, &gcv);
+ if (!st->gc2) st->gc2 = XCreateGC (st->dpy, st->window, 0, &gcv);
if (mono_p)
st->extra_krinkly_p = !(random() % 15);
}
XSetForeground (st->dpy, st->gc, st->colors[1].pixel);
- XFillRectangle (st->dpy, st->window, st->gc, 0, 0, st->xgwa.width, st->xgwa.height);
+ XFillRectangle (st->dpy, st->window, st->gc, 0, 0,
+ st->xgwa.width, st->xgwa.height);
if (st->flip_xy)
{
sp->scale = MIN(MI_HEIGHT(mi)/480.0, MI_WIDTH(mi)/160.0);
if(describe && !sp->mode_font) { /* Check to see if there's room to describe patterns. */
- sp->mode_font = XQueryFont(MI_DISPLAY(mi), XGContextFromGC(MI_GC(mi)));
+ char *font = get_string_resource (MI_DISPLAY(mi), "font", "Font");
+ sp->mode_font = XLoadQueryFont(MI_DISPLAY(mi), font);
}
}
--- /dev/null
+/* xscreensaver, Copyright (c) 2008 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ *
+ * Draws repetitive patterns that should undo burned in LCD screens.
+ * Concept shamelessly cloned from
+ * http://toastycode.com/blog/2008/02/05/lcd-scrub/
+ */
+
+#include "screenhack.h"
+
+struct state {
+ Display *dpy;
+ Window window;
+ XWindowAttributes xgwa;
+ enum { HORIZ_W, HORIZ_B,
+ VERT_W, VERT_B,
+ DIAG_W, DIAG_B,
+ WHITE, BLACK,
+ END } mode;
+ int count;
+ GC fg, bg;
+ int delay;
+ int spread;
+ int cycles;
+};
+
+
+static void *
+lcdscrub_init (Display *dpy, Window window)
+{
+ struct state *st = (struct state *) calloc (1, sizeof(*st));
+ XGCValues gcv;
+ st->dpy = dpy;
+ st->window = window;
+ st->delay = get_integer_resource (st->dpy, "delay", "Integer");
+ st->spread = get_integer_resource (st->dpy, "spread", "Integer");
+ st->cycles = get_integer_resource (st->dpy, "cycles", "Integer");
+
+ XGetWindowAttributes (st->dpy, st->window, &st->xgwa);
+ gcv.foreground = BlackPixelOfScreen (st->xgwa.screen);
+ gcv.background = WhitePixelOfScreen (st->xgwa.screen);
+ st->bg = XCreateGC (st->dpy, st->window, GCForeground, &gcv);
+ gcv.foreground = WhitePixelOfScreen (st->xgwa.screen);
+ gcv.background = BlackPixelOfScreen (st->xgwa.screen);
+ st->fg = XCreateGC (st->dpy, st->window, GCForeground, &gcv);
+
+#ifdef HAVE_COCOA
+ jwxyz_XSetAntiAliasing (st->dpy, st->fg, False);
+ jwxyz_XSetAntiAliasing (st->dpy, st->bg, False);
+#endif
+
+ return st;
+}
+
+static unsigned long
+lcdscrub_draw (Display *dpy, Window window, void *closure)
+{
+ struct state *st = (struct state *) closure;
+ int count = st->count % st->spread;
+ int i;
+ GC fg = (st->mode & 1 ? st->fg : st->bg);
+ GC bg = (st->mode & 1 ? st->bg : st->fg);
+
+ switch (st->mode) {
+ case HORIZ_W:
+ case HORIZ_B:
+ XFillRectangle (st->dpy, st->window, bg, 0, 0,
+ st->xgwa.width, st->xgwa.height);
+ for (i = count; i < st->xgwa.height; i += st->spread)
+ XDrawLine (st->dpy, st->window, fg, 0, i, st->xgwa.width, i);
+ break;
+ case VERT_W:
+ case VERT_B:
+ XFillRectangle (st->dpy, st->window, bg, 0, 0,
+ st->xgwa.width, st->xgwa.height);
+ for (i = count; i < st->xgwa.width; i += st->spread)
+ XDrawLine (st->dpy, st->window, fg, i, 0, i, st->xgwa.height);
+ break;
+ case DIAG_W:
+ case DIAG_B:
+ XFillRectangle (st->dpy, st->window, bg, 0, 0,
+ st->xgwa.width, st->xgwa.height);
+ for (i = count; i < st->xgwa.width; i += st->spread)
+ XDrawLine (st->dpy, st->window, fg, i, 0,
+ i + st->xgwa.width, st->xgwa.width);
+ for (i = -count; i < st->xgwa.height; i += st->spread)
+ XDrawLine (st->dpy, st->window, fg, 0, i,
+ st->xgwa.height, i + st->xgwa.height);
+ break;
+ case WHITE:
+ case BLACK:
+ XFillRectangle (st->dpy, st->window, fg, 0, 0,
+ st->xgwa.width, st->xgwa.height);
+ break;
+ default:
+ abort();
+ break;
+ }
+
+ st->count++;
+
+ if (st->count > st->spread * st->cycles)
+ {
+ st->count = 0;
+ if (++st->mode == END)
+ st->mode = 0;
+ }
+
+ return st->delay;
+}
+
+static void
+lcdscrub_reshape (Display *dpy, Window window, void *closure,
+ unsigned int w, unsigned int h)
+{
+}
+
+static Bool
+lcdscrub_event (Display *dpy, Window window, void *closure, XEvent *event)
+{
+ return False;
+}
+
+static void
+lcdscrub_free (Display *dpy, Window window, void *closure)
+{
+ struct state *st = (struct state *) closure;
+ XFreeGC (dpy, st->fg);
+ XFreeGC (dpy, st->bg);
+ free (st);
+}
+
+
+static const char *lcdscrub_defaults [] = {
+ ".background: black",
+ ".foreground: white",
+ "*delay: 100000",
+ "*spread: 8",
+ "*cycles: 60",
+ 0
+};
+
+static XrmOptionDescRec lcdscrub_options [] = {
+ { "-delay", ".delay", XrmoptionSepArg, 0 },
+ { "-spread", ".spread", XrmoptionSepArg, 0 },
+ { "-cycles", ".cycles", XrmoptionSepArg, 0 },
+ { 0, 0, 0, 0 }
+};
+
+
+XSCREENSAVER_MODULE ("LCDscrub", lcdscrub)
-/*
+/* -*- indent-tabs-mode:nil -*-
* Copyright (c) 2007 Jeremy English <jhe@jeremyenglish.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
#include "analogtv.h"
#include "asm6502.h"
+# ifdef __GNUC__
+ __extension__ /* don't warn about "string length is greater than the length
+ ISO C89 compilers are required to support" when includng
+ the following data file... */
+# endif
+const char * const demo_files[] = {
+# include "m6502.h"
+};
+
+
/* We want to paint on a 32 by 32 grid of pixels. We will needed to
divided the screen up into chuncks */
enum {
int topb;/* top boarder */
int field_ntsc[4];/* used for clearing the screen*/
int dt;/* how long to wait before changing the demo*/
- unsigned int pc;/* program counter */
+ int which;/* the program to run*/
+ int demos;/* number of demos included */
struct timeval start_time;
};
st->pixels[x][y] = color;
}
+#undef countof
+#define countof(x) (sizeof((x))/sizeof((*x)))
+
+
static void
start_rand_bin_prog(machine_6502 *machine, struct state *st){
- int r = random() % NUM_PROGS;
-
- Bit8 noise[] =
- {0xa0, 0xff, 0xa2, 0x00, 0xa5, 0xfe, 0x9d, 0x00, 0x02, 0x29,
- 0x07, 0x9d, 0x00, 0x03, 0x29, 0x03, 0x9d, 0x00, 0x04, 0x29,
- 0x01, 0x9d, 0x00, 0x05, 0xe8, 0x88, 0xd0, 0xe8, 0x60, 0x00};
-
- Bit8 random[22] =
- {0xa5, 0xfe, 0x85, 0x00, 0xa5, 0xfe, 0x29, 0x03, 0x18, 0x69,
- 0x02, 0x85, 0x01, 0xa5, 0xfe, 0xa0, 0x00, 0x91, 0x00, 0x4c,
- 0x00, 0x06};
-
- Bit8 atari[629] =
- {0xa9, 0x5c, 0x85, 0x00, 0xa9, 0x06, 0x85, 0x01, 0xa9, 0x00,
- 0x85, 0x02, 0xa9, 0x02, 0x85, 0x03, 0xa5, 0x03, 0xc9, 0x06,
- 0xd0, 0x01, 0x60, 0xa2, 0x00, 0xa1, 0x00, 0xc9, 0xff, 0xd0,
- 0x1a, 0xe8, 0xa1, 0x00, 0xa8, 0xe8, 0xa1, 0x00, 0xa2, 0x00,
- 0x81, 0x02, 0x20, 0x51, 0x06, 0x88, 0xd0, 0xf6, 0x20, 0x46,
- 0x06, 0x20, 0x46, 0x06, 0x4c, 0x10, 0x06, 0xa2, 0x00, 0x81,
- 0x02, 0x20, 0x51, 0x06, 0x20, 0x46, 0x06, 0x4c, 0x10, 0x06,
- 0xe6, 0x00, 0xa5, 0x00, 0xc9, 0x00, 0xd0, 0x02, 0xe6, 0x01,
- 0x60, 0xe6, 0x02, 0xa6, 0x02, 0xe0, 0x00, 0xd0, 0x02, 0xe6,
- 0x03, 0x60, 0xff, 0x2b, 0x01, 0x0f, 0x0f, 0x0f, 0x0c, 0x0f,
- 0x0f, 0x0f, 0xff, 0x18, 0x01, 0x0c, 0x0f, 0x0c, 0x00, 0x0c,
- 0x0f, 0x0c, 0xff, 0x18, 0x01, 0x00, 0x0f, 0x0c, 0x00, 0x0c,
- 0x0f, 0x0c, 0xff, 0x18, 0x01, 0x0c, 0x0f, 0x0c, 0x00, 0x0c,
- 0x0f, 0x0c, 0xff, 0x18, 0x01, 0x00, 0x0f, 0x0c, 0x00, 0x0c,
- 0x0f, 0x0c, 0xff, 0x18, 0x01, 0x0c, 0x0f, 0x00, 0x00, 0x0c,
- 0x0f, 0x0c, 0xff, 0x18, 0x01, 0x00, 0x0f, 0x0c, 0x00, 0x0c,
- 0x0f, 0x0c, 0xff, 0x18, 0x01, 0x00, 0x0f, 0x0c, 0x00, 0x0c,
- 0x0f, 0x00, 0xff, 0x18, 0x01, 0x00, 0x0f, 0x0c, 0x00, 0x0c,
- 0x0f, 0x00, 0xff, 0x17, 0x01, 0x0f, 0x00, 0x0f, 0x0c, 0x00,
- 0x0c, 0x0f, 0x00, 0x0f, 0xff, 0x16, 0x01, 0x0c, 0x00, 0x01,
- 0x0c, 0x00, 0x0c, 0x0f, 0x00, 0x0c, 0xff, 0x15, 0x01, 0x0f,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0xff,
- 0x15, 0x01, 0x0c, 0x00, 0x0c, 0x01, 0x0c, 0x00, 0x0c, 0x01,
- 0x0c, 0x00, 0x0c, 0xff, 0x13, 0x01, 0x0f, 0x00, 0x00, 0x0f,
- 0x01, 0x0c, 0x00, 0x0c, 0x01, 0x0f, 0x00, 0x00, 0x0f, 0xff,
- 0x11, 0x01, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x01, 0x0c, 0x00,
- 0x0c, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0x10, 0x01, 0x0f,
- 0x00, 0x00, 0x00, 0x0f, 0x01, 0x01, 0x00, 0x00, 0x0c, 0x01,
- 0x01, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x0d, 0x01, 0x0c,
- 0x00, 0x00, 0x00, 0x0c, 0x01, 0x01, 0x01, 0x0c, 0x00, 0x0c,
- 0x01, 0x01, 0x01, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x0a,
- 0x01, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x01, 0x01,
- 0x01, 0x00, 0x00, 0x0c, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0c, 0xff, 0x08, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x0c, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x0c,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x0c, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
- 0x00, 0x0c, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0c,
- 0x00, 0x0c, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0f, 0x0c,
- 0x00, 0x00, 0xff, 0x12, 0x01, 0x0f, 0xff, 0x35, 0x01, 0x00,
- 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x01, 0x0c,
- 0x0c, 0x01, 0x01, 0x01, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x01,
- 0x00, 0x0f, 0x0f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x0c, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x0f, 0x01, 0x01,
- 0x0f, 0x00, 0x00, 0x0f, 0x01, 0x01, 0x00, 0x0f, 0x01, 0x0c,
- 0x0c, 0x01, 0x00, 0x0f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x01, 0x00, 0x0f,
- 0x01, 0x01, 0x0f, 0x0c, 0x0c, 0x0c, 0x01, 0x01, 0x00, 0x01,
- 0x01, 0x0f, 0x00, 0x01, 0x00, 0x0f, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x0c, 0x0f, 0x01, 0x01,
- 0x0c, 0x0f, 0x01, 0x01, 0x00, 0x0f, 0x0f, 0x00, 0x01, 0x01,
- 0x00, 0x0f, 0x0f, 0x00, 0x0f, 0x01, 0x00, 0x0f, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x0c, 0x00, 0x0c, 0x00, 0x00,
- 0x01, 0x01, 0x00, 0x0f, 0x01, 0x01, 0x00, 0x0c, 0x0c, 0x00,
- 0x0f, 0x01, 0x00, 0x0f, 0x00, 0x0f, 0x01, 0x01, 0x00, 0x0f,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x0c, 0x0f,
- 0x0f, 0x00, 0x0f, 0x01, 0x0c, 0x0f, 0x01, 0x0c, 0x0c, 0x0f,
- 0x0f, 0x0c, 0x0c, 0x01, 0x00, 0x01, 0x0f, 0x0c, 0x01, 0x01,
- 0x00, 0x0f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0f, 0x00,
- 0x01, 0x01, 0x01, 0x0c, 0x0c, 0x01, 0x00, 0x0f, 0x01, 0x00,
- 0x0f, 0x01, 0x01, 0x0f, 0x00, 0x01, 0x00, 0x0f, 0x01, 0x00,
- 0x0f, 0x01, 0x00, 0x0f, 0xff, 0x10, 0x01, 0x0f, 0xff, 0x05,
- 0x01, 0x0f, 0x01, 0x01, 0x01, 0x0f, 0xff, 0x26, 0x01};
-
- Bit8 c64[1076] =
- {0xa9, 0x34, 0x85, 0x00, 0xa9, 0x06, 0x85, 0x01, 0xa9, 0x00,
- 0x85, 0x02, 0xa9, 0x02, 0x85, 0x03, 0xa2, 0x00, 0xa1, 0x00,
- 0x81, 0x02, 0xe6, 0x00, 0xa5, 0x00, 0xc9, 0x00, 0xd0, 0x02,
- 0xe6, 0x01, 0xe6, 0x02, 0xa5, 0x02, 0xc9, 0x00, 0xd0, 0x08,
- 0xa5, 0x03, 0xc9, 0x05, 0xf0, 0x05, 0xe6, 0x03, 0x4c, 0x12,
- 0x06, 0x60, 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, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02,
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01,
- 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 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};
-
- Bit8 demoscene[2109] =
- {0xa2, 0x00, 0xbd, 0x1c, 0x0e, 0xc9, 0xff, 0xf0, 0x0a, 0x9d,
- 0xe0, 0x04, 0x9d, 0xe0, 0x05, 0xe8, 0x4c, 0x02, 0x06, 0x20,
- 0xbd, 0x06, 0xa9, 0x00, 0x85, 0x10, 0x85, 0x11, 0x20, 0xd0,
- 0x06, 0x20, 0x4e, 0x06, 0x20, 0x28, 0x06, 0x4c, 0x1c, 0x06,
- 0xa2, 0x00, 0xbd, 0x21, 0x05, 0x9d, 0x20, 0x05, 0xbd, 0x41,
- 0x05, 0x9d, 0x40, 0x05, 0xbd, 0x61, 0x05, 0x9d, 0x60, 0x05,
- 0xbd, 0x81, 0x05, 0x9d, 0x80, 0x05, 0xbd, 0xa1, 0x05, 0x9d,
- 0xa0, 0x05, 0xe8, 0xe0, 0x1f, 0xd0, 0xdd, 0x60, 0xa5, 0x10,
- 0xc9, 0x00, 0xd0, 0x0d, 0xe6, 0x11, 0xa6, 0x11, 0xbd, 0xf0,
- 0x09, 0xaa, 0xbd, 0xd4, 0x09, 0x85, 0x10, 0xc6, 0x10, 0xa6,
- 0x11, 0xbd, 0xf0, 0x09, 0xc9, 0xff, 0xd0, 0x07, 0xa9, 0x00,
- 0x85, 0x10, 0x85, 0x11, 0x60, 0x0a, 0xaa, 0xbd, 0x64, 0x0a,
- 0x85, 0x02, 0xe8, 0xbd, 0x64, 0x0a, 0x85, 0x03, 0xa9, 0x9c,
- 0x18, 0x65, 0x02, 0x85, 0x00, 0xa9, 0x0a, 0x65, 0x03, 0x85,
- 0x01, 0xa6, 0x10, 0xa1, 0x00, 0x8d, 0x3f, 0x05, 0x8a, 0x18,
- 0x69, 0x06, 0xaa, 0xa1, 0x00, 0x8d, 0x5f, 0x05, 0x8a, 0x18,
- 0x69, 0x06, 0xaa, 0xa1, 0x00, 0x8d, 0x7f, 0x05, 0x8a, 0x18,
- 0x69, 0x06, 0xaa, 0xa1, 0x00, 0x8d, 0x9f, 0x05, 0x8a, 0x18,
- 0x69, 0x06, 0xaa, 0xa1, 0x00, 0x8d, 0xbf, 0x05, 0x60, 0xa9,
- 0xf3, 0x85, 0x20, 0xa9, 0x06, 0x85, 0x21, 0xa9, 0x00, 0x85,
- 0x22, 0xa9, 0x02, 0x85, 0x23, 0xa2, 0x00, 0x60, 0xa1, 0x20,
- 0xc9, 0xff, 0xf0, 0x1c, 0x81, 0x22, 0xe6, 0x20, 0xa5, 0x20,
- 0xc9, 0x00, 0xd0, 0x02, 0xe6, 0x21, 0xe6, 0x22, 0xa5, 0x22,
- 0xc9, 0x00, 0xd0, 0x08, 0xa5, 0x23, 0xc9, 0x05, 0xf0, 0x02,
- 0xe6, 0x23, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0b, 0x0b, 0x0c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
- 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0c, 0x0c, 0x0f, 0x0f,
- 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x0c, 0x0f, 0x0c, 0x0f,
- 0x0f, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x00, 0x0b, 0x0b, 0x0c,
- 0x0f, 0x0f, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x0c, 0x0b, 0x0f, 0x0c,
- 0x0f, 0x0f, 0x0c, 0x0c, 0x0b, 0x00, 0x0b, 0x0c, 0x0c, 0x0c,
- 0x0f, 0x0f, 0x01, 0x0f, 0x0c, 0x0b, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0c,
- 0x0c, 0x0c, 0x0f, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
- 0x0c, 0x0f, 0x0c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00,
- 0x00, 0x0b, 0x0c, 0x0c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0c, 0x0f,
- 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x01, 0x0f, 0x0f, 0x0c,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0b, 0x0b, 0x0b, 0x0c, 0x0f, 0x0f, 0x01, 0x0f,
- 0x0f, 0x0c, 0x0f, 0x0f, 0x0f, 0x01, 0x0f, 0x0f, 0x0f, 0x0f,
- 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0b, 0x0b, 0x0c, 0x0f,
- 0x01, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x01,
- 0x0f, 0x0f, 0x0f, 0x0f, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x0b, 0x0c, 0x0b,
- 0x0c, 0x0c, 0x01, 0x01, 0x0f, 0x01, 0x0f, 0x01, 0x0f, 0x01,
- 0x0f, 0x0f, 0x01, 0x0f, 0x0f, 0x01, 0x0b, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0b, 0x0c,
- 0x0c, 0x0b, 0x0c, 0x0f, 0x01, 0x01, 0x01, 0x0f, 0x0f, 0x01,
- 0x0f, 0x0f, 0x01, 0x0f, 0x0f, 0x0f, 0x0f, 0x01, 0x0c, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0b,
- 0x0c, 0x0c, 0x0c, 0x0b, 0x0c, 0x0c, 0x0f, 0x01, 0x01, 0x01,
- 0x0f, 0x0f, 0x01, 0x0f, 0x01, 0x0f, 0x01, 0x0f, 0x0f, 0x01,
- 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0b,
- 0x0b, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c, 0x0c, 0x0f, 0x0f, 0x01,
- 0x01, 0x01, 0x01, 0x0f, 0x0f, 0x0f, 0x01, 0x0f, 0x01, 0x0f,
- 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0b, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c, 0x0f, 0x0c, 0x0f,
- 0x0f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0f, 0x0f, 0x01, 0x0f,
- 0x0f, 0x0f, 0x0f, 0x01, 0x0f, 0x0b, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0f, 0x0c, 0x0f, 0x0f,
- 0x0c, 0x0f, 0x0f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0f, 0x0f,
- 0x0f, 0x01, 0x0f, 0x0f, 0x0f, 0x01, 0x0c, 0x0b, 0x0b, 0x00,
- 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0c, 0x0f, 0x0c, 0x0f, 0x0f,
- 0x0f, 0x0f, 0x0f, 0x0c, 0x0f, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x0f, 0x0f, 0x0f, 0x01, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0b,
- 0x0b, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x0c, 0x0c, 0x0f,
- 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x01, 0x01,
- 0x01, 0x0f, 0x0b, 0x0f, 0x0f, 0x0f, 0x01, 0x0f, 0x0f, 0x0f,
- 0x0f, 0x0b, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x0c,
- 0x0f, 0x0c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
- 0x0f, 0x0f, 0x0c, 0x0b, 0x0f, 0x0f, 0x01, 0x0f, 0x0f, 0x0f,
- 0x0f, 0x0f, 0x0f, 0x0c, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x0b,
- 0x0b, 0x0c, 0x0c, 0x0f, 0x0c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
- 0x0f, 0x0c, 0x0c, 0x0b, 0x0c, 0x0c, 0x0f, 0x0f, 0x01, 0x0c,
- 0x0c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0c, 0x0b, 0x00, 0x00, 0x00,
- 0x00, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x0f, 0x0f,
- 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x01, 0x0f,
- 0x0c, 0x0b, 0x0f, 0x0c, 0x0f, 0x0c, 0x0f, 0x0c, 0x0b, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f,
- 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
- 0x0c, 0x0b, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x0c, 0x0f, 0x0c,
- 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0c, 0x0c,
- 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
- 0x0c, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c, 0x0f, 0x0f,
- 0x0f, 0x0c, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0b,
- 0x0b, 0x0b, 0x0c, 0x0c, 0x0f, 0x0c, 0x0f, 0x0f, 0x0f, 0x0c,
- 0x0c, 0x0b, 0x0b, 0x0b, 0x0c, 0x0b, 0x0b, 0x0c, 0x0c, 0x0f,
- 0x0c, 0x0c, 0x0f, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0b, 0x0b, 0x0c, 0x0b, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
- 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0c, 0x0b, 0x0b, 0x0c, 0x0c,
- 0x0f, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0b, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c,
- 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0c,
- 0x0c, 0x0f, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xff,
- 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x02, 0x05,
- 0x05, 0x05, 0x06, 0x06, 0x05, 0x05, 0x06, 0x05, 0x05, 0x04,
- 0x05, 0x06, 0x06, 0x06, 0x06, 0x05, 0x02, 0x03, 0x00, 0x0e,
- 0x0d, 0x0b, 0x18, 0x1b, 0x03, 0x04, 0x0f, 0x13, 0x07, 0x1b,
- 0x0c, 0x00, 0x0a, 0x04, 0x12, 0x1b, 0x08, 0x13, 0x1b, 0x0f,
- 0x0e, 0x12, 0x12, 0x08, 0x01, 0x0b, 0x04, 0x1a, 0x1a, 0x1a,
- 0x13, 0x07, 0x08, 0x12, 0x1b, 0x08, 0x12, 0x1b, 0x13, 0x07,
- 0x04, 0x1b, 0x05, 0x08, 0x11, 0x12, 0x13, 0x1b, 0x03, 0x04,
- 0x0c, 0x0e, 0x1b, 0x0c, 0x00, 0x03, 0x04, 0x1b, 0x08, 0x0d,
- 0x1b, 0x13, 0x07, 0x08, 0x12, 0x1b, 0x04, 0x0d, 0x15, 0x1a,
- 0x1a, 0x1a, 0x1a, 0x1b, 0x07, 0x0e, 0x0f, 0x04, 0x1b, 0x18,
- 0x0e, 0x14, 0x1b, 0x0b, 0x08, 0x0a, 0x04, 0x1b, 0x08, 0x13,
- 0x1a, 0x1a, 0x1a, 0x1b, 0x1b, 0x16, 0x16, 0x16, 0x1a, 0x03,
- 0x04, 0x0f, 0x13, 0x07, 0x1a, 0x0e, 0x11, 0x06, 0x1b, 0x1b,
- 0x1b, 0x1b, 0x1b, 0xff, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00,
- 0x60, 0x00, 0x80, 0x00, 0xa0, 0x00, 0xc0, 0x00, 0xe0, 0x00,
- 0x00, 0x01, 0x20, 0x01, 0x40, 0x01, 0x60, 0x01, 0x80, 0x01,
- 0xa0, 0x01, 0xc0, 0x01, 0xe0, 0x01, 0x00, 0x02, 0x20, 0x02,
- 0x40, 0x02, 0x60, 0x02, 0x80, 0x02, 0xa0, 0x02, 0xc0, 0x02,
- 0xe0, 0x02, 0x00, 0x03, 0x20, 0x03, 0x40, 0x03, 0x60, 0x03,
- 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
- 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
- 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x09, 0x0b, 0x09,
- 0x08, 0x09, 0x08, 0x0a, 0x08, 0x0a, 0x07, 0x0a, 0x07, 0x01,
- 0x07, 0x01, 0x01, 0x07, 0x01, 0x07, 0x0a, 0x07, 0x0a, 0x08,
- 0x0a, 0x08, 0x09, 0x08, 0x09, 0x0b, 0x09, 0x0b, 0xff};
-
- Bit8 breakout[219] =
- {0xa9, 0xfe, 0x85, 0x02, 0xa9, 0xee, 0x85, 0x03, 0xa9, 0x00,
- 0x85, 0x00, 0xa9, 0x02, 0x85, 0x01, 0xa2, 0x20, 0xa9, 0x02,
- 0x9d, 0xff, 0x01, 0x9d, 0xdf, 0x05, 0xa0, 0x00, 0x91, 0x00,
- 0xa0, 0x1f, 0x91, 0x00, 0xe0, 0x01, 0xf0, 0x15, 0xa9, 0x03,
- 0xa0, 0x17, 0x91, 0x00, 0xa9, 0x04, 0xc8, 0x91, 0x00, 0xa9,
- 0x05, 0xc8, 0x91, 0x00, 0xa9, 0x06, 0xc8, 0x91, 0x00, 0x18,
- 0xa5, 0x00, 0x69, 0x20, 0x85, 0x00, 0xa5, 0x01, 0x69, 0x00,
- 0x85, 0x01, 0xca, 0xd0, 0xc7, 0xa6, 0x02, 0xa4, 0x03, 0xa9,
- 0x44, 0x85, 0x00, 0xa9, 0x02, 0x85, 0x01, 0x8a, 0x48, 0xa9,
- 0x01, 0xa2, 0x00, 0x81, 0x00, 0x68, 0xaa, 0xca, 0xf0, 0x46,
- 0x88, 0xd0, 0xfa, 0x8a, 0x48, 0x20, 0xd5, 0x06, 0xa5, 0x03,
- 0x29, 0x01, 0xd0, 0x0d, 0x18, 0xa5, 0x00, 0x69, 0x20, 0x85,
- 0x00, 0x90, 0x11, 0xe6, 0x01, 0xd0, 0x0d, 0x38, 0xa5, 0x00,
- 0xe9, 0x20, 0x85, 0x00, 0xa5, 0x01, 0xe9, 0x00, 0x85, 0x01,
- 0xa2, 0x00, 0xa1, 0x00, 0xd0, 0x07, 0xa4, 0x03, 0x68, 0xaa,
- 0x4c, 0x57, 0x06, 0xc9, 0x02, 0xf0, 0x04, 0xa9, 0x00, 0x81,
- 0x00, 0xa9, 0x01, 0x45, 0x03, 0x85, 0x03, 0x4c, 0x6c, 0x06,
- 0x20, 0xd5, 0x06, 0xa5, 0x02, 0x29, 0x01, 0xd0, 0x04, 0xe6,
- 0x00, 0xd0, 0x02, 0xc6, 0x00, 0xa2, 0x00, 0xa1, 0x00, 0xd0,
- 0x05, 0xa6, 0x02, 0x4c, 0x57, 0x06, 0xc9, 0x02, 0xf0, 0x04,
- 0xa9, 0x00, 0x81, 0x00, 0xa9, 0x01, 0x45, 0x02, 0x85, 0x02,
- 0x4c, 0xad, 0x06, 0xa9, 0x00, 0xaa, 0x81, 0x00, 0x60};
-
- Bit8 sierpinsky[145] =
- {0xa2, 0x00, 0xa0, 0x00, 0xa5, 0xfe, 0x29, 0x03, 0xc9, 0x03,
- 0xd0, 0x03, 0x4c, 0x04, 0x06, 0x48, 0x0a, 0x0a, 0x0a, 0x85,
- 0xf3, 0x68, 0x29, 0x01, 0x0a, 0x0a, 0x0a, 0x0a, 0x85, 0xf4,
- 0x8a, 0x4a, 0x65, 0xf3, 0xaa, 0x98, 0x4a, 0x65, 0xf4, 0xa8,
- 0x20, 0x2e, 0x06, 0x4c, 0x04, 0x06, 0x48, 0x8a, 0x48, 0x98,
- 0x48, 0x48, 0x48, 0x86, 0xf2, 0xa4, 0xf2, 0xa9, 0x00, 0x85,
- 0xf0, 0xa9, 0x02, 0x85, 0xf1, 0xa9, 0x00, 0x68, 0x29, 0x07,
- 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x18, 0x65, 0xf0, 0x85, 0xf0,
- 0x90, 0x02, 0xe6, 0xf1, 0x18, 0x68, 0x29, 0x18, 0x4a, 0x4a,
- 0x4a, 0x65, 0xf1, 0x85, 0xf1, 0x18, 0x98, 0x65, 0xf0, 0x65,
- 0xf1, 0xa9, 0x01, 0x20, 0x72, 0x06, 0x91, 0xf0, 0x68, 0xa8,
- 0x68, 0xaa, 0x68, 0x60, 0xb1, 0xf0, 0xc9, 0x00, 0xd0, 0x03,
- 0xa9, 0x0b, 0x60, 0xc9, 0x0b, 0xd0, 0x03, 0xa9, 0x0c, 0x60,
- 0xc9, 0x0c, 0xd0, 0x03, 0xa9, 0x0f, 0x60, 0xc9, 0x0f, 0xd0,
- 0x03, 0xa9, 0x01, 0x60, 0x60};
-
-Bit8 spacer[583] =
- {0x20, 0x62, 0x06, 0x20, 0x90, 0x06, 0x20, 0xe6, 0x06, 0x20,
- 0x52, 0x06, 0x4c, 0x03, 0x06, 0xa5, 0x82, 0xa8, 0xb9, 0x07,
- 0x07, 0x85, 0x00, 0xc8, 0xb9, 0x07, 0x07, 0x85, 0x01, 0xa2,
- 0x2a, 0xa1, 0x00, 0xc9, 0x00, 0xf0, 0x02, 0xc9, 0x05, 0xa9,
- 0x05, 0x81, 0x00, 0xa5, 0x60, 0xc5, 0x61, 0xf0, 0x19, 0xa5,
- 0x61, 0x0a, 0xa8, 0xb9, 0x07, 0x07, 0x85, 0x00, 0xc8, 0xb9,
- 0x07, 0x07, 0x85, 0x01, 0xa9, 0x00, 0xa2, 0x2a, 0x81, 0x00,
- 0xa5, 0x60, 0x85, 0x61, 0x60, 0xa5, 0xfe, 0x81, 0x00, 0x4c,
- 0x4b, 0x06, 0xa5, 0xff, 0xc9, 0x77, 0xd0, 0x03, 0xc6, 0x60,
- 0x60, 0xc9, 0x78, 0xd0, 0x02, 0xe6, 0x60, 0x60, 0xa2, 0x00,
- 0xbd, 0x47, 0x07, 0x9d, 0x00, 0x05, 0xe8, 0xe0, 0x00, 0xd0,
- 0xf5, 0xa9, 0x0a, 0x85, 0x60, 0x85, 0x61, 0xa2, 0x00, 0xa9,
- 0x0c, 0x9d, 0x00, 0x02, 0x9d, 0x00, 0x04, 0xca, 0xe0, 0x00,
- 0xd0, 0xf5, 0xa9, 0x10, 0x85, 0x80, 0xa2, 0x0f, 0x95, 0x81,
- 0xca, 0x10, 0xfb, 0x60, 0xa9, 0x00, 0x85, 0x78, 0xa9, 0x20,
- 0x85, 0x79, 0xa9, 0xc0, 0x85, 0x7a, 0xa9, 0xe0, 0x85, 0x7b,
- 0xa2, 0x0f, 0xb5, 0x81, 0x95, 0x82, 0xa8, 0xb9, 0x07, 0x07,
- 0x85, 0x00, 0xc8, 0xb9, 0x07, 0x07, 0x85, 0x01, 0xa9, 0x0c,
- 0xa4, 0x78, 0x91, 0x00, 0xc8, 0x91, 0x00, 0xa4, 0x7b, 0x91,
- 0x00, 0xc8, 0x91, 0x00, 0xa4, 0x79, 0xa9, 0x00, 0x91, 0x00,
- 0xc8, 0x91, 0x00, 0xa4, 0x7a, 0x91, 0x00, 0xc8, 0x91, 0x00,
- 0xe6, 0x78, 0xe6, 0x79, 0xe6, 0x7a, 0xe6, 0x7b, 0xe6, 0x78,
- 0xe6, 0x79, 0xe6, 0x7a, 0xe6, 0x7b, 0xca, 0x10, 0xbd, 0x60,
- 0xa5, 0x80, 0xc5, 0x81, 0xf0, 0x09, 0xa5, 0x80, 0x18, 0xe5,
- 0x81, 0x10, 0x0f, 0x30, 0x08, 0xa5, 0xfe, 0x29, 0x0f, 0x0a,
- 0x85, 0x80, 0x60, 0xc6, 0x81, 0xc6, 0x81, 0x60, 0xe6, 0x81,
- 0xe6, 0x81, 0x60, 0x00, 0x02, 0x20, 0x02, 0x40, 0x02, 0x60,
- 0x02, 0x80, 0x02, 0xa0, 0x02, 0xc0, 0x02, 0xe0, 0x02, 0x00,
- 0x03, 0x20, 0x03, 0x40, 0x03, 0x60, 0x03, 0x80, 0x03, 0xa0,
- 0x03, 0xc0, 0x03, 0xe0, 0x03, 0x00, 0x04, 0x20, 0x04, 0x40,
- 0x04, 0x60, 0x04, 0x80, 0x04, 0xa0, 0x04, 0xc0, 0x04, 0xe0,
- 0x04, 0x00, 0x05, 0x20, 0x05, 0x40, 0x05, 0x60, 0x05, 0x80,
- 0x05, 0xa0, 0x05, 0xc0, 0x05, 0xe0, 0x05, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x01, 0x01, 0x06, 0x01, 0x01, 0x01, 0x00, 0x00,
- 0x06, 0x01, 0x01, 0x06, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06,
- 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x06, 0x00,
- 0x00, 0x06, 0x01, 0x06, 0x00, 0x06, 0x00, 0x01, 0x00, 0x06,
- 0x01, 0x06, 0x01, 0x06, 0x00, 0x01, 0x00, 0x01, 0x00, 0x06,
- 0x00, 0x06, 0x01, 0x06, 0x00, 0x06, 0x00, 0x01, 0x00, 0x06,
- 0x01, 0x06, 0x00, 0x00, 0x06, 0x01, 0x01, 0x06, 0x06, 0x01,
- 0x01, 0x01, 0x00, 0x06, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01,
- 0x06, 0x00, 0x06, 0x06, 0x01, 0x01, 0x01, 0x00, 0x06, 0x01,
- 0x00, 0x06, 0x01, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01,
- 0x06, 0x01, 0x01, 0x06, 0x06, 0x06, 0x01, 0x01, 0x01, 0x01,
- 0x06, 0x01, 0x06, 0x06, 0x06, 0x06, 0x01, 0x06, 0x06, 0x06,
- 0x06, 0x01, 0x01, 0x01, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01,
- 0x01, 0x01, 0x0e, 0x01, 0x01, 0x0e, 0x06, 0x06, 0x01, 0x01,
- 0x06, 0x01, 0x06, 0x01, 0x01, 0x01, 0x01, 0x0e, 0x01, 0x01,
- 0x01, 0x01, 0x06, 0x01, 0x01, 0x06, 0x01, 0x06, 0x06, 0x06,
- 0x01, 0x01, 0x01, 0x06, 0x0e, 0x01, 0x01, 0x06, 0x0e, 0x06,
- 0x01, 0x01, 0x0e, 0x01, 0x0e, 0x06, 0x01, 0x01, 0x01, 0x06,
- 0x0e, 0x01, 0x01, 0x01, 0x0e, 0x01, 0x01, 0x06, 0x01, 0x06,
- 0x0e, 0x0e, 0x0e, 0x06, 0x0e, 0x0e, 0x06, 0x0e, 0x0e, 0x06,
- 0x0e, 0x0e, 0x06, 0x0e, 0x0e, 0x06, 0x0e, 0x0e, 0x06, 0x0e,
- 0x0e, 0x06, 0x0e, 0x0e, 0x06, 0x0e, 0x0e, 0x06, 0x0e, 0x0e,
- 0x06, 0x0e, 0x0e};
-
- Bit8 pong[398] =
- {0x20, 0x27, 0x06, 0x20, 0x18, 0x06, 0x20, 0x29, 0x07, 0x20,
- 0x5c, 0x06, 0x20, 0xf6, 0x06, 0xa5, 0x10, 0xc9, 0x1f, 0xd0,
- 0xf4, 0x4c, 0x15, 0x06, 0xa9, 0x0b, 0x85, 0x10, 0xa9, 0x05,
- 0x85, 0x11, 0xa9, 0xff, 0x85, 0x12, 0x85, 0x13, 0x60, 0xa9,
- 0x00, 0x85, 0x00, 0xa9, 0x02, 0x85, 0x01, 0xa2, 0x00, 0xa0,
- 0x1f, 0x98, 0xaa, 0xa9, 0x0e, 0x9d, 0x00, 0x02, 0x9d, 0x20,
- 0x02, 0xa2, 0x00, 0x81, 0x00, 0xe8, 0x81, 0x00, 0xa2, 0x1e,
- 0x81, 0x00, 0xe8, 0x81, 0x00, 0xa5, 0x00, 0xc9, 0xe0, 0xd0,
- 0x02, 0xe6, 0x01, 0x18, 0x69, 0x20, 0x85, 0x00, 0x88, 0xd0,
- 0xd8, 0x60, 0xa5, 0x10, 0x85, 0x15, 0xa5, 0x11, 0x85, 0x16,
- 0xa5, 0x10, 0x18, 0x65, 0x12, 0x85, 0x10, 0x20, 0xdf, 0x06,
- 0xc9, 0x00, 0xf0, 0x15, 0xa5, 0x12, 0xc9, 0x01, 0xd0, 0x09,
- 0xa9, 0xff, 0x85, 0x12, 0xc6, 0x10, 0x4c, 0x87, 0x06, 0xa9,
- 0x01, 0x85, 0x12, 0xe6, 0x10, 0xa5, 0x11, 0x18, 0x65, 0x13,
- 0x85, 0x11, 0x20, 0xdf, 0x06, 0xc9, 0x00, 0xf0, 0x15, 0xa5,
- 0x13, 0xc9, 0x01, 0xd0, 0x09, 0xa9, 0xff, 0x85, 0x13, 0xc6,
- 0x11, 0x4c, 0xaa, 0x06, 0xa9, 0x01, 0x85, 0x13, 0xe6, 0x11,
- 0xa5, 0x10, 0x29, 0x1f, 0x0a, 0xaa, 0xbd, 0x4e, 0x07, 0x85,
- 0x00, 0xe8, 0xbd, 0x4e, 0x07, 0x85, 0x01, 0xa5, 0x11, 0x29,
- 0x1f, 0xaa, 0xa9, 0x0d, 0x81, 0x00, 0xa5, 0x15, 0x29, 0x1f,
- 0x0a, 0xaa, 0xbd, 0x4e, 0x07, 0x85, 0x00, 0xe8, 0xbd, 0x4e,
- 0x07, 0x85, 0x01, 0xa5, 0x16, 0x29, 0x1f, 0xaa, 0xa9, 0x00,
- 0x81, 0x00, 0x60, 0xa5, 0x10, 0x0a, 0xaa, 0xbd, 0x4e, 0x07,
- 0x85, 0x00, 0xe8, 0xbd, 0x4e, 0x07, 0x85, 0x01, 0xa5, 0x11,
- 0x29, 0x1f, 0xaa, 0xa1, 0x00, 0x60, 0xa5, 0xff, 0xc9, 0x61,
- 0xd0, 0x08, 0xa5, 0x20, 0xc9, 0x00, 0xf0, 0x0e, 0xc6, 0x20,
- 0xc9, 0x64, 0xd0, 0x08, 0xa5, 0x20, 0xc9, 0x19, 0xf0, 0x02,
- 0xe6, 0x20, 0xa6, 0x20, 0xa9, 0x00, 0x9d, 0xe0, 0x05, 0xe8,
- 0xa0, 0x1e, 0xa9, 0x0f, 0x9d, 0xe0, 0x05, 0xe8, 0x88, 0xd0,
- 0xf7, 0xa9, 0x00, 0x9d, 0xe0, 0x05, 0x60, 0xa9, 0x00, 0x85,
- 0x05, 0xa9, 0x02, 0x85, 0x06, 0xe6, 0x06, 0xa5, 0xfe, 0x29,
- 0x0f, 0x18, 0x69, 0x05, 0xaa, 0xa5, 0x06, 0x0a, 0xa8, 0xa9,
- 0x0c, 0x81, 0x05, 0xe8, 0x88, 0xd0, 0xfa, 0xa5, 0x06, 0xc9,
- 0x05, 0xd0, 0xe4, 0x60, 0x00, 0x02, 0x20, 0x02, 0x40, 0x02,
- 0x60, 0x02, 0x80, 0x02, 0xa0, 0x02, 0xc0, 0x02, 0xe0, 0x02,
- 0x00, 0x03, 0x20, 0x03, 0x40, 0x03, 0x60, 0x03, 0x80, 0x03,
- 0xa0, 0x03, 0xc0, 0x03, 0xe0, 0x03, 0x00, 0x04, 0x20, 0x04,
- 0x40, 0x04, 0x60, 0x04, 0x80, 0x04, 0xa0, 0x04, 0xc0, 0x04,
- 0xe0, 0x04, 0x00, 0x05, 0x20, 0x05, 0x40, 0x05, 0x60, 0x05,
- 0x80, 0x05, 0xa0, 0x05, 0xc0, 0x05, 0xe0, 0x05};
-
- switch(r){
- case 0:
- start_eval_binary(machine,noise,30,plot6502,st);
- break;
- case 1:
- start_eval_binary(machine,atari,629,plot6502,st);
- break;
- case 2:
- start_eval_binary(machine,c64,1076,plot6502,st);
- break;
- case 3:
- start_eval_binary(machine,random,22,plot6502,st);
- break;
- case 4:
- start_eval_binary(machine,demoscene,2109,plot6502,st);
- break;
- case 5:
- start_eval_binary(machine,breakout,219,plot6502,st);
- break;
- case 6:
- start_eval_binary(machine,sierpinsky,145,plot6502,st);
- break;
- case 7:
- start_eval_binary(machine,spacer,583,plot6502,st);
- break;
- case 8:
- start_eval_binary(machine,pong,398,plot6502,st);
- break;
- }
+ int n = st->which;
+ while(n == st->which)
+ n = random() % st->demos;
+ st->which = n;
+ start_eval_string(machine, demo_files[st->which], plot6502, st);
}
+
\f
/*
* get_time ()
char *s = get_string_resource (dpy, "file", "File");
int n = get_integer_resource(dpy, "displaytime", "Displaytime");
int dh;
- st->pc = 0;
+ st->demos = countof(demo_files);
+ st->which = random() % st->demos;
st->dt = n;
st->dpy = dpy;
st->window = window;
--- /dev/null
+#!/bin/sh
+
+TARGET=$1
+shift
+SRCS=$*
+
+TMP1=m6502.h.1.$$
+TMP2=m6502.h.2.$$
+rm -f $TMP1 $TMP2
+
+if [ -z "$UTILS_SRC" ]; then UTILS_SRC="../utils"; fi
+
+for f in $SRCS ; do
+ sed 's/[ ]*;.*$//' < "$f" > $TMP1 # lose comments
+ sh "$UTILS_SRC/ad2c" $TMP1 |
+ sed 's/",$/\\n"/' >> $TMP2
+ echo ',' >> $TMP2
+done
+rm $TMP1
+mv $TMP2 $TARGET
if ((unsigned long) himem - (unsigned long) lomem > 0x0FFFFFFF) {
# if 0
fprintf (stderr, "%s: wonky: 0x%08x - 0x%08x = 0x%08x\n", progname,
- (unsigned long) himem, (unsigned long) lomem,
- (unsigned long) himem - (unsigned long) lomem);
+ (unsigned int) himem, (unsigned int) lomem,
+ (unsigned int) himem - (unsigned int) lomem);
# endif
himem = lomem + 0xFFFF;
}
".textColor: #00FF00",
".foreground: #00FF00",
"*borderSize: 2",
- ".font1: -*-courier-medium-r-*-*-*-1400-*-*-m-*-*-*",
- ".font2: -*-courier-medium-r-*-*-*-600-*-*-m-*-*-*",
- ".font3: -*-courier-medium-r-*-*-*-180-*-*-m-*-*-*",
+ ".font1: -*-courier-bold-r-*-*-*-1400-*-*-m-*-*-*",
+ ".font2: -*-courier-bold-r-*-*-*-600-*-*-m-*-*-*",
+ ".font3: -*-courier-bold-r-*-*-*-180-*-*-m-*-*-*",
".font4: fixed",
"*delay: 10000",
"*offset: 0",
-/* xscreensaver, Copyright (c) 1999-2006 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1999-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
drain_input (p_state *state)
{
XtAppContext app = XtDisplayToApplicationContext (state->dpy);
- if (state->input_available_p)
+ if (state->input_available_p && state->pipe)
{
unsigned char s[2];
int n = read (fileno (state->pipe), (void *) s, 1);
-/* xscreensaver, Copyright (c) 1992-2006 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1992-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
{
unsigned long delay = ft->draw_cb (dpy, window, closure);
#ifdef DEBUG_PAIR
- unsigned long delay2;
+ unsigned long delay2 = 0;
if (window2) delay2 = ft->draw_cb (dpy, window2, closure2);
#endif
-/* xscreensaver, Copyright (c) 1992-2006 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1992-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
# define M_PI_2 1.5707963267
#endif
+#ifndef Button6
+# define Button6 6
+# define Button7 7
+#endif
+
#include "yarandom.h"
#include "usleep.h"
#include "resources.h"
/* webcollage-helper-cocoa --- scales and pastes one image into another
- * xscreensaver, Copyright (c) 2002-2006 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 2002-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
progname, paste_file, paste_w, paste_h);
}
- if (bevel_pct > 0)
+ if (bevel_pct > 0 && paste_w > 5 && paste_h > 5)
bevel_image (paste_img, bevel_pct,
from_x, from_y, w, h,
from_scale);
# endif
("# "
"\010\010\010\010"
- "\001nmap 10.2.2.2\n"
+ "\001nmap -v -sS -O 10.2.2.2\n"
"Starting nmap V. 2.54BETA25\n"
"\010\010\010\010\010\010\010\010\010\010"
"Insufficient responses for TCP sequencing (3), OS detection"
" may be less accurate\n"
"Interesting ports on 10.2.2.2:\n"
- "(The 1538 ports scanned but not shown below are in state:"
- " filtered)\n"
+ "(The 1539 ports scanned but not shown below are in state:"
+ " closed)\n"
"Port state service\n"
"22/tcp open ssh\n"
"\n"
-# Auto-generated: Tue Nov 13 00:39:40 PST 2007
+# Auto-generated: Sat Mar 1 21:34:50 PST 2008
driver/demo-Gtk-conf.c
driver/demo-Gtk-support.c
driver/demo-Gtk-widgets.c
hacks/config/cube21.xml
hacks/config/cubenetic.xml
hacks/config/cubestorm.xml
+hacks/config/cubicgrid.xml
hacks/config/cwaves.xml
hacks/config/cynosure.xml
hacks/config/dangerball.xml
hacks/config/hyperball.xml
hacks/config/hypercube.xml
hacks/config/hypertorus.xml
+hacks/config/hypnowheel.xml
hacks/config/ifs.xml
hacks/config/imsmap.xml
hacks/config/interaggregate.xml
hacks/config/lament.xml
hacks/config/laser.xml
hacks/config/lavalite.xml
+hacks/config/lcdscrub.xml
hacks/config/lightning.xml
hacks/config/lisa.xml
hacks/config/lissie.xml
$ kaleidescope :== $'mydir'kaleidescope
$ kumppa :== $'mydir'kumppa
$ laser :== $'mydir'laser
+$ lcdscrub :== $'mydir'lcdscrub
$ lightning :== $'mydir'lightning
$ lisa :== $'mydir'lisa
$ lissie :== $'mydir'lissie
-/* xscreensaver, Copyright (c) 1992-2003 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1992-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
}
+static void
+sleep_from (struct timeval *now, struct timeval *then, long usecs_per_step)
+{
+ /* If several seconds have passed, the machine must have been asleep
+ or thrashing or something. Don't sleep in that case, to avoid
+ overflowing and sleeping for an unconscionably long time. This
+ function should only be sleeping for very short periods.
+ */
+ if (now->tv_sec - then->tv_sec < 5)
+ {
+ long diff = (((now->tv_sec - then->tv_sec) * 1000000) +
+ now->tv_usec - then->tv_usec);
+ if (usecs_per_step > diff)
+ usleep (usecs_per_step - diff);
+ }
+
+ then->tv_sec = now->tv_sec;
+ then->tv_usec = now->tv_usec;
+}
+
+
+
/* The business with `cmaps_per_screen' is to fake out the SGI 8-bit video
hardware, which is capable of installing multiple (4) colormaps
simultaneously. We have to install multiple copies of the same set of
/* If we haven't already used up our alotted time, sleep to avoid
changing the colormap too fast. */
- {
- long diff = (((now.tv_sec - then.tv_sec) * 1000000) +
- now.tv_usec - then.tv_usec);
- then.tv_sec = now.tv_sec;
- then.tv_usec = now.tv_usec;
- if (usecs_per_step > diff)
- usleep (usecs_per_step - diff);
- }
+ sleep_from (&now, &then, usecs_per_step);
}
DONE:
/* If we haven't already used up our alotted time, sleep to avoid
changing the colormap too fast. */
- {
- long diff = (((now.tv_sec - then.tv_sec) * 1000000) +
- now.tv_usec - then.tv_usec);
- then.tv_sec = now.tv_sec;
- then.tv_usec = now.tv_usec;
- if (usecs_per_step > diff)
- usleep (usecs_per_step - diff);
- }
+ sleep_from (&now, &then, usecs_per_step);
}
}
/* If we haven't already used up our alotted time, sleep to avoid
changing the colormap too fast. */
- {
- long diff = (((now.tv_sec - then.tv_sec) * 1000000) +
- now.tv_usec - then.tv_usec);
- then.tv_sec = now.tv_sec;
- then.tv_usec = now.tv_usec;
- if (usecs_per_step > diff)
- usleep (usecs_per_step - diff);
- }
+ sleep_from (&now, &then, usecs_per_step);
}
}
-/* xscreensaver, Copyright (c) 1992-2006 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1992-2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
XRectangle geom_ret_2;
char *name_ret_2 = 0;
+ if (!drawable) abort();
+
if (callback) {
geom_ret = &geom_ret_2;
name_ret = &name_ret_2;
static const char screensaver_id[] =
- "@(#)xscreensaver 5.04 (13-Nov-2007), by Jamie Zawinski (jwz@jwz.org)";
+ "@(#)xscreensaver 5.05 (01-Mar-2008), by Jamie Zawinski (jwz@jwz.org)";
%define name xscreensaver
-%define version 5.04
+%define version 5.05
Summary: X screen saver and locker
Name: %{name}
AF77793D09B6604900EA3033 /* PBXTargetDependency */,
AF77793B09B6604900EA3033 /* PBXTargetDependency */,
AF77793909B6604800EA3033 /* PBXTargetDependency */,
+ AF1A17840D6D6FA7008AF328 /* PBXTargetDependency */,
AF77793709B6604800EA3033 /* PBXTargetDependency */,
AF0DCA310C4C744D00D76972 /* PBXTargetDependency */,
AF77793509B6604800EA3033 /* PBXTargetDependency */,
AF777A4709B660B500EA3033 /* PBXTargetDependency */,
AF777A4509B660B500EA3033 /* PBXTargetDependency */,
AF777A4309B660B500EA3033 /* PBXTargetDependency */,
+ AF4FF4D70D52CD0D00666F98 /* PBXTargetDependency */,
AF777A4109B660B500EA3033 /* PBXTargetDependency */,
AF777A3F09B660B500EA3033 /* PBXTargetDependency */,
AF777A3D09B660B500EA3033 /* PBXTargetDependency */,
AF777A1B09B660B300EA3033 /* PBXTargetDependency */,
AF777A1909B660B300EA3033 /* PBXTargetDependency */,
AF777A1709B660B300EA3033 /* PBXTargetDependency */,
+ AF42C5160D624E9200B27FF6 /* PBXTargetDependency */,
AF777A1509B660B300EA3033 /* PBXTargetDependency */,
AF777A1309B660B300EA3033 /* PBXTargetDependency */,
AF777A1109B660B300EA3033 /* PBXTargetDependency */,
AF0FAF2709CA712600EE1051 /* xscreensaver-getimage-file in Resources */ = {isa = PBXBuildFile; fileRef = AF0FAF1209CA712600EE1051 /* xscreensaver-getimage-file */; };
AF0FAF2809CA712600EE1051 /* xscreensaver-getimage-file in Resources */ = {isa = PBXBuildFile; fileRef = AF0FAF1209CA712600EE1051 /* xscreensaver-getimage-file */; };
AF0FAF2909CA712600EE1051 /* xscreensaver-getimage-file in Resources */ = {isa = PBXBuildFile; fileRef = AF0FAF1209CA712600EE1051 /* xscreensaver-getimage-file */; };
+ AF1A17660D6D6EE3008AF328 /* xscreensaver-getimage-file in Resources */ = {isa = PBXBuildFile; fileRef = AF0FAF1209CA712600EE1051 /* xscreensaver-getimage-file */; };
+ AF1A17680D6D6EE3008AF328 /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
+ AF1A176B0D6D6EE3008AF328 /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
+ AF1A176C0D6D6EE3008AF328 /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
+ AF1A176D0D6D6EE3008AF328 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+ AF1A177F0D6D6F3E008AF328 /* lcdscrub.c in Sources */ = {isa = PBXBuildFile; fileRef = AF1A177E0D6D6F3E008AF328 /* lcdscrub.c */; };
+ AF1A17810D6D6F62008AF328 /* lcdscrub.xml in Resources */ = {isa = PBXBuildFile; fileRef = AF1A17800D6D6F62008AF328 /* lcdscrub.xml */; };
AF1A26760990E77C00147B80 /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
+ AF3C714B0D624BF50030CC0D /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
+ AF3C714E0D624BF50030CC0D /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
+ AF3C714F0D624BF50030CC0D /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
+ AF3C71500D624BF50030CC0D /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+ AF3C71510D624BF50030CC0D /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF480FE70990375900FB32B8 /* AGL.framework */; };
+ AF3C71520D624BF50030CC0D /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF480DF1098F528500FB32B8 /* OpenGL.framework */; };
+ AF3C71530D624BF50030CC0D /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF48112B0990A2C700FB32B8 /* Carbon.framework */; };
+ AF3C715E0D624C600030CC0D /* hypnowheel.c in Sources */ = {isa = PBXBuildFile; fileRef = AF3C715D0D624C600030CC0D /* hypnowheel.c */; };
+ AF3C71600D624C7C0030CC0D /* hypnowheel.xml in Resources */ = {isa = PBXBuildFile; fileRef = AF3C715F0D624C7C0030CC0D /* hypnowheel.xml */; };
AF476FBC099D154F001F091E /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
AF476FBF099D154F001F091E /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
AF476FC0099D154F001F091E /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
AF4FD6F40CE7A486005EE58E /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF48112B0990A2C700FB32B8 /* Carbon.framework */; };
AF4FD7010CE7A577005EE58E /* lockward.c in Sources */ = {isa = PBXBuildFile; fileRef = AF4FD7000CE7A577005EE58E /* lockward.c */; };
AF4FD7030CE7A5BC005EE58E /* lockward.xml in Resources */ = {isa = PBXBuildFile; fileRef = AF4FD7020CE7A5BC005EE58E /* lockward.xml */; };
+ AF4FF4C10D52CBDE00666F98 /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
+ AF4FF4C30D52CBDE00666F98 /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
+ AF4FF4C40D52CBDE00666F98 /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
+ AF4FF4C50D52CBDE00666F98 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+ AF4FF4C60D52CBDE00666F98 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF480FE70990375900FB32B8 /* AGL.framework */; };
+ AF4FF4C70D52CBDE00666F98 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF480DF1098F528500FB32B8 /* OpenGL.framework */; };
+ AF4FF4C80D52CBDE00666F98 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF48112B0990A2C700FB32B8 /* Carbon.framework */; };
+ AF4FF4D10D52CC8400666F98 /* cubicgrid.c in Sources */ = {isa = PBXBuildFile; fileRef = AF4FF4D00D52CC8400666F98 /* cubicgrid.c */; };
+ AF4FF4D40D52CCAA00666F98 /* cubicgrid.xml in Resources */ = {isa = PBXBuildFile; fileRef = AF4FF4D30D52CCAA00666F98 /* cubicgrid.xml */; };
AF64232F099F45C3000F4CD4 /* braid.c in Sources */ = {isa = PBXBuildFile; fileRef = AFD56EC10996A76F00BA26F7 /* braid.c */; };
AF642330099F45CA000F4CD4 /* braid.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFC2587D0988A468000655EE /* braid.xml */; };
AF6423F9099FF9C2000F4CD4 /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
remoteGlobalIDString = AF0DCA420C4CBB0D00D76972;
remoteInfo = Voronoi;
};
+ AF1A17630D6D6EE3008AF328 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AF4808C0098C3B6C00FB32B8;
+ remoteInfo = jwxyz;
+ };
+ AF1A17830D6D6FA7008AF328 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AF1A17610D6D6EE3008AF328;
+ remoteInfo = LCDscrub;
+ };
+ AF3C71470D624BF50030CC0D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AF4808C0098C3B6C00FB32B8;
+ remoteInfo = jwxyz;
+ };
+ AF42C5150D624E9200B27FF6 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AF3C71450D624BF50030CC0D;
+ remoteInfo = Hypnowheel;
+ };
AF476FB7099D154F001F091E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
remoteGlobalIDString = AF4FD6E60CE7A486005EE58E;
remoteInfo = Lockward;
};
+ AF4FF4970D52CA5000666F98 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AF4FF4930D52CA0800666F98;
+ remoteInfo = m6502.h;
+ };
+ AF4FF4BC0D52CBDE00666F98 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AF4808C0098C3B6C00FB32B8;
+ remoteInfo = jwxyz;
+ };
+ AF4FF4D60D52CD0D00666F98 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = AF4FF4BA0D52CBDE00666F98;
+ remoteInfo = CubicGrid;
+ };
AF6423F4099FF9C2000F4CD4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
AF0DCA340C4C74A200D76972 /* m6502.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = m6502.c; path = hacks/m6502.c; sourceTree = "<group>"; };
AF0DCA370C4C74B700D76972 /* m6502.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = m6502.xml; sourceTree = "<group>"; };
AF0DCA560C4CBB0D00D76972 /* Voronoi.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Voronoi.saver; sourceTree = BUILT_PRODUCTS_DIR; };
- AF0DCA570C4CBB0E00D76972 /* XScreenSaver copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = "XScreenSaver copy.plist"; path = "OSX/XScreenSaver copy.plist"; sourceTree = "<group>"; };
AF0DCA5F0C4CBB7300D76972 /* voronoi.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = voronoi.c; path = hacks/glx/voronoi.c; sourceTree = "<group>"; };
AF0DCA610C4CBB8E00D76972 /* voronoi.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = voronoi.xml; sourceTree = "<group>"; };
AF0FAF0B09CA6FF900EE1051 /* xscreensaver-text */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.script.perl; name = "xscreensaver-text"; path = "driver/xscreensaver-text"; sourceTree = "<group>"; };
AF0FAF1209CA712600EE1051 /* xscreensaver-getimage-file */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.script.perl; name = "xscreensaver-getimage-file"; path = "driver/xscreensaver-getimage-file"; sourceTree = "<group>"; };
+ AF1A17730D6D6EE3008AF328 /* LCDscrub.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LCDscrub.saver; sourceTree = BUILT_PRODUCTS_DIR; };
+ AF1A177E0D6D6F3E008AF328 /* lcdscrub.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = lcdscrub.c; path = hacks/lcdscrub.c; sourceTree = "<group>"; };
+ AF1A17800D6D6F62008AF328 /* lcdscrub.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = lcdscrub.xml; sourceTree = "<group>"; };
AF34085409B80AAF00F2CEC1 /* StarWars.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StarWars.saver; sourceTree = BUILT_PRODUCTS_DIR; };
AF34085509B80AB000F2CEC1 /* StonerView.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StonerView.saver; sourceTree = BUILT_PRODUCTS_DIR; };
AF34085609B80AB000F2CEC1 /* Gleidescope.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Gleidescope.saver; sourceTree = BUILT_PRODUCTS_DIR; };
AF34085709B80AB000F2CEC1 /* FontGlide.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FontGlide.saver; sourceTree = BUILT_PRODUCTS_DIR; };
+ AF3C71590D624BF50030CC0D /* Hypnowheel.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Hypnowheel.saver; sourceTree = BUILT_PRODUCTS_DIR; };
+ AF3C715D0D624C600030CC0D /* hypnowheel.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = hypnowheel.c; path = hacks/glx/hypnowheel.c; sourceTree = "<group>"; };
+ AF3C715F0D624C7C0030CC0D /* hypnowheel.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = hypnowheel.xml; sourceTree = "<group>"; };
AF476FC6099D154F001F091E /* Interference.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Interference.saver; sourceTree = BUILT_PRODUCTS_DIR; };
AF476FD0099D15AA001F091E /* interference.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = interference.c; path = hacks/interference.c; sourceTree = "<group>"; };
AF476FEB099D1686001F091E /* Truchet.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Truchet.saver; sourceTree = BUILT_PRODUCTS_DIR; };
AF48E1670A0C268500F94CF9 /* glschool.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = glschool.h; path = hacks/glx/glschool.h; sourceTree = "<group>"; };
AF48E16B0A0C26A400F94CF9 /* glschool.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = glschool.xml; sourceTree = "<group>"; };
AF4FD6FA0CE7A486005EE58E /* Lockward.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Lockward.saver; sourceTree = BUILT_PRODUCTS_DIR; };
- AF4FD6FD0CE7A486005EE58E /* XScreenSaver copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "XScreenSaver copy.plist"; path = "OSX/XScreenSaver copy.plist"; sourceTree = "<group>"; };
AF4FD7000CE7A577005EE58E /* lockward.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = lockward.c; path = hacks/glx/lockward.c; sourceTree = "<group>"; };
AF4FD7020CE7A5BC005EE58E /* lockward.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = lockward.xml; sourceTree = "<group>"; };
+ AF4FF4CE0D52CBDE00666F98 /* CubicGrid.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CubicGrid.saver; sourceTree = BUILT_PRODUCTS_DIR; };
+ AF4FF4D00D52CC8400666F98 /* cubicgrid.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = cubicgrid.c; path = hacks/glx/cubicgrid.c; sourceTree = "<group>"; };
+ AF4FF4D30D52CCAA00666F98 /* cubicgrid.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = cubicgrid.xml; sourceTree = "<group>"; };
AF642405099FF9C2000F4CD4 /* Extrusion.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Extrusion.saver; sourceTree = BUILT_PRODUCTS_DIR; };
AF642409099FFAF0000F4CD4 /* extrusion-helix2.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = "extrusion-helix2.c"; path = "hacks/glx/extrusion-helix2.c"; sourceTree = "<group>"; };
AF64240A099FFAF0000F4CD4 /* extrusion-helix3.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = "extrusion-helix3.c"; path = "hacks/glx/extrusion-helix3.c"; sourceTree = "<group>"; };
AFE6A16A0CDD78EA002805BF /* involute.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = involute.c; path = hacks/glx/involute.c; sourceTree = "<group>"; };
AFE6A16B0CDD78EA002805BF /* involute.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = involute.h; path = hacks/glx/involute.h; sourceTree = "<group>"; };
AFE6A1970CDD7B2E002805BF /* MoebiusGears.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MoebiusGears.saver; sourceTree = BUILT_PRODUCTS_DIR; };
- AFE6A19A0CDD7B2F002805BF /* XScreenSaver copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = "XScreenSaver copy.plist"; path = "OSX/XScreenSaver copy.plist"; sourceTree = "<group>"; };
AFE6A40B0CDD7BC3002805BF /* moebiusgears.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = moebiusgears.c; path = hacks/glx/moebiusgears.c; sourceTree = "<group>"; };
AFE6A40D0CDD7BDC002805BF /* moebiusgears.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = moebiusgears.xml; sourceTree = "<group>"; };
AFE6A42D0CDD7FAA002805BF /* Abstractile.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Abstractile.saver; sourceTree = BUILT_PRODUCTS_DIR; };
);
runOnlyForDeploymentPostprocessing = 0;
};
+ AF1A176A0D6D6EE3008AF328 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AF1A176B0D6D6EE3008AF328 /* libjwxyz.a in Frameworks */,
+ AF1A176C0D6D6EE3008AF328 /* ScreenSaver.framework in Frameworks */,
+ AF1A176D0D6D6EE3008AF328 /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ AF3C714D0D624BF50030CC0D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AF3C714E0D624BF50030CC0D /* libjwxyz.a in Frameworks */,
+ AF3C714F0D624BF50030CC0D /* ScreenSaver.framework in Frameworks */,
+ AF3C71500D624BF50030CC0D /* Cocoa.framework in Frameworks */,
+ AF3C71510D624BF50030CC0D /* AGL.framework in Frameworks */,
+ AF3C71520D624BF50030CC0D /* OpenGL.framework in Frameworks */,
+ AF3C71530D624BF50030CC0D /* Carbon.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
AF476FBE099D154F001F091E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
);
runOnlyForDeploymentPostprocessing = 0;
};
+ AF4FF4C20D52CBDE00666F98 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AF4FF4C30D52CBDE00666F98 /* libjwxyz.a in Frameworks */,
+ AF4FF4C40D52CBDE00666F98 /* ScreenSaver.framework in Frameworks */,
+ AF4FF4C50D52CBDE00666F98 /* Cocoa.framework in Frameworks */,
+ AF4FF4C60D52CBDE00666F98 /* AGL.framework in Frameworks */,
+ AF4FF4C70D52CBDE00666F98 /* OpenGL.framework in Frameworks */,
+ AF4FF4C80D52CBDE00666F98 /* Carbon.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
AF6423FA099FF9C2000F4CD4 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
AFE6A1970CDD7B2E002805BF /* MoebiusGears.saver */,
AFE6A42D0CDD7FAA002805BF /* Abstractile.saver */,
AF4FD6FA0CE7A486005EE58E /* Lockward.saver */,
+ AF4FF4CE0D52CBDE00666F98 /* CubicGrid.saver */,
+ AF3C71590D624BF50030CC0D /* Hypnowheel.saver */,
+ AF1A17730D6D6EE3008AF328 /* LCDscrub.saver */,
);
name = Products;
sourceTree = "<group>";
8D1107310486CEB800E47090 /* XScreenSaver.plist */,
AF0FAF1209CA712600EE1051 /* xscreensaver-getimage-file */,
AF0FAF0B09CA6FF900EE1051 /* xscreensaver-text */,
- AF0DCA570C4CBB0E00D76972 /* XScreenSaver copy.plist */,
- AFE6A19A0CDD7B2F002805BF /* XScreenSaver copy.plist */,
- AF4FD6FD0CE7A486005EE58E /* XScreenSaver copy.plist */,
);
name = Resources;
sourceTree = "<group>";
AF64270709A1C9EF000F4CD4 /* sonar.c */,
AF4771BA099D4997001F091E /* t3d.c */,
AF477192099D4864001F091E /* wander.c */,
+ AF1A177E0D6D6F3E008AF328 /* lcdscrub.c */,
AF47717C099D47D3001F091E /* compass.c */,
AF477145099D43E2001F091E /* deluxe.c */,
AF476FF0099D1713001F091E /* truchet.c */,
AFE6A16B0CDD78EA002805BF /* involute.h */,
AF0DCA5F0C4CBB7300D76972 /* voronoi.c */,
AFA563660993970F00F3E977 /* cube21.c */,
+ AF4FF4D00D52CC8400666F98 /* cubicgrid.c */,
AFA563460993963400F3E977 /* glhanoi.c */,
AF77778B09B64A2A00EA3033 /* gleidescope.c */,
AF7777A509B64AFC00EA3033 /* mirrorblob.c */,
AFA55E9F0993608800F3E977 /* toaster_handle.c */,
AFA55EA00993608800F3E977 /* toaster_handle.dxf */,
AFA55EA10993608800F3E977 /* toaster_handle2.c */,
+ AF3C715D0D624C600030CC0D /* hypnowheel.c */,
AFA55EA20993608800F3E977 /* toaster_handle2.dxf */,
AFA55EA30993608800F3E977 /* toaster_jet.c */,
AFA55EA40993608800F3E977 /* toaster_jet.dxf */,
AFC2588C0988A468000655EE /* critical.xml */,
AFC2588D0988A468000655EE /* crystal.xml */,
AFC2588E0988A468000655EE /* cube21.xml */,
+ AF4FF4D30D52CCAA00666F98 /* cubicgrid.xml */,
AFC2588F0988A468000655EE /* cubenetic.xml */,
AFC258900988A468000655EE /* cubestorm.xml */,
AFC258910988A468000655EE /* cynosure.xml */,
AFC259240988A469000655EE /* timetunnel.xml */,
AF0DCA610C4CBB8E00D76972 /* voronoi.xml */,
AFC259250988A469000655EE /* triangle.xml */,
+ AF1A17800D6D6F62008AF328 /* lcdscrub.xml */,
AFC259260988A469000655EE /* truchet.xml */,
AFC259270988A469000655EE /* twang.xml */,
AFC259280988A469000655EE /* vermiculate.xml */,
AFC259290988A469000655EE /* vidwhacker.xml */,
+ AF3C715F0D624C7C0030CC0D /* hypnowheel.xml */,
AFC2592A0988A469000655EE /* vines.xml */,
AF4FD7020CE7A5BC005EE58E /* lockward.xml */,
AFC2592B0988A469000655EE /* wander.xml */,
/* End PBXHeadersBuildPhase section */
/* Begin PBXLegacyTarget section */
+ AF4FF4930D52CA0800666F98 /* m6502.h */ = {
+ isa = PBXLegacyTarget;
+ buildArgumentsString = "m6502.sh $(PRODUCT_NAME) images/m6502/*.asm";
+ buildConfigurationList = AF4FF4940D52CA0800666F98 /* Build configuration list for PBXLegacyTarget "m6502.h" */;
+ buildPhases = (
+ );
+ buildToolPath = /bin/sh;
+ buildWorkingDirectory = hacks/;
+ dependencies = (
+ );
+ name = m6502.h;
+ passBuildSettingsInEnvironment = 1;
+ productName = molecules.h;
+ };
AFA56119099378CB00F3E977 /* molecules.h */ = {
isa = PBXLegacyTarget;
buildArgumentsString = "molecules.sh $(PRODUCT_NAME) ../images/molecules/*.pdb";
buildRules = (
);
dependencies = (
+ AF4FF4980D52CA5000666F98 /* PBXTargetDependency */,
AF0DC7AC0C4C73F600D76972 /* PBXTargetDependency */,
);
name = m6502;
productReference = AF0DCA560C4CBB0D00D76972 /* Voronoi.saver */;
productType = "com.apple.product-type.bundle";
};
+ AF1A17610D6D6EE3008AF328 /* LCDscrub */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = AF1A17700D6D6EE3008AF328 /* Build configuration list for PBXNativeTarget "LCDscrub" */;
+ buildPhases = (
+ AF1A17640D6D6EE3008AF328 /* Resources */,
+ AF1A17670D6D6EE3008AF328 /* Sources */,
+ AF1A176A0D6D6EE3008AF328 /* Frameworks */,
+ AF1A176E0D6D6EE3008AF328 /* Rez */,
+ AF1A176F0D6D6EE3008AF328 /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ AF1A17620D6D6EE3008AF328 /* PBXTargetDependency */,
+ );
+ name = LCDscrub;
+ productName = Zoom;
+ productReference = AF1A17730D6D6EE3008AF328 /* LCDscrub.saver */;
+ productType = "com.apple.product-type.bundle";
+ };
+ AF3C71450D624BF50030CC0D /* Hypnowheel */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = AF3C71560D624BF50030CC0D /* Build configuration list for PBXNativeTarget "Hypnowheel" */;
+ buildPhases = (
+ AF3C71480D624BF50030CC0D /* Resources */,
+ AF3C714A0D624BF50030CC0D /* Sources */,
+ AF3C714D0D624BF50030CC0D /* Frameworks */,
+ AF3C71540D624BF50030CC0D /* Rez */,
+ AF3C71550D624BF50030CC0D /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ AF3C71460D624BF50030CC0D /* PBXTargetDependency */,
+ );
+ name = Hypnowheel;
+ productName = TopBlock;
+ productReference = AF3C71590D624BF50030CC0D /* Hypnowheel.saver */;
+ productType = "com.apple.product-type.bundle";
+ };
AF476FB5099D154F001F091E /* Interference */ = {
isa = PBXNativeTarget;
buildConfigurationList = AF476FC3099D154F001F091E /* Build configuration list for PBXNativeTarget "Interference" */;
productReference = AF4FD6FA0CE7A486005EE58E /* Lockward.saver */;
productType = "com.apple.product-type.bundle";
};
+ AF4FF4BA0D52CBDE00666F98 /* CubicGrid */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = AF4FF4CB0D52CBDE00666F98 /* Build configuration list for PBXNativeTarget "CubicGrid" */;
+ buildPhases = (
+ AF4FF4BD0D52CBDE00666F98 /* Resources */,
+ AF4FF4BF0D52CBDE00666F98 /* Sources */,
+ AF4FF4C20D52CBDE00666F98 /* Frameworks */,
+ AF4FF4C90D52CBDE00666F98 /* Rez */,
+ AF4FF4CA0D52CBDE00666F98 /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ AF4FF4BB0D52CBDE00666F98 /* PBXTargetDependency */,
+ );
+ name = CubicGrid;
+ productName = Cubenetic;
+ productReference = AF4FF4CE0D52CBDE00666F98 /* CubicGrid.saver */;
+ productType = "com.apple.product-type.bundle";
+ };
AF6423F2099FF9C2000F4CD4 /* Extrusion */ = {
isa = PBXNativeTarget;
buildConfigurationList = AF642402099FF9C2000F4CD4 /* Build configuration list for PBXNativeTarget "Extrusion" */;
AF9D4C2B09B59A49006E59CF /* Jigsaw */,
AF477499099D8A74001F091E /* Kaleidescope */,
AF477613099DA26C001F091E /* Kumppa */,
+ AF1A17610D6D6EE3008AF328 /* LCDscrub */,
AF4774B4099D8B5F001F091E /* LMorph */,
+ AF4FF4930D52CA0800666F98 /* m6502.h */,
AF0DC7AB0C4C73F600D76972 /* m6502 */,
AF4774CE099D8BFF001F091E /* Maze */,
AF975AFC099C6FE400B05160 /* MemScroller */,
AFD56F0B0996AAFA00BA26F7 /* Vines */,
AFD5709B0996B88E00BA26F7 /* Worm */,
AF480D59098EED5100FB32B8 /* All Savers (OpenGL) */,
- AFA56119099378CB00F3E977 /* molecules.h */,
AFA5604A09936E2100F3E977 /* AntInspect */,
AFA562DA099393C900F3E977 /* AntMaze */,
AFA5606209936F3800F3E977 /* AntSpotlight */,
AFA56351099396C000F3E977 /* Cube21 */,
AFA55D620993584B00F3E977 /* Cubenetic */,
AFA55FD309936BFA00F3E977 /* CubeStorm */,
+ AF4FF4BA0D52CBDE00666F98 /* CubicGrid */,
AF4810EB09909FBA00FB32B8 /* DangerBall */,
AF77786109B6536000EA3033 /* DNAlogo */,
AFA55E0D09935EDC00F3E977 /* Endgame */,
AFA55C77099349A600F3E977 /* GLSnake */,
AFD56DF10996A03800BA26F7 /* GLText */,
AFA55F420993629000F3E977 /* HyperTorus */,
+ AF3C71450D624BF50030CC0D /* Hypnowheel */,
AFA55F06099361B700F3E977 /* JigglyPuff */,
AFA563A4099398BB00F3E977 /* Juggler3D */,
AFA55F2A0993622F00F3E977 /* Klein */,
AF77778E09B64A5200EA3033 /* MirrorBlob */,
AFA5596D0993317900F3E977 /* Moebius */,
AFE6A1820CDD7B2E002805BF /* MoebiusGears */,
+ AFA56119099378CB00F3E977 /* molecules.h */,
AFA560FD0993781600F3E977 /* Molecule */,
AFA559B50993328000F3E977 /* Morph3D */,
AFA5617B09937CF100F3E977 /* Noof */,
);
runOnlyForDeploymentPostprocessing = 0;
};
+ AF1A17640D6D6EE3008AF328 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AF1A17660D6D6EE3008AF328 /* xscreensaver-getimage-file in Resources */,
+ AF1A17810D6D6F62008AF328 /* lcdscrub.xml in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ AF3C71480D624BF50030CC0D /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AF3C71600D624C7C0030CC0D /* hypnowheel.xml in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
AF476FB8099D154F001F091E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
);
runOnlyForDeploymentPostprocessing = 0;
};
+ AF4FF4BD0D52CBDE00666F98 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AF4FF4D40D52CCAA00666F98 /* cubicgrid.xml in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
AF6423F5099FF9C2000F4CD4 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
);
runOnlyForDeploymentPostprocessing = 0;
};
+ AF1A176E0D6D6EE3008AF328 /* Rez */ = {
+ isa = PBXRezBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ AF3C71540D624BF50030CC0D /* Rez */ = {
+ isa = PBXRezBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
AF476FC2099D154F001F091E /* Rez */ = {
isa = PBXRezBuildPhase;
buildActionMask = 2147483647;
);
runOnlyForDeploymentPostprocessing = 0;
};
+ AF4FF4C90D52CBDE00666F98 /* Rez */ = {
+ isa = PBXRezBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
AF642401099FF9C2000F4CD4 /* Rez */ = {
isa = PBXRezBuildPhase;
buildActionMask = 2147483647;
shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
showEnvVarsInLog = 0;
};
+ AF1A176F0D6D6EE3008AF328 /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+ showEnvVarsInLog = 0;
+ };
+ AF3C71550D624BF50030CC0D /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+ showEnvVarsInLog = 0;
+ };
AF48DEFF0A0C25E000F94CF9 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
showEnvVarsInLog = 0;
};
+ AF4FF4CA0D52CBDE00666F98 /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+ showEnvVarsInLog = 0;
+ };
AF998EEA0A083DB30051049D /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
);
runOnlyForDeploymentPostprocessing = 0;
};
+ AF1A17670D6D6EE3008AF328 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AF1A17680D6D6EE3008AF328 /* XScreenSaverSubclass.m in Sources */,
+ AF1A177F0D6D6F3E008AF328 /* lcdscrub.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ AF3C714A0D624BF50030CC0D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AF3C714B0D624BF50030CC0D /* XScreenSaverSubclass.m in Sources */,
+ AF3C715E0D624C600030CC0D /* hypnowheel.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
AF476FBB099D154F001F091E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
);
runOnlyForDeploymentPostprocessing = 0;
};
+ AF4FF4BF0D52CBDE00666F98 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AF4FF4C10D52CBDE00666F98 /* XScreenSaverSubclass.m in Sources */,
+ AF4FF4D10D52CC8400666F98 /* cubicgrid.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
AF6423F7099FF9C2000F4CD4 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
target = AF0DCA420C4CBB0D00D76972 /* Voronoi */;
targetProxy = AF0DCA5B0C4CBB4300D76972 /* PBXContainerItemProxy */;
};
+ AF1A17620D6D6EE3008AF328 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
+ targetProxy = AF1A17630D6D6EE3008AF328 /* PBXContainerItemProxy */;
+ };
+ AF1A17840D6D6FA7008AF328 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = AF1A17610D6D6EE3008AF328 /* LCDscrub */;
+ targetProxy = AF1A17830D6D6FA7008AF328 /* PBXContainerItemProxy */;
+ };
+ AF3C71460D624BF50030CC0D /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
+ targetProxy = AF3C71470D624BF50030CC0D /* PBXContainerItemProxy */;
+ };
+ AF42C5160D624E9200B27FF6 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = AF3C71450D624BF50030CC0D /* Hypnowheel */;
+ targetProxy = AF42C5150D624E9200B27FF6 /* PBXContainerItemProxy */;
+ };
AF476FB6099D154F001F091E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
target = AF4FD6E60CE7A486005EE58E /* Lockward */;
targetProxy = AF4FD6FE0CE7A4F9005EE58E /* PBXContainerItemProxy */;
};
+ AF4FF4980D52CA5000666F98 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = AF4FF4930D52CA0800666F98 /* m6502.h */;
+ targetProxy = AF4FF4970D52CA5000666F98 /* PBXContainerItemProxy */;
+ };
+ AF4FF4BB0D52CBDE00666F98 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
+ targetProxy = AF4FF4BC0D52CBDE00666F98 /* PBXContainerItemProxy */;
+ };
+ AF4FF4D70D52CD0D00666F98 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = AF4FF4BA0D52CBDE00666F98 /* CubicGrid */;
+ targetProxy = AF4FF4D60D52CD0D00666F98 /* PBXContainerItemProxy */;
+ };
AF6423F3099FF9C2000F4CD4 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
};
name = Release;
};
+ AF1A17710D6D6EE3008AF328 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ };
+ name = Debug;
+ };
+ AF1A17720D6D6EE3008AF328 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ };
+ name = Release;
+ };
+ AF3C71570D624BF50030CC0D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+ "USE_GL=1",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)",
+ );
+ };
+ name = Debug;
+ };
+ AF3C71580D624BF50030CC0D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+ "USE_GL=1",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)",
+ );
+ };
+ name = Release;
+ };
AF476FC4099D154F001F091E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Release;
};
+ AF4FF4950D52CA0800666F98 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ PRODUCT_NAME = m6502.h;
+ };
+ name = Debug;
+ };
+ AF4FF4960D52CA0800666F98 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ PRODUCT_NAME = m6502.h;
+ ZERO_LINK = NO;
+ };
+ name = Release;
+ };
+ AF4FF4CC0D52CBDE00666F98 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+ "USE_GL=1",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)",
+ );
+ };
+ name = Debug;
+ };
+ AF4FF4CD0D52CBDE00666F98 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
+ "USE_GL=1",
+ "$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)",
+ );
+ };
+ name = Release;
+ };
AF642403099FF9C2000F4CD4 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ AF1A17700D6D6EE3008AF328 /* Build configuration list for PBXNativeTarget "LCDscrub" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ AF1A17710D6D6EE3008AF328 /* Debug */,
+ AF1A17720D6D6EE3008AF328 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ AF3C71560D624BF50030CC0D /* Build configuration list for PBXNativeTarget "Hypnowheel" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ AF3C71570D624BF50030CC0D /* Debug */,
+ AF3C71580D624BF50030CC0D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
AF476FC3099D154F001F091E /* Build configuration list for PBXNativeTarget "Interference" */ = {
isa = XCConfigurationList;
buildConfigurations = (
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ AF4FF4940D52CA0800666F98 /* Build configuration list for PBXLegacyTarget "m6502.h" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ AF4FF4950D52CA0800666F98 /* Debug */,
+ AF4FF4960D52CA0800666F98 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ AF4FF4CB0D52CBDE00666F98 /* Build configuration list for PBXNativeTarget "CubicGrid" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ AF4FF4CC0D52CBDE00666F98 /* Debug */,
+ AF4FF4CD0D52CBDE00666F98 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
AF642402099FF9C2000F4CD4 /* Build configuration list for PBXNativeTarget "Extrusion" */ = {
isa = XCConfigurationList;
buildConfigurations = (