Sunday, March 4, 2012

Other BASICs for the Replica 1

Besides the Apple BASIC that ships in the EPROM of the Replica 1, there are some other alternative BASICs that can run on the system.

Applesoft Lite

Applesoft Lite is a port of Applesoft BASIC for the Apple II for the Replica 1 by Tom “Cowgod” Greene. Apple II specific features like graphics were removed and some Apple 1/Replica 1 specific features were added.

As well as support for floating point (decimal) math some of the commands included that were not present in Apple 1 BASIC are:

  • DATA/READ/RESTORE
  • ONERR/RESUME
  • RUN/STOP/CONT
  • GET
  • SQR, LOG, EXP functions
  • ASC and CHR$ functions

For some reason it omits the SIN/COS/TAN trigonometric functions (these were optional in a lot of versions of Microsoft BASIC because they took up a lot of space).

If you have the CFFA1 Compact Flash card for the Replica 1, it supports LOADing and SAVEing of programs.

It can be burned into an EPROM and installed in the Replica 1 to replace the shipped EPROM, or loaded into RAM. It is just under 8K in size.
Applesoft Lite on the Replica 1
 Because it is a Microsoft BASIC it is more compatible with the other Microsoft-written BASICs for microcomputers of that era, making it easier to port games from books and magazines, for example.

Lee Davison's Enhanced BASIC

Enhanced BASIC is a BASIC interpreter for the 6502 and compatible microprocessors written from scratch by Lee Davison.  It is designed to be easy to port to different systems and is free for non-commercial use.

It supports floating point math and offers more features than Applesoft BASIC, requiring 10K of ROM or RAM for the interpreter code and 1K of RAM.

A port to the Replica 1 is available here.

Enhanced BASIC on the Replica 1

Microsoft BASIC for MOS 6502

At this site is source code derived by disassembling a number of early Microsoft BASICs and then creating common source code that can generate exact binaries for eight classic versions of BASIC including those for Commodore, Ohio Scientific (my old computer!), Applesoft for Apple II computers, and KIM BASIC.

That article also has a lot of history and information on the subtle bugs and differences between different versions of BASIC.

To my knowledge it hasn't been ported to the Replica 1 but it should be feasible. The result would be similar to Applesoft Lite. Trying to do a port is on my list of future projects.

Besides BASIC there are other high-level languages available for the Replica 1 including Forth and C. I'll discuss those in future blog postings.

6 comments: