Access Key Details
Previous Page
Book index page
CHAPTER NINE PERIPHERALS
Jump to: Expanding memory || Using printers ||
Speech Synthesiser || Printing the screen display ||
Glossary
SYSTEMS:
The original expansion system comprised separate peripherals,
each with their own power supply, which plugged into the right
hand side of the computer and each other.
As the number of peripherals increased, this resulted in a
number of electric supply cables, and the need for a very long
desk.
Hence TI produced the PERIPHERAL EXPANSION BOX, which plugs
into the right hand side of the console by means of a cable. It
has its own power supply, but this is used for all the
peripherals placed in it.
The TI BOX (as we shall call it) is supplied with a single
interface 'card' which merely allows it to be connected to the
99/4a.
The 'cards' used in the Box are far more than the usual
printed circuit board usually associated with expansion systems:
each card is inside a strong metal sub chassis. The box itself
is also very strong (and heavy) metal.
The box has space for a single disk drive, although it may be
possible to use two low power 'half size' drives mounted side by
side. TI do not provide half size drives and you will need to
have a well informed and helpful dealer if you wish to fit them.
The standard TI Disk Drive is a single sided single density
drive which uses soft sectored disks with 40 tracks. Each disk
can store about 90k of information, and each disk can contain up
to 127 named files.
To operate the disk drive you need the DISK CONTROLLER card,
which is supplied with a DISK MANAGER module. The controller
card can operate up to three disk drives: the second and third
must have their own power supply and case, and are used outside
the Box.
The Disk Manager allows you to test your disks, initialise
them, change file and disk names, and provide a catalogue of
disk contents.
You can use double density disks, but the computer will only
use them as single density.
It is possible to modify the controller so that a double
sided disk drive can be used, with the second side treated as
DISK 2.
A Disk Manager 2 module and double sided drive have also been
announced from TI, but are not available at the time of writing.
A disk system allows you to load and save programs or data
much faster than from cassette. Also, because a disk does not
have to be read in the same order it was saved, random access
files are possible, for faster and more powerful data handling.
A program may be LISTed to disk as well as SAVEd to disk. A
LISTed program is placed on disk in DISPLAY VARIABLE 80 format,
and may be used with the TI WRITER module.
Extended Basic permits a program to be saved in MERGE format,
to allow programs to be merged into each other, and also allows
you to manipulate the program : you may create utilities which
remove REM lines, or shorten variable names for instance.
Also with Extended Basic, a disk system will allow you to
load a program which exceeds the 12k allowed under the cassette
loading system.
TI Emulator includes emulation of the 32k ram. MESS includes emulation of 32k and 512k ram. PC99 includes emulation of 32k and 512k ram. The 512k ram card was produced by Myarc for the TI-99/4a.
The 32k MEMORY EXPANSION CARD adds 32k of CPU RAM to your
system. It is NOT usable unless a suitable module is used.
Extended Basic programs may be up to 24k when the 32k
expansion is fitted, but the tape loader can only load programs
up to 12k.
However, with Extended Basic, when the 32k is fitted, in
addition to the 24k for your program, you have about 13k for
storing variables. Thus you may load a 12k tape program and not
have to worry about the memory used for variables (for example,
large arrays of data).
Also with Extended Basic, 8k is available to load machine
code into, such as some of the TI module games (loaded from
disk) or the utility programs which are becoming available.
The memory expansion is available to the Editor Assembler and
the Mini Memory modules for loading longer machine code programs
from disk.
The Mini Memory can use the memory expansion as a data file.
Some TI Modules (such as Editor Assembler) require that the
32k be connected.
NB: The Personal Record Keeping module CANNOT use the 32k
memory.
In extended basic a very small increase in speed is produced
by using the 32k memory.
The RS232 card is required to connect the computer to a
printer.
TI Emulator directs output to PIO to PC Port LPT1
A number of independent suppliers are producing programs and
hardware to permit printers to be connected without the box and
RS232 card, but you should look closely at what their products
can do, and try to see them working with your printer.
The TI RS232 card provides a potential three interfaces, two
serial and one parallel.
A SERIAL connection is one in which the signal is sent one
bit at a time. As a single letter is defined in one BYTE (8
bits) a serial interface has to break that down and send the
bits one at a time.
The standard serial interface is known as RS232, and implies
a standard connector and standard pin connections in that
connector. However, there are variations in usage.
The TI RS232 interface permits you to set certain options in
your Basic program, allowing a range of printers to be used.
However, some printers have serial interfaces which operate
at different signal levels, and you should always try to see a
printer working with the 99/4A before you buy.
There are a number of options available with the TI RS232
card, and you may need to check with your dealer the correct
options to use with your printer.
The following are the options available with the RS232
interface:
BAUD RATE (eg speed):
110,300,600,1200,2400,4800, or 9600
DATA BITS: 7 or 8
PARITY: Odd, Even or None
TWO STOP BITS: used or not
NULLS: used or not
CHECK PARITY: performed or not
ECHO: on or off
CRLF: on or off
LF: on or off.
These options should allow you to interface to almost any
serial printer. The RS232 interface is bidirectional and can be
used (if you have a P.O. approved modem) to link consoles by
telephone for the exchange of programs or data. It is possible
for data to be passed in both directions simultaneously using
the RS232 interface.
For many printers, an RS232 interface is an option available
at extra cost : the standard interface is PARALLEL. A parallel
interface sends one byte at a time, and operates only in one
direction. The TI RS232 card can send data at about 28000 Baud
when using the parallel signal output, but the limitation will
be the receiving device.
There are fewer options needed on the parallel interface, as
a new signal is only sent when the printer tells the computer it
is ready for it by means of a 'handshaking' signal. It is
possible to turn on or off the echo, automatic carriage return
and automatic line feed features. Your choice will depend on the
needs of your printer.
A few printers have a buffer memory, or one may be added:
this allows the computer to send its data to the buffer and then
carry on with your program, and your program continues while the
printer takes data from the buffer and prints out your text.
NB: Although Centronics compatible, the TI parallel output
uses a slightly different pin out, and your dealer will have to
make a special cable for you. Ensure the printer you buy will
work with your computer, before buying.
You DO NOT have to purchase the TI Printer. Most printers
will work with the RS232 card.
TI Emulator emulates the speech of Extended Basic via Soundblaster
The speech synthesiser has already been touched on in the
discussions of Extended Basic and the Terminal Emulator Two
modules.
The Speech Synthesiser requires a module to function. Some of
the newer games modules (such as Parsec and Alpiner) use it, and
you may use it in your own programs:
In TI BASIC: with Terminal Emulator 2 or Speech Editor
In Extended Basic: with the Extended Basic module.
Both Extended Basic and Speech Editor have limited
vocabularies, but it is possible to extend them slightly by adding
words together or curtailing them.
Terminal Emulator 2 gives the fastest and most realistic speech
and permits pitch and emphasis to be changed.
Other hardware
A number of small companies are showing an interest in
producing peripherals for the TI99/4A. These may be cheaper than
the TI equivalent, but you must ensure that they satisfy your
requirements before you buy, as they may not have all of the TI
features.
You should always try to see any third party peripheral working
with the computer before you buy.
Many printers now permit you to "download" a screen display,
using '8 pin bit image mode'. Most of the EPSON range of printers
permit this for instance. The TI dot matrix printer was a rebadged Epson.
Programs to USE these facilities are rare however, and one is
therefore given below.
This is in TI BASIC, but requires the MINI MEMORY MODULE to
function. The program will also run in EXTENDED BASIC.
Because the printer defines its characters vertically, but the
computer defines its characters horizontally, this program will
produce a picture of the screen on its edge : it is easier to do
this than to rotate the image.
If the screen contains only text there is no advantage to using
this program: Use GCHAR to obtain the characters and PRINT them
one row at a time.
This program will print the characters as they appear on screen:
i.IN BLACK ONLY. ON pixels are printed,off pixels are not.
ii.Sprites are not copied.
If your printer prints a pound sign below, it is really a CHR35, which
in TI Emulator is shift 3.
When printing graphics with ANY TI program you must add .CR to the printer name to suppress a line feed after each character. Some graphics programs suggest you use PIO.CR.LF, the TI interface manual suggests .CR on its own is enough- both work fine.
NOTE: Using square brackets (that is a [ )in a variable name is legal!
100 OPEN #1:"PIO.CR"
110 REM OR EQUIVALENT RS232
FILE NAME
120 PRINT #1:CHR$(27);"A";CH
R$(8)
130 FOR [A=1 TO 32
140 PRINT #1:CHR$(27);"K";CH
R$(192);CHR$(0)
150 FOR [B=24 TO 1 STEP -1
160 CALL GCHAR([B,[A,[CHAR)
170 IF [CHAR<33 THEN 300
180 CALL CHARPAT([CHAR,DEF$)
190 IF DEF$="000000000000000
0" THEN 300
200 FOR [SEG=16 TO 2 STEP -2
210 [HEX=ASC(SEG$(DEF$,[SEG,1))
220 GOSUB 430
230 [PRINTDEF=[HEX
240 [HEX=ASC(SEG$(DEF$,[SEG-1,1))
250 GOSUB 430
260 [PRINTDEF=[PRINTDEF+[HEX*16
270 PRINT #1:CHR$([PRINTDEF);
280 NEXT [SEG
290 GOTO 340
300 FOR []=1 TO 7
310 PRINT #1:CHR$(0);
320 NEXT []
330 PRINT #1:CHR$(0)
340 NEXT [B
350 PRINT #1:CHR$(13);CHR$(10)
360 NEXT [A
370 PRINT #1:CHR$(27);"@"
380 PRINT #1:CHR$(7)
390 CLOSE #1
400 REM NOW GO WHERE YOU WISH
410 REM USING RETURN OR GO
TO AS APPROPRIATE
420 STOP
430 [HEX=[HEX-48+([HEX>64)*7
440 RETURN
450 END
To permit the routine to be added to any program, the square
bracket has been used in front of each variable: [.
The [ is accepted as a valid character in variable names.
ESC K {CHR$(27);"K"} is used in the Epson printer, and some
others, to select: 'Normal density 8 pin bit image mode'
GLOSSARY
ARRAY A collection of variables referenced by a
subscripted number.
ASCII. 'American Standard Code for Information
Interchange' - standard code numbers for the
characters used by the computer.
BASIC. 'Beginners All-purpose Symbolic Instruction
Code'. An easy to use and widely used type of
programming language.
BAUD. 'Bits per second'- refers to the speed at which
data is transferred to and from the computer.
BINARY. Our normal numbering system is DIGITAL, and uses
numbers 0 to 9. A BINARY system uses only
numbers 0 and 1 ,or OFF and ON. The computer
works internally with signals which are OFF or
ON.
BUG An error in a program, which causes incorrect or
unwanted operation.
BYTE. A group of 8 binary numbers (called BITS) used
in computing to represent a character or
command. Also used as a means of measuring a
computers memory capacity.
CONSTANT Used to describe a number or STIRNG, and
distinct from a VARIABLE.
CURSOR A flashing character used by the computer to
indicate that it is waiting for an input.
DISK A mass storage device used to store programs and
data files.
FILE A collection of data records.
HEXADECIMAL A numbering system with base 16. Instead of
using number 0 to 9, it uses numbers 0 to 15,
but letters A to F are used instead of 10 to 15.
LOOP A program line, or lines, which are performed a
specified number of times.
PROGRAM A series of commands which tell the computer
what to do.
RAM 'Random Access Memory'.Tempory storage in the
computer, used for your programs. The contents
are not retained when the console is switched
off.
RECORD A collection of data elements. A group of
records form a FILE.
RESERVED WORD A word used by the computer as a command or
function. Such words cannot be used as variable
names.
ROM Read Only Memory. Permanent memory which retains
its contents when the console is switched off.
Contains the operating system of the computer.
RUN An instruction to the computer to execute a
program in its memory.
SCROLL Movement of the screen display by one line
upwards.
SOFTWARE A name given to computer PROGRAMS.
STRING A series of letters, numbers or symbols, treated
as a single unit. A single number may be treated
as a number OR as a string but cannot be both at
once. 2 is a number. "2" is a string.
VARIABLE A name or label which has a value which may be
altered during a program.
APPENDICES
KEY CODES
It is sometimes useful to enter ASCII codes from the keyboard
outside the usual range - for instance when PRINTing a line of
defined characters.
By switching the computer to PASCAL mode, using CALL
KEY(4,A,B), the range of codes available is increased.
Although the usual function codes (eg cursor control) are
deactivated in Pascal mode, upper and lower case characters are
not affected.
The following table gives the codes available in PASCAL mode.
The keys to be pressed are indicated thus:
A = Key A only
FA = FCTN and A together.
CA = CTRL and A together.
SA = SHIFT and A together.
CODE: KEYS:
0 C,
1 CA
2 CB
3 CC
4 CD
5 CE
6 CF
7 CG
8 CH
9 CI
10 CJ
11 CK
12 CL
13 CM
14 CN
15 CO
16 CP
17 CQ
18 CR
19 CS
20 CT
21 CU
22 CV
23 CW
24 CX
25 CY
26 CZ
27 C.
28 C;
29 C=
30 C8
31 C9
32 SPACE
33 S1
34 FP
35 S3
36 S4
37 S5
38 S7
39 FO
40 S9
41 S0
42 S8
43 S=
44 ,
45 S/
46 .
47 /
CODE: KEYS:
48-57 0-9
58 S;
59 ;
60 S,
61 =
62 S.
63 FI
64 S2
65-90 A-Z
91 FR
92 FZ
93 FT
94 S6
95 FU
96 FC
97-122 a-z
123 FF
124 FA
125 FG
126 FW
127 FV
128 na
129 F7
130 na
131 F1
132 F2
133 na
134 F8
135 F3
136 FS
137 FD
138 FX
139 FE
140 F6
141 na
142 F5
143 F9
144-176 na
177 C1
178 C2
179 C3
180 C4
181 C5
182 C6
183 C7
184 F,
185 F.
186 F/
CODE: KEYS:
187 C/
188 F0
189 F;
190 FB
191 FH
192 FJ
193 FK
194 FL
195 FM
196 FN
197 na
198 FY
199- na
To use:
ENTER PASCAL
MODE WITH
CALL KEY(4...
AFTER THAT
USE THE KEYS
INDICATED AND
THAT
CHARACTER WILL
BE PRINTED:
IT MAY NOT BE
VISIBLE IF YOU
HAVE NOT DEFINED
IT.
In the section on advanced programming the use of single byte
control codes in explained. The following are the meanings of the
various codes. NB:They are not all available in TI Basic or
Extended Basic.
CODE; MEANING: CODE: MEANING:
129 ELSE 193 +
130 :: (Ex Bas Separator) 194 -
131 ! (Ex Bas tail rem) 195 *
132 IF 196 /
133 GO 197 ^
134 GOTO 198 unknown
135 ?? 199 'string follows'
136 ?? 200 'number follows'
ALSO used with CALLs.
137 DEF 201 LINE NUMBER FOLLOWS
138 DIM 202 EOF
139 END 203 ABS
140 FOR 204 ATN
141 LET 205 COS
142 BREAK 206 EXP
143 UNBREAK 207 INT
144 TRACE 208 LOG
145 UNTRACE 209 SGN
146 INPUT 210 SIN
147 DATA 211 SQR
148 RESTORE 212 TAN
149 RANDOMIZE 213 LEN
150 NEXT 214 CHR$
151 READ 215 RND
152 STOP 216 SEG$
153 DELETE 217 POS
154 REM 218 VAL
155 ON 219 STR$
156 PRINT 220 ASC
157 CALL 221 PI
158 OPTION 222 REC
159 OPEN 223 MAX
160 CLOSE 224 MIN
161 SUB 225 RPT$
162 DISPLAY 226-231 Not known
163 IMAGE 232 NUMERIC
164 IMAGE 233 DIGIT
165 ERROR 234 UALPHA
166 WARNING 235 SIZE
167 SUBEXIT 236 ALL
168 SUBEND 237 USING
169 RUN 238 BEEP
170 LINPUT 239 ERASE
171-175 Not known 240 AT
176 THEN 241 BASE
177 TO 242 Not known
178 STEP 243 VARIABLE
179 , 244 RELATIVE
180 ; 245 INTERNAL
181 : 246 SEQUENTIAL
182 ) 247 OUTPUT
183 ( 248 UPDATE
184 & 249 APPEND
185 Not known 250 FIXED
186 OR 251 PERMANENT
187 AND 252 TAB
188 XOR 253 # (for files)
189 NOT 254 VALIDATE
190 =
191 <
192 >
Book index page
Contents copyright Stephen Shaw. Want to reuse? Read:
![Creative Commons License](http://i.creativecommons.org/l/by-nc/2.0/uk/88x31.png)
This work is licensed under a Creative Commons Attribution-NonCommercial 2.0 UK: England & Wales License. Alternative licence:
Design Science License published by Michael Stutz
Access Key Details
Stephen's Entry Page |
TI99/4a |Linux |Search |
History St Thomas Church Heaton Chapel |
Entertainment | Music Links
Light Reference | Educational Reference | Science Fiction |
Travel | News Links | Anime