Difference between revisions of "Extended BASIC"
Stephen Shaw (talk | contribs) (Start of major article on Extended Basic - to be much extended with sub pages and extra content) |
Stephen Shaw (talk | contribs) (added Category) |
||
Line 83: | Line 83: | ||
===SIZE=== | ===SIZE=== | ||
[[Category:Programming languages]] |
Revision as of 19:41, 16 September 2014
First TI produced TI BASIC, built into the console. Then came the first attempt at an Extended BASIC, in module format, which returned the value of 100 with CALL VER(A). This first version is quite rare and suffered several problems.
Very quickly a rewrite was issued. The second version was still called TI Extended BASIC but this time when you used CALL VER(A) it returned a value of 110. It was faster. (Mostly because it was no longer trying to keep track of graphic sprites that you weren't using).
Subsequent versions of Extended Basic from third parties added more powerful versions of commands or new commands- some example versions are:
Triton Super Extended BASIC
General Notes
This page links to some notes on using Extended Basic generically and where possible each comment will address the variations.
Program Line content
PROGRAM LINES: May now contain more than one command, and can be entered up to 5 screen lines long (but limited to 128 bytes long internally).
You may use IN COMMAND MODE for instance: FOR A=110 to 220 :: CALL SOUND(200,A,0) :: NEXT A
The double colon is a statement separator. In TI Basic you could enter PRINT A::B::C.
In Extended Basic you must leave a space between the colons: PRINT A: :B: :C
(A program in TI Basic is converted automatically by the machine to the new format, but you must take care when typing in a program. Due to an omission in the error handling system, typing too many colons together in Extended Basic can cause the processor to 'lock out')
When this is linked to the new capabilities of the IF...THEN command, it is possible to put together some very powerful program lines:
IF A=B THEN C=5 :: PRINT A :: ELSE IF A=8 AND B=C THEN GOTO 3400 ELSE CALL SOUND(100,110,0) :: GOTO 200
As the lines become longer and more complex, you do need to take greater care, but the language gives you a very powerful tool.
In addition to using REM after double colons, you may use a 'tail remark', which is a '!' as follows:
140 SCORE=0 ! RESET SCORE
Memory Usage
EXTENDED BASIC uses some of the system RAM, and you do not have quite as much memory available for your programs. In addition, the cassette loader cannot handle programs over 12k.
The good news is that with Extended Basic you may access the memory expansion unit, which permits you to load (from DISK) a program up to 24k, and still have some 14k available for variables and so on.
REDO key
The new function key REDO will repeat your last entry, and if the last entry was a program line (either just entered, or recalled using FCTN X) the line reappears on the screen with the cursor at the beginning of the line NUMBER, allowing you to change the line number if you wish. This function is useful if your program contains a lot of lines either the same or with only small differences.
Machine code programs
An added attraction of the module is that it permits you to load and run Assembly language programs, provided you have the extra peripherals required.
Example: In the USA, TI release TI INVADERS on disk for half the price of the module. You require a disk system and the 32k memory expansion.
Console Crashes
If you use CALL PEEK at some locations the console will cease to respond.
Users have encountered more system lock outs due to dirty module contacts with Extended Basic as it uses more of them than most modules.