Access Key Details

||

Book index page

CHAPTER EIGHT

MODULES


TI produce a number of powerful and useful modules in addition to the range of games you may be familiar with. This section is intended to help you obtain good value from the modules.

Some of the games modules contain a TEST MODE, which was inserted by the programmer to permit program debugging. The programs concerned are in machine code.
Titles spotted so far are: TI INVADERS, MUNCH MAN, ALPINER and CHISHOLM TRAIL.
This is not an advertised function and may be removed, but it is worth trying with any game module you have.

Insert the module and select the game.
When the first game title page appears, quickly hold down SHIFT and press 8, then 3, and then 8.
A new screen should appear with various prompts. Enter responses as quickly as you can. The prompts allow you to enter the game at any level, and in the case of TI INVADERS for instance, to select a slow speed.

PERSONAL RECORD KEEPING
The Personal Record Keeping module enables you to store up to about 10k of data, and provides various handling and output facilities to help you manipulate your records.
A printer is useful but not essential. If you have a printer, greater flexibility of display, as well as additional functions, are provided with the Personal Report Generator module, which requires data prepared with the Personal Record Keeping module.
The PRK sorting routines are slow. Data is saved in memory image ('program') format, and thus uses less tape (or disk) space, is faster to save and load, and the verify option is available for tape files.
You will not be able to catalogue a collection of six thousand records, but small collections can be catalogued with the module. The number of items depends on how many characters you wish to use to describe each item.
It is possible to use the PRK module as a simple diary system, or as a very simple spreadsheet, as it is possible to perform mathematical operations on the data you place in your module.

The Personal Record Keeping and the Statistics modules both extend the range of commands available in TI BASIC. Again this is not advertised, and may be amended.
With either module inserted, select TI BASIC. You may now use the following commands:
DISPLAY AT
CALL D(R,C,L,V)
Where R and C are the row and column the word is to start at.
L is the length of screen to be blanked from position
R,C and also sets the maximum length of the display
V is a value or string or variable to be displayed.
If V is longer than L, the display will be curtailed.
R,C and L may be numbers or numeric variables.

Try:
CALL D(10,4,5,1/3)

ACCEPT AT
CALL A(R,C,L,F,A,MN,MX)
R,C and L are as with CALL D, but in CALL A, L sets the maximum length of the input.
F MUST be a NUMERIC VARIABLE. It takes a value of 1 if ENTER is pressed, and other values if some control keys are used eg BEGIN:6 REDO:4 AID:3 BACK:7 CLEAR:2
A is the numeric or string VARIABLE to be filled with the input.
MN and MX are optional when using a numeric variable, and set the minimum and maximum acceptable values: any input outside these values is rejected.

NB: The CLEAR key is used to clear the input field. It WILL NOT break into the program! Use CALL A with a little care if you think you may need to BREAK the program!

Other commands are also added to TI Basic with these two modules, eg CALL P (partitions memory), CALL L and CALL S which save and load data in program format to the partitioned area, and CALL G which handles the data in the partitioned section and CALL H which defines the format of the data.
A booklet (link to pdf) on these commands has been published by TI, and you may be able to purchase a copy from the main UK User group.
Sample programs may be found in 'TIDINGS' Vol 2, No 4, from the main user group.
These extra commands are the only way in which a user can save data in PROGRAM format - used by most TI Modules. Program format permits tape verification, and uses a lot less space on your tape or disk.
Refer to articles on this web site:
Enhanced Basic 1 and Enhanced Basic 2.

TI-WRITER
TI-WRITER is TI's word processing module. It comes in the form of a module, a disk, and a large manual. The 32k memory expansion is required in addition to the disk drive and a disk controller, plus the Expansion Box,RS232 card and a printer.
TI-Writer is a very powerful word processor and can carry out most of the tasks a purpose built word processor is capable of.
A word processor is a great deal more than an electric typewriter. Numerous editing facilities are provided to enable the text to be manipulated.
Typical facilities (found on TI-Writer) are:
Full screen editing-
The cursor can be moved in a number of ways, using preset tabs, word tab, block movement (24 lines at a time) and the usual cursor control keys.
Text can be deleted or inserted.
Movement of paragraphs to different places in the text. Ability to merge files, and save parts of files.
Ability to change one word in the text to another, wherever it may occur (for instance, replacing 99/4a with 99/4A).
Mailing list option: now you can write personalised circular letters (the sort which begins: Dear Mr Smith, You have been selected from the people in Acacia Avenue.....)

The module is compatible with programs which have been LISTed to disk (eg LIST "DSK1.PROGNAME") which allows programs to be inserted into text, and also manipulated with the various editing options allowed.
TI Writer can also be used to create or edit any disk file using 'DISPLAY VARIABLE 80' format, such as the Editor/Assembler uses for machine code. You may use the TI Writer to edit data created and used in your own programs.

