home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / articles / archives / limanews.exe / 99_2.TXT < prev    next >
Text File  |  2006-10-19  |  21KB  |  481 lines

  1. ORIGINALLY PUBLISHED IN OCTOBER 1991 LIMA NEWSLETTER
  2.  
  3.  
  4.  
  5.                THE TI "99/2 BASIC COMPUTER"  
  6.             a hands  on review by Charles Good 
  7.                    Lima Ohio User Group 
  8.       
  9.      Did you know that in 1983 TI came very close to selling
  10. a $100 home computer based on the 9995 CPU, the same CPU
  11. planned for the never released 99/8 and found today in the
  12. Geneve?  Officially called the 99/2 BASIC COMPUTER, this
  13. cheap entry level machine was envisioned by TI as an
  14. inexpensive means of introducing the public to home
  15. computing and as a learning tool to teach BASIC programming.
  16. The 99/2 produces a silent black and white display on any
  17. TV and comes with a version of BASIC that runs 10 TIMES
  18. FASTER than TI BASIC.  This is really amazing speed, and
  19. compares favorably with the speed of BASIC on some modern
  20. MS-DOS computers.  I recently acquired one of these "never
  21. released" computers and have been playing with it
  22. extensively.  A photo of the 99/2 appears in the December
  23. 1984 issue of MICROPENDIUM showing a little white paper
  24. sticker in the upper left side of the computer bearing the
  25. notation "Hex OK".  My 99/2 has a similar paper sticker,
  26. apparently indicating a quality control text of the 99/2's
  27. Hexbus interface.  I personally know of only two other
  28. 99/2's in private hands. 
  29.       
  30.      ---------- 
  31.      THE LITERATURE, AND A SHORT HISTORY OF THE 99/2: 
  32.      It was the Summer of 1982 and the home computer price
  33. wars were just beginning.  TI decided to produce a computer
  34. to compete directly with the $100 Timex/Sinclair 1000, and
  35. in 4 1/2 months they had working wire wrap prototypes of the
  36. 99/2 for display at the January 1983 Consumer Electronics
  37. Show.  Photos of the 99/2's on display at this show appeared
  38. in March 1983 issue of 99er Home Computer Magazine showing a
  39. machine specific command module inserted in its rear
  40. expansion port.  It is interesting that these show a
  41. difference from later production prototypes like the one I
  42. own.  Later prototypes like mine have the Hexbus port on the
  43. extreme right side of the back of the computer, while the
  44. January 1983 CES photos show the Hexbus port in the middle
  45. of the back panel. 
  46.       
  47.      Product development and the FCC certification process
  48. continued.  I have a copy of the final "TI 99/2 MAIN LOGIC
  49. BOARD SCHEMATIC" containing the signatures of Mark Jander,
  50. project design engineer, and several other TI people
  51. involved in the project.  The last of these signatures is
  52. dated 5/5/83.  The time between initial product conception,
  53. FCC certification, and the first limited production run was
  54. about 8 months.  An advertising campaign was developed and a
  55. two page ad showing Bill Cosby holding a 99/2 under his chin
  56. actually appeared in the  May 1983 issue of Popular Science
  57. (inside front cover).   An article was written by the 99/2
  58. project development team for BYTE magazine (BYTE, June 1983,
  59. pages 128-134) that gives lots of technical details about
  60. the 99/2 computer and includes a photograph of the
  61. computer's circuit board.  A review comparing the 99/2
  62. other very cheap computers of that time appeared in
  63. COMPUTERS & ELECTRONICS, June 1983, pp. 48-51.  The 99/2 is
  64. also illustrated and briefly described in the March 1983
  65. COMPUTE! (p. 30-31) and the May 1983 issue of POPULAR
  66. COMPUTING (p. 28).   
  67.       
  68.      And then the price wars really took off!  According to
  69. ads in 99er Home Computer Magazine (April and May 1983) the
  70. price of a new 99/4A was $150.  By mid-March the $70 cash
  71. price of the Timex/Sinclair 1000 was reduced even more with
  72. a $15 rebate (Computers & Electronics, June 83, p. 51).  In
  73. June 1983 TI initiated a $50 rebate bringing the price of
  74. the /4A to $100.  This was supposed to be the selling price
  75. of the 99/2, so just as full scale production was about to
  76. begin the May issue of 99er HCM announced that the /2
  77. project was put on indefinite hold.  The last 1983 published
  78. photo of the 99/2 I know about is on the inside back cover
  79. of the July 1983 issue of ENTHUSIAST 99 (volume 1, #2).  In
  80. this advertisement for itself, ENTHUSIAST 99 shows the 99/2
  81. just barely visible in the background shadow, right next to
  82. a 99/4 (without the A).  How appropriate! 
  83.       
  84.      ---------- 
  85.      SUMMARY OF THE 99/2's FEATURES: 
  86.      --9995 CPU running at 10.7 MHz.  The 99/4A's 9900 CPU
  87. runs at about 3.3 MHz. 
  88.      --32K ROM with built in BASIC closely resembling TI
  89. BASIC except that color, sound, and joysticks are not
  90. supported. 
  91.      --4K RAM plus 256K "scratch pad RAM" directly on the
  92. CPU chip.  32K RAM and/or ROM memory expansion is possible. 
  93.      --Flicker free black and white TV display of 32
  94. characters by 24 lines.  This is done using a "direct memory
  95. access" video controller chip that uses CPU memory.  There
  96. is no "video display processor" with its own VDP memory as
  97. there is on the /4A and Geneve. 
  98.      --Cassette interface compatible with the cassette
  99. interface of the 99/4A. 
  100.      --Hexbus port for use with all Hexbus peripherals. 
  101.       
  102.      ---------- 
  103.      GENERAL DESCRIPTION: 
  104.      If you removed the right side of the 99/4A, the part
  105. with the cartridge port and the top cooling vent holes, what
  106. you have left would just be about the length and width of
  107. the 99/2.  The /2 is, however, only about 1/2 as thick as
  108. the /4A.  The /2's keyboard very closely resembles that of
  109. the /4A in size, number, and position of keys.  However, the
  110. 99/2 has "chicklet" keys that are not nearly as nice to use
  111. as the full depression keys of the 99/4A.  Although it IS
  112. possible to touch type using the 99/2, it isn't easy.  You
  113. need a VERY heavy touch to depress the 99/2's keys.  There
  114. are 48 keys including a CTRL and FCTN key.  Where the alpha
  115. lock key is located on the /4A there is a BREAK key on the
  116. 99/2.  The BREAK key does exactly what FCTN/4 does on the
  117. /4A (and the /2), it stops the running of a BASIC program
  118. and returns to command mode.  The FCTN key, in combination
  119. with the top row of number keys produces the same results as
  120. on the /4A (DEL, INS, ERASE, etc) except for FCTN/=.  This
  121. combination resets the /4A to the title screen but does
  122. nothing on the /2. (I consider the lack of a FCTN/= QUIT to
  123. be an improvement.)  To exit BASIC with the /2 you either
  124. have to turn off the computer or type BYE, which I consider
  125. an improvement.  As far as I can tell, the CTRL key on the
  126. /2 does nothing at all.  Apparently this CTRL key can only
  127. be accessed from assembly language and not from 99/2 BASIC. 
  128.       
  129.      All ports are on the back of the /2.  As you face the
  130. rear panel, from left to right are the following: 
  131.      --EXPANSION PORT where cartridges and expansion memory
  132. plug in.  According to the BYTE article the expansion port
  133. has all system control address and data bus signals and
  134. allows for expansion with RAM, ROM, or I/O cartridges.
  135. There is a 32K expansion memory space available that can be
  136. shared by RAM and ROM.  The March 1983 99er has photos of a
  137. command module cartridge pluged into this port.  Both the
  138. March 1983 99er and the BYTE article mention two command
  139. module programming tutorial titles specifically made for the
  140. 99/2.  A 32K RAM memory expansion was also supposed to plug
  141. into this expansion port.  I know of nobody who has actually
  142. ever seen these command modules or the memory expansion
  143. device. 
  144.      --TV. An RF modulator is built into the console, so the
  145. signal that comes out of this port is modulated.  This means
  146. you MUST use a TV to display the output.  You can't use a
  147. composite monochrome (or color) monitor to improve
  148. resolution, although a composite monochrome video signal is
  149. available via the expansion port. 
  150.      --"CASSETTE IN" and "CASSETTE OUT".  These take
  151. take cables with "miniature phono plugs" at both ends and
  152. connect to the cassette recorder's earphone and microphone
  153. jacks.  These cables did not come with my 99/2, but I had no
  154. trouble finding the correct cables at my local Radio Shack
  155. store.  These ports support OLD CS1 and SAVE CS1.  There is
  156. no automatic control of the cassette motor, but this causes
  157. me no trouble.   The 99/2 does not support sound, so you
  158. hear nothing at all when saving and loading from cassette.
  159. The screen display goes blank during the actual save or
  160. load, and this helps you keep track of what is going on.
  161. The only error message is "NO DATA FOUND".  There is no
  162. "ERROR DETECTED IN DATA" message as there is in the /4A.
  163. This caused me some confusion when I first tried to SAVE and
  164. then verify a typed in program.  I kept turning up the
  165. cassette recorder volume in response to the NO DATA FOUND
  166. message, right up to maximum volume, without success.  What
  167. I should have done was to reduce the volume.  I have managed
  168. to find the correct volume setting on my TI Data Recorder
  169. and my 99/2 OLDs and SAVES quite reliably to and from
  170. cassette.  The 99/2 BASIC programs I save to cassette can be
  171. successfully loaded into and run from my 99/4A. 
  172.      --"CH3 - OFF - CH4" This three position sliding switch
  173. sets the video output for channel 3 or 4, or turns the
  174. computer off.  This recessed switch is very difficult to get
  175. at, and is the only way other then unplugging the power
  176. supply to turn off the computer.  A more convenient on/off
  177. switch would have been nice.  I often leave the computer
  178. "on" for hours and just turn off the TV.  There is no
  179. automatic video  blanking, so when you turn on the TV
  180. several hours later your display is still there waiting for
  181. you. 
  182.      --POWER.  The power transformer (TI model AC9700)
  183. connects here.  The two wire connector on the end of the
  184. transformer is apparently unique to the 99/2.  It is a
  185. little white flat thing and I have seen nothing similar
  186. elsewhere. 
  187.      --"CC PORT"  This is the Hexbus port.  The "CC"
  188. designation on the back of the 99/2 apparently refers to
  189. TI's CC40 computer and is meant to indicate that the CC40's
  190. peripherals can connect to this port.  ALL features of TI's
  191. never released HEXBUS INTERFACE for the 99/4A are supported
  192. by this port, including some features not mentioned anywhere
  193. in the 99/2 documentation.  It is a good thing I have the
  194. 99/4A HEXBUS INTERFACE USER GUIDE or I would have missed
  195. some of these undocumented features.  You can SAVE, OLD,
  196. LIST to and from this port, as well as OPEN #1:"HEXBUS...."
  197. and then PRINT #1 or INPUT #1 for complete file management.
  198. Some of the undocumented features include OPEN
  199. #1:"HEXBUS.CA.n" to INPUT CAtalog information from a
  200. wafertape or disk device number "n", and OPEN
  201. #1:"HEXBUS.TR.n" to TRansfer raw binary data between the
  202. computer and hexbus device n. 
  203.       
  204.      ---------- 
  205.      VIDEO DISPLAY AND GRAPHICS: 
  206.      The only display available is in black and white and is
  207. comparable to the 99/4A's TI BASIC screen, with 24 lines
  208. that can contain up to 32 graphic patterns or 28 keyboard
  209. typed characters per line.  The other graphic modes
  210. available on the /4A are not supported.  The TV display is
  211. very clear, and does not show the annoying flicker or
  212. diagonal line interference commonly produced by the
  213. Timex/Sinclair 1000 computer. 
  214.       
  215.      Characters corresponding to ASCII 0-127 are stored in
  216. ROM and can be displayed on screen.  Only uppercase letters
  217. and usual special characters and digits (ASCII 32-96,
  218. 123-126) can be entered directly from the keyboard, but the
  219. other ASCII characters, including lower case letters, (ASCII
  220. 97-122) can be displayed using PRINT CHR$(XX), CALL HCHAR,
  221. and CALL VCHAR.  The lower case letters are actually the
  222. same stupid small upper case letters normally displayed as
  223. "lower case" by the 99/4A.  ASCII 0-31 are predefined
  224. graphic shapes (lines, open and closed squares and
  225. rectangles, etc). 
  226.       
  227.      ASCII 127 looks really strange.  On the 99/4A this is
  228. the DEL character and prints as a blank space.  On the 99/2
  229. this character looks like a little black round face with
  230. short legs.  The two eyes and straight mouth show as
  231. uncolored (white) pixels.  Because there is no CALL CHAR in
  232. 99/2 BASIC you cannot define your own custom graphic shapes,
  233. so this strange shape is probably included for use in games.
  234. I'll bet the 99/2 firmware author who created this was
  235. having fun.   
  236.      ---------- 
  237.      TI-99/2 BASIC: 
  238.      When you PRESS ANY KEY TO BEGIN from the title screen
  239. you are presented with the following: 
  240.      PRESS 
  241.      1 FOR TI-99/2 BASIC 
  242.      I suspect that there is provision for command modules
  243. to add other items to this menu.  When you press 1, the
  244. computer tells you TI-99/2 BASIC READY. 
  245.       
  246.      99/2 BASIC contains all the features of TI BASIC except
  247. those relating to color, sound, joysticks, and custom
  248. graphic shapes.  The following is a list of 99/2 BASIC's
  249. reserved words, most of which should be familiar to you. 
  250.      ABS 
  251.      APPEND 
  252.      ASC 
  253.      ATN 
  254.      BASE 
  255.      BREAK 
  256.      BYE 
  257.      CALL 
  258.      CHR$ 
  259.      CLEAR 
  260.      CLOSE 
  261.      CON 
  262.      CONTINUE 
  263.      COS 
  264.      DATA 
  265.      DEF 
  266.      DELETE 
  267.      DIM 
  268.      DISPLAY 
  269.      EDIT 
  270.      ELSE 
  271.      END 
  272.      EOF 
  273.      EXP 
  274.      FIXED 
  275.      FOR 
  276.      GCHAR 
  277.      GO 
  278.      GOSUB 
  279.      GOTO 
  280.      HCHAR 
  281.      IF 
  282.      INPUT 
  283.      INT 
  284.      INTERNAL 
  285.      KEY 
  286.      LEN 
  287.      LET 
  288.      LIST 
  289.      LOG 
  290.      MCHL 
  291.      NEW 
  292.      NEXT 
  293.      NUM 
  294.      NUMBER 
  295.      OLD 
  296.      ON 
  297.      OPEN 
  298.      OPTION 
  299.      OUTPUT 
  300.      PEEK 
  301.      PERMANENT 
  302.      POKE 
  303.      POS 
  304.      PRINT 
  305.      RANDOMIZE 
  306.      READ 
  307.      REC 
  308.      RELATIVE 
  309.      REM 
  310.      RES 
  311.      RESEQUENCE 
  312.      RESTORE 
  313.      RETURN 
  314.      RND 
  315.      RUN 
  316.      SAVE 
  317.      SEG$ 
  318.      SEQUENTIAL 
  319.      SGN 
  320.      SIN 
  321.      SQR 
  322.      STEP 
  323.      STOP 
  324.      STR$ 
  325.      SUB 
  326.      TAB 
  327.      TAN 
  328.      THEN 
  329.      TO
  330.      TRACE 
  331.      UNBREAK 
  332.      UNTRACE 
  333.      UPDATE 
  334.      VAL 
  335.      VARIABLE 
  336.      VCHAR 
  337.       
  338.      POKE and PEEK allow the user some access to assembly
  339. language programming.  These are not found in TI BASIC.
  340. CALL MCHL(address) allows you to execute assembly language
  341. (machine language) code starting at the specified address. 
  342.       
  343.      CALL KEY(KEYUNIT,K,S) on the 99/2 only recognizes key
  344. units 0 and 1, both of which are interpreted the same.  In
  345. TI BASIC you can have your choice of 5 key units, each of
  346. which returns  different sets of values for K when the same
  347. specific keys are pressed. 
  348.       
  349.      There is no GPL or GROM in the 99/2.  The 99/2 BASIC
  350. interpreter is written in assembly, unlike the GPL BASIC
  351. interpreter of the /4A.  This means that 99/2 BASIC is
  352. interpreted only once, not twice as is the case with TI
  353. BASIC on the 99/4A.  This single interpretation of 99/2
  354. BASIC, plus the faster speed of the 99/2's 9995 CPU (10.7
  355. MHz) compared to the 9900 processor of the 99/4A (about 3.3
  356. MHz) means that 99/2 BASIC is really fast!. 
  357.       
  358.      100 FOR N=1 TO 10000 
  359.      110 PRINT N 
  360.      120 NEXT N 
  361.      The above program takes 30 minutes 20 seconds in TI
  362. BASIC with the 99/4A.  It takes only 3 minutes and 3 seconds
  363. in 99/2 BASIC.  In this case, 99/2 BASIC is a blistering TEN
  364. TIMES FASTER than TI BASIC.  For comparison, the same BASIC
  365. program took exactly 6 minutes to run to completion on my
  366. Tandy 1000HX, an XT clone running at 7.16 MHz.  Barry Traver
  367. told me, "I saw a demo of the 99/2 at the original west
  368. coast TI show years ago.  A guy typed in a benchmark program
  369. on the 99/4A and then set it going with RUN.  He then walked
  370. over to the 99/2, typed in the same program and RUN.  The
  371. 99/2 caught up with and passed the 99/4A.  The 99/2's
  372. program terminated first." 
  373.       
  374.      ---------- 
  375.      DOCUMENTATION: 
  376.      The 99/2 was supposed to be packaged with 4 instruction
  377. books, each book slightly more advanced than the previous.
  378. A demonstration cassette tape with three programs, "Cannon
  379. Blast", "Addition Tutor", and "Loans" also was supposed to
  380. be packaged with the 99/2.  None of my sources know anything
  381. about the cassette tape except the titles.   
  382.       
  383.      I have copies of what is claimed in the header on each
  384. page to be the "FINAL DRAFT" of the four 99/2 books,
  385. apparently printed by a main frame computer printer.  The
  386. top of each page bears one of these cryptic notations:
  387. 1718L, 0266P, 0318P, 0319P, and 0326P.  The books are titled
  388. "Getting Started", "BASIC for Beginners", "Advanced BASIC
  389. Programming", and "BASIC Reference Guide", also known as
  390. books 1,2,3 and 4.  Book 4, the Reference Guide, is almost
  391. identical (often word for word and sample program by sample
  392. program identical) to the 99/4A's User's Reference Guide.
  393. Books 2 and 3 resemble, but are not identical to, the
  394. 99/4A's Beginner's Basic book (the blue book).  Some nice
  395. application software listings are found at the end of book
  396. 3. 
  397.       
  398.      It is obvious to me that these four books are not
  399. really FINAL drafts.  There are lots of errors.  Book one
  400. states that the zero is slashed so you can distinguish it
  401. from the letter O.  It isn't.  The docs say that FCTN/=
  402. (QUIT) resets the computer to the title screen.  It doesn't.
  403. One of the sample programs in book 4 uses CS1 and CS2, but
  404. the 99/2 only supports CS1 as a mass storage device.  The
  405. MEMORY FULL error message is mentioned several times in the
  406. books when in fact the 99/2 generates the message OUT OF
  407. MEMORY.  There are other error messages that differ between
  408. the /4A and the /2.  The documentation lists these messages
  409. as they would appear on a /4A.  Some of the /4A's error
  410. messages are lacking on the /2, but still mentioned in the
  411. /2 books.  For example, the ERROR DETECTED IN DATA cassette
  412. error message is mentioned several times in the books when
  413. no such message is generated by the 99/2.  Important aspects
  414. of the Hexbus interface, such as the CAtalog feature, are
  415. not mentioned.  I have discovered some error messages that
  416. are not mentioned in any of the 99/2 books.  For example,
  417. under two different sets of circumstances I have run into
  418. the message INTERNAL ERROR, PRESS ENTER.  Pressing <enter>
  419. then resets the computer to the title screen.  Book 3
  420. (Advanced BASIC) contains a heavily commented listing of a
  421. BASIC program designed to produce a neat moving graphic
  422. display with the 99/2's built in graphic characters (ASCII
  423. 0-31).  The only problem is that the listed program is too
  424. large to fit into the 99/2's limited memory.  Before you are
  425. finished typing in the program as listed, the computer
  426. informs you that it is OUT OF MEMORY. 
  427.       
  428.      I have been told by knowledgeable sources that there are
  429. at least three kinds of 99/2's known to exist; wire wrap
  430. prototypes shown at the Jan 83 CES, production versions with
  431. 3 ROM chips such as that photographed in the BYTE article,
  432. and 99/2's with only one larger capacity ROM.  Obviously my
  433. 99/2 is not one of the wire wrap jobs.  I am afraid to pop
  434. the cover off my 99/2 (the cover is held in place by spring
  435. loaded metal clips, not screws) to see how many ROM's it
  436. has.  The documentation errors mentioned above may be due to
  437. my 99/2 being different than those available to the
  438. documentation authors.  Another possibility is that my 99/2
  439. "FINAL DRAFT" documentation was written by individuals who
  440. only had printed specifications and did not have hands on
  441. access to an actual 99/2. 
  442.       
  443.      ---------- 
  444.      CONCLUDING REMARKS: 
  445.      With the promised 32K memory expansion attached, the
  446. 99/2 would probably be easy to program in assembly for
  447. powerful applications.  There is only one kind of
  448. programmable memory, CPU RAM.  There is no GROM/GRAM or VDP
  449. RAM to slow things down and confuse the assembly programmer.
  450. BASIC programming on the 99/2 is also easy, and 99/2 BASIC's
  451. speed is probably unparalleled among 99/4A related products.
  452. Even TI Extended Basic does not begin to approach the speed
  453. of the 99/2's BASIC. 
  454.       
  455.      Unfortunately, the 32K 99/2 memory expansion device is
  456. not known to exist, and the slightly over 4K of RAM is very
  457. restrictive.  The usual method of estimating free memory
  458. with TI BASIC on the 99/4A is to run this program: 
  459.      1 A=A+1 
  460.      2 GOSUB A 
  461.      When the OUT OF MEMORY message appears, type PRINT A*8
  462. to get the number of bytes of free memory.  With TI BASIC
  463. the 99/4A without memory expansion and without any
  464. cartridge in the cartridge port gives an answer of 14536 to
  465. the PRINT A*8 command.  My 99/2 shows only 4302. 
  466.       
  467.      What little memory the 99/2 does have has to be used to
  468. control the video display as well as to store and execute
  469. BASIC programs.  A BASIC program starting at line number
  470. 100, incrementing line numbers by 10, and ending with line
  471. number 1000 is about all that can be squeezed into the
  472. 99/2's RAM. 
  473.       
  474.      Speed, and the potential of expanded memory give the
  475. 99/2 lots of potential as a serious computer capable of
  476. useful applications.  However, without memory expansion, the
  477. 99/2 is little more than what TI envisioned for the product,
  478. a learning tool. 
  479.      .PL 1 
  480.  
  481.