Classic Computer Magazine Archive COMPUTE! ISSUE 40 / SEPTEMBER 1983 / PAGE 10


TI-99/4 And 4A Differences

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.