Skip to main content

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 in the last post.

Comments

Popular posts from this blog

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 .

Hammurabi (on Run Basic)

To celebrate 50+ years of BASIC, I've published an early version of the classic simulation, Hammurabi, on the Run Basic Hosting site. It ran "almost" unchanged -- line numbers, GOTOs and all. I'll publish the tweaked Run Basic code later, but here is the link to the game if you want to try it out right away. If you're interested in the original source, here is a nice article on the game at the Atari Archives. Have fun!
Liberty Basic 4 is now in Alpha testing. It looks like it's going to be a big step forward for the language. Here's a brief list of the new features: True global variables. (declared using the new global keyword) Passing arguments to a sub or function by reference. (I complained about the lack of this feature in LB3 about 4 posts ago.) Handle variables and the new maphandle command. (liberation from static handles to windows, controls and files) Dynamic evaluation of Liberty Basic code inside of a running program. ( eval returns a numeric value and eval$ returns a string value) Subroutines can now be used for event handlers. (a better choice over branch labels for large programs) There are many other enhancements, but these are the big ones. The IDE also has a new feature that lets you create tutorials or lessons using a three-pane window. On the left pane is the outline of the lesson. On the upper right pane is the lesson text. On the lower right pane is LB code...