TI-99/4 And 4A
What are the programming differences between the TI-99/4 and TI-99/4A?
The T1-99/4 has 256 more bytes of
available RAM than the TI-94/4A, so a very long program may run on the
TI-99/4 and not the TI-99/4A.
The TI-99/4A has
lowercase capability, so some techniques are possible on the TI-99/4A
that are not possible on the TI-99/4. For example, for graphics you can
redefine characters using lowercase letter codes, then PRINT the
letters rather than using the CALL HCHAR or CALL VCHAR statements. If
you redefine the letters a and b (characters 97 and 98) to draw a car,
for example, you can then PRINT ab to get a car. To convert for the
TI-99/4, remember that the lowercase letters start with ASCII Code 97.
The equivalent statement would be PRINT CHR$(97)&CHR$(98). A
program using redefined lowercase letters that is typed on the TI-99/4A
can be SAVEd then loaded onto a TI-99/4 and will work fine.
The keyboards on
the two computers are different too, and several of the symbols are in
different places. This change affects the CALL KEY statements. CALL
KEY(0,KEY,STATUS) on the TI-99/4 is used to scan the whole keyboard,
and devices 3, 4, and 5 for the first parameter are for "possible
future devices." On the TI99/4A keyboard, device 3 scans the whole
keyboard in BASIC, device 4 is for Pascal, and device 5 is for BASIC
using both capital and lowercase letters. Device 0 is used to indicate
the same device as previously scanned. Many programs now use CALL
KEY(3,KEY, STATUS) for the TI-99/4A. To write your programs compatible
for both computers, use CALL KEY(0,KEY, STATUS).
The split keyboard
also presents some variations. The statements are CALL
KEY(1,KEYI,STATUS1) and CALL KEY(2,KEY2,STATUS2). Some of the KEY
values returned are different: G, B, SHIFT, SPACE, comma, period, /, =,
semicolon, and ENTER. If you use the standard arrow keys (E, S, D, X
and I, J, K, M) you'll have no problem. The diagonal arrows are also
the same for both keyboards. In general, avoid the middle area keys and
the keys at the extreme right of the keyboard. For games written for
the TI-99/4 in which you press ENTER to fire, you may need to press the
period to fire on the TI-99/4A.
There may be a
problem in testing for zero on the TI-99/4A when using the split
keyboard scan. After the CALL KEY statement, use logic such as IF K+ 1
< >1 rather than IF K<>0.