*C
51.2	16K	ALX.S2M		Assembly Language Extension macros
51.3	3K	ALX-.DOC	Doc on above
51.4	3K	ALXTEST.ALX	Sample macros to test above, including
		ALXTEST.ALX		errors to be detected.
51.5	4K	CIO.ALX		Console I/O routines in ALX
51.8	2K	DEMO.S2M	Interactive STAGE2 demo macros.
51.9	17K	DISKIO2.SRC	(@) disk I/O for STAGE2 processor
51.10	6K	DISKIO2-.DOC	(@) DOC on above
51.11	5K	FLD1.DAT	(@) Sample data for FLUB test
51.12	4K	FLD2.DAT	(@) 		"
51.13	13K	FLT1.FLB	(@) Sample program for FLUB test
51.14	11K	FLT2.FLB	(@)		"
51.15	1K	FLUB$.SUB	(@) Submit file for FLT1, FLT2, STG2.
51.16	4K	FLUB8080.S2M	(@) Macros to turn FLUB into 8080 asm
51.17	3K	HELP.DOC	First-timer's "to do" list.
51.18	2K	IMPL.DOC	(@) Notes on implementing STAGE2
51.19	2K	INTERACT.S2M	Another macro demo.
51.20	22K	INTRO.DOC	Sufficient info to "read" STAGE2 macros,
					and with diligence, write them.
51.22	1K	IOOP$.SUB	(@) submit file for macro pass + asm of above
51.21	16K	IOOP.SRC	(@) I/O processor 8080 source
51.23	1K	MEMORY.INP	Another macro demo.
51.24	2K	ST2T.DAT	(@)
51.25	12K	STAGE2.COM	The executable macro processor itself.
51.26	48K	STG2.FLB	(@) Source for STAGE2 in FLUB code
51.27	5K	STG2MATH.ASM	(@) STAGE2 support routines
51.28	5K	STG2SUP.ASM	(@)		"
51.29	8K	TERM.ALX	Sample 8080 terminal program w/ALX macros.
51.30	3K	TERMSUP.ASM	Subroutines for TERM.ALX
51.31	2K	USE.DOC		How to execute STAGE2.
51.32	6K	VDB.ALX		TDL video driver in ALX, a "state machine".
(@)	Files are necessary only to change STAGE2.
* DESCRIPTION: STAGE2 MACRO PROCESSOR
By:	Dick Curtiss			
	843 NW 54th
	Seattle, WA 98107
<<Congratulations to Dick for a superb User's group contribution: A major
  work, well documented, good examples, a good reference book, etc.>>

STAGE2 is a macro programming language, documented
sufficiently on this disk to effectively use it.  Examples
given include a library of extensions for assembler
programming, (ALX) including WHILE, REPEAT, IF, BRANCH (a CASE
statement), etc.  STAGE2 is a general-purpose text-replacement
processor, not limited to programming language applications.
Those interested in transporting it to other machines, or in
studying its background and implementation will want to
purchase:

"Software Tools for Non-Numeric Applications" - by: Wm. M. Waite
  from: Prentice Hall, Inc.
	Rt. 59 at Brook Hill Dr.
	P.O. Box 505
	West Nyack, NY 10994
   for: $24.95 + 1.00 tax + 1.85 Postage/handling

Abstract for National CP/M Users Group Vol. 51,
	"STAGE2 Macro Processor"

	Richard Curtiss implemented STAGE2, wrote many of the
sample programs, and did an excellent job of commenting on his
own work.  INTRO.DOC and VOLUME51.DOC, provide not only doc-
umentation, but "insight", which is normally the service an
"abstract" serves.  Because of such good documentation, (and
this disk is full), this abstract will be brief.
	STAGE2 is "cryptic", but quite interesting.  Many of
you will enjor "experimenting with it", and many will make
regular use of it.
	What is a "macro processor"?  A program, which "trans-
forms" or "expands" character strings, into something else.
Traditional uses were in assembler programming, allowing you
to say, for example, " OPEN MYFILE,INPUT,4096", rather than
having to code the necessary assembler instructions.  Richard
Curtiss uses it to expand ANY language he uses on his micro,
to add structured programming:  IF/THEN, WHILE, REPEAT, etc.
The macros generate the proper GOTOs, etc, no matter what the
language
	STAGE2 was written in "FLUB", a machine-independent
simple language.  The FLUB source for STAGE2 is on the disk.
IMPL.DOC goes into the details.  You could transport STAGE2 to
some other processor, quite readily.
	The only thing missing is some documentation on the
"state machine" macros of ALX.  VDB.ALX, a video driver for a
memory-mapped display, uses them.  You are normally in ST1
(state 1) waiting for characters.  If you get an ESC, you go
to ST2, because you are awaiting a control sequence.  Then, if
you receive a "Y", it is cursor addressing, so you set the
next state to ST3 via "SETNEXT ( NSTATE = ST3 )" to get the
row, then when its received, "SETNEXT ( NSTATE = ST4 )", i.e.
state 4 to receive the column.  Then reset to state 1.
	The NSTATE DW is the address of the next state (rou-
tine) you will be in, and "EXECUTE ( NSTATE )" expands to
"branch to what is stored in NSTATE.

	Abstract by Ward Christensen
STAGE2 IS:
	STAGE2 is a versatile macro processor developed by William
	M. Waite.  Operating on a generalized pattern recognition principle,
	it can be used for language translation, textual data filtering,
	limited printer output formatting, batch file editing and other text
	processing applications.
