scttgs0 / BASIC816

A BASIC interpreter for the 65C816 processor, targetting the C256 Foenix computer.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BASIC816

This is an implementation of a classic, line-number based BASIC interpreter. It is designed from the ground-up to work on the WDC65C816 CPU and compatible chips. This version of BASIC will be tailored specifically to the C256 Foenix, but there should be no reason it could not be ported to other 65C816 based computers, removing or modifying certain statements as necessary.

Current Status

The BASIC interpreter is in a very primitive (and unstable) state at the moment. Most of the language has yet to be implemented, and an interactive mode has only just been added. Most of the code is currently in the form of unit tests. You should consider this code as unreliable and cranky. It might just steal your car and run over the neighbors' kid. You have been warned!

All that said, I feel like the code is in good enough shape that I'm comfortable letting others in to see the code, try it out, and let me know about issues or places for improvement. Also, we're getting close enough to the release of the Rev C boards for the C256 Foenix that I wanted this project available to the recipients of the new boards.

If you try out this code and find any issues, please feel free to file an issue through GitHub.

You can see the current TODO List and Status.

You can also view the (incomplete) Manual listing out the commands, statements, and functions this version of BASIC is intended to support.

License

I have decided for the moment to release this code under the GNU Public License v3. I want this code to be freely available and of use to anyone who wants it. I was considering releasing it under the MIT license but decided it would be easier to go with GPL and loosen the restrictions later if need be than to do it the other way around. If GPL causes a problem for your project, let me know, and I will consider switching to the MIT license.

About

A BASIC interpreter for the 65C816 processor, targetting the C256 Foenix computer.

License:GNU General Public License v3.0


Languages

Language:Assembly 96.7%Language:Python 2.5%Language:Batchfile 0.7%Language:BASIC 0.1%