TI 99/2 Basic Computer Review- By Charles Good

Thanks to Charles Good for donating this article.
ORIGINALLY PUBLISHED IN OCTOBER 1991 LIMA NEWSLETTER



               THE TI "99/2 BASIC COMPUTER"  
            a hands  on review by Charles Good 
                   Lima Ohio User Group 
      
     Did you know that in 1983 TI came very close to selling
a $100 home computer based on the 9995 CPU, the same CPU
planned for the never released 99/8 and found today in the
Geneve?  Officially called the 99/2 BASIC COMPUTER, this
cheap entry level machine was envisioned by TI as an
inexpensive means of introducing the public to home
computing and as a learning tool to teach BASIC programming.
The 99/2 produces a silent black and white display on any
TV and comes with a version of BASIC that runs 10 TIMES
FASTER than TI BASIC.  This is really amazing speed, and
compares favorably with the speed of BASIC on some modern
MS-DOS computers.  I recently acquired one of these "never
released" computers and have been playing with it
extensively.  A photo of the 99/2 appears in the December
1984 issue of MICROPENDIUM showing a little white paper
sticker in the upper left side of the computer bearing the
notation "Hex OK".  My 99/2 has a similar paper sticker,
apparently indicating a quality control text of the 99/2's
Hexbus interface.  I personally know of only two other
99/2's in private hands. 
      
     ---------- 
     THE LITERATURE, AND A SHORT HISTORY OF THE 99/2: 
     It was the Summer of 1982 and the home computer price
wars were just beginning.  TI decided to produce a computer
to compete directly with the $100 Timex/Sinclair 1000, and
in 4 1/2 months they had working wire wrap prototypes of the
99/2 for display at the January 1983 Consumer Electronics
Show.  Photos of the 99/2's on display at this show appeared
in March 1983 issue of 99er Home Computer Magazine showing a
machine specific command module inserted in its rear
expansion port.  It is interesting that these show a
difference from later production prototypes like the one I
own.  Later prototypes like mine have the Hexbus port on the
extreme right side of the back of the computer, while the
January 1983 CES photos show the Hexbus port in the middle
of the back panel. 
      
     Product development and the FCC certification process
continued.  I have a copy of the final "TI 99/2 MAIN LOGIC
BOARD SCHEMATIC" containing the signatures of Mark Jander,
project design engineer, and several other TI people
involved in the project.  The last of these signatures is
dated 5/5/83.  The time between initial product conception,
FCC certification, and the first limited production run was
about 8 months.  An advertising campaign was developed and a
two page ad showing Bill Cosby holding a 99/2 under his chin
actually appeared in the  May 1983 issue of Popular Science
(inside front cover).   An article was written by the 99/2
project development team for BYTE magazine (BYTE, June 1983,
pages 128-134) that gives lots of technical details about
the 99/2 computer and includes a photograph of the
computer's circuit board.  A review comparing the 99/2
other very cheap computers of that time appeared in
COMPUTERS & ELECTRONICS, June 1983, pp. 48-51.  The 99/2 is
also illustrated and briefly described in the March 1983
COMPUTE! (p. 30-31) and the May 1983 issue of POPULAR
COMPUTING (p. 28).   
      
     And then the price wars really took off!  According to
