Go to TI pages: TI Book front page   |    TI Articles |    TI Resources Page    |   PC99 Review |   PC99 Programs
More of this magazine: Part 1   |   Part 2   |    Part 4   |   Part 5


TIHOME Tidings Volume 3, Number 1. March 21, 1983 Part 3


Jump to: Differences between TI-99/4 and 99/4a
Saving data (not programs) to cassette ||   Using sprites in TI Basic with MiniMemory
Review of Mindstorms by Seymour Papert ||   Review of Cubic Circular, a Rubiks Cube mag
Storing data (not programs) in the MiniMemory ||   A program that writes itself (for MiniMemory) ||   The TI99/2 and the CC-40


Games People Play
I don't know about you but I am not much good at the fast-reaction games (Invaders, Munchman, etc.) It must be Anno Domini setting in. However, both my wife and son are becoming reasonably adept at these games and clocking up quite impressive scores (compared to the published scores in 99'er and elsewhere).

The trick appears to be to get used to the KEYS as quickly as possible and not use JOYSTICKS which are much too slow reacting for genuine afficionados. Favorite at the moment is Tombstone City, closely followed by Munchman and a new game from 99'er Magazine called Battlestar which runs in Extended Basic. This game is remarkably simple in its concept, but, with one or two improvements, it becomes quite a challenging and frustrating game.

NUM and RES
I can never understand what makes people publish programs with odd line numbering - evidence of last-minute alterations or de-bugging, especially on the 99/4. It is so easy to just press RES when you have finished editing (assuming you remember to change any REM Statements containing references to line numbers).

