This web page contains the text of my article for owners of the TI-99/4a in a series called Rambles, taken from Issue 4 of TI*MES dated Spring 1984, published by Clive Scally. It is of use to users of the TI-99/4a emulators and of historic interest regarding home computer use in the UK in 1984. The print in this issue was really small and I've retyped most of this.
I have included the second part of a rare article by Ian Godman of Christine Computing
Hello again. Isn't three months a long time... A special welcome to new
members of TI*MES, hope you like the newsletter, if not, let us know.
First query: How do I make back up copies ?
A backup copy of a program is a fail safe: a tape recorded program is
essentially a fragile thing, and can be damaged. If you have paid for a
program, it is upsetting to find you have left your tape in front of the fire,
or on top of the TV set ..... at such times a second copy is nice to have.
To make a back up copy, you load the program into your computer usinq OLD CS1.
and then save it to a NEW cassette using SAVE CS1. Easy eh.
cannot be copied in this easy manner, for instance:
Programs which use data files such as HORDES
Program format data files, such as the Adventure tapes
Extended Basic programs which have been saved with the PROTECT option.
In many cases, suppliers of protected extended basic programs will supply you
with a replacement for a nominal fee if you return the original cassette. In
other cases, it is less trouble and cheaper to make your own copies.
Always use tapes of less than C60, preferably the C10 to C20 computer
NB: It is OK to make one copy for your own use. It is illegal to sell that copy
or even to give it to a friend.
Clive has had an enquiry: If Rambles is written with TI WRITER (it is, it is!)
why are the right margins not justified??? Answer: Because right justification
is an OPTION. If you do not want it. you do not need it.
Personally. I don't like right justification!!!
justification is an option, as are indent, outdent and so on.
With reference to my first quarter page ad in Home Computing Weekly, I CAN
spell SIMULATION. The magazine cannot!
QUERY: I have a menu to be selected from the screen and wish to load
some variables from data statements, using different data depending on which
choice is made. How?
The TI99/4A is remarkably good at this sort of thing. The type of program
we are considering is in the form:
(NOTE: this won't work in this form!)
90 ON A GOTO 100,200,300,400 etc
100 DATA Q,W,E,R,T,Y
110 FOR C= 1 TO 6
120 READ V(C)
130 NEXT I
140 GOTO 1000
200 DATA A,S,D,F,G,H
210 FOR C=1 TO 6
220 READ V(C)
230 NEXT I
240 GOTO 1000 and so on.
Left to its own devices, the computer will first read the first data
items (line 100) even if you have GONE TO 200. Which is not what we want.
If you first go to 200, then 100. the data will have been read in the
wrong order completely
READ always reads DATA items in order. starting from the first item. As
each READ is carried out, so it will then read the next DATA item.
RESTORE is used as a command, on a line on its own (in TI BASIC) to reset
the data pointer back to the first DATA item in the program.
RESTORE can also be used to point the computer to a particular set of
DATA, by following the command with the line number the required DATA is on.
From our example above, we could have:
90 ON A GOTO 100,200,300 etc
100 RESTORE 110
110 DATA Q,W,E,R,T,Y
110 FOR C= 1 TO 6
120 READ V(C)
130 NEXT I
140 GOTO 1000
200 RESTORE 210
210 DATA A,S,D,F,G and so on.
This is a powerful command. Some other computers allow you to RESTORE, but to
get to a particular DATA item, you have to READ every single item! Not so on
the trusty TI99/4A!!!
DO YOU HAVE THE PERSONAL RECORD KEEPING OR STATISTICS MODULES?
If so, did you know you have extra CALLS available in TI BASIC when these
modules are inserted?
Try: CALL D(6,2,26,"SURPRISE")
These modules add CALLS which simulate Display At and Accept At, and
uniquely, allow you to partition the VDP ram, store data there, and save it in
PROGRAM format: verifiable, and FAST.
The official TI document on
additional PRK Calls from whtech.com in pdf format.
ATARISOFT MODULES FOR THE Tl99/4A
Now that TI modules have ceased production, it is interesting to see Atari
producing some modules for us. How good are they? The prices (20.00 and
25.00) are reasonable for modules, but not cheap if you do not have a lot
of money ....
First, a warning: ATARI are not paying TI to use TI's unique GROM technology.
These ATARISOFT modules will not be recognised at all by the newer version 2.2
consoles... easily recognised, they say V2.2 on the 'test card' screen.
Second: The 99/4A exists in several versions, with slightly differing operating
systems. I have had problems with some ATARISOFT modules, and you may have
also. It appears they work on the most widely owned consoles however.
Asked to comment. ATARI say their modules work fine on their ONE TI
console. Technical explanation: Atari are using the large character set you see on the test card, but are using a direct address, which is not the same on all consoles. On these
the text will be rolled by half a character, illegible.
Picnic Paranoia is a game in which you avoid a bee, and swat insects making
off with your picnic! The graphics are simple. I was unable to play this
module due to non-compatability with my console.
PROTECTOR 2: A very simple game, with simplish graphics. There is a tiny
non-important program bug, but the module suffers from poor game design.
You may select level of difficulty at the beginning, but you score no
extra for higher difficulty levels, and once you have accomplished your
task, that is that. The task is to move people from one city to another
while an alien craft is picking them up and dropping them into a volcano.
Stage two involves moving them from the 2nd city, which is now being
engulfed in lava, to a further place of safety. There are a few aliens
trying to stop you too. I found the game trivial, but perhaps younger
owners will appreciate the scenario better.
PAC MAN: The classic game which followed Invaders in the arcades all those years ago (Remember the
record. Pac Man Fever? I don't either!). This is a faithful reproduction of
the arcade game. with graphics which come very close to matching the
arcade version. However. the speed is low.
Screen set up is painfully slow (is the module written in basic?) and the
critters do not move too fast. After only a few plays I think the better
games players will be scoring into the millions!
An interesting module. but is PAC MAN meant to be relaxing?
COPTER CAPTIVE is in EXTENDED BASIC by BYTEWARE of NEWCASTLE. I haven't seen
them advertising recently, but if you are in the area or see an ad. this
is one game I enjoy. In two parts, but I can only describe the first as I
haven't made it to the second... you must move around a simple maze.
collect a key, and open a door .... easy! Ha! No it isn't. The program
description cannot adequately cover what is a very well put together game.
which will hold your attention for more than the usual 7 days!
I know it may be thought unusual for me to recommend games from my
competitors, but if I find a super program. I think you should know. I
leave it to you dear reader to submit reviews of the games I sell!!!
The computer is to check the numbers 1 to 1000 and make an audible sound whenever it
finds a number with "7" in it.
This is a school problem, which although it looks easy, involves some interesting
Looping. String Handling. Sound Generation.
To Generate the numbers, we use a simple loop:
FOR LOOP=1 TO 1000
Inside this loop we do all the work. For each cycle through the loop. the variable
LOOP takes an increasing value, from 1 to 1000.
Thus by inspecting this variable we can check for the digit 7.
Because we must spot the digit 7, in numbers such as 7, 17, 76 etc. we have to check
EACH DIGIT in the number.
On the TI. to split a number in this way. we have to convert it into a STRING, using
LOOP$=STR$(LOOP) where LOOP$ is a STRING VARIABLE.
To check the digits. we use SEG$ and LEN.
LEN(LOOP$) is the length of the string LOOP$ and will vary from 1 to 4 (1 to 1000
So. inside the loop:
FOR A=1 TO LEN(LOOP$)
IF SEG$(LOOP$,A,1)="7" THEN GOSUB 2000
We have changed the number, say 47, to a string "47".
SEG$ is then used to look at the first digit... is it a "7"? Then the second
digit...is it a "7"? If so. GOSUB ....
and in the subroutine. the audible warning required:
2000 CALL SOUND(400,440,0)
And that solves the problem. Try to follow what the computer is doing.
After a break of some months. TX SOFTWARE are back on the scene. Only a small range
of programs. but their BATTLEFRONT tape at 6.00 has THREE Extended Basic games on
it...good value for money. especially as the programming is highly talented. There is a
Bomber type game. and a road race type game. but for me the gem is the title program.
which uses Extended Basic as you have never seen it used before. All you have to do is
shoot tanks passing in front of you... but you can guide your missile as it travels.
The 3D graphics are the best I have seen. Excuse me if I enthuse, you must have this
one!!! Their WARGAME tape at 6.00 is very nice. but a long player. They did have a nice
3d Maze. but that seems to be no longer offered. Disk with Battlefront as 255k PC99 format file, can be converted to 90k MESS format with Windows program TI-Dir.
TX SOFTWARE. Ab weld. HARLOW. CMI TQ
Update: The proprietor Mr Matthews was not a well man and died unseemly early in life, leaving a widow. His programs never had a chance to become well known (but were pirated). The TI community lost a promising programmer.
SMART PROGRAMMING GUIDE FOR SPRITES
by Millers Graphics. 7.95 from TIMELESS SOFTWARE.
Available as a zip file from TI Books.
Now. 74 pages of A5 stapled book may strike some of you as pretty poor value
for money! However, you are not paying for the paper... it is the information
Importing books from the States is an expensive business. what with airmail
charges to cover, capital tied up for longer than usual, and of course UK
distribution has to be paid for, and nobody works for nothing .....
This is why US magazines (such as COMPUTE) cost so much here, and why this book
is not 'cheap'.
What is in it? Quite a lot actually, for its size. Lots of sample programs to
show you how to use sprites... a powerful addition which Extended Basic gives
you, and sometimes a little difficult to use to best effect.
There are samples to show you how to use keyboard or joysticks to control
sprites, and how to pick up objects or leave a trail. There is also a section
with some CALL PEEKs which can be of use, such as a faster RND.
This book is available from 99er.net as a 15 meg pdf - this link takes you to a licence page not to the pdf.
Together with my copy I received two 3 page leaflets called 'The Smart
Programmer'. and one of these solved a problem that has been puzzling me for a
while: How to stop QUIT from functioning. Requires Extended Basic and 32k RAM.
Following on from these two small leaflets. there is a monthly newsletter.
called THE SMART PROGRAMMER. The first issue (February 1984) consisted of some
15 pages. almost A4 size. A subscription to this is also available from
Timeless. for 17.50 per year.
In the February issue. another long standing
problem was solved:
Given a large TI BASIC program such as WINGING IT, how do you load AND RUN IT
from Disk? The disk controller snatches too much memory to allow you... the
answer requires Mini Memory AND 32k RAM. but it works!!!
Mr Miller also shows how to prevent your disks being backed up ("proprietary
disk protection"). Promised for the future are machine code routines that you
can use with Extended Basic and 32k ram for faster sprite coincidence
These publications cost a wee bit, but if you are seriously interested in
powerful programming, I think you will find them of use - I certainly have my
value for money! Perhaps groups of owners could share them?
Interested in ASSEMBLY LANGUAGE and having trouble?
It is necessary to have the TI Editor Assembler manual, whatever form of
Assembler you use, and this is available from Galaxy in Maidstone, but it is a
MANUAL. and does not teach you how to use assembly language.
Two books for the novice (such as myself!) have now appeared in the States.
First. a book for all true beginners. ASSEMBLY LANGUAGE PRIMER by John T Dow.
This is a private publication. available from the author for US$22. inc. UK
pp. It assumes NO prior knowledge. and is the book I most strongly recommend
if you can only afford one. It does not go into it too deeply. but does have a
fairly comprehensive memory map. In despair with the Assembler supplied with
the Mini Memory. Mr Dow has written his OWN assembler, requiring Mini Memory.
US$27. His book can be used with either his own assembler or the
Editor/Assembler from TI.
The Dow book is available on The Cyc dvd rom, available from CaDD to purchasers of the PC99 emulator.
Consider the price of the emulator and the document and program rich dvd rom together. The dvd contents are all authorised and licenced. The book is also available as a zip file from TI Books.
Then a professional book. INTRODUCTION TO ASSEMBLY LANGUAGE FOR THE TI HOME
COMPUTER by Ralph Molesworth. Published by Steve Davis Publishing, and
distributed by TENEX (USA).
I found this one to be somewhat harder going, and there are a few errors. One
sample program runs to almost 400 lines! A suitable companion to the Dow book,
and it will take you a little farther into the mysterious depths of your
The Molesworth book is available in pdf format from whtech.com and also in a zip file from TI Books
From the same publisher and distributor comes PROGRAMS FOR THE TI HOME COMPUTER (74 meg zip file from whtech.com) by Steve Davis (no no. not the snooker player). This large A4 book runs to 125 pages. and
includes programs of a somewhat higher standard than is usually found in books
of this nature. There are even programs requiring speech, 32k ram, or disk, but
they have been written so that most owners will be able to find something in
every program. Also available as a 15MB zip file from TI Books
The programs fall into the usual collection categories. with many utilities
such as 'personal banking' or 'metric converter'. but how about 'talking
calculator'? There is a huge adventure for those with disk and 32k ram.
Bigger characters? Better lower case set? All there.
The above two books are available direct from the USA from_
Tenex Computer Marketing Systems
The airmail postage is about $10 per book. The program book is $15 and the
assembly book $17. plus post.
It does look as though the expensive 99er Magazine is ending its usefulness to
us. No December issue. and rumours reach me of planned irregular publication,
and the addition of Atari and Commodore machines in future. The big TI
advertisers are leaving it.
Enthusiast 99 from the International User Group looks even better value under
the circumstances. The AIRMAIL sub is US$22 (must be in US funds on a US bank)
Home Computing Weekly continues to support us... have YOU sent them a program
In the last issue I mentioned some of the reasons you nay NOT have a reply from
a mail order fire. Remembering that my adverts all ask for an SAE. I have
received no less than 30 requests without SAE's (including SAEs without the
stamp!) and yet another SAE with a completely useless franked impression (from
a firm of Chartered Accountants .... ). Do take care when using Mail Order!!!
And yes. letters without return addresses still arrive.
NB: There will be an additional little rambler around MAY, letters and orders
around this time nay be subject to short delay, apologies in advance.
BEGIN TO PROGRAM
In this article I have outlined the development of a subroutine to simulate a
DISPLAY AT function in TI BASIC.
Due to restriction of space I have included just some of the stages in
development and trust that you will be able to fill in the omissions from the
the object of the subroutine is to display the characters that go to make up a
message upon the screen running from left to right starting at a given
Consider the above definition, does it do all that we require? Should it not
include the fact that the message is likely to be of a varying length? Further,
consider what would happen if the message was more than one line long or did
not start at the beginning of a line and was longer than the number of spaces
At this point the definition is rewritten with the above considerations and
then the thought process is repeated. The processes of think, rewrite, think,
rewrite ... is continued until at the thought stage it is possible to say "I
believe that I have covered all eventualities"
At this point the following Program Map was drawn up
From the above Program map it can be seen that there is not a nice even and
logical flow. The thought processes were invoked and the map was redrawn
several times until the following more logical map was derived.
The above started out as a Program Map and has evolved as it has been
rewritten into a Flow Chart. This is usually the case, a program evolves as it
is written which is the main reason for not writing with the computer on, as
changes are simpler at the beginning and when an over view is available.
From the above Flow Chart the following sub program was written.
Main Prog .... set up.
300 ROW= row at which display to start
310 COL= column at which display to start
320 MSG$= "your message"
rest of your program
4020 FOR J=1 TO LEN(MSG$)
4030 CALL HCHAR(ROWA,COLA,AS
4050 IF COLA<25 THEN 4100
4080 IF ROWA<25 THEN 4100
4100 NEXT J
Lines 4000,4010 are there to protect the value of ROW and COL so that if it is
required to display another message at the same location it is not necessary to
reassign their values.
Line 4050 tests for right hand edge, reducing this value will increase the
Line 4060 set the start column for the next line, increasing this value
increases the right margin.
Lines 4080 and 4090 have the same effect on the row limits.
IF you make the test and reset values in lines 4060-4090 variables it is
possible with care to create multiple screen "windows" for the display of text.
Do not Forget QGYH. IF you do not know what that means how do you find out?
Answer- 3 hours searching your screen or 3 mins searching your notes.
IF you have any programming queries please write to I.P.Godman C/o Christine