From: Jamie Zawinski
Subject: Explorer source code archive available
Date: 
Message-ID: <4693@pt.cs.cmu.edu>
I have set up the directory /usr/jwz/public/ on "spice.cs.cmu.edu" to be
accessible by anonymous FTP.  This directory contains various utilities
I have written for the TI Explorer.  Most of the code is Explorer dependent,
but some is portable Common Lisp, and some is easily ported...

There's about a megabyte of code here in sixty files... check it out,
there's bound to be something you like.

If you have some code that you would like me to add to this archive, send it
(or a pointer to it) to ยทยทยทยท@spice.cs.cmu.edu" or "sun!sunpitt!eti!jwz".
Questions, comments, suggestions?

	Jamie Zawinski

What follows is the file "_readme.text" from the archive.  This contains
short descriptions of the contents of the files available.  Most of the
files contain more complete documentation in comments at the top.

AUDIO-TAPE		Code for generating PostScript to print tape labels.
AUDIO-TAPE-INTERFACE	A friendly ZMACS interface to the above code.

BOLD-LOCK		Code for using the Bold Lock and Italic Lock keys on
			the Explorer keyboard.  This defines a Zmacs minor-
			mode, "Bold-Lock Mode", which automatically changes
			the current font to correspond to the state of the 
			keys.  See the file BOLD-LOCK.TEXT for documentation.

BREAKOUT		The Atari game.  Works in color or monochrome.

CHANGELOG		Code for automating the changelog process - it 
			defines a ZMACS command, COM-INSERT-CHANGELOG, which
			moves the cursor to the end of the current buffer's
			changelog, and inserts the current date and user ID.  
			END moves the cursor back to its original position.

CHOOSE-COLOR		Redefines the Profile color requestor menu to display
			the colors on the menu, along with their names.

COLORBARS		Displays standard video colorbars on a color monitor.

DESCRIBE-SYMBOL		Alters DESCRIBE so that it doesn't say so much about
			NIL, and so that describing a symbol which names
			a DEFSTRUCT describes that kind of structure.

EDIT-PRINT-QUEUE	Extends the PEEK utility to have an Edit Print Queue
			command, which allows the user to alter the state of 
			the print queue on the local machine or a remote 
			print server.  Must be loaded on both machines.
			The remote-machine part of this code depends on the
			file PRINTER-REQUESTS-PATCH.LISP, also in this
			directory (fixes a TI bug).

EVALSERVER		Defines a server which allows evaluation of arbitrary 
			forms on a remote machine.  Returns the result.

FIREWORKS		A simple fireworks simulation.  With sound and color,
			oooh aaah.  Works as a screensaver.

FONT-BITMAPS		Given a bitmap and a rectangle in it, store that image
			into some character of a font (creating or adjusting
			the font as necessary).  Useful for creating 
			replacements for the TI-LOGO font.

GENERATE-ETC-HOSTS	Code to generate a UNIX /etc/hosts or /usr/lib/aliases
			file from an Explorer namespace.  Also code to show
			the machines in the Explorer namespace sorted by IP
			or CHAOS addresses, or alphabetically.

GREP			Searches for files containing given strings.  Doesn't
			do regexp comparisons, though; it uses the and/or 
			syntax that APROPOS uses.

GREYNETIC		Draws random grey (or color!) rectangles on the 
			screen or a window.  Very fast.

HOPALONG		Draws pretty fractal patterns.  Uses color if
			available.

HYPERCUBE	        Spins a hypercube under keyboard control.  Color.

IFF/			This directory contains code for reading and 
			displaying Amiga picture files, playing Amiga sound
			files, reading Sculpt-Animate 3D files, and 
			displaying scaled fonts which are stored in the SA3D 
			format.  See the file iff/_readme.text for details.

INSPECTOR-CONFIG	Defines two new inspector configurations, which have
			larger history windows, and have all of the 
			scrollbars at the left edge of the screen (big win).

KEYMAP			Allows arbitrary remapping of the (raw) TI keyboard.

LOAD-PATCH		If LOAD is called on a pathname or string whose TYPE 
			component is not specified, and the source version is 
			newer than the binary, then the behavior is 
			controlled by a variable, whose value is :SOURCE,
			:BINARY, or :QUERY.

MAIL-APPEND		Defines a new editor command, Append Message to File,
			for use in Read Mail Mode.  Works with or without
			the code in MAIL-FONT-PATCH.LISP.

MAIL-FONT-PATCH		Various redefinitions that cause the Mail Reader to
			allow multi-font messages.  This interacts well with
			the code in both BOLD-LOCK.LISP and MAIL-APPEND.LISP

MANDELBROT		Several implementations of generators of the 
			Mandelbrot set.  Works in color.

MAZE			Code for generating and displaying random mazes.

MKSYS			A portable Common Lisp 'make' utility with a more sane
			syntax than DEFINE-SYSTEM.

MODE-LINE-PERCENT	Adds a "percent through file" notation to the ZMACS 
			mode line.

MODEM-H19		Code to simulate a Heath 19 terminal, talking to a 
			modem on the local machine's serial port.

MOUSE-RECORD		Code for recording and playing back mouse and keyboard
			activity.  The system cannot tell the difference 
			between playback and an actual user moving an actual 
			mouse.

NARRATE			You give it a number, and it reads it in english.  
			Requires the file NARRATE-SAMPLES.XLD in this 
			directory.

PRINTER-REQUESTS-PATCH	Various enhancements/fixes to the TI print request 
			code.  See the comments at the top of the file.

QIX			Half-done implementation of the QIX video game.
			Works as a demo... feel free to finish it!
			There's some interesting code here for dividing 
			regions into rectangles.

RAINBOW			Color monitor only - displays a scrolling rainbow 
			pattern on the whole screen using colormap cycling.

READ-RASTER-FILE	Code for reading and displaying Andrew Toolkit 
			Raster format image files.

REBOOT			Defines a function, REBOOT, which does the same thing
			as calling SI:SHUTDOWN, and then doing 
			Meta-Control-Meta-Control-Rubout.

REDEFINITION-PATCH	Redefines QUERY-ABOUT-REDEFINITION so that it will 
			time out to a default answer after N seconds.  
			Unattended compiles which get a redefinition query 
			will eventually continue.

SAMPLE-EDITOR		A window-based utility for recording, modifying, and
			saving digitally recorded sound.

SHOW-COMTAB		Code to display and search Zmacs comtabs.

SCRIBE-MODE		Defines a minor mode which is to .MSS files what
			Electric Font Lock Mode is to .LISP files.  See the
			file SCRIBE-MODE.TEXT for documentation.

SPELLER-ADDITIONS	Enhancements to the code in SYS:PUBLIC.SPELLER; -
			See the file SPELLER-ADDITIONS.TEXT for documentation.

SUBDIR			Some code for walking directory trees - includes a
			function like the Unix 'du' program.

TALKSERVER		Sets up a server for recording sound on the local host
			and playing it on a remote machine - "want to go to 
			lunch?"

WHOIS			Given a user ID, looks up info in the namespace and 
			tells you about the user - real name, home host, 
			address, etc - in a pretty format.

WRITE-C-BITMAP		Takes a bitmap and produces a file acceptable to the 
			X11 'bitmap' and 'xsetroot' programs.

ZWEI-METHOD-DOCUMENTATION   Redefines the Describe Function (and Show Arglist)
			commands to be much more clever.  Describing SEND 
			really describes the method being sent; it's clever
			about sends to SELF; and lots more.  See the
			documentation in the file.
--