Jump to: Starting TI Forth- initial set up
News from Roland Trueman || Major TIB program for Minimemory || Different INPUT beeps
Comments on TIHCUC closure
This web page contains the text of my articles for owners of the TI-99/4a in a series called Rambles, from Issue 8 of TI*MES dated Spring 1985, 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.
Rambles by Stephen Shaw
REVIEW SECTION
There is a remarkable amount of material available for TI owners, but with
supply being so limited, there is often a choice of buying blind or not
buying... and at the November show, a number of owners did impress upon me
their dislike of buying without seeing.
So, lots of reviews for you to see what effect some items have had on ME. These
are very personal views of course but I shall try to make them as helpful as
possible!!
SXB (Super Extended Basic) by J and KH SOFTWARE
Media: DISK and Manual. Requires disk system and 32k and Extended Basic.
Price: about US$85 plus UK duty and vat
Source: No UK supplier.
Available from Unisource,Lubbock or Tenex
JandKH Software, 2820 S.Abxxgdon St., Arxxngton, Va, USA, 2NN06
SXB is a collection of 100 utilities in machine code, which you can call up in your own programs using CALL LlNK("NAME",INPUT/OUTPUT LIST)
The main use of SXB (and the one which makes it worth the price tag) is to build your own data base program: if you wish, a Personal Record Keeping Program which does what the module doesn't, faster, and uses the 24k area of the 32k ~ ram. You can design a general purpose data base or a specialised one, the choice is yours.
The manual is divided into various sections, the first of course dealing with setting up the DATABASE: the actual data is held in a single string array, and various utilities are provided for handling the data in the array. The array is filled in the normal manner, by inputting data, formatting it to fixed length fields (utility provided) and concatenating each "page" of data into one element of the array. There is a pretty fast sort utility which knocks spots off the PRK module (not difficult!) and utilities to insert, delete, and replace individual items. The general purpose "update" is also available. A utility is provided to build lots of specialised data bases from one general base... all very quickly.
To assist you, there are STRING ARRAY ROUTINES, including encryption routines, and the facility to view on screen the contents of a string array: even after a BREAKpoint. The facility is provided to change characters, eg all dashes to spaces, all lower case A's to upper case A's and so on.
There is a group of STRING ROUTINES, very useful in setting up the fixed length fields, or encoding strings of spaces or zeros. There is a more powerful SEG$, and a utility to translate ASCII characters to their HEX values ("A"="4l").
If memory space is short, there are INTEGER routines which allow you to pack four integers where normally the TI stores one number. This is useful for data packing, but does NOT give the speed increase associated with integer work. Those CALL LlNKs take some time after all!
Possibly of greatest interest are the VDP routines which are applicable to most ExBas programs. These include windowing commands, the ability to read the screen text 256 characters at a time (a giant ACCEPT AT), various display utilities. You can define (and get to store) up to 3l characters in one fell swoop for really fast game startups. Change colours VERY QUICKLY. And there is a nice true lower case available.
Incidentally, once SXB has been loaded, all these routines are available for any subsequent program you load, OR can be used in direct command mode, so you can type in a program with true lower case on screen.
The SXB disk is heavily fortified with copy protection devices!
If you worry about crashing the disk, JandKH will sell you a back up disk for
$15.
The price does not just include the above. You also receive, after registering your purchase, the first six issues of SXBrief (total 24 pages) which mainly gives a disk database program which is not only useful but shows how SXB works. I did not mention above, but there is 256 bytes free for extensions, which are loaded by short and simple ExBas subprograms using CALL LOADs). Although only one can be resident, it takes very little time to load by using for instance CALL MYROUTINE etc.
SXBrief gives some extensions. There are extra display and data handling routines. My favourite routine in this set is a screen dump utility... yes, another screen dump, and not entirely in machine code, but still pretty fast.
Thats not all .... you are also entitled, as a purchaser, to subscribe to further issues of SXBrief, at a cost (to the UK) of US$15 for 12 issues. Examples of what is in issues 7 on: double size bit image screen dump and extra display and data handling routines. The routines are short, but if you wish you can also buy a disk (US$l5) which contains the routines in the first 15 issues of SXBrief, in CALL LOAD format (MERGE files), in Source code, and in Object code.
An expensive item yes, but taken as a whole package, well worth the money. You should however be prepared to do your own programming, and to look very closely at the routines offered.
Note: The SXB disks and manuals are available on the Cyc DVD available from CaDD Electronics. Although in PC99 format the disk can be converted to MESS format with TI-Dir. To purchase the Cyc you must be a registered owner of PC99, so you need to consider the total price. The Cyc easily has enough unique data to make it worthwhile even if you plan to use MESS rather than the dos based PC99.
This joystick is the first I have seen which allows you to easily and deliberately obtain diagonal movement. This is by means of a simple mechanism called a "switchable gateplate"(tm), which allows you the option of permitting only the four cardinal directions, switching out diagonals (useful for Munch Man etc). Complete with TWO WAY adaptor which permits you to use it as joystick one or two (or add a second joystick for two player games). Metal shaft construction and a joy to use. Highly recommended.
SUPERSKETCH uses a movable arm which can be used to trace a drawing, or merely used 'freeform'. A full palette of colours is available, and a good choice of 'brushes'. As drawing straight lines can be difficult, special facilities are provided to assist you. There is a "fill" command also, but if there is even a one pixel gap in the shape, the ink will run out and fill the screen!
Once created, pictures can be saved to cassette ONLY, not to disk, not to printer, although owners with 32k ram may be able to patch in a screen dump program of their own via an interrupt switch (console mod required).
Essentially a toy, Supersketch is a very interesting peripheral for the 99/4A, and seems strongly enough built to be used by the younger members of the family, who could find it to be a very expressive medium. A colour tv should be considered essential for this item! although it can be used with black and white.
As this is the ONLY commercial offering I have seen written in LOGO for ANY computer, it has to be worth a 1ook...
The concept involves introducing a child to computing by manipulating a small limited world. BEACH MICRO SCENES was clearly intended to be the first of a series, but no others have surfaced.
Type TREE to place a tree on the screen. Similarly with other nouns such as
Jet, Car, Sun, Boy and so on.
Then introduce verbs as in JET ZOOM or BOY WALK.
And for really advanced use try TREE PAINT :RED SLOW to create a slowly moving
red tree!!!
In the best educational tradition, cards are provided with the words and a picture, which can be used to remind young users of the words available, and can be used outside the program to prepare in advance a sequence of commands.
This offering is true to the initial Logo ideas, and is flexible and suitable for experiment (eg boy sink, house zoom .... DO they work... should they work?). Exploration and Fun are encouraged.
Procedures can be amended and suggestions are made - eg change BOY to GIRL! The weakest procedure I could find was RISE...SET which really should have a SH command in there... easily adjusted.
This program may encourage LOGO owners with dusty unused modules to prepare their own micro worlds ....
These titles are available online from TI Books.
What an amazing set of books, quite incredible value at this price. EVERYTHING
you wanted to know about TI BASIC, with some interesting programs thrown in
(and on tape to save you keying them in!).
I did have a problem or two: The first tape was reverse wound, which meant taking the cassette housing apart and rewinding the tape in reverse. One of the books was badly glued and very nearly loose leaf. STILL VERY GOOD VALUE.
The books start right at the beginning and take you through TI Basic:
Starter Pack 1...setting up. Introduces flow charts. Intro to sounds. Excellent program CHARLIES (study the program carefully!) and a really FUN program with the misleading name of KEYS.
Starter Pack 2 ..Planning your program. More sound and graphics. Arrays. DEBUGGING. Programs include a character generator (there was one in the original 99/4A manual, dropped from later editions).
Games Writers Pack 1..Some simple games. Moving characters. Using joysticks. The dense pack theory .... ! TI BASIC ACCEPT AT routine. DISPLAY AT routine.
Games Writers Pack 2..Dealing and Sorting. Blackjack(Pontoon). War Games. Simulations.
BUG in program COMMANDO: line 5050 differs from book and has an error.
Should read:
5050 W$=" FINAL SCORE "&STR$(TN*M*((TS*10)+(GN*5))/(4—UN))
THESE BOOKS ARE EXTREMELY WELL WRITTEN and assuming no prior knowledge move on to very deep water. Some very good programming practices are well illustrated. Even if you have had your console 3 years and use only ExBas, you can still benefit from these books. I cannot recommend them more strongly: BUY THESE BOOKS. They will make a better programmer out of you if you read them carefully from cover to cover! and will even improve your ex bas programming.
The weakest part deals with cassette loading, but that can be forgiven!
51 FUN & EDUCATIONAL PROGRAMS: Gil M Schechter
Available to download online from TI Books.
90 page paperback book and cassette. With 51 programs on 90 pages, with the
first program on page 11, and a few blank pages in between .... you will
appreciate that we are looking at short programs with very little in the way of
explanation. These are the sort of programs which keep cropping up in these
huge collections, short simple and without decoration.
These are just the sort of programs which every brand new computer owner needs
to cut his teeth on. Adding the decorations in the form of graphics and sounds,
can be quite educational. The programs are in a clear format (not always the
most efficient!) and can help a beginner learn some of the basics. If you want
51 short programs and utilities, try this one.
ENTERTAINMENT GAMES IN TI BASIC & EXTENDED BASIC
by Khoa Ton and Ouyen Ton. 168 page book and cassette.
Available to download online from TI Books.
20 games in this package, and what a difference to the previous offering:
My favorite game is the TI BASIC version of TI's primitive module "ZERO ZAP",
with all three screen layouts! Scoring system modified slightly, and made more
suitable for two players. See how TI BASIC can compete with a module (in this
case, very we1l!!!). The Biorhythm program even has a printer dump which dumps
the graphics. And the use of the speech synthesiser in HOME BOUND .... this is a
good game collection, and if you look at the listings, you are bound to learn
something. Program explanations are limited to details of what blocks of line
numbers do. Well worth having this one. Recommended.
TI99/4A BASIC PROGRAMS by T O Knight & D LaBatt.
119 page book and cassette. 29 programs or so.
Available to download online from TI Books.
The music section is weak, but this book serves as a good general introduction
to TI Basic programming. Each program has a line—block explanation, and one or
two modification suggestions. The obligatory 'character generator' program is
in there, and the equally common 'blackjack’. Hangman seems to be missing...
This comes in between the first two Sams books reviewed above. It would be an
interesting addition to the pack of Collins books.
TI99/4A TRIVIA DATA BASE by J F Hunter and G L Guntle
110 page book plus 17 fold out flow charts plus cassette.
Available to download online from TI Books.
The title comes from a game popular in the States, and VERY expensive here,
Trivial Pursuit. The PROGRAM uses this idea to demonstrate how to create a
DATABASE program. Versions for cassette and disk are included. NB: These
programs are in EXTENDED BASIC. The disk files are random access, so you can
really learn quite a bit about data access from this book.
The programs do work, but the value is in explaining, in some detail, the
actual form and creation of the programs. If you have difficulty with data,
have a look at this offering. Advanced programming: assumes some knowledge of
ExBas. A detailed look at the listing could teach you quite a bit!
The Best Book of Multiplan. Alan Simpson.
150 page paperback.
Now that we have a faster TI Multiplan to hand with the release of the version 2 disk,
it is nice to see so many
Multiplan books in the bookshops. Here is SAMS version. In common with the
others, it works through Multiplan by means of worked examples.
NB: TI
MULTIPLAN uses standard Multiplan entry: you can enter from these books with
your TI just as you can from an Apple or IBM. Good eh!
Chapter titles in this book include:
Creating a spreadsheet, Functions, Formatting, Ranges and Copying, Editing,
Windows and Locked Cells (good title hehe), Sorting, Naming, Printing, and
Linking.
I cannot honestly select any one Multiplan book as being notably different from any other! This SAMS book is one you may wish to consider.
LOGO PROGRAMMING: A practical guide for parents and teachers
by Anne Moller, paperback by CENTURY. GBP 6.95. 145 pages.
An impressive title. The text is a fair attempt to discuss Logo from the
point of view of a 'classical' teacher. Many of the points Papert felt so
strongly about have been utterly missed.
As example: the example program "TO MAN" in this book is remarkably similar to one Papert thought was
'inefficient'. Papert showed how 'top down programming' was NOT a difficult
concept for youngsters, and if applied to everyday learning could be of
benefit: his example was juggling (see MINDSTORMS).
TI LOGO is mentioned!!! This is not a primer nor a program book, but rather a discussion document. You should ideally read MINDSTORMS first! There are however procedures listings in the book, and the section on list handling may be of help. A worthy book, but beware of the basic attitude, which discretely undermines what LOGO could be. If you should see a teacher with this, ensure he/she ALSO reads MINDSTORMS.
Pentathlon by Intrigue Software. Extended Basic. GBP 5.95.
This game simulates 5 track and field events for your TI. Once loaded, you input your name, choose the
color of your "gear" and select your event. There are 5 events: 100 m, 1500 m, discus, long jump, and high
jump. I found the running events rather slow. Perhaps I'm wrong but the key response is so bad that I
suspect a fall through here and there.
However the field events surpassed my expectations and I found the long jump particularly good. All in
all a good game and well worth the £5.95.(****) — SW.
Task Force by Prosoft. Extended Basic. GBP 5.95.
The object is to destroy red and black planes that fly overhead. The instructions are nicely presented and
my hopes were high that it would be a good game. I was disappointed. Your "ship" is crudely drawn in block
graphics as are the planes. The only bit I enjoyed were the explosions. Colorful as they were, they did not
save the game. All in all a lousy game which in no way justifies the price. (*) — SW.
Raging River, plus Super Jackpot from Stainless Software. Basic. GBP 6.95.
I have seen games like Raging River on other computers and so was a little skeptical about a TI Basic
version. However, I was not disappointed. Although simple in concept, it is extremely frustrating to play.
The abject is to steer your boat along a winding river and to avoid the crocodiles and other obstacles.
Apparently the record is 82 miles. Well whoever set that is pretty good, or else he wrote it!
Super Jackpot is quite a realistic copy of the arcade scrooges, with nudge, hold, and gamble. I found it held
my interest a bit longer than some games. Congratulations to the author. If you like arcade machines you'll
like this. (*****) — SW.
Crazy Cliff from Stainless Software. Extended Basic. GBP 6.
Cliff has to climb to the top of a skyscraper avoiding flower pots, opening windows, aircraft, etc. Increasing
number of hazards and height on advanced screens and surprise guest appearances at the top of some
buildings. Uses joystick. The key to success is to keep moving. An addictive game and good value for
money. (****) — PAS.
Atlantis by Intrigue. Basic. GBP 6.95.
This game loads in two parts. The second part has a loading screen (something to look at, a good job, the
program takes 10 minutes to load.)The object is to steer your diver round the caves in search of the lost
city of Atlantis. Control is either keys or joysticks. On your way you avoid various nasties in the shape of
sharks and giant squid. You also have to pick up pearls and diamonds to increase your score. I found this
really enjoyable and strongly recommend it. (****) — SW.
[Ed: Our thanks to Simon Waley for his program reviews.]
Mini Memory Demonstration - TI Basic program that requires the Mini Memory module.
Everything but the kitchen sink in this one!
Requires Mini Mem and Speech Synth.
See notes at end.
1 CALL CLEAR
2 PRINT "BEFORE LOADING THIS
PROGRAM DID YOU REMEMBER TO
RESERVE MEMORY BY KEYING IN
3 PRINT "CALL LOAD(-31888,57
,108)":"IF YOU DID,PRESS ENT
ER“:"OTHERWISE BREAK AND DO
IT!"
4 CALL SOUND(-200,-7,0)
5 INPUT A$
100 CALL CLEAR
109 REM (C) 1985 S.SHAW!!
110 PRINT "IN TI BASIC YOU C
ANNOT HAVE-"
120 PRINT "SPRITES":"SPEECH"
::::"THE TI99/4A DOES NOT PE
RMIT-"
130 PRINT "SIMULTANEOUS SPEE
CH AND MUSIC":"CONTINUOU
S AUTOMATIC MUSIC"
139 REM A COUPLE OF SPRITES
140 CALL POKEV(768,62,15,138
,15,150,200,138,15,208)
149 REM MOVING SLOWLY:
150 CALL POKEV(1920,0,5,0,0,
0,5,0,0)
159 REM LET'S MOVE THEM:
160 CALL LOAD(-31878,2)
169 REM AND GIVE THEM AN IN
TERESTING SHAPE:
170 A$="1030327FF82"
180 B$="000032FF7070301"
189 REM SET SPEECH ADDRESS
190 @=-27648
199 REM LOAD SOUND TABLE:
200 CALL POKEV(14700,3,142,1
5,144,30)
210 CALL POKEV(14705,3,133,1
3,144,60)
220 CALL POKEV(14710,3,128,1
5,146,30)
230 CALL POKEV(14715,3,142,1
5,144,15)
240 CALL POKEV(14720,3,141,1
7,145,15)
250 CALL POKEV(14725,3,142,1
5,146,30)
260 CALL POKEV(14730,3,129,2
0,146,30)
270 CALL POKEV(14735,3,141,1
7,144,15)
280 CALL POKEV(14740,3,129,2
0,146,15)
290 CALL POKEV(14745,3,131,2
1,146,30)
300 CALL POKEV(14750,3,140,2
3,146,30)
-310 CALL POKEV(14755,3,139,2
6,144,60)
320 CALL POKEV(14760,3,141,1
7,146,30)
330 CALL POKEV(14765,3,141,1
7,144,60)
340 CALL POKEV(14770,3,142,1
5,146,30)
350 CALL POKEV(14775,3,133,1
3,144,60)
360 CALL POKEV(14780,3,128,1
5,146,30)
370 CALL POKEV(14785,3,142,1
5,144,15)
380 CALL POKEV(14790,3,141,1
7,145,15)
390 CALL POKEV(14795,3,142,1
5,146,30)
400 CALL POKEV(14800,3,129,2
0,146,30)
410 CALL POKEV(14805,3,141,1
7,144,15)
420 CALL POKEV(14810,3,129,2
0,145,15)
430 CALL POKEV(14815,3,131,2
1,146,30)
440 CALL POKEV(14820,3,140,2
3,146,30)
450 CALL POKEV(14825,3,129,2
0,144,60)
460 CALL POKEV(14830,3,134,0
0,159,30)
469 REM AND TELL THE CONSOL
E "PLAY IT AGAIN TEX":
470 CALL POKEV(14835,0,57,10
8)
479 REM TELL IT WHERE TO ST
ART FROM:
480 CALL LOAD(—31796,57,108)
489 REM TELL IT TABLE IS IN
VDP RAM AREA:
490 CALL PEEK(-31747,A)
500 IF A/2<>INT(A/2)THEN 520
510 CALL LOAD(-31747,A+1)
511 REM LETS HAVE A DISPLAY
520 PRINT " ]":" ]]]":
" ]"::::
529 REM DEFINE CHR$(58) AS
A ZERO:
530 CALL PEEKV(1152,A,B,C,D,
E,F,G,H)
540 CALL POKEV(1232,A,B,C,D,
E,F,G,H)
549 REM TELL CONSOLE TO STA
RT PLAYING MUSIC:
550 CALL LOAD(-31794,1)
559 REM WHILE MUSIC IS PLAY
ING LETS CHANGE THE DISPLAY
A LITTLE:
560 FOR T=1152 TO 1231
570 CALL PEEKV(T,A,B,C,D,E,F
,G,H)
580 CALL CHAR(42,B$)
589 REM INSERT TIME DELAYS
FOR SPEECH:
590 IF T/7<>INT(T/7)THEN 610
599 REM MAKE IT SPEEK! (SPE
ECH SYNTH REQUIRED):
600 CALL LOAD(@,70,"",@,65,"
",@,72,"",@,70,"",@,64,"",@,
80)
609 REM REDEFINE DISPLAYED
CHARACTER:
610 CALL POKEV(1512,A,B,C,D,
E,F,G,H)
620 CALL CHAR(42,A$)
630 NEXT T
640 GOTO 560
650 END
660 REM TI BASIC REQUIRES M
INI MEMORY MODULE PLUS SPEEC
H SYNTH.
670 REM MAKE LINE 600 A REM
IF YOU DON'T HAVE THE SPEEC
H SYNTH.
THIS form has used a variant approach which has allowed
us to drop some lines from the original listing.
The last full listing (TI*MES 6) would have shown
(additional line numbers and that would
have been necessary in THIS listing):
469 REM SWITCH SOUND OFF
WHAT A LOT OF CODE WE HAVE LOST HERE!!!
470 CALL POKEV(14835,4,159,l
91,223,255,0)
624 REM IS MUSIC STILL PLAYI
NG?
625 CALL PEEK(-31796,A,B)
626 IF B<243 THEN 630 ELS
E 700
700 CALL LOAD(-31796,57,108)
710 CALL PEEK(-31747,A)
720 IF A/2<>INT(A/2) THEN 740
730 CALL LOAD(-31747,A+1)
740 CALL LOAD(-31794,1)
750 GOTO 560
At the end of the article in issue 6, the suggestion was made that instead of
the somewhat empiricle method of seeing which address was being scanned ( line
625 immediately above), you could instead have a look to see if the SOUND was
still turned on... eg:
625 CALL PEEK(-31794,A)
626 IF A=0 THEN 700 ELSE 630
UNFORTUNATELY this doesn't seem to work when you have speech added.
The shorter alternative, shown in the main listing, is to tell the computer:
"When you reach the end of the music, PLAY IT AGAIN!"
This instruction is found in the topmost line 470:
470 CALL POKEV(14835,0,57,108)
where after a zero, we give it the next
address to start playing from, in this case, back to the beginning.
If you really want to be impressed, change line 640 to 640 STOP. Now, when READY appears, does the music stop? It can be stopped by ANY CALL SOUND or by the INPUT and ERROR tones.
To clear the screen of the remnants of the sprites, key in, in direct command mode, CALL LOAD(-31878,0)
You won't find THIS in the Editor/Assembler manual. It is hidden in the TE2 Protocol Manual (another rarity) and thanks to Russell for passing this info on.
MEMORY RESERVATION: If you have a disk controller attached, the controller will
reserve memory (Call Files(3) ) and prevent the Basic program crashing into the
sound table.
If you do not have a disk controller attached, then before you load this program,
you MUST protect the sound table by keying in in direct mode:
CALL LOAD(-31887,57,108) [ENTER]
then key in NEW [enter] then load this program.
CALL SOUND:
Look at lines 4 and 5 of the preceding program.
4 CALL SOUND(-200,-7,0)
5 INPUT A$
They are relevant even if you don't have a mini memory.
Found in Pete Brook's TI LINES .... .
If you ran this program, did you like the sound of the input prompt at the
start?
It appears that if you precede the INPUT statement with a negative duration
CALL SOUND, the CALL SOUND definition will replace the usual INPUT tone. The
minimum duration for proper working seems to be about -70. If you specify
-4000, you get a very long input tone!
You can vary the time duration, the frequency and the volume
of the INPUT command.
By setting Volume to 30, you can even have a SILENT INPUT.
HELLO THERE!
A gentle word about these fairly complex discoveries ....
even if you do not have the mini memory, please read these notes!
There are some programming tips which are applicable to the bare console only... see for instance the use of a negative call sound to modify the INPUT tone in the above program
Learning more about your console may or may not be immediately pertinent, but the more you know the better you will program. If you cannot take it all in in one go, don't worry, you can always come back to it.
REMEMBER: We all started from the same position, with NO knowledge of computing whatsoever. Some of us have owned our consoles longer, some of us have access to more rare information and some of us just plain have more time. The only restriction to learning is a belief that it is not possible: refer to MINDSTORMS for some superb examples!
Clive Scally responds: Unfortunately Mr Trueman and his TI have parted company but you can still buy his excellent programs from STAINLESS SOFTWARE. Crazy Cliff is reviewed in this issue of TI*MES:
CRAZY CLIFF by STAINLESS SOFTWARE.
Extended basic - GBP 6
Cliff has to climb to the top of a skyscraper avoiding flowerpots,
opening windows, aircraft etc.
Increasing number of hazards and height
on advanced screens and surprise guest appearances at the top of some
buildings. Uses joystick. The key to success is to keep moving. An
addictive game and good value for money.(****) FAS.
From Stainless Software:
Ray Kazmer, an ExBas fanatic in California played FLOORAWAY
for four hours when he first saw it. Tony McGovern (Funlweb) thinks it is the best TI
BASIC program he has seen, and one of the best in any language. If you must,
the program DOES run in ExBas (faster). A SUPER program.
These programs are available as 255k DSK files for PC99 - the Windows program TI-Dir can be used to convert them to a 90k DSK format for MESS. Right click to save these:
Disk with Flooraway and other games by Roland Trueman: Beetle Walk, Billy Ball Plays Catch, Billy Ball To The Rescue, Billy Ball At The Hatchery, Flooraway, Second Floor.
Disk with Crazy Cliff ||
Disk containing Flip Flap
You receive your disk with TI FORTH on it.
FIRST: Copy the disk, using your Disk Manager module.
If you have one of those new fangled double sided drives, initialise the copy disk as SINGLE sided: the double sided header is larger and makes a mess of the Forth screens! Later on maybe we'll go over formatting JUST the second side for your program screens... clever is Forth!
Now, put the original disk in a safe place!
The SYSTEM DISK carries most of the FORTH language on its files "FORTH SCREENS".
It is a feature of FORTH that it rewrites the disk files, and it is easy to
accidentally overwrite your system disk! So don't do ANYTHING until you have a
nice safe copy!
Now...
Editor Assembler: Select "LOAD AND RUN", File name is: DSK1.FORTH
EXTENDED BASIC: Put the disk in the drive and select ExBas. Autoload takes care of the rest.
You will see the message 'Booting Forth', followed by a menu of options, and
after a short delay, a cursor will appear.
A menu will appear: only the 'kernel' of Forth has been loaded. To use Forth,
you must select portions from the menu: the more you load the less memory is
free for your program.
We will use the menu to create a 'custom' Forth which loads pretty quickly...
note as you use these Menu options just how slowly they function!
Fortunately, we can load our desired selection, then BSAVE the whole lot, to be
BLOADed when required, in one piece, quickly!
As a beginning we will need to boot most of Forth...
This is MY selection. First type EMPTY-BUFFERS [ENTER]
Now, the SCREEN DUMP is located on SCREEN 72, and may not be suitable for your
printer. Lets have a look ....
In order to EDIT screen 72, we need to load an editor. Choose EITHER the 40
column editor (-EDITOR) or the 64 column editor (-64SUPPORT)
(NOTE: To start with do not use
the 64 column editor, see note towards the end of this article).
To load these just key in the name, with the dash in front, and press ENTER.
Now when the cursor reappears, type in 72 EDIT [enter]
Screen 72 will be loaded and will appear on screen.
As supplied, screen 72 is set up for RS232. If you use PIO, make the following
changes:
Line 2: Change >RS232 to >PIO
Line 3: Change >RS232 to >PIO
Line 4: Set the string to the actual file name used by your printer, that is
" PIO" or " PIO.CR" and so on.
Remember the single space after the first quotes!!!!! (quote, space, PIO, quote)
Check the screen: some versions have a typing error from TI! lf you see the word
PAB_ADDR, you must change it to PAB-ADDR.
Now press FCTN 9 (BACK) to return the cursor to the bottom of the screen.
Now we write the amended screen to disk by typing FLUSH [enter]
Let's make sure everything really is been cleared out: type in COLD [enter]
and when the cursor reappears, EMPTY-BUFFERS [ENTER]
And we are ready to customise FORTH.
Type EMPTY-BUFFERS [enter]
Now type in, on one line:
-PRINT -COPY -VDPMODES -BSAVE [enter]
Thats the essential FORTH.
When the disk stops at last and the cursor reappears, let's put a marker flag in there: type in:
: FLAG1 ; [enter]
(colon, space, FLAG1, semicolon .... then [enter]
A bit more Forth: type in, on one line:
-GRAPH -DUMP -FLOAT [enter]
Now another flag. Type in
: FLAG2 ; [enter]
and finally, your choice of editor, either -64SUPPORT (see note) or -EDITOR [enter]
Thats almost everything you are likely to need.
Lets save it! To save EVERYTHING in memory, and to locate it on the disk from
screen 51 onwards (deleting what was previously on those screens!!!!:
Type in:
' TASK 51 BSAVE [enter]
The first character there is a FCTN O, a single quote.
When the BSAVE has ended, you need to amend the "BOOT" screen, screen 3, to
BLOAD your binary image.
Type in 3 EDIT [enter] and adjust your screen 3 to look something like this:
SCR #3
0 ( WELCOME SCREEN )
1 BASE->R HEX 10 SYSTEM ( Clears Screen )
2 0 0 GOTOXY ." Loading TI Forth " CR 10 83C2 C! ( Quit Off )
3 DECIMAL 51 BLOAD 16 SYSTEM MENU
4 1 VDPMDE !
5 0 DISK_LO !
6
7 180 DISK_HI !
8
9 : FREE SP@ HERE - . ;
10
11 : PAGE 0 0 GOTOXY CLS ;
12
13 -6392 FENCE !
14
15 R->BASE
When copying, omit for the time being the FENCE line! See below...
Thats my WELCOME screen.
180 DISK_HI ! on this screen sets the system up for two single sided drives
180 DISK_SIZE 9 on this screen sets up for one or more double sided d
360 DISK_HI ! on this screen sets up for two double sided drives.
The EXCLAMATION MARK (! is important here!)
DISK_HI is the highest numbered screen, at the rate of 90 per single side.
DISK_SIZE is the number of screens per DISK.
FREE will allow you to obtain the free memory at any time just by keying
FREE.
PAGE will at any time clear the screen and home the cursor.
Once you have set up your screen three, as above or adjusted for your disk
system, FLUSH it for the time being ..........
Press FCTN 9 (BACK) then enter FLUSH [enter]
One more step (about fences):
In Forth you can FORGET the basic Forth words, such as +... and in the course
of doing so, FORGET everything above it in memory, which can be quite drastic.
FORTH allows you to place a FENCE which prevents you FORGETting important
things.
Having FLUSHed page 3, if you type ' PAGE . then you will receive a helpful ?.
This is because our new word PAGE is not yet in memory, we need to LOAD it!
To get our new page 3 in memory for the next step, we now need to type
EMPTY-BUFFERS
(thanks to Richard Owen for help with that)
and then
3 LOAD
Let's see where the top word in the COMMAND STACK is:
Type in ' PAGE . [enter]
(single quote, space, PAGE, space, full stop, [enter] )
The number printed is where we want to put the FENCE,
so again type
3 EDIT
Add to the end of the screen (as above)
[number] FENCE !
and FLUSH the screen to disk as before.
Now... cover the write protect tab!!! And your disk is all ready.
To PRINT a single screen, type in:
SWCH 3 LIST UNSWCH
to list screen 3 in this case.
To see how quickly FORTH now loads, type in COLD again.
To see a list of words available to you, type in VLIST [enter]
Hold SPACE to halt the scrolling!
[Thanks to Craig Miller for a lot of the above details]
Now, entering in FORTH:
SPACES are IMPORTANT. If I show a space, put one in!
First, mark the beginning of the memory area you are about to use:
ENTER:
: ME ; (that is: COLON,SPACE,ME,SPACE,SEMI COLON, then ENTER)
The word ok will appear, then the cursor will come back.
This is quite important. Every word you define in FORTH is entered into memory.
If you use FORGET ME, the definition of ME is removed AND EVERY WORD DEFINED
AFTERWARDS. This can avoid annoying warning messages!
Putting that blank definition of ME at the start of your work is a useful way
of scrubbing definitions.
Now that ME is in the library, lets experiment with multiple definitions):
ENTER : PRINT 4 . ;
The computer obtained a warning message from the disk: note it and continue:
(Do type in the colon after ENTER)
then ENTER : PRINT 5 , ;
ENTER : PRINT 6 , ;
this time the warning message is brought from memory!
Now what does the word PRINT do? Let's try it: ENTER PRINT
Hmmm. It has the LAST definition we put in!
ENTER FORGET PRINT
ENTER PRINT now it has the 2nd to last definition!
You are warned if you redefine a word, but the new definition is the one that
will be used. If you FORGET the word, the previous definition now becomes
current, and so on. You can have a full stack of definitions of PRINT, and then
delete them backwards!
You can even redefine basic FORTH words such as +, so be very careful! To check
to see if a word is already in FORTH, key in:
' WORD .
and if an address is printed, the word is in there already.
Redefining words is considered bad practice!!!!
Using ME as the first defined word, (we could have used AUDREY or anything else), we can still use ME to place another marker on the stack, and delete first the second section with FORGET ME, then delete the first section with another FORGET M!
FORTH is a useful language, as you are able to experiment with the stacks without having to actually enter and run a program. It is very like LOGO in this respect.
These simple tests have been in 'direct mode', we have not stored a program yet, merely tried defining some simple words.
That is the strength of FORTH: If a command you want does not exist, you can define it in terms of existing commands, and build up your own powerful vocabulary.
note on -64SUPPORT:
If you load -64SUPPORT, ensure that -TEXT is loaded before you use it
(-VDPMODES includes -TEXT We loaded -VDPMODES into our newly BLOADED Forth just before
FLAG1 way up in this article)
If -TEXT is not resident, you will not be able to leave the 64 column split screen.
To change from the 64 column screen to normal, just back out with FCTN 9, then at the bottom of the screen enter the word TEXT [enter].
Thats more than enough for now, no room for sample screens sorry. Let Clive and me know if you've enjoyed this forthright ramble!! Forth is Fun.
So why not take my
money for another year? But they're still willing to part me from my money for small ads
(read by a decreasing number of readers!!), or to take an article - which I'll
never be able to read!
It all makes you wonder what the "revised format" will
be like - a single duplicated sheet, perhaps?
The most annoying thing was that
they just wished Members with expired subscriptions "all the best for the
future" - no mention of an alternative source of support like TI*MES!
Ah well,
what should I have expected for GBP 5?
Best wishes. John Rice SWIMTON, Manchester M2?
Ray Hodges Assocs Ltd. better known as TI Home Computer Users Club or TIHCUC.
have announced in their Winter/Spring publication that members subscriptions
will not be renewed. Over 2000 TI Users have been dumped. In a statement the
public relations company appointed by Texas Instruments to represent TI Users
said "its just not economical long term.
We have of course honoured our obligations.." What hope have Ray Hodges
Associates when they say "..there just aren't enough of you to keep the Club
viable." Mr Dicks sums up in his column "well. heres the end of another load of
rubbish ...... " Hmmmmm!
[ TI Book front page |
TI Resources Page
| TI Articles
| PC99 and MESS Programs
]