ORIGINALLY PUBLISHED IN OCTOBER 1991 LIMA NEWSLETTER THE TI 99/8 COMPUTER notes by Charles Good Lima Ohio User Group We have all heard of the legendary never released 99/8 computer. Probably the best published description of this computer to date are found in the December 1984 issue of MICROPENDIUM, where it is stated that the suggested retail price of the 99/8 would have been about $600. Photos of this computer in the article show the nameplate "Texas Instruments Computer 99/8" just above the left side of the keyboard. Several working 99/8s are known by me to be in private hands, and I have seen some on display, but not operating, at a couple of TI shows. I have, however, until recently never really been clear what this machine could do. Certainly the best way to judge the capabilities of a computer is to use it. I have never had the opportunity play with a 99/8, but I have done the next best thing. I have obtained a copy of the "Final Draft" of the 99/8 user documentation "GETTING STARTED" (dated 8/30/83 with the code number "0811P") and "PROGRAMMER'S GUIDE" (the p-System part dated 8/22/83 and the rest dated 9/15/83; with the code numbers "1511P, formally 2183L", "2117L", and "1248P"). These books give an excellent description of the capabilities of the 99/8 computer and interesting insights about the very very rare Hexbus Disk Drive/Controller peripheral. I know of no working examples of the Hexbus Disk Drive/Controller peripheral. Sources tell me that it was made for TI in Germany by Mechatronics. In my opinion, after reading these books, the greatest shortcomings of the 99/8 are the lack of an 80 column display and the inability to generate unlimited speech using its internal speech capabilities coupled with the TEII module. In order to inform the TI community about "what might have been if TI had only....." I am publishing the following selected material all quoted from my 99/8 user documentation. Text below in brackets {} are my own words interjected among these quotes. ------------------------ "Features of the Texas Instruments Computer 99/8: "KEYBOARD--The 99/8 computer has a full size, easy to use 54 key keyboard. "DISPLAY--The 99/8 displays program lines in a 24 row, 40 column format (text mode) using a handsome character set with true lower case letters. "SOUND AND SPEECH--The 99/8 can generate sound from 110 cycles per second to beyond the highest range of human hearing. Built-in SOLID STATE SPEECH synthesis reproduces human speech electronically, accurately, and realistically. "MEMORY--The 99/8 has 220 kilobytes of built in ROM. In addition, the computer has 80 kilobytes of RAM (64K of CPU RAM, 16K of VDP RAM), which eliminates the need for memory expansion for most applications. If you need more memory, the 99/8 can access up to 15 megabytes (approximately 15 million bytes) of total random access memory. {CG note: One 99/8 owner I talked to has working TI 128K and 512K PE box RAM cards specifically designed for use with the 99/8.} TI Extended BASIc II, a versatile and powerful version of the BASIC programming language, is resident in the computer console. "ADDITIONAL PROGRAMMING LANGUAGES--The built in p-System, the Universal Operating System (both these names are trademarks of SofTech Microsystems, Inc.), allows other programming languages, such as UCSD Pascal and TI PILOT (both on diskette, sold separately), to be used. "JOYSTICKS--An outlet is provided for Wired Remote Controllers. "EXPANDABILITY--The built in HEXBUS Interface enables you to use the low cost HEX-BUS peripherals; outlets for connecting a cassette recorder and future peripheral devices are also included. {CG note: Apparently the Hexbus port was to be the main expansion port, at least initially. There is a 50 pin expansion for "future devices" on the side of the computer. This 50 pin 99/8 port is NOT the same as the side expansion port on 99/4A consoles. Some current 99/8 owners have a TI cable that connects between this 50 pin port and the "fire hose" cable of the PE box. This is the only existing device I know of for the 50 pin expansion port.} "TECHNOLOGY--The Computer 99/8 uses the 16 bit TMS9995 microprocessor for fast program execution. {This is the same 10+ MHz CPU used today in the Geneve. The 9995 is also found in TIs 99/2 computer.} "When you turn the computer on, the master title screen appears. ^^^^^^^^| | | | | | | | | | | | | | ^^^^^^^^--------------------------- ^^^^^^^^^^^^^^^^^^(TI BUG) ^^^^^^^^^^^^^^TEXAS INSTRUMENTS ^^^^^^^^^^^^^^^^^^COMPUTER ^^^^^^^^READY-PRESS ANY KEY TO BEGIN ^^^^^^^^--------------------------- ^^^^^^^^| | | | | | | | | | | | | | ^^^^^^^^(c)1983 TEXAS INSTRUMENTS 3.0 "Press any key to proceed to the next screen. This is the main selection list or the main "menu". ^^^^^^^^^^TEXAS INSTRUMENTS ^^^^^^^^^^^^^^COMPUTER PRESS [A] FOR TI EXTENDED BASIC II [B] FOR P-SYSTEM [C] FOR SET SPEED If you have a Solid State Cartridge plugged into the slot at the top of the computer console, the name of that program usually appears as selection D on this screen. "TI Extended BASIC II--This option enables you to access the programming language built into the Computer 99/8. When you select TI Extended BASIC II, the computer automatically executes at full speed. "SET SPEED--This option enables you to change the speed at which the computer "runs" programs contained in certain preprogrammed software packages. When the computer is turned on, it is automatically set to run at 99/4A speed. If this option is selected, this screen will appear: SET SPEED [A] SLOW [B] 99/4A SPEED FOR GAMES [C] FULL SPEED "To proceed to the next section, "A tour of the keyboard," select TI Extended BASIC II by pressing the A key. ^TI EXTENDED BASIC II ready ^62720 Bytes free > "[Illustration of stacked HEX-BUS peripherals] "DISK DRIVE/CONTROLLER 5102-A HexBus peripheral that uses 5 1/4 inch diskettes, finds files quickly, and allows either sequential or random file access. With its double-sided, double density capabilities, the Disk Drive/Controller can store up to 320K of information on one diskette. "Disk Drive 5202--Up to three additional disk drives can be used with the Disk Drive/Controller {CG note: up to a total of 4 DSDD drives. Since the Hexbus has only 4 data lines data transfer is in nibbles rather than bytes. I suspect that the data transfer rate between Hexbus Disk Drive/Controller and the 99/8 or other computer would be significantly SLOWER than that obtained with the TI disk controller and a 99/4A.} -------------------- "FEATURES OF TI EXTENDED BASIC II: "DATA TYPES--TI Extended BASIC II allows both integer and real data types for numeric variables. Because the integer data type uses less storage space and requires less processing time, using this data type when applicable (for example, with FOR NEXT loops) facilitates faster program execution. To be stored as an integer a number must be a whole number within the range -32768 to 32767. "SIX DIFFERENT GRAPHIC MODES--These are accessed using CALL GRAPHICS(x). A wide variety of display techniques and applications, including dividing graphics and text, are available with the six graphics modes: "PATTERN MODE--The default mode when using TI Extended BASIC II is selected. Characters are in 24 rows and 32 columns with each character defined by an 8x8 pixel configuration. "TEXT MODE--Characters are in 24 rows and 40 columns, with each character defined by an 8x6 pixel configuration. "SPLIT SCREEN MODE: TEXT HIGH--The screen is split into two portions: the text portion (the top one third of the screen) and a graphics portion. Text is 8 rows by 32 columns; the graphics portion is 128 pixels by 256 pixels. "SPLIT SCREEN MODE: TEXT LOW-- The same as Split Screen: Text High except that the text is at the bottom one third of the screen, with graphics at the top. "HIGH RESOLUTION MODE--A full screen graphics mode with 192x256 pixels. "MULTICOLOR MODE--Rather than in characters or pixels, the screen displays in blocks, with 48 x 64 blocks. "Screen Margins--CALL MARGINS enables you to redefine the screen margins and thus define a text "window" on the screen. "FREESPACE(0) returns the amount of unused memory space. "VALHEX returns the decimal (base 10) value of a hexadecimal (base 16) number. "TERMCHAR returns the key code of the key combination (such as ENTER, PROC'D, BACK, BEGIN) that terminated the last INPUT, LINPUT, or ACCEPT statement. "ASSEMBLY LANGUAGE SUPPORT--TMS9995 (of which TMS9900 code is a subset) assembly language subprograms may be loaded and run. The subprograms INIT, LOAD, LINK, PEEK, PEEKV, and POKEV are used to access assembly language subprograms. Relocatable assembly language programs created for TI BASIC will execute correctly, although NUMREF may return an integer value instead of a floating point value. In addition, a string reference error may occur with STRREF because STRREF {in TI BASIC} only allows strings up to 255 characters. All POKEs and PEEKs as used in previous BASICs fail in TI Extended BASIC II. The INIT subprogram with no parameter allocates 8K bytes of memory for assembly language subprograms. If a parameter is specified, more or less (up to 24366 bytes) may be allocated. Examples: CALL INIT allocates 8K bytes of memory space. CALL INIT(200) allocates 200 bytes of memory space. CALL INIT(0) releases all memory previously allocated. "DISPLAY VARIABLE 80 FORMAT--Files in DV80 format, created by the LIST command or a text editing or word processing program, may be loaded with the OLD command. {CG Note: Does this mean that you can just display DV80 on screen, or can you OLD and RUN BASIC code created with a word processor? I don't know.} "KEY CHIRP--TI Extended BASIC II enables you to turn on an audible "chirp" that sounds whenever a key is pressed. Enter the following command to turn on the key chirp: CALL LOAD(VALHEX("84BD"),1). Enter the following command to turn the key chirp off: CALL LOAD(VALHEX("84BD"),0). "STRING LENGTH--BASIC II permits strings up to 4090 characters in length. TI BASIC and TI Extended BASIC permit stings of up to {only} 255 characters in length. "RECORD LENGTH--TI Extended BASIC II allows diskette data files created on the Drive/Controller to have VARIABLE records with lengths up to 4090 bytes. TI BASIC and TI Extended BASIC allow VARIABLE records to be only 254 bytes long. Diskette data files with FIXED length records are limited to 255 bytes {same as TI BASIC}. TI Extended BASIC II allows cassette data files to have FIXED length records up to 4032 bytes. TI BASIC and TI Extended BASIC limit cassette data files to 192 bytes or less. "SOFTWARE CARTRIDGES--CALL to routines contained in a plug in cartridge are not accessible in TI Extended BASIC II. Thus, programs that use the Personal Record Keeping cartridge will not execute properly. Text to Speech cannot be accessed from TI Extended BASIC II with the Terminal Emulator II cartridge. Otherwise the Terminal Emulator II cartridge functions normally. "RESERVED WORDS--The following reserved words are additions to the TI Extended BASIC reserved word list: ALPHA, FREESPACE, INTEGER, LALPHA, REAL, TERMCHAR, and VALHEX. "CALL DRAW, CALL DRAWTO, CALL FILL, and CALL DCOLOR--These are graphics subprograms which enable you to plot graphics and add color to them on the screen {in graphics mode and in the graphics portion of a split screen}. CALL DRAW and CALL DRAWTO draw or erase lines between specified pixels, thus making elaborate figures or drawings possible. (The screen is comprised of a grid of 256x192 individual pixels.) CALL FILL colors the area surrounding a specified pixel. CALL DCOLOR sets the graphics colors that are used by CALL DRAW, CALL DRAWTO, CALL FILL, CALL HCHAR, and CALL VCHAR. "Some HexBus peripherals can be accessed by using the general format for file specification described earlier. {This is the method we are all familiar with in BASIC file access with the 99/4A.) Hexbus peripherals that may be accessed with this alternate method of addressing are the Disk Drive/Controller, the RS232, and the HexBus Modem. Alternate Device name| Hexbus Number ---------------------|-------------- DSK.DISKNAME.........| 100.DISKNAME DSK1.................| 101 DSK2.................| 102 DSK3.................| 103 DSK4.................| 104 RS232................| 20 "HEXBUS SUBCOMMANDS--The CA (catalog) command cannot be used with the Hexbus Disk Drive/Controller peripheral. {CG note: CA is supposed to generate a catalog of programs stored by the 99/8 on a wafertape. On my 99/2 computer CA does generate a catalog of files on a Wafertape or Mechatronic Quickdisk, and is supposed to work similarly with TI's never released Hexbus Interface for the 99/4A.} "The available characters {ASCII 0-255} and character sets {32 character sets numbered 0-31} in Pattern Mode are listed. -------------------- "The p-System: "The P-code interpreter, which is built into your computer, enables you to execute existing p-System programs. To develop your own programs you must have a TI disk system (sold separately). Also necessary are some or all of the following TI products (sold separately): 1. p-System Editor/Filer/Utilities. 2. UCSD Pascal Compiler. 3. p-System Assembler/Linker. "Note: These products are designed specifically for use with the 99/8. Software designed for use with the TI 99/4A Home Computer may not work when used with the 99/8. "With the p-System you can execute high-level language programs such as UCSD Pascal and TI PILOT. UCSD Pascal is compiled and TI PILOT is interpreted to an intermediate language called "P-code" or "pseudo-code." The p-system interprets the P-code and instructs the computer to execute the appropriate machine language instructions. "The built in MINI FILER program in the Operating System (unit #14) file named SYSTEM.TI.FILER provides many of the file management capabilities of the p-System Filer program. {MINI FILER is in ROM. The p-System Filer program is extra cost disk software.} Use the "G"o command from the system command level to access the MINI FILER. "When you enter the MINI FILER, a menu of "Special p-System Commands" is displayed. To select a menu option, press the letter that precedes it. A. Run a program B. Copy a disk C. Copy a file D. Delete a file. E. List files on a disk. F. Format a new disk. G. Clear a disk directory. H. Combine free disk space. I. Change name. Q. Return to standard p-System menu. ?. Help S. Set single disk system.{Toggles to "multiple" disk} -------------------- "APPENDIX O: ASSEMBLY LANGUAGE SUPPORT ROUTINES "The TI Computer 99/8 provides several utilities that enable you to access special capabilities of the computer through TMS9900 assembly language. With these utilities, you can change the values of the VDP chip, access the DSR for peripheral devices, scan the keyboard, kink a program to GPL routines, and link to the Editor/Assembler loader. Remember that these can only be used in TI assembly language programs. "The following list gives each of the utilities predefined in the REF/DEF table: VSBW VMBW VSBR VWBR KSCAN GPLLNK XMLLNK DSRLNK LOADER. "The TI Computer 99/8 has more utilities available through the Editor/Assembler than did the TI 99/4A Home Computer. As a result, the XMLLINK tables have been changed, so old assembly language programs may need to be updated .PL 1 . .