ads in 99er Home Computer Magazine (April and May 1983) the
price of a new 99/4A was $150.  By mid-March the $70 cash
price of the Timex/Sinclair 1000 was reduced even more with
a $15 rebate (Computers & Electronics, June 83, p. 51).  In
June 1983 TI initiated a $50 rebate bringing the price of
the /4A to $100.  This was supposed to be the selling price
of the 99/2, so just as full scale production was about to
begin the May issue of 99er HCM announced that the /2
project was put on indefinite hold.  The last 1983 published
photo of the 99/2 I know about is on the inside back cover
of the July 1983 issue of ENTHUSIAST 99 (volume 1, #2).  In
this advertisement for itself, ENTHUSIAST 99 shows the 99/2
just barely visible in the background shadow, right next to
a 99/4 (without the A).  How appropriate! 
      
     ---------- 
     SUMMARY OF THE 99/2's FEATURES: 
     --9995 CPU running at 10.7 MHz.  The 99/4A's 9900 CPU
runs at about 3.3 MHz. 
     --32K ROM with built in BASIC closely resembling TI
BASIC except that color, sound, and joysticks are not
supported. 
     --4K RAM plus 256K "scratch pad RAM" directly on the
CPU chip.  32K RAM and/or ROM memory expansion is possible. 
     --Flicker free black and white TV display of 32
characters by 24 lines.  This is done using a "direct memory
access" video controller chip that uses CPU memory.  There
is no "video display processor" with its own VDP memory as
there is on the /4A and Geneve. 
     --Cassette interface compatible with the cassette
interface of the 99/4A. 
     --Hexbus port for use with all Hexbus peripherals. 
      
     ---------- 
     GENERAL DESCRIPTION: 
     If you removed the right side of the 99/4A, the part
with the cartridge port and the top cooling vent holes, what
you have left would just be about the length and width of
the 99/2.  The /2 is, however, only about 1/2 as thick as
the /4A.  The /2's keyboard very closely resembles that of
the /4A in size, number, and position of keys.  However, the
99/2 has "chicklet" keys that are not nearly as nice to use
as the full depression keys of the 99/4A.  Although it IS
possible to touch type using the 99/2, it isn't easy.  You
need a VERY heavy touch to depress the 99/2's keys.  There
are 48 keys including a CTRL and FCTN key.  Where the alpha
lock key is located on the /4A there is a BREAK key on the
99/2.  The BREAK key does exactly what FCTN/4 does on the
/4A (and the /2), it stops the running of a BASIC program
and returns to command mode.  The FCTN key, in combination
with the top row of number keys produces the same results as
on the /4A (DEL, INS, ERASE, etc) except for FCTN/=.  This
combination resets the /4A to the title screen but does
nothing on the /2. (I consider the lack of a FCTN/= QUIT to
be an improvement.)  To exit BASIC with the /2 you either
have to turn off the computer or type BYE, which I consider
an improvement.  As far as I can tell, the CTRL key on the
/2 does nothing at all.  Apparently this CTRL key can only
be accessed from assembly language and not from 99/2 BASIC. 
      
     All ports are on the back of the /2.  As you face the
rear panel, from left to right are the following: 
     --EXPANSION PORT where cartridges and expansion memory
plug in.  According to the BYTE article the expansion port
has all system control address and data bus signals and
allows for expansion with RAM, ROM, or I/O cartridges.
There is a 32K expansion memory space available that can be
shared by RAM and ROM.  The March 1983 99er has photos of a
command module cartridge pluged into this port.  Both the
March 1983 99er and the BYTE article mention two command
module programming tutorial titles specifically made for the
99/2.  A 32K RAM memory expansion was also supposed to plug
into this expansion port.  I know of nobody who has actually
ever seen these command modules or the memory expansion
device. 
     --TV. An RF modulator is built into the console, so the
signal that comes out of this port is modulated.  This means
you MUST use a TV to display the output.  You can't use a
composite monochrome (or color) monitor to improve
resolution, although a composite monochrome video signal is
available via the expansion port. 
     --"CASSETTE IN" and "CASSETTE OUT".  These take
take cables with "miniature phono plugs" at both ends and
connect to the cassette recorder's earphone and microphone
jacks.  These cables did not come with my 99/2, but I had no
trouble finding the correct cables at my local Radio Shack
store.  These ports support OLD CS1 and SAVE CS1.  There is
no automatic control of the cassette motor, but this causes
me no trouble.   The 99/2 does not support sound, so you
hear nothing at all when saving and loading from cassette.
The screen display goes blank during the actual save or
load, and this helps you keep track of what is going on.
The only error message is "NO DATA FOUND".  There is no
"ERROR DETECTED IN DATA" message as there is in the /4A.
This caused me some confusion when I first tried to SAVE and
then verify a typed in program.  I kept turning up the
cassette recorder volume in response to the NO DATA FOUND
message, right up to maximum volume, without success.  What
I should have done was to reduce the volume.  I have managed
to find the correct volume setting on my TI Data Recorder
and my 99/2 OLDs and SAVES quite reliably to and from
cassette.  The 99/2 BASIC programs I save to cassette can be
successfully loaded into and run from my 99/4A. 
     --"CH3 - OFF - CH4" This three position sliding switch
sets the video output for channel 3 or 4, or turns the
computer off.  This recessed switch is very difficult to get
at, and is the only way other then unplugging the power
supply to turn off the computer.  A more convenient on/off
switch would have been nice.  I often leave the computer
"on" for hours and just turn off the TV.  There is no
automatic video  blanking, so when you turn on the TV
several hours later your display is still there waiting for
you. 
     --POWER.  The power transformer (TI model AC9700)
connects here.  The two wire connector on the end of the
transformer is apparently unique to the 99/2.  It is a
little white flat thing and I have seen nothing similar
elsewhere. 
     --"CC PORT"  This is the Hexbus port.  The "CC"
designation on the back of the 99/2 apparently refers to
TI's CC40 computer and is meant to indicate that the CC40's
peripherals can connect to this port.  ALL features of TI's
never released HEXBUS INTERFACE for the 99/4A are supported
by this port, including some features not mentioned anywhere
in the 99/2 documentation.  It is a good thing I have the
99/4A HEXBUS INTERFACE USER GUIDE or I would have missed
some of these undocumented features.  You can SAVE, OLD,
LIST to and from this port, as well as OPEN #1:"HEXBUS...."
and then PRINT #1 or INPUT #1 for complete file management.
Some of the undocumented features include OPEN
#1:"HEXBUS.CA.n" to INPUT CAtalog information from a
wafertape or disk device number "n", and OPEN
#1:"HEXBUS.TR.n" to TRansfer raw binary data between the
computer and hexbus device n. 
      
     ---------- 
     VIDEO DISPLAY AND GRAPHICS: 
     The only display available is in black and white and is
comparable to the 99/4A's TI BASIC screen, with 24 lines
that can contain up to 32 graphic patterns or 28 keyboard
typed characters per line.  The other graphic modes
available on the /4A are not supported.  The TV display is
very clear, and does not show the annoying flicker or
diagonal line interference commonly produced by the
Timex/Sinclair 1000 computer. 
      
     Characters corresponding to ASCII 0-127 are stored in
ROM and can be displayed on screen.  Only uppercase letters
and usual special characters and digits (ASCII 32-96,
123-126) can be entered directly from the keyboard, but the
other ASCII characters, including lower case letters, (ASCII
97-122) can be displayed using PRINT CHR$(XX), CALL HCHAR,
and CALL VCHAR.  The lower case letters are actually the
same stupid small upper case letters normally displayed as
"lower case" by the 99/4A.  ASCII 0-31 are predefined
graphic shapes (lines, open and closed squares and
rectangles, etc). 
      
     ASCII 127 looks really strange.  On the 99/4A this is
the DEL character and prints as a blank space.  On the 99/2
this character looks like a little black round face with
short legs.  The two eyes and straight mouth show as
uncolored (white) pixels.  Because there is no CALL CHAR in
99/2 BASIC you cannot define your own custom graphic shapes,
so this strange shape is probably included for use in games.
I'll bet the 99/2 firmware author who created this was
having fun.   
     ---------- 
     TI-99/2 BASIC: 
     When you PRESS ANY KEY TO BEGIN from the title screen
you are presented with the following: 
     PRESS 
     1 FOR TI-99/2 BASIC 
     I suspect that there is provision for command modules
to add other items to this menu.  When you press 1, the
computer tells you TI-99/2 BASIC READY. 
      
     99/2 BASIC contains all the features of TI BASIC except
those relating to color, sound, joysticks, and custom
graphic shapes.  The following is a list of 99/2 BASIC's
reserved words, most of which should be familiar to you. 
     ABS 
     APPEND 
     ASC 
     ATN 
     BASE 
     BREAK 
     BYE 
     CALL 
     CHR$ 
     CLEAR 
     CLOSE 
     CON 
     CONTINUE 
     COS 
     DATA 
     DEF 
     DELETE 
     DIM 
     DISPLAY 
     EDIT 
     ELSE 
     END 
     EOF 
     EXP 
     FIXED 
     FOR 
     GCHAR 
     GO 
     GOSUB 
     GOTO 
     HCHAR 
     IF 
     INPUT 
     INT 
     INTERNAL 
     KEY 
     LEN 
     LET 
     LIST 
     LOG 
     MCHL 
     NEW 
     NEXT 
     NUM 
     NUMBER 
     OLD 
     ON 
     OPEN 
     OPTION 
     OUTPUT 
     PEEK 
     PERMANENT 
     POKE 
     POS 
     PRINT 
     RANDOMIZE 
     READ 
     REC 
     RELATIVE 
     REM 
     RES 
     RESEQUENCE 
     RESTORE 
     RETURN 
     RND 
     RUN 
     SAVE 
     SEG$ 
     SEQUENTIAL 
     SGN 
     SIN 
     SQR 
     STEP 
     STOP 
     STR$ 
     SUB 
     TAB 
     TAN 
     THEN 
     TO
     TRACE 
     UNBREAK 
     UNTRACE 
     UPDATE 
     VAL 
     VARIABLE 
     VCHAR 
      
     POKE and PEEK allow the user some access to assembly
language programming.  These are not found in TI BASIC.
CALL MCHL(address) allows you to execute assembly language
(machine language) code starting at the specified address. 
      
     CALL KEY(KEYUNIT,K,S) on the 99/2 only recognizes key
units 0 and 1, both of which are interpreted the same.  In
TI BASIC you can have your choice of 5 key units, each of
which returns  different sets of values for K when the same
specific keys are pressed. 
      
     There is no GPL or GROM in the 99/2.  The 99/2 BASIC
interpreter is written in assembly, unlike the GPL BASIC
interpreter of the /4A.  This means that 99/2 BASIC is
interpreted only once, not twice as is the case with TI
BASIC on the 99/4A.  This single interpretation of 99/2
BASIC, plus the faster speed of the 99/2's 9995 CPU (10.7
MHz) compared to the 9900 processor of the 99/4A (about 3.3
MHz) means that 99/2 BASIC is really fast!. 
      
     100 FOR N=1 TO 10000 
     110 PRINT N 
     120 NEXT N 
     The above program takes 30 minutes 20 seconds in TI
