Skip to main content

Tiny Basic v1.1 Released

I posted a new version of Tiny Basic in both the Run Basic and Liberty Basic wikispaces.

Here's a list of new features:
  1. Added a fixed array accessible from the interpreter -- a(1) to a(7001). The size of the array can be adjusted by changing the ArraySize variable in the code.
  2. Added the functions seconds and ms (or milliseconds) for benchmarking purposes.
  3. (LB4 only). Fixed LOAD and SAVE commands. The argument that these commands take is a number. For example, "LOAD 1". The file saved in the working directory will be "TinyBas1".
  4. (LB4 only). Fixed AutoRun feature. If a file exists in the working directory called "TinyBas0", it will load and run automatically when the interpreter starts up.
  5. (LB4 only). Added KILL and DIR commands to round out file management. KILL takes the same numeric argument as LOAD and SAVE. The DIR command has no arguments. It will display a list of Tiny Basic files and the time stamp.
Known Issues:

  • There is no file management for Run Basic yet. The file management code is commented out in the Run Basic version. The FILES command is still missing in Run Basic.
  • The seconds function does not work correctly. It will display milliseconds instead. This is a bug in version 2.27 of Run Basic that I haven't compensated for in the Tiny Basic code. This issue will be fixed in the near future.
  • There is a range checking bug when printing a value in an array. For example, if you type "PRINT a(7005)" and the array only goes up to 7001, then Liberty Basic will display a run-time error message. Range checking works properly, however, for assignment. This issue will be fixed in the near future.

Summary:

The goal of this release was to add enough features to run the Sieve benchmark. I will post the Tiny Basic Sieve program and the results of the benchmark in another post.

Comments

Popular posts from this blog

BASIC turns 50

Well, the BASIC language actually turned 50 on May 1, 2014, and I'm very late to the party. Born at Dartmouth in 1964 (along with the first commercial time sharing), here is the university's tribute page . There is even a great 38 minute documentary that they made for the occasion. 10 PRINT "ENJOY" 20 GOTO 10

Tiny Basic tinkering

One of the examples on the Run Basic website is a port of Tiny Basic . It's fun to play with and is very much like the interactive, command line Basics found on early personal computers. In fact, I think Tiny Basic was the dialect used on the TRS-80 Model 1. I'm currently working on modifying Tiny Basic to run the Sieve benchmark. Tiny Basic needs two things: profiling and array support . I've already added profiling support for the RUN command. Tiny Basic now displays the running time of a program in milliseconds. The last step is to add array support. Tiny Basic only supports the numeric variables 'a' to 'z'. I'm adding a single array to the environment in order to port the Sieve program. The array will be called a(). I will post the modified Tiny Basic code to the Run Basic Programming Wiki when finished. The whole point of this exercise, however, is to see how fast the Tiny Basic interpreter runs the Sieve benchmark and compare it to the others i...

Run BASIC Hosting Service Launched

The new Run BASIC hosting service launched at midnight! Please visit http://runbasichosting.com for more details. Monthly and annual subscriptions are available. Run BASIC , a product by ShopTalk Systems, is a tool that makes it easy to create your own web applications. No computer science degree required . Run BASIC Hosting is a service that makes it easy to deploy your applications to the Internet. No IT experience required .