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
...which is adequate to demonstrate the difference to BASIC.
CLR R0
LI R1,1
BL @GN
BL @LC
DATA 1
DATA 23
MOV @FC,R$
DEC R4
SLA R4,5
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