Software

Implementing stack based call/return

Rc/Forth v1.0
A small forth system for Elf computers. This program requires the Elf/OS BIOS (v.5 or higher). It uses serial communication for the console. Currently error handling is rather minimum, especially if the error occurs in a function called by a function. Negative number handling is not correct on the / operator but appears to work everywhere else.

Rc/Forth - ROM version
This version of Rc/Forth is designed to reside in rom. It is set to assemble at E000h, but can be moved to anywhere above 8000h. BIOS v0.5 or higher is required to run this.

Dice rolling simulation

Extended ETOPS program

Rc/Lisp - ROM version
A small rom version of Rc/Lisp. Assemgbly listing is set to assemble at D000h, but can be moved to anywhere above 8000h. BIOS v0.9 or higher is needed to run this.

Edt/Asm - ROM version, Hex file
This is an editor with integrated in-memory assembler. The assembler is completely ROMmabe, and as assembled exists at 8000h. The assembler as assembled uses memory above 1000h for variables and the text editor buffer, leaving all addresses below 1000h available for assembled programs. By changing the ORGs, this assembler can be moved to anywhere in memory and the RAM portion can be moved to anywere where there is RAM.

BASCOM - ROM version Tiny Basic Compiler
This is the ROM version of my Tiny Basic Compiler. It includes an integrated editor for editing source code. Richard's ROM version of ILRUN is required to use this package

Rc/Basic L1
This is the ROM version of the Rc/Basic Level I interpreter. This image was assembled at 08000h with its data area starting at 0000

Rc/Basic L2
This is the ROM version of the Rc/Basic Level II interpreter. This image was assembled at 08000h with its data area starting at 0000

Floating Point Subroutines
These routines implement single precision floating point on the 1802. The following functions currently exist: atof, add, sub, mul, div.


Programs for Elf/OS


TBC - Tiny Basic Compiler
This program compiles Tiny Basic to IL code. Programs run from 10x to 20x faster than interpreted Tiny Basic. Richard's ILRUN is required to run programs generated from this compiler

ILREAD - IL File Loader
This programs reads the IL codes created by TBC into memory, in preparation to be run by ILRUN

FORTH - FORTH Language Interpreter
This is the Elf/OS version of my RC/Forth interpreter

LISP - LISP Language Interpreter
This is the Elf/OS version of my RC/Lisp interpreter

Rc/Basic L1
This is the Elf/OS version of the Rc/Basic Level I interpreter

Rc/Basic L2
This is the Elf/OS version of the Rc/Basic Level II interpreter

Rc/Basic source
This is the source file for building both Rc/Basic L1 and Rc/Basic L2, as well as the Rom vs Elf/OS versions. The source uses #define to determine which of ther 4 interpreters will be built.

Rc/Basic manual
This is the manual covering all versions of Rc/Basic.

XS
This is an XModem sender for Elf/OS

XR
This is an XModem receiver for Elf/OS

LBR
This is a simple library program that can be used to lump a group of files together for transfer using XR or XS

ZRUN3
Inforcom game interpreter for version 3 adventures (Zork I, II, and III)

SHELL
Integrated shell utility. This is an early version and contains the following commands: CD (CHDIR), CP (COPY), RM (DEL), LS (DIR), MD (MKDIR), RN (RENAME), RD (RMDIR), CAT (TYPE)

ASM2
Initial release of linking assembler. Link2 (not included) is needed to use this assembler

LINK2
Initial release of linker. Note: Elf/OS build 192 or later is required.


Programs for Elf2K

Rc/Basic source
This is the source file for building both Rc/Basic L1 and Rc/Basic L2, as well as the Rom vs Elf/OS versions. The source uses #define to determine which of ther 4 interpreters will be built.