The software source available on this page is obsolete. Each item has been replaced by something else, either of my own making or of someone else (or else the software is truly abandoned). This code is released to the public domain and may be used for any purpose and without any restrictions whatsoever. Because I am using replacements to this software, it is extremely unlikely that I will ever update it again. So don't bother reporting bugs. However, anyone who wishes to submit changes is welcome to do so and I will make those updates available here. Submit changes to [email protected]. Finally, I provide no support or documentation for these files. If you want to use them, you'll have to figure out how to do so on your own.

File

Language

Platform

Replaced by

Description

80286.b2s

BASIC-Plus-2

RSTS/E

CEF

Framework for an Intel 80286 emulator. Incomplete: has support for RTS interface, keyboard command interface, instruction fetching and parsing. Only a handful of instructions actually implemented.

ALU.b2s

BASIC-Plus-2

RSTS/E and VMS

n/a

Emulates the x181/x182 Arithmetic Logic Unit chips for operations up to 128 bits. Untested.

ALUX.b2s

BASIC-Plus-2

RSTS/E and VMS

n/a

Arithmetic/Logic Unit for floating-point and misl. Operations. Unfinished. I don't recall, but this may have been intended for use with an emulator for the Gygabyte CPU (see below).

Ansys

AOS BASIC 2

AOS

n/a

This is, without doubt, the oldest code that I wrote that still exists. It is a shell for the Data General Ecclipse AOS system. Ansys means "ANother SYStem". Abandoned in 1978. Unfinished.
Ansys.bas – The source code.
Ansys.txt – Documentation.

BNF

BASIC-Plus

RSTS/E

n/a

The program was written for a college Computer Science course with a fellow student. It was never finished, but was sufficient for a passing grade.

Bnf.bas The program. Note that this was scanned in from a printout on paper that wasn't wide-enough for some of the lines.
bnf.doc Documentation for the bnf.bas.


bnf1.bas A revision to Bnf.bas. The changes were scribbled on the source of the original bnf.bas listing and, I believe, incomplete. Thus, this version of the program will not even compile.

Button_panel.pas

Delphi

MS Windows

VCL_Std. Adjust_Button_Panel

A Tpanel descendant that adjusts children controls (such as buttons) on resize so that they are spaced evenly across the panel.

Dictio.b2s

DEC BASIC

RSTS/E and VMS

Spellchk.pas in Subroutine library.

A word lookup function used by a spell checker.

dynstr.cpp

C++

n/a

C++ string

Dynamic string routines.

dynstr.h

C++

n/a

C++ string

Prototypes for dynstr.cpp.

editors.pas

Borland Pascal

MS Windows

Ueditors.pas in Subroutine library.

An editor control that allows editing of content greater than 64K in length.

evals.pas

Borland Pascal

n/a

Express.pas in subroutine library.

An expression evaluator. Non-extensible. Has bugs (for instance, hyparctan actually returns hyptan).

Gigabyte

Gigabyte CPU microcode and assembler

n/a (microcode)

RSTS/E (assembler)

n/a (CEF, in part)

The Gigabye processor was a CPU that I designed in the late 1970s. It was designed with ECL, but I never built a prototype due to the cost (the register set itself would have cost $900, and I was a poor college student). In fact, the design was never entirely completed.

Gigabyte.mic - This is the microcode that was to have controlled the CPU.
Gigabyte.txt - This documents the instruction set (unfinished).

GASM was a cross-assembler for the Gigabyte CPU. It only had 32K bytes of memory for both program and data, so the symbol table was limited to 560 entries. Also, to preserve what little space was there, much data was extracted to the GBYTE.* files.

GASM.B2S – The assembler
GASM.DOC – Documentation for the assembler
GBYTE.ZER – zero-parameter instructions data
GBYTE.ONE – One-parameter instruction data
GBYTE.TWO – Two-parameter instruction data
GBYTE.THR – Three-parameter instruction data

Heap.pas

Turbo Pascal

MSDOS

Heaps.pas in subroutine library.

I believe this is my code, but cannot remember for sure - and there is no author named in the source. This code allows Turbo Pascal programs on the DEC Rainbow to access the extra 256K of RAM for heap usage. Without this, they are limited to 640K under DOS.

MOS/E

Various

MSDOS

UOS

MOS/E was the start of an operating system compatible with RSTS/E. It consists of various routines and code fragments:

inithelp.asm
initid.asm
initconl.asm
init.asm
mos.pas

property.cpp

C++

Borland C++/ OWL/ MS Windows

n/a

Property box component.

property.h

C++

Borland C++/ OWL/ MS Windows

n/a

Prototypes for property.cpp.

QMerge.b2s

Basic-Plus

RSTS/E

Adventure Builder

Merges Quest text-formatted files.

ribbons.pas

Borland Pascal

MS Windows

Borland VCL

Classes for toolbars, speed buttons, etc.

REORG

DEC BASIC

RSTS/E

n/a

An on-line disk defragmenter for RSTS/E V9. REORG V9.5 was also included in the DECUS library. Documentation and source:

reorg.doc
reorg.b2s

The following is REORG V9.6:

reorg96.doc
reorg96.b2s

Sirius.mac

Macro-11

RSTS/E

Sirius

Code fragment for compiled Sirius run-time for RSTS/E

Sirius.mth

Basic-Plus

RSTS/E

Sirius

Code fragment for Sirius interpreter for RSTS/E.

statusba.cpp

C++

Borland C++/ OWL/ MS Windows

Borland VCL

Windows statusbar component.

statusba.h

C++

Borland C++/ OWL/ MS Windows

Borland VCL

Prototypes for statusba.cpp.

string.asm

i8086

n/a

n/a

Code fragment: dynamic string handling.

toolbox.cpp

C++

n/a

Borland VCL

Beginnings of a toolbox component.

toolbox.h

C++

n/a

Borland VCL

Prototypes for toolbox.cpp.

Trek11

Basic-Plus-2 & Macro-11

RSTS/E

n/a

This was a multi-player Star Trek game designed by me and largely implemented by Carly Sparrow. The design was losely based on single-player Star Trek games I had played in high-school on the HP-2000 minicomputers and PT SOL-20 microcomputer. Most of the source code has been lost, but what remains is available here. The game implemented inter-task communications through a Read/Write sharable library.

Trek11.doc - User documentation (written by Carly Sparrow)

Trek11.inc - BASIC-Plus-2 code defining the sharable library structures. This was used by the game, which was written in BASIC-Plus-2.

Trek11.asm - Macro-11 code defining the sharable library structures. This was used to build the actual sharable library.

Trek11.bat - Batch file used to build Trek11.

Trek11.cmd - Command file used to build Trek11.

winstd.pas

Borland Pascal

MS Windows

Borland VCL

Several classes for Windows programming.



Obsolete documentation:

RSTS/E BASIC-Plus BAC file format and run-time layout notes (incomplete, possibly inaccurate)