The screen is changed to 40 columns, but the TI Writer page is 80 columns long. These 80 columns are displayed in three windows, covering columns 1 to 40, 20 to 60 and 40 to 80.

Although the page is 80 columns wide, by using the commands provided with the TEXT FORMATTER (one of the TI Writer programs), it is possible to print up to the maximum length your printer will allow.
The module allows the use of any printer connected to the RS232 Card, using either the serial or parallel interfaces (see next chapter).
The command codes used by your printer can be inserted into your text, to allow you to switch say from normal print to italic print.
Centering of text is possible using TI Writer, as is 'right justification', where all lines finish in the same column at the right (the normal style of a book). TI-Writer does this by inserting extra spaces between words. The result is quite effective.

If you have the peripherals and you write fairly often,a word processor may be of use to you. This module is effective, and considering the large number of different commands a word processor must be able to handle, it is fairly easy to use.

MINI MEMORY MODULE
The mini memory module carries out a number of functions, but only one at a time:
You may use it for ONE of:
FILE HANDLING:
The module itself can be used in a TI Basic program as though it was a single disk file called "MINIMEM", and all the file handling commands available with disk drives will work with the module. It has a battery backup, and the information you store in the module will therefore remain after you switch your console off.
The module permits you to use the 32k Expansion Memory as a second 'solid state disk drive' called "EXPMEM2", which may store up to 24k of data. This data is lost when the 32k expansion is switched off.
Using either the module or the 32k expansion as data files, the information is retrieved even more quickly than with a disk drive. The computer does not have to waste time in moving a disk drive head over the disk.
It is possible to store data in the module or expansion memory with one program, and then to access the data with a second program, provided you do not reset the system by using QUIT or removing the module or power supply. This may help you to run a long adventure program for instance, by first placing the text into the memory and then loading your control program.
PROGRAM STORAGE:
A small program (up to 4k) may be stored in the module using SAVE MINIMEM and recovered using OLD MINIMEM. The program is loaded almost instantly.

ASSEMBLY LANGUAGE ACCESS:
With the module a cassette is supplied with a 'line by line assembler' which provides a primitive and difficult to use method of writing your own machine code programs.
You will need to purchase the Editor/Assembler manual for information on the 99/4A Assembly language, and should be aware that the manual is not written for the novice.
The LBLA itself occupies the module, and the maximum machine code program you may write with it is therefore about 750 bytes. A few machine code games are now appearing on cassette which can be loaded into the module.
The minimemory provides a low cost entry into the field of machine code programming, but at present no book suitable for the novice is available.
Machine code is a 'low level' language, which is not as easy to use as BASIC.Because the computer does not have to translate the commands, a machine code program may be as much as 1600 times faster than a TI Basic program.

EXTENSIONS TO BASIC:
The mini memory adds some commands for use in your TI Basic programs, allowing you to PEEK and POKE both CPU and VDP memory, and to obtain the hexadecimal string defining any character:
PEEK and POKE are used in many computers to look at and change the contents of one single memory location in the computer. The 99/4A console has 16k of user memory (RAM) known as VDP RAM, which is not directly addressable by the CPU (Central Processing Unit). The Mini Memory is the ONLY module available which allows you access to the VDP ram.
CALL PEEKV and CALL POKEV are used, and samples may be seen in preceeding chapter on advanced programming. They may be used to look at your PROGRAM, or to manipulate the SCREEN DISPLAY.
CALL LOAD and CALL PEEK are used to access the CPU RAM, which comprises of the 4k mini memory, the 32k expansion memory, and the 255 bytes of CPU ram in the console. CALL PEEK can also be used to examine the contents of CPU ROM (READ ONLY MEMORY).
CALL CHARPAT is used to obtain the defining string for a character, which you may then manipulate with SEG$ and redefine with CALL CHAR.
e.g.CALL HCHAR(1,1,94,760)
CALL CHARPAT(94,A$)
A$=SEG$(A$,1,14)&"FF"

CALL LINK permits a TI BASIC program to use a machine code utility or program stored in the Mini Memory with CALL LOAD.

CARE: The mini memory contains a bettery with a stated life of two years, and will retain any data you load into it, even after the console is switched off and the module removed. However, data is destroyed if you:
Insert or remove the module when the console is switched on.
Use CALL INIT or the INITIALISE option.
Use the module for something else.

Data in the module is also subject to corruption by static electricity, and you should not rely on it as a sole copy of your program or data. Always keep a tape backup.

If you use the module as a data file, the contents can be saved to tape: thus you may store adventure text into the module with a BASIC program, and then copy the data onto tape easily using the 'S' option from the 'Easybug' selection from the main menu. Data is reloaded with the 'L' option.

