[ Go to Stephen's Entry Page ]

[ TI Book front page   |   TI99/4a Articles to read   |   TI Resources Page |   PC99 Review   |   PC99 Programs   |   TI Lines 6 ]
contact - please use subject="pc99 page" to avoid spam trap!

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   ]