This means that the published listing will start at Line 100 and be numbered in 10s (as if you didn't know!) and, of course, it is much easier to type in the program using the NUM command which numbers lines from 100 at intervals of 10. This may all sound like kids stuff to most of you but I assure you that not only are such listings appearing in the magazines but there are quite a few members who didn't know of either the RESequence or the NUMber Statements.

Getting Into Print 2
I recently realized that one of the reasons why so few 99/ 4 programs appear in the Micro Press may be due to the insistence of magazines (at least the better ones) on Computer Generated Listings. Now unless you have a printer (and I suspect that not many members have) this could be difficult to manage so I am making the offer that I will produce a printout (from CASSETTE only I'm afraid - I don't have disks) for any member for the nominal sum of GBP 1. 50 (including return postage of both cassette and listing). Let's hope that this might help someone to get into print.

Unconnected Dots
Congrats to Stephen on being the first to have TWO 99/ 4 programs in the SAME issue of a magazine. I like Pete Brooks' run-down of the magazines in the last Tidings - watch out for some more programs in the magazines - still not sure whether I like the 4A - working on some SPEECH progs using the Terminal Emulator II - heard a rumor that Texas have a NEW MICRO about ready for launch (at about GBP 70!!!, but don't know how true this is - ARGOS are now listing the 99/ 4A at GBP 149 in their catalog. Don't say that the GBP 50 off offer has been consolidated into a genuine price reduction . . . surprise, surprise.

The Caps/ Lower Case Swop
You owners of a 99/ 4A don't know how lucky you are when it comes to the printed word. Let me explain. First, I have a 99/ 4 (without the 'A') which means that I only have one set of alpha characters to play with, so to speak, Capitals. Now, as you know, the 4A boasts another (small cap) set available on the SHIFT key.

Stop Press - Parsec Will Not Run On a 99/ 4!


Rambles

by Stephen Shaw
Welcome to another edition of Rambles. You have a lot of topics to consider this month - something for everyone.

The good news is I now have a 99/ 4A - 2nd hand, from a dissatisfied owner who got fed up waiting for the RS232 interface to appear, and moved up to a BBC with which he is very happy. Having both a 99/ 4 and a 99/ 4A I can see a lot of differences not yet made public - so as our first item, especially for members from the early days with 99/ 4's, here we go . . .

99/ 4 and 99/4A Apart from the obviously different keyboard there are other not obvious changes. The keyboard change means that for programs to run on BOTH consoles, when using the split keyboard (CALL KEY 1 and 2) you cannot use keys which return the codes 13, 16, and 17. When using a split keyboard on the "A" the key value 0 (zero) does NOT equate to zero - you must use indirect means such as IF A+ 1 = 1.

Now - non obvious: The 99/ 4A has a different character set - not only are small characters made available (with some clever internal routines) but the big letters are BIGGER by one pixel. The result: A fairly crowded screen AND - if you are fortunate and have a thermal printer - printer TP. U. S. E. (screen dump) does NOT work. (It works, but badly, with no space between letters, vertically).

Mike O'Regan's recent list of character codes was for the 99/ 4 - a list for the 4A follows later. The luminance of the various colors is different on the 4A - there are especially large changes in Dark Yellow (much lighter on the 4A) and Light Red and Dark Green (both much darker on the 4A). Thus color combinations which look good on a 99/ 4 may not look so good on a 4A. (and vice versa) and probably there are different colors on US NTSC consoles too . . .

The 4A is slightly less likely to crash through static corruption, and seems better able to handle the modules - but crashes due to non-communication with a module are not unknown. (To correct, switch off. Remove module. Switch on (except Mini Mem!) and insert module. For Mini Mem, insert module THEN switch on and keep trying . . .

Cassettes and Cassette Players Two complaints to hand. Several regarding the Sanyo Slim Line which seems to be a bit variable. The Boots 225 is not a good buy, although if you can find it the Boots 325 is the best buy. [Boots is an English drugstore chain.] Cassette players without tone controls are a headache, but finding a player WITH a tone control is getting harder as there is a move now for audio use to micro cassettes. The use of audio cassette players for computers may not last many more years.

One nationwide chain is charging over a pound for a C12 cassette for computer use. DO NOT BUY. You can purchase very good C12 or C15 cassettes from W. H. Smith for 50p - there is no reason to pay over 60p. However be suspicious of much cheaper tapes: computers do need good quality tape.

Sales News
Here in the North West there was hardly any stock of Consoles from early December. From a small consignment arriving in the UK Mid-December, only two dealers out of 19 received anything - and one of them only received 4 consoles.

Next delivery appears to be February. That's a very large number of potential sales lost to the [Sinclair] Spectrum or the BBC [computer], which both appeared to maintain deliveries.

Atari and VIC both in very short supply before Christmas. Cassette cables continue to be worth their weight in gold. Why don't TI pack a set with every console? The 99/ 4A Manual is much emasculated. From having the BEST manuals TI (moving towards a less sophisticated market) have downgraded the manual. No longer is there a Beginners Basic. This is partly incorporated into the only manual. No proper index is to be found. Lots of useful information has been discarded.

Note to 99/4A Owners
Both 99/4A manuals (original and short-form) are in error (at least, misleading) in the section on SAVING DATA IN TI BASIC. This refers ONLY to saving PROGRAMS. To save DATA as such, see the command OPEN. When you wish to save DATA to tape (or disk) you must open a FILE, and the data is saved in records - on tape the OPEN command will run some blank tape on, and each PRINT to the open file will record a short section of tape. By recording in sections like this, a great deal of time is taken up with the pilot tone every time. Also the only way to VERIFY tape data is to load it - unlike PROGRAM data there is no verify option (but see Tidings Aug 82, page 42 for a VERIFY option available with the PRK and Statistics modules in TI BASIC.)

Saving Data to Tape
You must open a file to tape - the following format is recommended as a start. When the program executes the OPEN command, a blank header will be written to the tape - e. g. the computer will move the tape a predetermined distance, with nothing on it.

To load data from tape:
OPEN #1 :" CS1", INPUT, INTERNAL, FIXED

To save data to tape:
OPEN #1:" CS1", OUTPUT, INTERNAL, FIXED

Thus, having opened the file, you have to use it - if you have opened an OUTPUT file, to save data, you save it with a modified PRINT command:

PRINT #1: VARIABLE (or value) 

CLOSE the file when you no longer need it with CLOSE #1 If you have opened a file to READ data from tape, you use a modified INPUT command:

INPUT #1: VARIABLE 

Do not forget to close the file when you no longer need it. After you have saved data to tape, you must rewind the tape, and then when you OPEN the input file the data will be where it should be on the tape.

Variations
The above is a gross simplification. For each record on the file the VARIABLE you input must be in the same form as the variable you have printed - e. g. if you have printed a string variable you must input a string variable. If you have printed more than one variable, e. g.

PRINT #1: A, B, C, D 

you must input this record in this form - e. g. in this case 4 numeric variables:

INPUT #1: A, B, C, D 

The length of the record when files are opened as above is 64 bytes - a NUMBER takes up 9 bytes (whether it is 1 or 12345) and a STRING takes up one more byte than the string has characters. Thus if you PRINT four numbers to one record, you have used 36 bytes of the available 64. If you need longer records this is possible. You may add to the OPEN definition a number after the word FIXED - either 128 or 192.

If you use any other number, the computer will use the next largest available number (64,128, or 192). You can use DISPLAY type files - but don't worry about those yet - that can come later! Note that you cannot use tape files unless you have a working remote control. The FILE NUMBER 1 has been used in the examples, but you can use any number up to 255. You may only INPUT or PRINT from/ to a file which is actually open. For simplicity only keep one file open at a time.

Definitions
FILE: Think of this as a box - you need to open it to put data in or get it out. A file is opened with the key command OPEN, and the combination lock is the FILE DEFINITION which tells the computer either how to store the information, or how it is stored.

RECORD: Think of each PRINT to a file as comprising a single record. A record may contain more than one value - but you must INPUT the correct TYPE of value and the correct NUMBER of values, or an error message will occur.

You CANNOT verify data in normal TI BASIC except by reading it in the usual manner. Storing data on tape takes time and can take a long time, as each record is recorded twice AND preceded by a pilot tone.

The PRK, Statistics, and certain other modules, store data on tape in PROGRAM format - which takes less time and can be verified. To do this in TI BASIC you must have the PRK or Statistics modules and use the procedures detailed in Tidings of August 1982.

RIP OFF 1: We have heard of one dealer who sold a DEMONSTRATION 99/ 4A at FULL PRICE. The purchaser was informed, but still has received a pretty bad deal. DEMO consoles take a fair beating.

RIP OFF 2: My US$ 18 to the International Home Computer Users as has so far resulted in ONE 8 page newsletter. Hmmmmm.

BOUQUET: Received the November newsletter from the International 99/ 4 Users Group (Oklahoma) - nice. More details below. . .

If you have the Mini Mem and want to see a sprite - try this: it's from the Nov. 99/ 4 User Group newsletter.

100 CALL CLEAR 
110 CALL PEEKV( 768,98,128,161,1,208) 
120 CALL POKEV( 1920,50,50) 
130 CALL LOAD(-31878,1) 
140 GOTO 140 

After use you may need to key in, in command mode, CALL LOAD(-31878,0) then ENTER.

Extracts
International 99/ 4 Users-Group NEWSLETTER November 15th 1982. (Subscription: US$ 12 p. a.) (P. O. Box 67, Bethany, OK, USA, 73008. US FUNDS ONLY: STERLING NOT ACCEPTED) points out that Extended Basic will permit RUN "CS1 ". Gives short programs to read TE2 data in Extended Basic, and to right-justify numbers. Has an interesting article on Assembly language (there ARE errors in both the article and listings, but they are still of interest). Shows how to use a SPRITE in TI BASIC using the Mini Memory module - see above for listing.

In detail:
Line 110 - starting at VDP memory address 768, puts 5 values in:
98= pixel row
128= pixel column
161= character (ASCII code plus 96)
1= color code plus 1
208= end marker/ binary switches etc. etc.
Line 120 - puts in the velocities for the sprite in memory location 1920 and 1921.
Line 130 enables ONE sprite to move.
Note that the memory location amended by line 120 is in the stack area, and if there is any use of stack in your program, you can't do this, 'cos the location changes - and strange things happen . . . However, if you are satisfied with a non-moving sprite (and they are useful!) then all you need is line 110.

Here are a couple of extra programs for you to try (if you experiment yourself, please DON'T ask me why what happens happens - at the moment it's strictly by experiment!).

Extra programs for MMM in TI BASIC:

100 CALL CLEAR 
110 MEM= 768 
120 FOR I= 0 TO 15 
130 CALL POKEV( MEM+ 1* 4,20+ I* 3, 
140-I* 9,161+ I, I) 
140 NEXT I 
150 CALL POKEV( 832,208) 
160 G0T0160 

100 CALL CLEAR 
110 FOR T= 1 to 150 
120 CALL POKEV( 768,30+ T, 
40+ T/ 2,161+ T/ 12,( T/ 1)/ 10+ 1, 
208) 
130 NEXT T 
140 GOTO 100 

100 CALL CLEAR 
110 MEM= 768 
120 FOR I= 0 to 15 
   Note the different results 
130 CALL POKEV(MEM+I*4,40+I,
40+I*9,161+I,15) 
140 NEXT I 
150 CALL POKEV(832,208) 
160 G0T0160 

News that Disk Manager 2 is coming (for double-sided disks), also Forth (format unknown). A possible extra is a Disk Manager for double-density disks. (Disk Manager 3?)

PARSEC requires the speech synthesizer for speech, and again it won't work on a 99/ 4. Watch out for this game!

99'er Magazine
Although we hope that by now TIHOME has brought you good news about 99'er Magazine for 1983, you may not find it easy to find the first of the monthly copies - November 1982. Back issues are available from the publisher as follows: Funds must be in US Dollars on the USA (buy a draft from your bank - Barclays can issue a cheap International Money Order on the spot (about -1 charge).

Vol. 1, Issue 1 is out of print. Also, 2, 3, 4 and 5! Vol 1, Issue 6, and Nov. 82 and Dec. 82 are available for US$ 5.50 by surface mail or US$ 7.50 by airmail. (Prices are PER ISSUE). Write: 99'er Magazine, P. O. Box nnnn, Eeeeene, OR, 97405. Allow 6 weeks for processing.

NOVEMBER 82 issue - Discussion of 99/ 4A Languages. Overview of Extended Basic. An Assembly language program to dump screen contents to the TI 80-co1 printer. Introduction to the p-Code Card. New language - ASPIC, listing. 3 simple games listings.

TI Logo
TI helped in the development of Logo - not strictly a language, rather a philosophy. Not surprisingly they had the first available Logo, and not surprisingly it was imperfect. Hence Logo 2. Coming soon at the same price. Much improved. Logo 2 could be delayed though -as it was announced, several bugs were found in Logo which had not been corrected in Logo 2.

It may be subject to a re-write - or be issued with the bugs. The story of Logo is told by its inventor Seymour Papert in his book Mindstorms. Now out of print in the USA, it is printed in the UK - the 1982 reprint costs gbp 4.50 - details: ISBN 0-71080-472-5 (paperback). Harvester Studies in Cognitive Science No. 14 Harvester Press Ltd., 16 Ssss Street, Bbbbhton, Sussex.

This 230pp book makes interesting reading even if you have no intention of buying Logo (NB: Logo and Logo 2 both require the 32K RAM). Ask your bookseller for a copy or write to the publisher.

Here is a short excerpt from the book: From Mindstorms by Seymour Papert (c) 1980:
"Logo is the name of a philosophy of education in a growing family of computer languages that goes with it . . . Logo is not a "toy"; a language only for children . . . it is designed to provide very early and easy entry routes into programming for beginners with no prior mathematical knowledge. . . . Logo is never conceived as a final product or offered as "the definitive language." Precisely because Logo is not a toy, but a powerful computer language, it requires considerably larger memory than less powerful languages such as Basic."

The item at the bottom of the page isn't an ad (honest) its an Editorial (contributorial ????) commendation. If you like thinking, recreational maths can be good fun - you can always find inspiration for a computer program . . . note the address is different from that given in these pages previously.

I have advertised elsewhere a program in Extended Basic called SMASH. So few have disk drives, I can't rely on anyone to review it, which is a good excuse for a bit more info here - I smashed two programs of the same length - one took 90 minutes, the other 30 minutes! The memory savings were 160 and 260 bytes - the programs were already quite compact. Interesting to see the creation of program lines extending over 7 screen lines. Not everyone's cup of tea perhaps, but another reason to consider selling your spare shoes and buying a disk drive . . . ?


(Not An Ad) A quarterly newsletter for Rubik Cube addicts.
The Cubic Circular was established last year as a newsletter for Rubik's Cube and other puzzle enthusiasts. In the first year, three issues (No. 1, No. 2 and No. 3/ 4 (Double Issue)) appeared, totaling 68 pages - nearly 50% more than planned! A major feature of the Circular is the coverage of new puzzles. Puzzles discussed include cube variations, Pyraminx, Rubik's Revenge, Crossover, Bloxbox, Varikon Boxes, Puzzle Box, Mad Marbles, Whippit, Tower of Babel, Missing Diogenes, VIP Sphere, Rubik's Range, Magic Domino, Magic Dodecahedron, Traiber's Octahedron, Pyraminx Star, Pyraminx Cube (= Skewb), Magic Octahedron, Alexander's Star and the Magic Disc.

All the major competitions and Cubathons have been reported, as well as one-handed solving, behind the back solving, underwater solving, cube divorces, cube songs, new cube patterns, Rubik robots, cube medical problems, etc., etc.

Circular 5/ 6 (Another Double Issue) is now being mailed. It covers Pyraminx patterns, IncrediBall, Tsukuda's Square, the Shinsei Mystery and related geometric puzzles, results on God's Algorithm, Cubism and religion!

If you want to keep up with what's happening, you should subscribe to the Cubic Circular now! Subscriptions are GBP 4.00 ($ 8.00) for the second year. Back issues of the first year are available for GBP 3.00 ($ 6. 00). A superb Christmas gift! Send your name, mailing address and payment (payable to David Ssssmaster or UK Giro account 55 nnn 9205) to: David Ssssmaster, nn Rrrrnhurst Road, London SW4 nnn, UK.
(Update: All issues of Cubic Circular are now on the Internet, search on Cubic Circular Singmaster)


If you have seen a copy of 99'er Magazine by now, you may have seen a continuing mystery "Who is Regena" - a mystery contributor - well, the cover has been blown in another American mag - not famous for covering the 99/ 4A.

In the first contribution for the 99/ 4A, Compute! has an article by . . . C. Regena of Cedar City, Utah! There are eight sorting routines for the 99/ 4A - report later if time permits. The relevant issue is December 1982. I was interested to see that Compute! has incorporated Recreational Computing Magazine and is normally for the Apple, Commodore and Atari computers. (Cheryl's full name was Cheryl Regena Whitelaw).

Parsec has arrived! And at a quite reasonable price too - at time of writing GBP 25. You need the speech synthesizer for the voice, but when did you last see a computer program which put a name to the voice? (see inside front cover of PARSEC manual . . .)

It IS female - and for micros, VERY "state of the art". (e. g. staggeringly good). Nice game - look out for it . . . (WON'T work on 99/ 4) .

(Also a rumor of possible price reductions, probably known by the time you read this - e. g. of disk system etc.)

Compute!
Nice to see the 99/ 4A has 256 Sprites . . . these computer mags almost make the daily press look truthful . . .

There is a regular column on Logo from Friends of the Turtle. The current (Dec 82) issue: the article deals with fractals and gives various LOGO procedures. Listed in Apple Logo with conversion notes. This is a feature of this magazine I have not seen elsewhere - programs are listed in several versions, with conversion notes as well. The versions used are: Pet, OSI (?), Atari, VIC 20, and Apple II. Now - this gives you some good material to work on in translating other programs to 99/ 4A. Apple is very similar to Extended Basic too - from all the versions you should be able to make up a 99/ 4A version (and could pick up some programming tips too . . .)

Those sorting routines mentioned above - for 100 random numbers, the four TI BASIC programs took: 138 secs, 67 secs, 55 secs, and 56 secs. The first 3 Extended Basic programs took: 169 secs, 80 secs and 73 secs. (Times may vary on different systems).

By comparison - TIHOME published a quick-sort routine in Tidings, Volume 1, Issue 6 (Back issue GBP 1. 50). Converted to Extended Basic, this routine took only 21 seconds to sort the same 100 random numbers!

TIHOME brings you the fastest sorts . . .

More Mini Memory Mumbles
APPEND
If you have problems opening APPEND files (this is for those of you quite advanced into file operations . . .) just try dropping the file definitions and open as

OPEN # 1:" MINIMEM", APPEND 

This can be used with files opened previously as OPEN #1 :" MINIMEM", OUTPUT etc. The default values apply -e. g. SEQUENTIAL, DISPLAY, VARIABLE 80.

APPEND can ONLY be used with VARIABLE records, but you can specify a different length e. g. VARIABLE 100 etc. N. B. This length is the MAXIMUM length of the VARIABLE file.

DISPLAY is OK if you are only putting single values into each record, but as you will see becomes obscure for multi-value records. You should therefore specify INTERNAL.

Because APPEND can only be used with VARIABLE records, you are also stuck with SEQUENTIAL records - you cannot specify a RELATIVE file.

So
OPEN # l:" MINIMEM", SEQUENTIAL, INTERNAL, VARIABLE 100, APPEND

is OK. (The restrictions on the use of APPEND appear in the Extended Basic Manual, which also indicates the default values - MINIMEM appears to be treated in the same way as a disk drive).

Cursor Character Definition with MMM
Characters are defined (according to the MMM Manual) in VDP Memory 1024 to 1535. This actually covers Chars. 32 to 96.

Chars 97 up only occupy memory when defined (clever - the small letters are normally derived from the definitions of the larger ones - they don't usually take up memory!) - in which case VDP memory 1536 up is used.

Now - courtesy of P. Brooks Esq. Characters 30 and 31 are ALSO defined in VDP ram - 1008 up. Each character definition takes up 8 bytes, each byte defines one row of pixels - the value stored is the decimal form of the 8 number binary number formed by whether the pixels in the row are ON (1) or OFF (0).

Thus a full row is 11111111, or in decimal form: 128+ 64+ 32+ 16+ 8+ 4+ 2+ 1 (= 255). To define a box-cursor, use CALL POKEV( 1008,255,129,129,129,129,129,129,255). Try it. (Normal cursor is restored by the system on reset/ switch on/ etc. This is the age of the personalized cursor . . . (with Mini Mem only).

FOR MINI MEM
100 CALL INIT (sample)
110 OPEN #1:" MINIMEM", OUTPUT, VARIABLE
120 PRINT #1: AAA
130 CLOSE #1
140 OPEN #1: "MlNIMEM", APPEND
150 PRINT #1: 1234
160 CLOSE #1
170 OPEN #1:" MINIMEM", INPUT
180 INPUT #1: A
190 INPUT #1: B
200 PRINT A, B
210 CLOSE #1
220 END

Over New Year I played with a couple of other "minority" computers - a Sharp (OK but not what I want) and a Hewlett Packard Micro, with built in screen, printer and tape cartridge mechanism. With separate flat bed plotter and hi-res two level digitizer tablet. Mouth watering. Much easier moving a cursor over the screen using a stylus and digitizer. (Cost: A great deal more than a TI!!!!)

The Epson has now arrived in Manchester too - very neat.
As December TIHOME Tidings did not mention 99'er - here is more news:
The January issue has arrived - by airmail - January 8th - but NO December issue - I think they forgot? - so one airmail letter duly going out. In the January 83 issue is some bad news - issues 1 to 5 out of print - and some good news - The Best of 99er Volume 1 is due to be published shortly.

There are two games programs - one a variation on Yahtzee and the other a variation of Simon. A very useful article on using the Mini Memory to write Assembly language programs: e. g. With Mini Memory:
i. LABELS may not exceed 2 bytes (6 with Editor/ Assembler)
ii. Only 7 directives available (28 with Editor/ Assembler) -e. g. no DEF, REF, EVEN, or BYTE - and others!
iii. You have to decide where in memory the program starts - using AORG. The default 7D00 allows the use of 9 labels only.

All the usual departments.
Extended Basic: The Definitive Answer
You may sometimes find mention of the following line:

CALL INIT:: CALL LOAD(-31878,0) 

This line causes Version 100 of Extended Basic to work much more quickly when the Memory Expansion is connected. If you have Version 110, you do not need this line, but you will obtain a small increase in speed by adding the 32K RAM expansion.

Here are timings for one sample bench-test program: Version 100 + speed up line 73 seconds Version 110, no 32K RAM 74.5 seconds Version 110 + 32K RAM 72 seconds

As Mike pointed out in last Tidings, the speed only becomes apparent in long programs, and there may be a wider divergence of timings in longer programs, where line transfers and screen displays are used.

BUG: The version 110 I was supplied with has a bug in the sprite subroutine. This has caused some suppliers problems, as programs written on machines without the bug sometimes don't work on machines with it.

Try this:
10 CALL CLEAR :: CALL CHAR(4
0,RPT$("F",16))
20 CALL SPRITE(#1,40,2,200,1
00,#2,40,2,240,100)
30 CALL SPRITE(#3,40,2,100,1
50,#4,40,2,140,150)
40 CALL MOTION{#1,1,0,#2,1,0
,#3,1,0,#4,1,0)
50 GOTO 50

On unbugged Extended Basic there are 4 sprites moving down screen. With the bug Sprites 1 and 2 become joined together. This bug involves sprites defined off screen and then moved onto the screen. They do not appear quite as they should. A comment from TI would be nice.

What has happened is that Version 110 has been rewritten to automatically count how many sprites are active and place that number in -31878. When you define a sprite off screen it is not considered active until it is moved onto screen - and the small time delay while -31878 is amended is sufficient to cause this problem.

The problem is a little more complicated because there are different operating speeds (see previous page) which means that sometimes the two sprites in the sample program may be separated by a pixel or two - they should be separated by 40 pixels. If you have the bugged Extended Basic and also the 32K RAM, you can see how the unbugged Extended Basic works by adding this line:

5 CALL INIT:: CALL LOAD(-31878,4) 

We are here cheating and telling the computer there are 4 sprites, and there appears to be no delay in updating this value when the sprites appear on screen. This is not very useful in a fast program with sprites being defined off screen all the time.

Compute!, Dec. 82
Surrealism rules OK.
The Crabs have taken to the air, armed with bricks and bombs, to drive out friend, Deadly Duck out of his pond. But Deadly's gonna fight back, with a gun tucked into his bill. Lots of fun and action, 6 levels of play. Requires joystick. Not for TI!

What do you think of pornography on computers? We don't have any on the 99/ 4A (yet) - but we have heard of: "Interludes" - a sort of computerized "sex maniacs diary" with Manual. This sold enough to generate a satirical copy (Apple/ TRS-80).


Languages

I am hearing a lot recently from owners (including members) who are very confused with TI's range of languages, so here is a summary to help out a little:

TI Basic is what you have in the console when you buy it. Sometimes referred to as Console Basic. Extended Basic is a more powerful Basic. You need to buy the Extended Basic module. Other modules also extend Console Basic - for instance, the Personal Record Keeping and Statistics modules add some very useful commands - details 50p from TIHOME - and this is referred to sometimes as Enhanced Basic.

The Mini Memory Module adds commands, the Editor Assembler module adds different commands - these may be referred to as MMM Basic or EA Basic respectively.

Note that you can use only one module at a time. Extended Basic allows you to use the 32K RAM expansion but it is not required.

Logo and Logo 2 require the 32K RAM expansion. Pilot requires the p-System card, the Box, and a disk drive + controller + 32K RAM. Assembly Language comes in several formats - watch out for the system requirements specified with the program, the formats need not be compatible.

Please note: Extended Basic programs do not run in TI Basic.


An EVALuate function in TI Basic using the Mini Memory:

With the MINI MEMORY you have the power to write a program line BY a program - using CALL POKEV to place the various codes which make up the line into the correct memory locations.

To see a program line, type NEW, then enter one line of program. Now add:

FOR T= 16360 TO 16383 
CALL PEEKV( T, A) 
PRINT T; A; CHR$( A) 
NEXT T 

Now RUN and the computer will print on the screen the internal coding for your program line! Each line of program is separated by a value of ZERO.

For full details of the codes used for commands, numbers and strings, see Tidings Volume 1 Number 3, pages 38 & 39 (Back issues GBP 1.50 from Paul.)

It is possible as your first program line to use a 'dummy' line such as:
DEF A= AAAAAAAAAAA+ AAAAAAAAAAA+ AAAAAAAAAAA

You can now amend the line using CALL POKEV. For an EVAL function you must write a subroutine which inspects your input string and takes it apart, breaking it into proper commands, variables, numbers and so on. Your subroutine then has to POKEV the correct codes into that dummy line, so you could end up with:

DEF X= SIN( X-Y)* 5+ AAAA+ AAAAAAAAAA+ AAAAAAAAAA+ AAAAAAAAAA

Those "AAA" variables have a value of zero so don't worry about them. Now whenever your program meets X, reference is made to this line and X takes an appropriate value depending on the current values of X and Y.

Note: You must not edit this dummy line, otherwise it takes a new location in memory. In the PEEKV sample above, to see another line you should type NEW, or look at lower memory locations.

(This procedure will not work if a disk controller is connected and switched on, as programs are then stored differently).


Hmmm . . .

In the Nov. 15th issue of the Newsletter from the International 99/ 4 Users-Group (Oklahoma) it is stated (p. 2):

"The statement CALL LOAD(-31878,0) does not disable the sprite motion in Version 110 of TI's Extended Basic"

Sorry to disagree, but it does in my copy of Version 110. (32K RAM required)


99/ 4A Mark 2? Would you like to have a computer with which:
You could change in mid program from 32 columns to 40 columns? - (and back again)
You could scroll from the top down?
You could scroll part of the screen and keep the rest still?
You could display a whole page of text INSTANTLY?
You could pass up to 15K of data between programs without using files?
You could access up to 15K of data INSTANTLY?
All this and sacrificing a maximum of 4K program space (for 4K data)
You could use ACCEPT AT with left, right or decimal point justification?
A full input field AUTOMATICALLY enters itself?
You could GCHAR a WHOLE STRING instead of a single character . . .

All this and more you have already. Honest - all you need is the program to make it available - then the 99/ 4A is VERY impressive indeed. (See ad section for a program to do this!).

Which only goes to show that the 99/ 4A CAN perform very well indeed - you only have to show it how . . . Interesting note on the advertised program - it was supplied for use with either the Extended Basic module or the Editor Assembler Module ONLY. When I tried the Mini Mem two interesting things happened:

a) It works with Mini Mem with 32K ram
b) In original format, MMM threw at me "Duplicate Definition" as an error message - suggesting there are some DEFs you can't use.

Letter just in from Oak Tree Systems today saying they are trying to put the program onto tape (32K still required) and are considering a reduced version for Mini Mem only (present program is 10K so quite a lot would have to be dropped.


Cassette Recorders

It is rapidly becoming clear that many of the cassette players formerly recommended for use with the 99/ 4A are being modified (or withdrawn) by their manufacturers, and it is very hard to find a really good cassette player.

Your intrepid reporter has therefore been exploring the deepest recesses of shops in the North West, looking for a reliable and easily available tape player.

The Boots CR325 is without doubt a best buy, but seems to have been withdrawn. (The 225 is hopeless!). A brand new recorder has just appeared, especially designed for use with the Sinclair computers - which use the same system as ours. By the time you read this it should be easily available. It is the W. H. Smith Computer Compatible Tape Recorder CCR8OO. Available from - yes - W. H. SMITH & SON for GBP 30 - a bit pricey, but when I brought a sample model home, set the volume control at random and tried to load a really bad recording - it loaded first time with no problems. Also you will not need the remote control polarity reverser.

Very strongly recommended for the TI-99/ 4A. The W. H. SMITH Computer Compatible Tape Recorder CCR8OO comes with a NORMAL/ COMPUTE switch, which you should set to the COMPUTE position. In the back of the instruction booklet are tips on using cassette recorders with computers:

CLEAN the tape recorder! For normal use every 5 hours use - for computer use before you record! (probably a bit excessive - but we know many owners who never think of cleaning their recorders . . .).

The AZIMUTH ALIGNMENT is critical (Our dealers tell us this is probably the number one reason tapes are returned to them - not faulty tapes, but owners with misaligned recorders).

Purchased tapes will load at different volume levels than your own recordings. It is important to be aware that a recorder will almost always play back YOUR programs. Loading programs from another machine is a different thing completely, and it is unlikely that any difficulty you experience comes from the recording.

(One dealer told me that of tapes returned as "faulty" less than 10% were actually faulty - and of these many were damaged by the purchasers recorder. Sadly, dealers do not like telling customers their tape recorder is faulty).

Only one weakness in this recorder - the sockets are not the strongest seen, and you should avoid repeatedly plugging/ unplugging the leads, or placing any strain on the plugs.

. . . and by the time you read this the TI Program Recorder may well be available from your dealer.


I do not know if Mr. Frowd will be telling us about the new TI Computers in his letter - or even if he will be writing in this issue - so apologies for any duplication in what follows:

Two new TI computers now/ shortly available
TI-99/ 2
- similar to ZX81 at similar price BUT with 4K RAM expandable to 36K (how?). Similar Basic to 99/ 4A but only B& W TV output. Probably a faster chip - 9995. Different "bus" system - for a new (cheap?) series of peripherals - "wafer cartridge" 48K storage system, RS232, and a 4-color 36-col printer.

Many 99/ 4A owners would give their back teeth for these peripherals, but there is no indication of a conversion unit for them to run with the 99/ 4A - indeed, TI seem to be insisting 99/ 4A owners buy the BOX system.

CC-40 - similar to Epson, probably attacking the lower end of the Epson market - battery operated and very portable, 6K RAM on board expandable to 18K by (small) solid state module. 8-bit CPU - not in 9900 family - with "Enhanced Basic" and assembly language supported. Will work with same peripherals as 99/ 2 - also battery. How about a complete computer system in a brief-case and room to spare? Price about same as 99/ 4A? Single line LCD display - TV output is to follow, also bar code reader.

I shall not be offering programs for these machines - the market is open to anyone: who cares ! (Unless my suppliers talk me into it . . .)

(The TI program recorder is a black cassette recorder with the TI logo - watch for it). No confirmation on the 99/ 7 (?) due end '83/ early '84 and said to be compatible with 99/ 4A software and peripherals.

TI are at last making a very aggressive attack on the computer market, on all fronts. I wish them every success.


Unfriendly Touches

There are two common 'unfriendly' touches I've seen used too often in programming:
1. The instruction to keep the ALPHA LOCK key down to operate a program - all the programmer has to do is insert a dummy line CALL KEY( 3, 1, 1). Although TI have been good enough to give us this, I haven't actually seen it used but it is useful.

2. The query "Is the 32K expansion connected?" (in Extended Basic programs) - there is no need to trouble the user with this, the computer can answer this question itself

CALL PEEK(-45, A, B, C)
IF A+ B+ C> 0 THEN (the 32K RAM is attached!)


In the last issue Pete mentioned levitating trains - as a patriotic gesture may I mention that the Linear Electric Motor was pioneered by Prof. Eric Laithwaite, a citizen of the UK.

[Author's update - six years after writing this I rode on the prototype magnetic levitation train in Birmingham, based on this concept. As of 1999 all that is left is the concrete track, whilst Maglev trains and tracks run in several countries, but not the UK. One lucky e-bay buyer bought a Birmingham maglev in 2011 for a hundred pounds. And had to find somewhere to put it. ]

I was happy to see a demonstration by Laithwaite in the late sixties, of an unsupported levitating plate - no guide walls or wires - not as easy as you may at first imagine.

The plate was quite steady, but could at will be made to "dance". Apart from the short Birmingham run, a maglev test track was built in this country but due to lack of funds the U. S. A. as usual benefitted as Prof. Laithwaite was forced to move there.

Speed freak In Extended Basic many of the CALLS can handle many items at a time, so you can save memory with one CALL instead of several. The memory savings can be quite huge - but there is also a small time saving. In a sample program to define ten characters, the time taken per character can be reduced from 0.081 seconds to 0.076 seconds - the savings are greater if you cram more into the CALL. You can use similar techniques with the following calls as well: CHARPAT, LOAD, LOCATE, MOTION, PATTERN, PEEK, POSITION, and SPRITE.

I have received a number of complaints recently:

one, that magazines make too many mistakes (and the TIHOME listings are also bugged) - the programs concerned were fine - the owners failed to appreciate the problems of keying programs in, and lacked the experience to debug their own errors.

two, a number of owners have been able to load third party tapes but not their own - a reversal of the usual complaint. It appears that modifications have been made to tape input circuits, possibly involving the ALC. Very frustrating - but perhaps TI will have their program recorder out by now - or there is the Smith's recorder mentioned earlier.

The 99/ 2 sells for US$ 100 (at 1.57= GBP 63, add 7% customs and 15% VAT and this comes to GBP 78) - so it was nice to see Robin in Popular Computing Weekly quoting a price level of GBP 70-80, probably lower end. It's a pity about VAT - and of course there is a lot more competition in this price bracket in the UK than in the USA.

Final Page In April '82 Byte there was an article on using cassette ports to feed a printer. The hardware is simple - an op-amp to change the voltage levels - what is needed is a machine code utility to provide the proper signals. It has been done on a TRS-80 - now: Who can connect a 99/ 4A to a printer via the cassette port? The program should fit into 4K, for the Mini Mem.

"Home Computer Sales" and "TI Aims product at Sinclair Computers (re 99/ 2) PC World for Feb 1983 indicated total home computer sales in 1982 in the UK as follows: ZX81 220,000 Vic 20 100,000 Spectrum 75,000 BBC 40,000 Dragon 32 25,000 TI-99/ 4A 20,000 Atari 400 12,000 Video Genie 10, 000 Color Genie 2, 000 Others 5,000

Total 509,000 (in 12 months)


Previous Part   |   Next Part