FEATURES:
	Pattern matching
	Symbol table (storage and retrieval under user control)
	Symbol generator
	Integer arithmetic
	Arithmetic expression evaluator
	Scan controlled iteration (search for specific characters)
	Count controlled iteration
	Conditional and unconditional branching (skips)
	I/O channel control
	Limited output formatting
	Recursion
	Error traceback showing all macro calls
STRONG POINTS:
	Highly transportable
	Some applications are an order of magnitude simpler to implement
	with STAGE2 than with conventional algorithmic languages.
WEAK POINTS:
	A bit slow
	Uses lots of memory for large applications (language translation)
	Macro code is very cryptic in appearance
REFERENCES:
	STAGE2 is in the public domain and is documented by the author
	in the book:
		Implementing Software for Non-numeric Applications
		by W. M. Waite
		1973  Prentice Hall
	Chapter 9 and appendix A include STAGE2 user information, source
	listings and implementation directions.
	STAGE2 is also documented by the author in:
		"Communications of the ACM"
		Volume 13 / Number 7
		July 1970, Pages 415-421
STAGE2 for CP/M:
	This 8080 implementation was accomplished by:
		Dick Curtiss
		843 NW 54th
		Seattle, Washington  98107
		(206) 784-8018
					and is in the public domain.

DEVIATIONS FROM THE VERSION DISTRIBUTED BY WAITE:
	Variable length lines for input and output (132 char max)
		Input lines
			Carriage return terminates
			Line feeds are ignored
			Nulls are ignored
			Deletes are ignored
		Output lines
			Carriage return and line feed on every line
	Channel 5 implemented for console input and output
IMPLEMENTATION LIMITATIONS:
	STAGE2 is modeled on an abstract machine called the FLUB machine.  FLUB
	stands for First Language Under Bootstrap.  The FLUB machine word is
	made up of three fields:
		Pointer field		16 bits in this CP/M implementation
		Value field		8 bits
		Flag field		8 bits (only two used)
	Since the value field is sometimes used to hold string length, strings
	are limited to 255 characters maximum.  Under some circumstances the
	value field is considered to be signed so that strings longer than
	127 characters may cause strange results, but NOT a crash.  STAGE2 
	seems to be extremely well protected against crashes.

	Since the pointer field is used for arithmetic operations, values are
	limited to the range -32767 to 32767.  -32768 causes trouble.
	Each character stored by STAGE2 takes 1 FLUB word or 4 bytes in this
	implementation.
CP/M VERSION AVAILABILITY:
	CP/M Users' Group
	1651 Third Avenue   
	New York, NY  10028
