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.
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.
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'
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.
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 >
Contents copyright Stephen Shaw. Want to reuse? Read:

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