+Vorticon Posted July 17, 2014 Share Posted July 17, 2014 (edited) I was brooding over the seeming decline in programming activity on this forum today as I was modifying my recently acquired Heathkit ET-3400 Microprocessor Trainer to work with the Heathkit ETA-3400 IO Memory accessory so I could hook it up to a terminal and use it to program in Tom Pittman's Tiny Basic, and it occurred to me that Tiny Basic would be the perfect starter for even the most inexperienced of programmers. Tiny Basic was designed to run on the simplest computers in the early 70's, which typically had less than 2K of RAM. The ET-3400 with the IO expansion has for example a total of just 1.5K of RAM. By necessity, that Basic variant had only an extremely limited set of commands as listed below: Integer variables only. Variables are named A-Z. LET - Assign a value to a variable GOTO - jump to a line number INPUT - requests keyboard input for a specific variable GOSUB - jump to a line number containing a subroutine RETURN - occurs at the end of a subroutine and returns the program to the statement after a GOSUB PRINT - print a quoted string or a variable content IF/THEN - if an algebraic expression is true, then execute the statement after the THEN keyword REM - adds a non-executable remark to your program for clarity CLEAR - clear the screen END - ends the program RND - Generate a random integer number Since Tiny Basic is a subset of general Basic, it is fully supported by TI BASIC, with CLEAR being substituted by CALL CLEAR. So how about we launch a Tiny Basic programming contest where entries will consist of a game using only the Tiny Basic keywords, and limited to 40 lines in order to mimic the limitations of early computers? You might think that these are pretty restrictive rules, and you'd be absolutely right, but you'd also be surprised as to what could be achieved with imagination and creativity here. It would be kind of going back to a time of simplicity where the need to be creative superseded any technical limitations of the period. Any interest? Edited July 17, 2014 by Vorticon Quote Link to comment Share on other sites More sharing options...
+hloberg Posted July 17, 2014 Share Posted July 17, 2014 wonder if it could be ported to the TI99? Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted July 17, 2014 Author Share Posted July 17, 2014 wonder if it could be ported to the TI99? All the keywords of Tiny Basic are already available in TI Basic, so there is really no need. Quote Link to comment Share on other sites More sharing options...
RXB Posted July 17, 2014 Share Posted July 17, 2014 RXB will run TI BASIC programs in a Extended Basic Editor environment. Other then no Editor Assembler Cartridge BASIC support works just like TI BASIC. Even a Program version of CALL FILES is in RXB. 100 CALL FILES(2) Reminds me I need to fix it so it does a NEW within a program. That would allow a CALL FILES in a program without losing the program or stopping it. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted July 17, 2014 Share Posted July 17, 2014 All the keywords of Tiny Basic are already available in TI Basic, so there is really no need. Except that having integer variables only might speed up program execution by 500% (just a wild guess). Quote Link to comment Share on other sites More sharing options...
Asmusr Posted July 17, 2014 Share Posted July 17, 2014 Regarding the rules for the next contest I would think a more open set of rules would attract more participants. For instance to make it about XB compiled games. Perhaps even allow XB256 to be used? Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted July 17, 2014 Share Posted July 17, 2014 What I would like in ANY BASIC for the TI is nothing special, just a little three letter command... CLS, not a frikken long azz 'CALL CLEAR'. Is that too much to ask? Quote Link to comment Share on other sites More sharing options...
Willsy Posted July 17, 2014 Share Posted July 17, 2014 Looks very limiting... You can't even place characters at a location on the screen (no PRINT AT) and you can't scan the keyboard. Does it have string variables? String slicing words (MID LEFT RIGHT etc). Looks awful! Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted July 17, 2014 Author Share Posted July 17, 2014 (edited) No strings I'm afraid Just think of what early home programmers had to contend with! On the other hand, if you browse David Ahl's classic book "Basic Computer Games" which you can find here http://www.annarchive.com/files/Basic_Computer_Games_Microcomputer_Edition.pdf, you will see that a lot can be done with a very limited set of keywords. I think the biggest limitation of Tiny Basic is the lack of For/Next loop which tends to render coding a little more cumbersome, but it's not a fatal flaw. To be fair though, Tiny Basic also has a USR function which allows the use of machine language subroutines, and I bet early programmers made good use of it in order to expand Tiny Basic's capabilities. In the end, it's the core entertainment value of a program that wins the day, not the fancy graphics. I'm all for another XB contest per Rasmus' suggestion, compiled or otherwise. Rasmus, perhaps you should set up a poll to gauge the level of interest in something like this in order to have a decent turnout. Edited July 17, 2014 by Vorticon Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted July 17, 2014 Author Share Posted July 17, 2014 RXB will run TI BASIC programs in a Extended Basic Editor environment. Other then no Editor Assembler Cartridge BASIC support works just like TI BASIC. Even a Program version of CALL FILES is in RXB. 100 CALL FILES(2) Reminds me I need to fix it so it does a NEW within a program. That would allow a CALL FILES in a program without losing the program or stopping it. Rich, what would be the advantages of running TI Basic in an XB environment? Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted July 18, 2014 Share Posted July 18, 2014 It would be fun to try to write a Tiny Basic interpreter in Forth; but, I am desperately trying to finish my current project before The Faire! I think I'll pass for now. ...lee Quote Link to comment Share on other sites More sharing options...
Willsy Posted July 18, 2014 Share Posted July 18, 2014 It would be fun to try to write a Tiny Basic interpreter in Forth; but, I am desperately trying to finish my current project before The Faire! I think I'll pass for now. ...lee Here's the rub: I think a Tiny Basic interpreter written in Forth would be faster than TI BASIC! 1 Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted July 18, 2014 Share Posted July 18, 2014 Here's the rub: I think a Tiny Basic interpreter written in Forth would be faster than TI BASIC! Now if you could write an interpreter in TurboForth that could emulate GW-BASIC you would really have something! 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted July 18, 2014 Share Posted July 18, 2014 Personally, if there was to be a new BASIC compiler I think ZX Basic should be considered. It's been ported to many systems already. I'd like to think it would promote cross platform games. 1 Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted July 18, 2014 Share Posted July 18, 2014 Personally, if there was to be a new BASIC compiler I think ZX Basic should be considered. It's been ported to many systems already. I'd like to think it would promote cross platform games. Actually if I was going to emulate an older 'Classic Computer' BASIC, I'd prefer the one from the old TRS-80 Model I/III, that way one would have a larger collection of software to use. There would be problems though, because both the systems I mentioned had more RAM available to them than the TI, so in retrospect, your choice IS probably better. Quote Link to comment Share on other sites More sharing options...
RXB Posted July 18, 2014 Share Posted July 18, 2014 Rich, what would be the advantages of running TI Basic in an XB environment? XB has advantages of upgrading the Basic Program. Unlike Basic that is a move down not up. Also you can put something like something else in the GROM location of TI Basic as why use something slower and a limited duplicate? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.