BASIC with the 99/4A.  It takes only 3 minutes and 3 seconds
in 99/2 BASIC.  In this case, 99/2 BASIC is a blistering TEN
TIMES FASTER than TI BASIC.  For comparison, the same BASIC
program took exactly 6 minutes to run to completion on my
Tandy 1000HX, an XT clone running at 7.16 MHz.  Barry Traver
told me, "I saw a demo of the 99/2 at the original west
coast TI show years ago.  A guy typed in a benchmark program
on the 99/4A and then set it going with RUN.  He then walked
over to the 99/2, typed in the same program and RUN.  The
99/2 caught up with and passed the 99/4A.  The 99/2's
program terminated first." 
      
     ---------- 
     DOCUMENTATION: 
     The 99/2 was supposed to be packaged with 4 instruction
books, each book slightly more advanced than the previous.
A demonstration cassette tape with three programs, "Cannon
Blast", "Addition Tutor", and "Loans" also was supposed to
be packaged with the 99/2.  None of my sources know anything
about the cassette tape except the titles.   
      
     I have copies of what is claimed in the header on each
page to be the "FINAL DRAFT" of the four 99/2 books,
apparently printed by a main frame computer printer.  The
top of each page bears one of these cryptic notations:
1718L, 0266P, 0318P, 0319P, and 0326P.  The books are titled
"Getting Started", "BASIC for Beginners", "Advanced BASIC
Programming", and "BASIC Reference Guide", also known as
books 1,2,3 and 4.  Book 4, the Reference Guide, is almost
identical (often word for word and sample program by sample
program identical) to the 99/4A's User's Reference Guide.
Books 2 and 3 resemble, but are not identical to, the
99/4A's Beginner's Basic book (the blue book).  Some nice
application software listings are found at the end of book
3. 
      
     It is obvious to me that these four books are not
