1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
X-BASED ABACUS
============== Abacus X widget, V5.5.2
Primary site: ftp://ftp.tux.org/pub/tux/bagleyd/xabacus
Secondary site: ftp://ftp.x.org/contrib/applications
Web page: http://www.tux.org/~bagleyd/abacus.html
Maintainer: David A. Bagley <bagleyd@tux.org>
It has been tested on the following platforms:
Sun Ultra SunOS 5.6-5.7
PC Pentium Linux 2.0.9
IBM PowerPC AIX 4.3.1.0
HP 898 HP-UX 10.20
Previous versions tested on:
Sun SPARC SunOS 5.5.1 (X11R5 & X11R6)
Sun SPARC SunOS 4.1.3
PC 486 Linux1.2.13
DEC VAX & ALPHA VMS 6.1
HP 3xx & 700 HPUX 9.01
SGI IRIX 5.3
If you have to do any editing to get this to work, please mail me
the changes.
HOW TO BUILD?
An ANSI C compiler is required for build.
To build, it should be easy. There are 3 choices.
configure:
and DATAFILE
in Makefile.in .
configure ; make
imake:
Sometimes this is not setup correctly by the distributer ... i.e. not
my fault. You may want to set SCOREFILE and DATAFILE in Imakefile .
If you have Motif you may want to do this quick edit in the Imakefile:
Uncomment line "#define XpmLibrary".
xmkmf ; make
make.com (VMS users only):
You may want to set SCOREFILE and DATAFILE in make.com .
@make
Then just run "xabacus" (or "xmabacus" if you have Motif).
You should have Abacus.ad (or Korean.ad) copied to $(HOME)/Abacus or
/usr/lib/X11/app-defaults/Abacus to run, especially if the background
is similar to the beads. Edit this file for your preferences. For
monochrome, the bead color needs to be brighter. You might want to
move xabacus into /usr/bin/X11 (or wherever your X binaries are).
You might also want to move xabacus.man to /usr/man/man1/xabacus.1
Essentially, this is a proof by induction that a computer is more
powerful than an abacus, since a computer program can contain an abacus.
(But then again, you can simulate a computer within a computer, so what
does that show). Actually, with a real abacus, one can move more than
one row at a time with 10 fingers. But on the other hand, a real abacus
does not have the current sum displayed as an integer.
Try resizing the abacus. Notice the shape and size change of the beads.
Try copying the file Abacusjp.ad to $(HOME)/Abacus (where Abacus is
the file name) and running xabacus again. You now have the faster
(and more cryptic) Japanese Abacus.
Keep in mind that the Abacus is a widget that can be simply stuck in
other X programs. (If you find a use for this, let me know).
It has a built-in demo-mode that teaches the user:
- how to count (from 1 to 20) using the abacus
- how to perform simple additions
- how to perform simple subtractions.
In addition, there is a rudimentary facility for generating data that
may be used to write customized scripts for teaching other concepts.
The PostScript document, Abacus.ps, included in the distribution,
describes every possible techinique for performing additions and
subtractions using an abacus (typing "make ps" will build the file).
Refer to the man page for detailed command line options.
FOUND A BUG?
Send bugs reports and fixes to the author. For bugs, please include
as much information as to their location as possible, since I may not
be able to duplicate the problems with my limited resources.
HISTORY
[Aug 11, 99] V5.5.2: Fixed runtime library problems when using configure,
added text to README and xabacus.man, fixed confusing demo start.
[Jul 31, 99] V5.5.1: Removed HP usleep warning.
[Jun 20, 99] V5.5: Combined the independent work of Luis Fernandes'
xabacus 1.00, also started in 1991. This includes all the features to
teach the users how to use the abacus (-demo) and a more solid frame (its
sturdier :) ). -bars changed to -rails to conform with the terminology.
Now defaults to the top beads up. (My instructions (now lost), I believe
had these beads down, but Luis' way is probably more widely used.)
Abacus.ps and Lesson?.cmd are written entirely by Luis Fernandes
<elf@ee.ryerson.ca>. (Also see http://www.ee.ryerson.ca/~elf/abacus).
Added -rv and -mono options.
Implemented -base option, can now go up to base 36, yeah I got carried
away here (it should even work with EBCDIC though untested (really
carried away)).
Dynamic number of rails, with calculations saved with each change.
[Jan 01, 97] V5.4: configure, man page updates.
[Apr 22, 96] V5.3: You can now see beads move one unit space at a time.
This is governed by a new resource, "delay".
[Feb 12, 96] V5.2.1: beads now invert when pressed, wprintf name may
conflict with other UNIX libraries - changed to
motif_printf, keyboard may not work with motif - fixed.
[Jan 31, 96] V5.2: Dynamic number of rails (well, the widget is dynamic
but xabacus.c limits it to around 300 for the title text),
fixed another bug when resized (negative radius circles).
[Dec 15, 95] V5.1: Fixed a bug when resized.
[Sep 30, 95] V5.0: Xt/Motif, your choice.
[May 16, 95] V4.10: Warnings removed from Sun's cc and lint.
[Mar 13, 95] V4.3: Removed lint warnings and added a VMS make.com .
[Nov 08, 94] V4.2: Removed gcc -Wall warnings.
[Jun 03, 94] V4.1: R6.
[May 07, 94] V4.0: Xt version.
[Feb 03, 93] V3.0: Motif version.
I got some good ideas from Douglas A. Young's book:
"The X Window System Programming and Applications with
Xt OSF/Motif Edition", particularly his dial widget.
I got some good ideas on presentation from Q. Zhao's
tetris.
[Dec 17, 91] V2.0: XView version.
[Feb 14, 91] V1.0: SunView version.
|