TI-Lines was published from Oxford by Peter Brooks (as Oxon TI Users), for British users of the Texas Instruments TI-99/4A Home Computer. This is issue 8, cover dated November 1st 1984.
Editorial
TI-Lines + TI-Lines = Confusion
The other day while wearing my Safety Officer's hat at the hospital where I work, I was interrupted by a
phone call. My boss' secretary came through and asked me if I was the organizer of the Oxon TI User
Group. I went into her office expecting to take a call from one of our Merrie Thronge, but no, 'twas a
comely-sounding lass from the British Council. I wasn't sure what exactly they did, but I thought that
maybe she wanted to subscribe to TI-Lines. In fact, she said that the British Council already received
TI-Lines, but that the recipient had left and they wanted to ask the distributor to re-direct the newsletter
to another (i.e., the lass in question). At this I did a double-take. I had no idea that the British Council
received TI-Lines. Was a member of Oxon TI Users working there? No, the British Council had got my
details from TI, from whence the copy of TI-Lines emanated.
Now the only person at TI who has TI-Lines forced upon him is Robert Batts, the ECD Consumer
Relations Manager, so I suggested that she talk to him about re-direction, assuming that he was the
individual who kindly passed TI-Lines on. On further questioning, the young lass claimed that BC received
no less than three copies of TI-Lines.
I was flabbergasted. Er … what exactly did the British Council do? It seems that they are concerned with
promoting British products overseas, a sort of export public relations company.
The young lass promised to come back to me after chatting to Robert Batts, and I, suitably humble and
modest, promptly rushed round all the departments at the hospital dropping names. "Er … did you know
that my computer newsletter is promoted overseas by the British Council ," "What is the British Council?"
"Never mind …"
The lass duly came back to me. Robert Batts hadn't sent her anything at all — he only gets one copy of
TI-Lines, after all. And the label on the envelope which brings TI-Lines says TI International Data
Systems or something. Hmmm.
I promised to look into things. In the meantime, what use did the BC have for the TI-99/4A? Oh, they
didn't have a 4A, whatever that was, no, they had a 990/10 and a 990/12 or something. Bigger hmmm.
That evening, I decide to consult the Oracle. I ring Paul Dicks up, and he can't think why the BC should
be getting TI-Lines. He doesn't send them one (Damn! Bang goes that theory'). Towards the end of the
natter I casually mention that the BC has two 990 minis and that the label on the TI-Lines envelope says
TI International Data Systems or something, and "ding!": A little bell rings at Paul's end.
He suddenly recalls that 990 owners get a free newsletter from TI, and, wait for it, a few months ago they
changed its name from Access or something to … TI-Lines … (sound of cascades of pennies dropping.)
So there we have it. This TI-Lines doesn't go to the British Council after all. What a letdown. I just hope
the folks at work don't ask me how things are going in Europe.
As the last issue of TI-Lines was so late, I decided to put this issue out on time if at all humanly possible,
rather than wait until after the Manchester meeting so that I could report on it. However, as usual, all my
plans came to naught, so once again TI-Lines is going out late. This time, however, it contains a report on
the show, written mostly on the train on the way back.
Home Computing Weekly carried a couple of letters moaning that there are too many letters from angry
TI owners saying how good their 99/4As are and cutting TI to ribbons (or words to that journalistic
license). For my part, I don't think that the 4A is so hot (or the 4 for that matter). Take the 6 Million
Dollar Man, pull his arms and legs off, unscrew his head and put a lump of Play-Doh in its place, and you
have a 99. Any reader hotly disputing this ought to record their opposition on audio tape, then put it in
the attic for two years. During that time they should become conversant with the operation and facilities
(machine code and all) of several of the currently popular micros as well as the 4A. Then they should
retrieve the dusty tape, and see if they still feel so confident about the 4A's abilities.
I've had several complaints from TIHCUC members who cannot seem to get through to the organizers on their phone number. I contacted Paul Dicks and he tried ringing them. He had no trouble getting through
(don't forget, they couldn't have known that he was the one ringing them) and has been told that a
newsletter is in the offing. So also may be a request for more money (they promised 2+ years membership
when they took over), which seems to suggest to my overly-suspicious mind that perhaps some financial
support has been withdrawn since TI left the market.
Ian Godman of Christine Computing has told me that his company has now ceased all development work on TI peripherals and accessories, due to a total lack of interest on the part of the consumer. All existing
lines will be sold on a "demand" basis, and they have ceased advertising.
This is becoming a familiar story as companies marketing third-party TI material find it increasingly
difficult to make any headway at all. If TI owners want new and increasingly sophisticated games and
utilities, they must realize that large amounts of time and money must be spent in order to satisfy such
demands. No company can afford to invest large quantities of its capital and expertise in developing
something which, it turns out, few people want to buy, and sell it at a bargain-basement price. (Only the
pirates can do that).
I feel that part of the problem may derive from the luckless TI owner making a direct comparison by price
and facility between the 4A and say a Sinclair Spectrum, without realizing that to an extent the
comparison is unfair. It's not all one-sided though, and TI must shoulder some responsibility for having
produced a computer which you can drive a tank over and which can be connected to some of the world's
largest mainframes with relative ease (provided you have the money!) but which, when all is said and done,
has been sold to Europeans as if they were well-paid Americans (a subject on which I can hold forth for
hours).
I know that Ian has ensured that his bow has several strings, so the demise of his TI developments will
not destroy his company, but there are some companies who have pinned all their hopes on the TI. We
must hope that some of them manage to weather the piracy, the indifference, and the lack of help from
Lubbock.
Ahem. I recently played around with a set of TI joysticks which came my way (I don't possess a set of my
own), and began preparing my routines for the article on joysticks (see later). However, I immediately ran
into problems, for the units would not function correctly. I could not get CALL JOYST() to register values
for all positions, and I resorted to dismantling one of the units to check its inner workings. Do stop me if
you have heard this before.
After half an hour of prodding and probing, my eyes eventually came to rest on the ALPHA LOCK key,
which was down … Well, I'm only human, after all, cough, cough …
As if to add insult to injury, I recently re-discovered the use of CALL KEY(). What's this ?, you cry, more
ineptitude? Many moons ago, in a copy of Tidings I believe, Stephen Shaw reported that it was possible
to avoid the problem of upper and pseudo-lower case when scanning the keyboard. All you need to do is
to insert a "dummy" CALL KEY() command somewhere at the beginning of the program, but using
key-unit 3. This is the one which "maps the keyboard into 99/4 mode". Just place this statement at the
beginning somewhere:
CALL KEY(3,X,X)
where X is not important — any variable name will do, because you aren't going to do anything with it.
If you subsequently have an INPUT, you'll find that the position of the ALPHA LOCK key is irrelevant,
as all keys return upper case characters only (i.e. A to Z). If I remember rightly, recently Stephen pointed
out that this could be a good way of avoiding similar problems when using CALL JOYST(), as a dummy
CALL KEY(3,...) will automatically discount the ALPHA LOCK key position. Whether this is the case or
whether I'm remembering wrongly, I don't know. Anyone who has joysticks might care to check it out (or
maybe Stephen will bend my ear one evening and put me right).
Enhanced Basic
CALL P
[For the uninitiated- Enhanced Basic refers to the modified TI Basic that is available to you when you plug in the Personal Record Keeping Module but select TI Basic. This also seems to work with most emulators.]
CALL P() — THE PREP SUBPROGRAM
CALLs A and D form the easy part of Enhanced Basic. We move into murky waters with CALL P(),
and I have to warn you that they will become murkier still during the next few months. You will also
come across some new error messages — ILLEGAL CALL for one — upon which to exercise your
debugging skills (an article on Debugging should appear in TI-Lines in the New Year).
In this episode we will examine the function and use of CALL P(), the PREP subprogram. PREP is
presumably short for PREPARATION, and performs something called partitioning. The process
essentially involves persuading the computer that it doesn't have quite as much memory as it thought
it had.
Put simply, CALL P() tells the computer that it no longer has 16K RAM free, but, say, 10K. The
remaining 6K — which the machine doesn't realize is still there — can then be used by you.
On other computers you have tighter control over this aspect. On those you can store data, character
definitions, machine code routines, or even another Basic program in the "hidden" area. You can then
use the 10K which the machine does know about, to write your Basic program which will make use
of the data stored in the "cordoned-off" 6K.
On our 99s, CALL P() tells the computer how much memory is available to TI Basic. The remaining
memory is then available for one use, and one use only, and that is as a data file (i.e., what PRK and
Statistics are intended to create and manipulate).
CALL P() can only be used when there is no Basic program in memory. Presumably this ensures that
any existing Basic program will not be interfered with by its execution. In turn this means that
CALL P() cannot be used within a program.
CALL P() is therefore entered in Immediate Mode.
It must then be followed by NEW, in order to make the computer put into effect the changes in the
allocation of memory. Although information is hard to come by, certain events can be assumed to
occur. It seems that when NEW is used, the computer checks one or more memory locations, and the
contents of those locations dictate how much memory is available to TI Basic. Normally the values at
these locations are set by a built-in program when the computer enters TI Basic from the Master
Selection List. However, CALL P() alters those contents, so that NEW will then alter the limits of TI
Basic's memory.
Once the partitioned area of memory has been created, NEW will have no further effect on it, nor will
TI Basic programs write over it. Also, errors in any program which cause the program to stop, will not
affect the partitioned area either. This means that a set of data put into this partitioned area can be
used by one or more Basic programs, which can be OLDed into memory, run, and replaced by further
programs, all without disrupting the stored data. This is in direct contrast to the effect of editing
programs, or OLDing programs, on the contents of any variables, with which you will probably by now
be familiar.
OK, you say, I think I followed all that, but what use is this cordoned-off memory? TI Basic doesn't
have PEEK or POKE, so what now?
The answer is: CALLs G, H, L, and S
These are used to create, access, and transfer data to and from peripherals and the partitioned
memory.
How can we see CALL P() at work, then? With CALLs A and D it was easy to give examples of them
at work, but how do we tell if CALL P() has actually set aside an area of memory?
The answer is fairly simple. There is a method, detailed in an earlier issue of TI-Lines, whereby you
can measure approximate memory use in TI Basic.
Select TI BASIC from the Master Selection List. Enter this two-line program and run it:
1 A=A+8
2 GOSUB 1
When the computer stops with a MEMORY FULL IN nnn error, type:
PRINT A ENTER
The number printed on the screen is a good approximation to the amount of free memory.
Insert either a PRK or Statistics module into the machine, and go through the Master Selection List
into TI Basic again.
This time, type:
CALL P(10000) ENTER
NEW ENTER
Then type in the two-liner again and run it. PRINT the contents of A when the program stops, and
notice the difference: a sizable chunk of memory has "gone missing" as described above. Experiment
and see what is the largest value accepted by CALL P() — your module manuals should give you some
hints.
Next issue we'll examine the general uses of the remaining subprograms, and then begin looking at each
one in detail.
Manchester Meeting
05:30. Groan. Death, please … Went to bed about 2:00A after seeing Animal House and having mammoth
joke-telling session with fellow inmates. Yawn. Stomach muscles still hurt. Brain always hurts.
05:45. Stagger into door. Switch light on. Help! Gone blind! Take door handle out of eye. Brisk wash.
Measure bald bit for signs of erosion. Slap on Make-ee Hair-ee aftershave. Comb toothpaste out of
moustache. Smile into mirror. Feel sick. Put teeth in. Try again. Better. But not much.
06:00. Munch favorite cereal. Looks like bowlful of moustache. Ouch! Just ate half moustache. Glue
handful of All-Bran on to upper lip. No-one will notice. Comb sugar out of ersatz moustache.
06:35. Standing outside house wearing suede coat, blue jeans, and genuine plastic Rumanian cowboy
Wellies waiting for taxi. Raining, windy, and cold. Lots of brass monkeys looking for welders today.
06:55. Oxford Rail Station. Ticket office charge me £1.30 less than quoted over phone yesterday. Don't
argue. Sit on platform. Change mind. Sit on seat instead. Amazing how many people about at 7 in
morning. British Rail staff play "mow-down-passengers-with-yellow-trolley".
07:05. Away we go. No heating in carriage. Probably new public relations exercise. Make travelers glad
to pay fare increase in hope of getting heating back on.
09:45. Delayed. Rain got into signals. Watch workmen laying fresh cable. Off again.
11:00. Should have been in Manchester quarter of an hour ago.
People say Manchester always raining. Been raining steadily since Oxford at 5:30A. Manchester rain is
warmer. Be thankful for small mercies. Buy local map. Locate street on map. Start walking. Rain ricochets
off bald bit. Car drivers very considerate, do not drive through small puddles and splash self. No, drive
through big puddles instead. Car pulls up. Passenger asks where Ritz. Brooks Computer Brain does 2+2.
Gives secret password: "99 Users' Meeting?" Occupants rashly invite self in. Introductions all round.
"You're Pete Brooks ?" So embarrassed I forget everyone's name. Bad mark, Brooks. Can't thank them for
kind lift. Get into deep conversation about Pascal. Out of my depth. Richard Blanden where are you?
Find Ritz and park. Hop out, swim together to main entrance. Young lady on kiosk. I know that voice.
Audrey Scally. Keep quiet, hide grin in scruffy beard filled with All-Bran. Show Exchange membership
card. Small explosion from inside kiosk. Embarrassed again. Audrey collars luckless visitor who has
misfortune to be openly carrying book by self. I deface book under pretext of signing it. Daren't admit it
took 3 minutes to remember own name. Walk inside.
Amazed at large numbers of people clustered 7 deep around stands on dance floor. Look around for
familiar faces. See none. Walk round to Stainless' stand. See Stephen's arms as blur of movement. Take
around 5 minutes to catch his eye, then tell him I'll catch him later when he's less busy.
From then on, total confusion. Begin meeting people, trying to put faces to voices and names and
remember who's who. Every time my name given in introduction, chap being introduced is swamped by
50 hands also saying "hello". Total embarrassment. End up leaning against a trestle table for support.
Gradually numbers of people asking questions increases. Crowds still building up. Eventually someone
points out that because self is leaning against wrong side of trestle table, folks think self is there in official
capacity. Award self Nit of Month First Prize. Edge out from behind trestle table.
Grab pint of shandy (alcoholic') while nattering to Gary Harding. Soon realize standing in large pool of
water. Discover rain is leaking up through floorboards. Neat trick that. In Oxford, rain just come through 'ceiling. 10 gallons in one go.
Grab hi-tech grub (got chips in it). Time out.
Pandemonium Part II. Meet more people, deface another copy of book. See some fascinating gadgets
e.g. Super Sketch. Not enough time to see everyone, or to talk to everyone.
17:00 comes all too soon.
Remember to dash round to Howard Greenberg's stand to buy MBX system, partly to see if can be used
by disabled, and to grab couple of books for reference. Manage to say hello to Clive Scally, and to overshoot
17:00 deadline. Activity even more frenetic at end (no comments). Finally stagger out into cold dark wet
windy evening. Make way uncertainly in direction of Piccadilly. Sudden squall of wind heaves self across
pavement and into tree. Wind also frightens hidden bird in tree. Equation is Bird Fright = Loose Bowels.
Not mine. Stagger on to station with adorned coat.
Station packed with police, Manchester United going shopping.
19:06. Train pulls out. Begin writing this. After few minutes, march up and down train looking for Jan
Nijman — arranged to meet him on train. Can't find him. Panic. Wrong train? Nope. Ah, well. Go back
to writing and admiring legs on girl sat opposite.
Girl looks like dragged through hedge backwards, hair touching carriage roof. Doze.
23:45. Get back home. Nobody else about. Immediately plug in kettle, 4A, and MBX. Spend two hours
blowing raspberries into microphone trying to play Championship Baseball. All players refuse to give ball
to pitcher when asked. Clear throat. Pitcher gets ball. Laugh. Pitcher promptly chucks ball away. Suppress
laughter. Players pick up ball and chuck it about. Cannot control laughter. Chaos on field. God knows what
neighbors are thinking. Spend five minutes quacking, clucking, playing rubber lips, and watching worst
behavior on pitch in League history.
02:50. Retire to bed. Sleep for 14 hours. Great. Must do this again sometime. How about next week?
End of issue 8
[ TI Book front page |
TI Resources Page
| PC99 Review
| PC99 Programs
]