really FINAL drafts.  There are lots of errors.  Book one
states that the zero is slashed so you can distinguish it
from the letter O.  It isn't.  The docs say that FCTN/=
(QUIT) resets the computer to the title screen.  It doesn't.
One of the sample programs in book 4 uses CS1 and CS2, but
the 99/2 only supports CS1 as a mass storage device.  The
MEMORY FULL error message is mentioned several times in the
books when in fact the 99/2 generates the message OUT OF
MEMORY.  There are other error messages that differ between
the /4A and the /2.  The documentation lists these messages
as they would appear on a /4A.  Some of the /4A's error
messages are lacking on the /2, but still mentioned in the
/2 books.  For example, the ERROR DETECTED IN DATA cassette
error message is mentioned several times in the books when
no such message is generated by the 99/2.  Important aspects
of the Hexbus interface, such as the CAtalog feature, are
not mentioned.  I have discovered some error messages that
are not mentioned in any of the 99/2 books.  For example,
under two different sets of circumstances I have run into
the message INTERNAL ERROR, PRESS ENTER.  Pressing 
then resets the computer to the title screen.  Book 3
(Advanced BASIC) contains a heavily commented listing of a
BASIC program designed to produce a neat moving graphic
display with the 99/2's built in graphic characters (ASCII
0-31).  The only problem is that the listed program is too
large to fit into the 99/2's limited memory.  Before you are
finished typing in the program as listed, the computer
informs you that it is OUT OF MEMORY. 
      
     I have been told by knowledgeable sources that there are