EDITOR ASSEMBLER:
The editor assembler package comprises a module, two disks and a large manual. One disk contains the 'source code' for one of TI's module games, to help you to understand the language.
Although large, the manual is not suitable for novices, and some information is difficult to find.
The 32k expansion memory, disk drive, disk controller and peripheral expansion box are REQUIRED for this package.
The EDITOR allows you to enter source code, and uses a good screen editor. When you are satisfied, the ASSEMBLER will turn your source code into MACHINE CODE in one of three formats chosen by you:

Standard, required if you wish to run the program with the Extended Basic module.
Condensed, which uses less disk space.
Program format: Which uses even less space but but cannot be loaded by a BASIC program. The Editor Assembler and Mini Memory have special commands

Programs you write in assembly language may run with the extended basic, mini memory, or editor assembler modules, but you may need to use different coding for each:
As example, Extended Basic uses different internal memory mapping, and therefore you have to use different memory locations for example to print to the screen.

With Editor Assembler, you may run the disk versions of TI's games modules.
Although providing much greater speed, assembly language is not for everyone.
  The following is a PART of the source code of a program to DISPLAY AT:
  DS  MOV  R11,R10
      CLR  R0
      LI   R1,1
      BL   @GN
      BL   @LC
      DATA 1
      DATA 23
      MOV  @FC,R$
      DEC  R4
      SLA  R4,5
...which is adequate to demonstrate the difference to BASIC.

TERMINAL EMULATOR 2
The Terminal Emulator 2 module is designed for telecommunications, but as no suitable modem is available to connect your 99/4a to the Post Office network, you will not use that facility.
Some major users of the computer use the TE2 module to link their 99/4A to 'main frame' computers, using the TI computer as an 'intelligent terminal', which has its own programs and passes data to and from the larger computer.
Of interest to domestic purchasers however is the much improved speech facilities of the TE2 module.
With a speech synthesiser connected, your program in TI Basic can say anything that you wish it to. You also have control over pitch and emphasis.
The method used is to open a file:
OPEN #1:"SPEECH",OUTPUT
and then when you wish your program to say something, you PRINT to this file:
PRINT #1:"I CAN SAY ANYTHING YOU WANT ME TO"
****NOT available in TI Emulator****

Speech is much faster with TE2, and because there are no limitations on the string printed to the file, you may adjust pronunciation by changing your spelling.

Would you like your computer to read your program to you? This can be of help when checking a listing to your program, looking for a missing line for instance.

Use:
LIST "SPEECH"
****** This function is *NOT* available in TI Emulator

LOGO
LOGO is a language module, and requires the 32k memory expansion.Disk drive and controller are advisable.
LOGO is a 'build it yourself' language, in which you build up your own commands from a small set of 'primitives'.
It is not therefore a program to exchange programs in, but a language to learn with, and is extensively used in a few primary and junior schools.
A redrafted version of LOGO to be known as LOGO 2 has been announced from TI, with greater user memory and added features, but at the time of writing was not available. [When Logo 2 became available it had LESS user memory but more procedures to use]
LOGO is of great interest to schools, and you may find it useful if you have young children, or an interest in creating your own language, or learning to express yourself in a clear and logical manner.
The following is an extract from a TI LOGO procedure, and informs the computer how to carry out the command:BLINK:
   TO BLINK
   TELL :ALL
   SC :RED
   TELL TILE 32
   SC [4 15 ]
   WAIT 40
   TELL :ALL
   SC :WHITE
   TELL TILE 32
   SC [15 4 ]
   WAIT 40
   BLINK
   END


MULTIPLAN
Multi Plan is a 'spread sheet' program module, and requires the 32k memory expansion and a disk system. A printer (with rs232 card) are advised but optional.
The program was written by Microsoft (whose versions of BASIC are widely used in American computers), and is similar to a popular program called VISICALC (not available for the 99/4a).
The idea of spread sheet is to set up data in rows and columns and tell the computer of the relationships between certain figures. You may then investigate 'what if...' situations by changing certain data, and allowing the computer to change the remainder in accordance with the relationships between the data.
The use of spread sheets is complex, but in making business decisions helpful information can be quickly calculated and obtained.

OTHER LANGUAGES

The following are announced by TI. In addition independent sources may be able to supply other implementations of these languages:

FORTH is announced on DISK requiring Editor Assembler module and 32k memory, plus disk system. Not yet released.

PILOT is announced on disk for P Code card and 32k memory expansion. Not yet released.

PASCAL is available on three disks, requiring the P Code card and 32k memory expansion.

NONE OF THESE CAN BE USED WITH TI EMULATOR AS DIFFERING DISK FORMATS WERE USED.

THE INFORMATION IN THIS BOOK IS FREE. It may be copied, distributed and/or modified under the Creative Commons Attribution-NonCommercial 2.0 UK: England & Wales License. Alternative licence: Design Science License published by Michael Stutz.    See instead Stutz dsl


Book index page
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