Owning a TI-99/4A and having an enquiring mind, I often feel as though each time I sit at the console it's
as if I'm walking down a long corridor. Each time I do so, I notice doors which I haven't noticed before.
Sometimes they open easily, sometimes not. Sometimes another 99er opens one or two for me. Usually
the rooms beyond them are in darkness, and occasionally I can find the light switch all by myself! More
often than not the rooms seem to be almost empty cupboards rather than rooms, but there have been
times when I've stumbled into new and exciting 'other worlds.
Even after four years, it is no exaggeration to say that I find something new every time I spend a couple
of hours "playing" with my computer. My biggest problem is time. I have so little of it and there is so much
to do. I have a filing cabinet filled with half-cooked, half-baked, or half-finished projects which at the
present rate will never see the light of day. I'm going to be throwing some of them into TI-Lines as
"starters" for anyone who fancies their chances and would like to play detective.
Warning: Once you start you'll never be able to stop. No kidding.
In most cases you'll be receiving the equivalent of a torn piece of printed paper. Your tack will be to find
the book from which it comes, and experienced 99ers stand only a marginally better chance of success than
I've started the ball rolling in the general direction with the CTRL and FCTN Key articles. Although the
title may have changed, "Uncovering Undocumented Subprograms" follows on from that series, dragging
you deeper into the quagmire associated with the TI operating system. It will move on to examine
Enhanced Basic — the Basic you get through either Personal Record Keeping or Statistics modules — thus
hopefully tying up all the loose ends. You, too, can become a "Terminal Junkie".
I understand that ASDA are selling Atarisoft modules for the TI at an incredible GBP 8.95 a throw. There
are three titles at the moment with more apparently on the way. If one of those is the fabled Pole Position
I will be at the head of the queue. This information came from Mick Sayers, secretary of the Derby User
Those who are members of TI-99/4A Exchange and receive its quarterly publication, TI*MES, will have
noticed that items from TI-Lines are appearing in its pages. I write a small section for Clive Scally, a
milder Babble than before, and I also send him 'copy masters' of TI-Lines, so if Clive decides to publish
anything that you have written, you'll become rich and famous overnight — well, famous, anyway.
I never realized quite how educational computing can be. I've learned that my bank charges for converting Irish pounds into English ones. This does not make overseas subscriptions financially
attractive to the overseas subscriber, unless I can find a simple way round it. I have considered opening
accounts in any country where a subscription request occurs, and therefore avoiding the necessity for
currency conversion. I then have an account in a country which may produce items that I would wish to
buy, and again I would be able to do so without bothering about currency conversion. If anyone has any
thoughts on this, I'd appreciate some help.
I don't fancy having to charge more than a third over the top for such a subscription and I doubt if
subscribers would be happy to pay it either.
It is beginning to look as though modem and network are set to be two of the most used "buzz words" for
99ers during the next year or so. More and more interest is being shown in telecommunications, and even
I might try to get in on the act later this year, although the cost could be rather prohibitive. I understand
that British Telecom (BT) are examining the possibility of a cheap high-speed data link for hobbyists and
small businesses, which could be very interesting. Alan Davey has discovered that his Minor Miracles
Modem is not BT-approved, so he has exchanged lt for one that is, although I understand that the cost has
now topped the GBP 200 mark.
It seems also that the Maplin Modem is not BT-approved because lt is built from a kit; BT don't trust the kit-builders. One source tells me that the main reason for BT's reluctance
to allow modems to be connected to the phone system is the fact that some clot with a home-brewed
system and no sense (who, me?) might wire the mains into his phone line, thus damaging just about every
open exchange and appliance in the network. Another source modifies this and says that any damage
should be very isolated due to isolating transformers and the like, but even so any damage is to be avoided.
Either way, home-built modems are never likely to be approved by BT, so lt looks as though most of us
will have to hand over the couple of tons of folding stuff for a commercially-built, BT-approved, product.
Two 99ers are now "modemized" and telecommunicating away — Ian Martin of Timeless Software in
Glasgow, and Howard Greenberg of Arcade Hardware. Ian has been telling me of his nightly ventures into
the labyrinths of Essex University's computers after midnight, when an adventure game gets under way
(the Dungeons and Dragons type), and 30-odd individuals with Nordic-sounding pseudonyms go roaming
around in search of fair maidens and probably unfair dragons. If you want to chat to Ian's 99, you can set
up the contact through me, and the same applies to Alan Davey and possibly Mick Sayers.
I'd like to make one point about the CTRL and FCTN Key articles: They are discussing TI Basic, not
Extended Basic. One TI*MES reader rang me to query the fact that his machine didn't do anything with
the "HELLO MA" example, and lt transpired that he was using Extended Basic. The differences are too
complex to go into here, but essentially TI Basic and Extended Basic use the on-board memory differently.
I have been made aware of an excellent publication from America called The Smart Programmer 19,
produced by Millers Graphics. It's a newsletter from a chap called Craig Miller, and you can subscribe
through Ian Martin of Timeless Software, 3 Bridgend, Fauldhouse, West Lothian. The cost is GBP 17 for a
year's subscription (checks to Timeless Software) and each copy is packed with information. Some
members have requested information on system variables, memory maps, and so on. You'll find it under
discussion in The Smart Programmer. So far, February, March, and April issues look very promising. I
can recommend it.
I have been looking further into speech, and, armed with a wealth of fresh data I am able to put the speech
series here into perspective. I have only been scratching at the surface of the subject, and I envisage many
more articles to come on this subject, for those who are interested. Other subjects are sitting on the
horizon, just waiting for me to find the time to write about them.
Don't forget, if you find something incomprehensible in TI-Lines, drop me a line telling me exactly what
it is that you've had difficulty over, and I'll do my best to give you another explanation. Any criticisms at
all, constructive or otherwise (bearing in mind the wide audience for which I try and write) are genuinely
I think that this editorial has gone on long enough. Let's get down to business.
Program storage by Jan Knapen
TI Basic stores the program in VDP RAM. It is stored in two sections. The first section contains the line
numbers, in this form (4 bytes):
Hexadecimal line number
RAM address of that line
The program lines are stored in this form:
Byte count of line 1ength
Tokens, characters and numbers representing the Basic statement
Closed by CHR$(0)
I will give a short program and the way it is stored in VDP RAM.
100 REM EXAMPLE
This trivial program is stored as follows, starting at VDP RAM address >37A0:
110 PRINT "EXAMPLE"
120 PRINT 12345
130 GOTO 110
First the Line Number Table with the RAM addresses:
>37A0 00 82 37 B1
>37A4 00 78 37 B7
>37A8 00 6E 37 C1
>37AC 00 64 37 CD
followed by the program space:
>37B0 05 86 C9 00 6E 00 (line 130)
>37B6 09 9C C8 05 31 32 33 34 35 00
>37C0 0B 9C C7 07 45 58 41 4D 50 4C 45 00
>37CC 0B 9A 20 45 58 41 4D 50 4C 45 20 00
In Extended Basic the storage is exactly the same, as long as there is no memory expansion. With the word
MERGE used with SAVE, the program is changed in a file. Each record begins with the line number,
followed by the line; the two sections are merged to one. An interesting side effect of this is that the lines
are set in the right order.
Normally the line numbers are stored in order of magnitude and the lines are
stored in order of entering or editing. If you edit the first line of a program, all the lines are replaced in
the memory and the edited first line is placed at the beginning of the program space. If you want to set the
lines in descending order, you have to enter them in the right order. or edit them in that order, or use
SAVE … MERGE. After MERGE DSK1.PROGRAM the lines are in the right order.
If there is Memory Expansion, the Extended Basic program is no longer stored in VDP RAM but in High
Memory of the Memory Expansion unit. The program space ends at address >FFE7. The beginning of the
Line Number Table is pointed to by address >8330, and the end by address >8332. With CALL PEEK
these addresses are -31952 and -31950. The end of the program space is at address -25.
You can also change the program without using EDIT mode: Using the Editor/Assembler module, you can
use CALL POKEV; with Extended Basic and Memory Expansion you can use CALL LOAD. You can also
change the program if you have saved it with MERGE and it is stored in a DIS/VAR 163 file. This is a
method to store unprintable characters in a program, for example the lower-case characters with the 99/4,
and the characters above 198 for the 99/4A.
To look at your program with the Editor/Assembler module, you can use the debugger and look around
in VDP RAM below address >37D7. With XB and Memory Expansion, you can use the multi-statement
FOR I=-200 TO -25 :: CALL PEEK(I,A):: PRINT I;A;CHR$(A):: NEXT I
whereby you have to adjust the number 200 to the length of the program.