at least three kinds of 99/2's known to exist; wire wrap
prototypes shown at the Jan 83 CES, production versions with
3 ROM chips such as that photographed in the BYTE article,
and 99/2's with only one larger capacity ROM.  Obviously my
99/2 is not one of the wire wrap jobs.  I am afraid to pop
the cover off my 99/2 (the cover is held in place by spring
loaded metal clips, not screws) to see how many ROM's it
has.  The documentation errors mentioned above may be due to
my 99/2 being different than those available to the
documentation authors.  Another possibility is that my 99/2
"FINAL DRAFT" documentation was written by individuals who
only had printed specifications and did not have hands on
access to an actual 99/2. 
      
     ---------- 
     CONCLUDING REMARKS: 
     With the promised 32K memory expansion attached, the
99/2 would probably be easy to program in assembly for
powerful applications.  There is only one kind of
programmable memory, CPU RAM.  There is no GROM/GRAM or VDP
RAM to slow things down and confuse the assembly programmer.
BASIC programming on the 99/2 is also easy, and 99/2 BASIC's
speed is probably unparalleled among 99/4A related products.
Even TI Extended Basic does not begin to approach the speed
of the 99/2's BASIC. 
      
     Unfortunately, the 32K 99/2 memory expansion device is
not known to exist, and the slightly over 4K of RAM is very
restrictive.  The usual method of estimating free memory
with TI BASIC on the 99/4A is to run this program: 
     1 A=A+1 
     2 GOSUB A 
     When the OUT OF MEMORY message appears, type PRINT A*8
to get the number of bytes of free memory.  With TI BASIC
the 99/4A without memory expansion and without any
cartridge in the cartridge port gives an answer of 14536 to
the PRINT A*8 command.  My 99/2 shows only 4302. 
      
     What little memory the 99/2 does have has to be used to
control the video display as well as to store and execute
BASIC programs.  A BASIC program starting at line number
100, incrementing line numbers by 10, and ending with line
number 1000 is about all that can be squeezed into the
99/2's RAM. 
      
     Speed, and the potential of expanded memory give the
99/2 lots of potential as a serious computer capable of
useful applications.  However, without memory expansion, the
99/2 is little more than what TI envisioned for the product,
a learning tool. 




Return to TI-99/2 Page

Home | Site Map | Search | Contact/E-mail | Link To The HCP | FAQ | Newsletter | FREE 99er Web Site | FREE 99er Email | Privacy