DISCLAIMER:
	)()!&(%$#"#"%!!$(%!##!(!$!!$=(00(!#=!! so there!
	Use it at your own risk.
MORE INFORMATION:
	HELP.DOC	For the STAGE2 novice - start here
	USE.DOC		STAGE2 I/O summary and command line specification
	INTRO.DOC	Introduction to the STAGE2 processor
	IMPL.DOC	STAGE2 implementation notes
EXAMPLE FILES:
	ALX.S2M		Assembly Language eXtension translator macros
	ALX-.DOC	Notes on ALX.MAC
	ALXTEST.ALX	Test case for the ALX macros
	TERM.ALX	Sample program (incomplete)
	VDB.ALX		TDL video display driver for H19 emulation
	CIO.ALX		CP/M console I/O with PMMI modem in "parallel"
	MEMORY.INP	Macros and source for memory demonstration
	INTERACT.S2M	Macros to demonstrate interactive use of STAGE2
	DEMO.S2M	Macros for interactive exercise of most conversions
			and a few processor functions.  This is to be used
			while reading the INTRO.DOC file.
IMPLEMENTATION FILES:
	IOOP.SRC	Initialization and input/output package
	DISKIO2.SRC	General CP/M disk input/output package
	DISKIO2-.DOC	Documentation for above
	IOOP$.SUB	Submit file for creating IOOP.HEX
	FLT1.FLB	FLUB translation test program 1
	FLD1.DAT	Test data for FLT1
	FLT2.FLB	FLUB translation test program 2
	FLD2.DAT	Test data for FLT2
	STG2.FLB	Source program for STAGE2
	ST2T.DAT	Test data for STAGE2
	FLUB8080.S2M	STAGE2 macros for translating FLUB into 8080 code
	STG2SUP.ASM	Support routines for the FLUB machine
	STG2MATH.ASM	16 bit math routines for the FLUB machine
	FLUB$.SUB	Submit file for assembling FLT1, FLT2 or STG2
*K LANGUAGE/ MACRO PROCESSOR/ DEVELOPMENT/ STAGE2 *E

*C
52.1	12K	BATCH.1		SIL80 source for BATCH.
52.2	10K	BATCH.3		SIL80 source for BATCH.
52.3	2K	BATCH.COM	Object file of above.
52.4	1K	BATCH.CTL	Control table for batch.
52.5	5K	BATCH.HEX	Hex file of above code.
52.6	35K	BATCH.RM	Batch Reference Manual (.DOC).
52.7	21K	BATCH.SYM	Batch Symbol Table.
52.15	2K	EXAMPLE.BAT	Sample BATCH file.
52.16	23K	VARBATCH.1	SIL80 source for VARBATCH.
				(BATCH with variables).
52.17	10K	VARBATCH.3	SIL80 source for VARBATCH.
52.18	3K	VARBATCH.COM	Object of above.
52.19	1K	VARBATCH.CTL	Control table of above.
52.20	7K	VARBATCH.HEX	Hex file of above.
52.21	29K	VARBATCH.SYM	Symbol table of above.
*
VARBATCH is documented in BATCH.RM (Reference Manual).
BATCH & VARBATCH are some very nice programs by Dan Ross of
Succinct Systems in Santa Cruz, California. Both Batch and 
Varbatch are public domain and donated to the UG by Mr. Ross.  
Essentially, BATCH and VARBATCH are super SUBMIT programs, 
although they take a little getting used to.  Read the 
documentation (BATCH.RM) carefully to familiarize yourself with 
the usage procedures.  WARNING: some double-density systems 
warm-boot ALL of CP/M from disk & wipe out some BIOS 
changes made by BATCH, so be careful of this.  Mr Ross has 
included a "troubleshooting" guide at the end of the BATCH.RM
file.  The programs work fine, as-is, on my single-density Tarbell
controller system using the BVIOS/BVBOOT (CP/M UG Vol. 38).
BATCH is the submit utility without variables.  Varbatch includes
variables 0 thru 9 for internal use, as well as some other goodies.
See the documentation for details, as well as usage instructions.
					Abstract by Jim Mills
*K UTILITY/ BATCH/ SUBMIT/ OPERATING SYSTEM *E
*C
52.8	2K	CPYFST35.ABS	Chuck's comments on Copyfast.
52.9	26K	CPYFST35.ASM	Source code for COPYFAST.
52.10	28K	CPYFST35.DOC	Documentation for COPYFAST.
52.11	2K	CPYFST3F.COM	Object of above, fast disks.
52.12	2K	CPYFST3M.COM	Object of above, medium disks.
52.13	2K	CPYFST3S.COM	Object of above, slow disks.
*
COPYFAST is documented in the .ASM files.
CPYFST35.ASM
CPYFST35.DOC
CPYFST3F.COM	FOR FAST CONTROLLERS	(56 SEC.)
CPYFST3M.COM	FOR MEDIUM CONTROLLERS	(67 SEC.)
CPYFST3S.COM	FOR SLOW CONTROLLERS	(78 SEC.)
CPYFST35  is  version  3.5 of COPYFAST (CPMUG  VOL. 47), a con-
troller independent disk copy program for CP/M.  Copyfast is an
adaptation of the Tarbell  disk  copy  program,  but  does  not
require  Tarbell  hardware.  Version 3.5 contains several small
bug fixes, faster copy speeds, and three new  features:  it  is
now  possible  to  CTRL-C  out  of the program at any time, the
range of the copy can be changed by a parameter  given  on  the
command  line  when the program is started, and the program can
now determine the size of the CP/M it is running in and  adjust
accordingly.   The  .DOC  file contains all of the installation
instructions and a great deal more about the  program  and  op-
tions  than copyfast did.  The source can be assembled with ASM
or MAC, and is extensively commented.  The front of the  source
has  all  of  the assembly options, and it should be no problem
for anyone to modify these options and tailor it  to  the  par-
ticular needs of the user.  As supplied, the program copies all
of  tracks  2-76  of  a  standard 8 inch disk as fast as a con-
troller can go.  Assembly options are   present  to accommodate
slower controllers or single disk CP/M systems.  The three .COM
files are assembled versions for three different read and write
interleave  combinations,  try  all  three to see how fast your
controller is.
				       Review by Chuck Weingart
*K COPY/ COPYFAST/ UTILITY *E

*C
53.1	1K	ADVCOMP.SUB	Submit file for compilations of
				ADVENTURE programs
53.2	5K	ADVENT.C	Main Adventure Program, in C
53.3	10K	ADVENT.COM	Commpiled and linked version
				call up by ADVENT
53.4	5K	ADVENT.CRL	
53.5	6K	ADVENT.H	Only significant change, to V 1.43
				disk buffering.  This is header file
				for ADVENTURE  DO NOT USE BDSCIO.H !
53.6	18K	ADVENT1.DAT	Furnished adventure data file, no change
53.7	7K	ADVENT2.DAT	ditto
53.8	7K	ADVENT3.DAT	ditto
53.9	4K	ADVENT4.DAT	ditto
53.10	6K	ADVENT5.DAT	ditto
53.11	18K	ADVENT6.DAT	ditto, don't forget you need these to run
53.12	1K	ADVLINK.SUB	Submit file for linking up three
				ADVENTURE chains to get .COM files
53.14	7K	DATABASE.C	Source for data manipulation sub-programs
53.15	5K	DATABASE.CRL
53.16	1K	EADVENT.C	Source for main operating link of ADVENTURE
53.17	24K	EADVENT.COM	COM file, called in by EXEC from ADVENT.
				By the way, it works OK when in
				the b: disk with V 1.43?
53.18	1K	EADVENT.CRL
53.19	3K	ENGLISH.C	Another Source
53.20	2K	ENGLISH.CRL
53.21	3K	ENVIRON.DOC	Description of original environment,
				plus notes added when running under 1.43
53.22	4K	ITVERB.C	Another Source
53.23	3K	ITVERB.CRL
53.24	1K	MKADVENT.SUB	These three are original link subs - won't work
53.25	1K	MKEADVEN.SUB	under V 1.43, see ADVLINK.SUB instead.
53.26	1K	MKSAVEAD.SUB
53.27	1K	READ.ME		General notes on the revision and revisor
53.28	1K	SAVEADV.C	Source of link used to save a game
53.29	7K	SAVEADV.COM
53.30	2K	SAVEADV.CRL
53.31	14K	TURN.C		Another source of sub-programs
53.32	10K	TURN.CRL
53.33	13K	VERB.C		Another source
53.34	8K	VERB.CRL
*
DESCRIPTION: BDS-C Users group "original" Adventure disk.
    This is the "original" Crowther/Woods adventure, converted
into BDS-C by Jay R. Jaeger, and updated for V 1.43 by L.C Calhoun.
    We thank Robert Ward, and the BDS-C Users group for this
entire volume contribution.  
*K ADVENTURE/ BDS/ C/ PROGRAM LANGUAGE *E

*C
54.1	3K	1CHECK.BAS	Solitaire checker puzzle.
1CHECK.BAS (TDL-XITAN BASIC)
*
Solitaire checker puzzle by David Ahl. (written while he
worked for DEC.)  P. 163-164 of 101 BASIC Computer Games
(published by Digital Equipment Corporation).  Works
fine, but it would be nice if the number grid were
repeated at each move (for beginners who have not
memorized position numbers).
*K TDLBAS/ GAME / CHERKERS *E
*C
54.2	2K	ALFABET2.BAS	Interactive alphabetizing,
				de-bugged and expanded.
54.3	1K	ALFABETI.BAS	Original bugged version.
*
ALFABETI.BAS (TDL-XITAN BASIC)
Author unknown.  A nice little interactive
alphabetizing program, which works OK on the
first run, but then hangs up with
a Re-Dimensioned array @ line 70 error
when you try to enter a second list of items.

ALFABET2.BAS (TDL-XITAN BASIC)
This is the ALFABETI.BAS program revised by
Jim Kennedy, to correct problems in the original,
and give the user more detailed instructions.
The program interactively accepts a list of
words, names, etc., and prints an alphabetized
list.  Note:  use all caps or all small
letters in your items.  Otherwise, items
in caps will be listed before lower-case
items in the alphabetized list.  This program
could be modified to accept input from a file,
rather than from the keyboard, but as it is,
it serves as a good quick demonstration of
a use of a computer.
*K TDLBAS/ GAME/ SORT *E
*C
54.4	2K	ARITH.BAS	Simple addition and subtraction for
				elementary students.
*
ARITH.BAS (TDL-XITAN BASIC)
Presents simple addition problems.  You give
the answer, it tells you if you are right or
wrong.  If wrong, you get to try a second time.
If still wrong, you are given the answer
and then given a new problem.  Good for 
elementary students for drill and practice in
addition, and for more advanced students as
an illustration of some CAI programming techniques.
*K TDLBAS/ GAME/ MATH *E
*C
54.5	4K	BIOCAL.BAS	Biorythmic calendar (Bugs).
*
BIOCAL.BAS
Biorhythmic calendar.  Will NOT run on my
XITAN BASIC.  % after numbers is OK on some
Microsoft and Digital BASICs, but not
on XITAN.  Also, I think there should be
more code after line 1430.  Perhaps someone can
find the source of this program and fix it up.
*K TDLBAS/ GAME/ BIORHYTHM *E
*C
54.6	8K	BLKJAC.BAS	Blackjack (21) game.
*
BLKJAC.BAS (TDL-XITAN BASIC)
P. 39-41 of 101 BASIC Computer Games.
This version of Blackjack is the one written 
and modified by DIGITAL personnel, originally
for RSTS-11.  It runs well on XITAN DISK BASIC.
It is very comprehensive and fun to play. (It
takes a long time to load as an ASCII file.)
*K TDLBAS/ GAME/ BLACKJACK *E
*C
54.7	3K	BOMBER.BAS	WW2 Bomber game.
BOMBER.BAS (TDL-XITAN BASIC)
P. 45-46 in 101 BASIC Computer Games.
Originally written by David Sherman of
Curtis Junior High School, Sudbury, MA., and
later modified by DIGITAL personnel.  It has
been since additionally modified to run on
XITAN BASIC.  In this program, you fly a
world war II bomber for one of the
countries involved in the war.  You can
make some decisions, but your fate is
largely up to the random number generator.
It runs well, and was exciting for the
children in the family for the first
few times they ran it (until they ran
out of options).
*K TDLBAS/ GAME/ BOMBER *E
*C
54.8	2K	BOUNCE.BAS	Plots a bouncing ball.
*
BOUNCE.BAS (TDL-XITAN BASIC)
This program plots a bouncing ball.  Written by
Val Skalabrin, and found on P. 47 of 101 BASIC
Computer Games.  The program takes a long time to
print out if you choose figures requiring a tall
plot.  Try .1 sec, 25 FPS velocity and a coeficient
of .9 to start.  These figures will keep the plot
on a 25 line TDL-VDB screen.
*K TDLBAS/ GAME/ BOUNCE *E
*C
54.9	7K	BUG.BAS		"Draw Bugs faster than your
				computer" game.
*
BUG.BAS (TDL-XITAN BASIC)
P. 52-54 of 101 BASIC Computer Games.  The object
of this game is to finish your drawing of a bug
before the computer finishes its drawing.  Written
in the early 70s by a 7th grade student, Brian
Leibowitz.  The computer rolls the dice each turn
and the operator needs only to type yes (or return)
or no to the question concerning the bug pictures.
*K TDLBAS/ GAME/ BUG *E
*C
54.10	2K	BULCOW.BAS	Buggy program, number guessing game.
*
BULCOW.BAS
P. 55-56 of 101 BASIC Computer Games.
This program does NOT work properly in
XITAN BASIC.  Running a TRACE on its
execution shows it to get stuck in a
loop between lines 210 and 220, possibly
due to the FORI=0TOP-1, with the value
of P starting at 0, with no STEP-1
to tell it to count down.  I'll leave
this fix up to someone else and press
on with trying the other programs in
this group.
*K TDLBAS/ GAME *E
*C
54.11	7K	BUNNY.BAS	Draws a "bunny" on your CRT.
*
BUNNY.BAS (TDL-XITAN BASIC)
By Goodyear Atomic Co., Piketon, Ohio.
Submitted to DECUS 30 July 1973.
This program sends a picture of
a bunny head to the printer.  It
has obviously been re-written for
XITAN DISK BASIC, and it works
well.
*K TDLBAS/ GAME/ PICTURE *E
*C
54.12	3K	BUZZWD.BAS	Selects a list of "buzzwords".
*
BUZZWD.BAS (TDL-XITAN BASIC)
P. 63-64 of 101 BASIC Computer Games.
Written by Tom Kloos of the Oregon
Museum of Science and Industry.  It
prepares sets of "buzzwords" by selecting
words from 3 lists and putting them 
together.  Runs OK.
*K TDLBAS/ GAME/ BUZZWORD *E
*C
54.13	4K	CHASE.BAS	High Voltage survival game.
*
CHASE.BAS (TDL-XITAN BASIC)
"You are within the walls of a high
voltage maze---your only chance for
survival is to manuver each intercepter
into a high voltage area."  Eric, my
9 year old game program tester, never
seems to tire of this one.
*K TDLBAS/ GAME/ CHASE *E
*C
54.14	6K	CHASE2.BAS	Not related to above game.
				Construct and maneuver in a maze.
*
CHASE2.BAS (TDL-XITAN BASIC)
This is a chase program written by
Michael P. Ruf on 12/16/78.  It asks
the player for the width, the length,
and the density of a maze.  It then tries
to construct a maze (which comes out
on my screen as a column of symbols), 
and then asks for players' moves---
to be entered as numbers.  Try this
program on your system...it may work
with your terminal configuration.
*K TDLBAS/ GAME/ MAZE *E
*C
54.15	3K	CHOMP.BAS	Eat pieces of a cookie,
				last piece loses (NIM?).
*
CHOMP.BAS (TDL-XITAN BASIC)
P. 78-79 of 101 BASIC Computer Games.  Submitted
to DIGITAL by Peter Sessions of Peoples Computer
Company, based on the game of CHOMP (Scientific
American, Jan. 1973).  Players take turns
chomping pieces from a 9X9 grid (the cookie).
The player who has to take the last bite
loses the game.  Runs fine.
*K TDLBAS/ GAME/ CHASE *E
*C
54.16	3K	CRAPS.BAS	Standard Nevada table rules.
*
CRAPS.BAS (TDL-XITAN BASIC)
P. 83-84 of 101 BASIC Computer Games.  Modified
to work on XITAN BASIC.  Original author
unknown.  This version is based on the standard
Nevada craps table rules.  Fun to play.
*K TDLBAS/ GAME/ CRAPS *E
*C
54.17	5K	CUBE.BAS	Get thru the cube & win a bet.
*
CUBE.BAS (TDL-XITAN BASIC)
P. 85-86 of 101 BASIC Computer Games.
Written by Jerimac Ratliff of Ft. Worth,
Texas, and converted to RSTS/E by
David Ahl.  You progress along a cube
from coordinate 1,1,1 to 3,3,3.
You may be zapped by a land mine along
the way, but if you make it you win
a wager you made when you started and are
richer.  You have a chance of quitting
and keeping your winnings, or wagering 
all or part of your money on your next
trip.  This game is good for teaching
the meaning of a 3 dimension coordinate 
system to youngsters.
*K TDLBAS/ GAME/ CUBE *E
*C
54.18	3K	DEFUSE.BAS	Find and defuse the bomb before...
*
DEFUSE.BAS (TDL-XITAN BASIC)
Written by Tom Karzes, Curtis Jr. High
School, Sudbury MA. and modified
by Dave Ahl, DIGITAL. (NOT in 101 
BASIC Computer Games).  You are in a
large building, 100 rooms long, 100 rooms
wide, and 100 rooms high and are looking
for a bomb.  You have a bomb strength
meter to guide you to the bomb before
it goes off.  Everytime I played the game
I got blown up.
*K TDLBAS/ GAME/ DEFUSE *E
*C
54.19	1K	DIAMND.BAS	Fills screen with diamond shapes
				that spell DEC.
*
DIAMOND.BAS (TDL-XITAN BASIC)
P. 87-88 of 101 BASIC Computer Games.  Fills
the screen (or an 8 1/2 X ll piece of paper if
you change some print statements to PRINT#2,)
with diamond shapes each containing the letters
DEC!!!  You can control the size of the diamond
shapes.  This sort of program could easily be
modified to produce other patterns.
*K TDLBAS/ GAME/ DIAMONDS/ PICTURE *E
*C
54.20	3K	DRAW.BAS	Buggy program -- see abstract.
*
DRAW.BAS
I CAN'T LOAD THIS ONE WITH XITAN
BASIC.  I GET A "MISSING STATEMENT
NUMBER ERROR.
*K TDLBAS/ GAME/ PICTURE *E
*C
54.21	2K	DRINKS.BAS	"How to mix drinks", see abstract.
*
DRINKS.BAS (TDL-XITAN BASIC)
"This program prepares drink recipies
guaranteed to make your next party a 'smashing'
success."  The program runs as is, and would be fun
to show off at a party---but don't let anybody
take it seriously.  Some coding mistakes seem
to have been made which do not prevent the
running of the program.  The coding on lines
430 to 530 does not seem to even be used, and
the SLEEP on line 430 would cause an error in
XITAN BASIC if it were ever reached.
*K TDLBAS/ GAME/ DRINK *E
*E
54.22	3K	FISHING.BAS	Catch fish in a lake, avoid hazards,
				a mini-adventure game.
*
FISHING.BAS (TDL-XITAN BASIC)
You are at a dock at the north west corner of
a square 8X8 unit lake.  You are to move your
boat through the lake and return to the dock
with your catch by responding to the move question
with a compass direction - N,S,E,W, or F for
staying in a Fixed position.  If you type B, 
the game will begin again.   You must return to
the dock within 6 (computer) hours or half your
catch will spoil.  If you hit the shore of the
lake, you will be grounded and sunk.  There
are other hazzards to make the game exciting.
(I corrected the copy received by the users
group so that it would run on my system.  I
also added detailed instructions.)  J.K.
*K TDLBAS/ GAME/ FISHING *E
*C
54.23	9K	FOOTBL.BAS	Standard professional rules,
				except no penalties.
*
FOOTBL.BAS (TDL-XITAN BASIC)
P. 101-103 in 101 BASIC Computer Games.
This simulation of the game of football
uses standard professional rules except
that there are no penalties.  This game
is fun to play once you have memorized
the numbers representing the different
plays.  I suggest you ask for instructions
the 1st time you play and copy them on a
piece of paper so you can refer to them
during the game.
*K TDLBAS/ GAME/ FOOTBALL *E
*C
54.24	2K	FRACT.BAS	Fraction mathematics.
*
FRACT.BAS
Author: Michael Ruf
Written August 29, 1979
This seems to be a well written program
dealing with fraction math.  However,
it uses a WAIT statement that causes my
system to hang up.  It may
work with a serial terminal accessing
the correct port(s), or perhaps
someone familiar with the WAIT command
could modify it for his system.
*K TDLBAS/ GAME/ MATH *E
*C
54.25	1K	GRAFIT.BAS	Some kind of student plotting program.
*
GRAFIT.BAS
It runs, but I don't know its use---
Any ideas?
*K TDLBAS/ GAME *E
*C
54.26	2K	GUNNER.BAS	Fire a field artillery weapon, bugs.
*
GUNNER.BAS (TDL-XITAN BASIC)
Written by Tom Kloss of the Oregon
Museum of Science and Industry, and
modified by David Ahl, DIGITAL.  "This
computer demonstration simulates the 
results of firing a field artillery
weapon."  You give the degrees of
elevation for each of 5 shots and are
told how far you overshot or undershot
the target.  The game works as a game,
but the formula must be wrong for
computing the trajectory, because some
results are not realistic.  Also, one
time I was told the max range of the
gun was 46500 yards and the distance
to the target was 12178745 yards.
*K TDLBAS/ GAME/ GUNNER *E
*C
54.27	6K	HOCKEY.BAS	For hockey fans.
*
HOCKEY.BAS (TDL-XITAN BASIC)
P. 130-132 in 101 BASIC Computer Games.
Written by Charles Buttrey of Eaglebrook
School, Deerfield, MA. and submitted to
DIGITAL by Mrs. Kingsley Norris.
Converted from Brand X to DIGITAL RSTS/E
by David Ahl.  Instructions are easier
than those of the football game, but the
play does not seem as interesting---
unless you are a real hockey fan---
*K TDLBAS/ GAME/ HOCKEY *E
*C
54.28	4K	HORSES.BAS	Place your bets on the horse races.
*
HORSES.BAS (TDL-XITAN BASIC)
P. 133-134 of 101 BASIC Computer Games.
Author unknown - From DIGITAL.  You
are given the odds for each horse and
you place your bets for win, place
or show.  After the race had been
run, you are told your winnings (or losses)
and invited to press your luck further.
*K TDLBAS/ GAME/ HORSE *E
*C
54.29	1K	INTEREST.BAS	Calculates simple and compund interest.
*
INTEREST.BAS (TDL-XITAN BASIC)
A simple program to calculate simple
and compound interest over a 10 year
period.  Works fine.  Author unknown.
*K/ TDLBAS/ FINANCIAL/ INTEREST *E
*C
54.30	10K	KING.BAS	Land & Resources Management game.
*
KING.BAS (TDL-XITAN BASIC)
P. 138-140 of 101 BASIC Computer Games.
Author: James A. Storer, Lexington High School,
modified by Dave Ahl, DEC.  Available from
DECUS, where it is called "Polution Game".
One of the more comprehensive, difficult
and interesting land and resource management
games.  It runs fine on XITAN BASIC and
is a lot of fun to play.  This copy often
terminates play after 1 year, but that is
probably because I am not a very good
King. (Or the program could have a small bug).
*K TDLBAS/ GAME/ KING *E
*C
54.31	2K	LITQZ.BAS	CAI: Literature quiz.
*
LITQZ.BAS (TDL-XITAN BASIC)
P. 150 in 101 BASIC Computer Games.
A simple CAI type program which presents four
multiple choice questions from children's
literature ---illustrates simple
CAI techniques in BASIC. Questions could be changed
and program expanded for other instructional
objectives.
*K TDLBAS/ GAME/ CAI/ QUIZ *E
*C
54.32	2K	MATH.BAS	See abstract for bugs.
*
MATH.BAS
Author not known.  Program won't run on my XITAN
system with its TDL VDB board.  The WAIT at line 504
hangs it up.  Perhaps the program would work
with a system having a serial terminal using 
ports 72 and 73.
*K TDLBAS/ GAME/ MATH *E
*C
54.33	2K	MUGWMP.BAS	Triangulation game.
*
MUGWMP.BAS (TDL-XITAN BASIC)
P. 156-157 in 101 BASIC Computer Games.
Originally written by the students of
Bud Valente of Project SOLO at the
University of Pittsburg, this program was
slightly modified by Bob Albrecht of People's
Computer Company and converted to DEC's RSTS/E
by David Ahl when he worked for Digital.  The
object of the game is to locate four
mugwmps hiding on various squares of a 
10 x 10 grid.  Good practice in triangulation
techniques.
*K TDLBAS/ GAME/ MUGWUMP *E
*C
54.34	3K	PICTUR.BAS	Draws your name and picture???
*
PICTUR.BAS (TDL-XITAN BASIC)
Not in 101 BASIC Computer Games, but I 
have seen it in the DECUS library.
It asks for your name and where you want
your picture.  You can have it displayed
on the terminal by typing KB: or on the
printer by typing LP:  The program shows
a technique for switching output from the
video screen to the printer without having
to re-write or edit your print statements.
*K TDLBAS/ GAME/ PICTURE *E
*C
54.35	2K	POET.BAS	Random verse ala Edgar Allen Poe.
*
POET.BAS (TDL-XITAN BASIC)
P. 171 of 101 BASIC Computer Games.
Original author unknown.  Modified and
reworked by Jim Bailey, Peggy Ewing, and
Dave Ahl of DIGITAL.  This program
produces random verse made of phrases
suggestive of Edgar Allen Poe.  It keeps
going until you hit control E (control C
on some BASICS).
*K TDLBAS/ GAME/ POET *E
*C
54.36	8K	POKER.BAS	Draw Poker.
*
POKER.BAS (TDL-XITAN BASIC)
P. 172-174 in 101 BASIC Computer Games.
Written by A. Christopher Hall,
submitted to DECUS by A. E. Sapega.
You play draw poker with the computer as
your opponent.  This game is a lot of fun
to play, and if you lose, the computer  
forgets your debts when you say BYE.
*K TDLBAS/ GAME/ POKER *E
*C
54.37	1K	PRIME.BAS	Calculates prime numbers from 1 to
				10,000 -- patience is advised.
*
PRIME.BAS (TDL-XITAN BASIC)
"This program prints the prime
numbers from 1 to 10,000" (if
you can wait that long).  Runs
well, but takes a long time to
compute each line of output.
*K TDLBAS/ GAME/ PRIME *E
*C
54.39	7K	QUBIC.BAS	3D Tic Tac Toe in a 4x4x4 cube, bugs.
*
QUBIC.BAS (TDL-XITAN BASIC)
P. 175-177
Original author unknown...Was on a GE
timesharing system in 1968.
Now in DECUS library.  Qubic is the game
of tic-tac-toe in a 4X4X4 cube.  Considerably
more difficult than standard two dimensional
tic-tac-toe..  This version has been improved
over the one in 101 BASIC Computer Games by
the addition of a provision to display the
board on command.  Be patient--the computer
sometimes takes many seconds to determine
its move.  The program does have a bug.
I received a NEXT WITHOUT FOR @ LINE 206
error several times after more than a dozen
moves.  Ill leave the de-bugging to one of
you users out there.  If you find the
bug, submit a corrected program and the
users group will thank you.
*K TDLBAS/ GAME/ QUBIC *E
*C
54.40	3K	REVRSE.BAS	Arrange a list of numbers via reversals.
*
REVRSE.BAS (TDL-XITAN BASIC)
P. 180-181 in 101 BASIC Computer Games.
Written by Bob Albrecht, People's Computer Co.
The game requires you to arrange a list of
numbers in numerical order from left to
right by reversing numbers.
*K TDLBAS/ GAME/ REVERSE *E
*C
54.41	4K	ROCKET.BAS	Lunar Lander.
*
ROCKET.BAS (TDL-XITAN BASIC)
P. 184 of 101 BASIC Computer Games.
Written by Jim Storer, Lexington H.S.
Converted from Focal to EDUSYSTEM 30
BASIC by David Ahl, DIGITAL.  This version
has been considerably further modified to
work with XITAN BASIC.  Fun to play, but
the lb. fuel remaining indicator seems
to be set too high, causing you
to run out of fuel and crash when you
think you have enough fuel to make it.
*K TDLBAS/ GAME/ LANDER/ ROCKET *E
*C
54.42	3K	ROCKT1.BAS	Lunar Lander.
*
ROCKT1.BAS (TDL-XITAN BASIC)
P. 185 in 101 BASIC Computer Games.
Written by Eric Peters of DIGITAL.
One of many variations of the lunar lander idea.
This one plots a graph of your descent.
*K TDLBAS/ GAME/ LANDER/ ROCKET *E
*C
54.43	4K	SNOOPY.BAS	Draws a "Snoopy" on your CRT or printer.
*
SNOOPY.BAS (TDL-XITAN BASIC)
This "SNOOPY" allows you to enter your
name, and determine if you want the
output on the line printer or the video
display.  It then prints the Snoopy and
puts your name under it.  If done on the
screen, it finishes the picture and then
blanks out the screen and returns the
curser to home (if you are using the TDL VDB).
*K TDLBAS/ GAME/ PICTURE/ SNOOPY *E
*C
54.44	3K	SPORTS.BAS	CAI: Multiple choice questions
				about sports.
*
SPORTS.BAS (TDL-XITAN BASIC)
Simple CAI program to give you multiple
choice questions on sports.  If you
guess the right answer, you are congratulated.
If you guess wrong, you are given the
right answer.  At the end of the quiz
you are told how many you had right
and wrong.
*K TDLBAS/ GAME/ SPORTS *E
*C
54.45	2K	STARS.BAS	Number guessing game.
*
STARS.BAS (TDL-XITAN BASIC)
By Bob Albrecht of Peoples Computer Co.
A number guessing game in which the
number of asterisks printed shows
how close you are to the number.
*K TDLBAS/ GAME/ STARS *E
*C
54.46	8K	STOCK.BAS	Stock Market Simulation Game.
*
STOCK.BAS (TDL-XITAN BASIC)
P. 209-211 in 101 BASIC Computer Games.
A stock market simulation game revised 8/18/70
by D. Pessel, L. Braun, and C. Losik, Huntington
Computer Project, SUNY.  Lets you lose money on
the stock market without having to pay out any
money--- other than the small fortune you spend
in upgrading and maintaining your micro.
*K TDLBAS/ GAME/ STOCK MARKET *E
*C
54.47	2K	TAKEAWAY.BAS	Remove asterisks from a collection,
				similar to "CHOMP".
*
TAKEAWAY.BAS (TDL-XITAN BASIC)
By Michael Ruf and Rick Mack.
The game seems to be well written,
but some of the coding, probably
intended to do something with
an intelligent terminal, gives
confusing output on my TDL-VDB.
The game has several players
alternately taking away asterisks
from an asterisk collection...
something like the game of CHOMP.
*K TDLBAS/ GAME/ CHOMP *E
*C
54.48	5K	TDRILL.BAS	Typing drill program.
*
TDRILL.BAS (TDL-XITAN BASIC)
Author: Jim Kennedy, CACHE
Date written: July 14, 1981
This is a simple typing drill
program designed to give a
beginning typist extra drill
and practice.  Rather than
generate the letters and words
with a random letter generator,
as is done in some other
typing drill programs, this
one uses data lists to
supply the letter groups.
This gives more control over
which letters are used in
the early lessons when only
a few keys have been introduced.
The student may correct a mistake
by backspacing if it is noticed
before the CR has been hit, and
the mistake is not noted.  However,
if a line is not perfect when the
CR is hit, the student will be
told so, and will be asked to 
try again.  At the end of each
12 line drill (6 lines X 2), the
student will be told how
many lines were typed to get
the dozen correct.  Another drill
can then be picked, or the student
can terminate the program, and
receive a count of the number
of lines right and the total
number typed.  This program
will be used in the future with
a different data list to continue
this lesson series, starting
with lesson 13.
*K TDLBAS/ INSTRUCTION/ TYPING *E
*C
54.49	4K	TENNIS.BAS	CAI: Multiple choice questions about...
TENNIS.BAS (TDL-XITAN BASIC)
A Mult. choice quiz on tennis, with a
question technique similar to SPORTS.BAS
*K TDLBAS/ GAME/ TENNIS *E
*C
54.50	2K	TEXT.BAS	Intro to some programs on this disk.
TEXT.BAS (TDL-XITAN BASIC)
An introductory information program about
some of these (and other) programs.
It is obvious that most of the programs
on this disk set came from a PDP-ll computer
in a school.  Many of these programs are
from DECUS (Digital Equipment
Computer Users Society), a group didicated
to the distribution of public-domain
programs---similar to the CP/M Users Group.
*K TDLBAS/ INSTRUCTION *E
*C
54.51	5K	TICTAC.BAS	9x9 grid tic tac toe.
TICTAC.BAS (TDL-XITAN BASIC)
This is an expanded tic tac toe game played
on a 9 X 9 grid.  You enter your moves
as grid coordinates and the computer (often
"thinking" for over a minute) prints the
position of your move and its move. You have
to get 5 across, down, or diagonal to win.
For those with the patience to wait between
moves, this game could be an enjoyable challenge.
It is also good for grid coordinate practice.
*K TDLBAS/ GAME/ TIC TAT TOE *E
*C
54.52	2K	TRAP.BAS	"Guess the mystery number"
TRAP.BAS (TDL-XITAN BASIC)
P. 224-225 in 101 BASIC Computer Games.
Written by Steve Ullman, and modified by
Bob Albrecht of People's Computer Company.
Another "guess the mystery number" game.
*K TDLBAS/ GAME/ GUESS *E
*C
54.53	3K	TTTOE.BAS	Standard tic tac toe with bugs.
TTTOE.BAS (TDL-XITAN BASIC)
Tic Tac Toe game.  Usually plays well, but
periodically gives error message: Subscript
out of range on line 84, usually when no one
is going to win.  This one too, may benefit
from some user de-bugging and feedback.
*K TDLBAS/ GAME/ TIC TAT TOE *E
*C 
54.54	3K	TVPLOT.BAS	Humorous TV plots.
TVPLOT.BAS (TDL-XITAN BASIC)
Originally written in FOCAL by Mary Cole
and converted to BASIC-PLUS by Dave Ahl.
This program produces various funny TV plots.
Good for a laugh or two.
*K TDLBAS/ GAME/ TVPLOT *E
*C
54.55	1K	TYPING.BAS	Typing drill with bugs.
TYPING.BAS
Author not mentioned, but
it could have been written
by Michael Ruf.  It uses the
WAIT on line 80 that hangs up
my system.  It may work with
a serial terminal that uses
ports 72(status) and 73.
It is intended as a typing
drill program, with the
character strings generated
by a random generator.
Rather than correct this
program, I wrote my own typing
drill program. (see TDRILL.BAS).
*K TDLBAS/ INSTRUCTION/ TYPING *E
*C
54.56	4K	WEKDAY.BAS	Day of week that you were born.
WEKDAY.BAS (TDL-XITAN BASIC)
P. 234-235 in 101 BASIC Computer Games.
Adapted from a GE timesharing program by
Tom Kloos of the Oregon Museum of Science and
Industry and further modified for XITAN Disk
Basic.
*K TDLBAS/ GAME/ GUESS *E
*C
54.57	3K	WISHES.BAS	Silly wish poems for kids.
WISHES.BAS (TDL-XITAN BASIC)
A silly wish poem writing program.  It is
in a nice conversational tone for primary
school children.  It could do more with the
input it gets, but the author probably felt
the intended audience wouldn't notice.  This
program has good possibilities for expansion
into something interesting for slightly
older children.
*K TDLBAS/ GAME/ POET *E
*C

