Jim Hawkins Dartmouth+ BASIC Interpreter "db" V 4.0 2023

  1. Download the BASIC executable db.exe (for Windows console)
  2. Copy the executable into a folder of your choice, preferably something like c:\bp or d:\bp There is NO formal installation sequence. It does not run dlls or put anything in the Windows registry
  3. Right click on the db.exe and send it to your desktop and/or pin it to your task bar. The icon is very ordinary as it is for a console application.
  4. For now, save all your programs in this folder. It IS possible to put them anywhere you want, but, intially this is the easiest and requires just a save <filename>. The .bas will be tacked on to load files, use old <filename>
  5. When you click to run BASIC, it will open up a tiny, hard-to-read console window. Click on the upper left icon of the window, select the Font tab and set the font size to 24 or 28. Once set, it will always open using this setting.
  6. Please read the PREFACE of the PDF manual carefully. It should help you get started. The commands or statement meaning are in the text.
  7. LINUX: This program will run very well on Linux using the "wine" command. The easiest way to set it up is to create a shell script with the text: wine db and make the script executable chmod 755. Put the script in a place where you can run it from anywhere like /usr/local/bin. Keep the actual executable anywhere, you want to keep it permanently.

Click HERE for db.exe

Updated 2/5/2023

* restore <line number>
* print using
* diff("<equation>","<variable name>", <numeric point of differentiation>

PDF Manual

Updated 2/5/2023


db.exe (For Dartmouth Basic)

Contact me: basiclang @ j-hawkins.com

Commands and statements extended beyond Dartmouth BASIC  
goto=less code:

break and continue
Matrix arithmetic and commands  
Formatted printing
fnumber$ string function
Allows variables as goto and gosub line numbers  
numeric derivative at a point  
time command
time$ string function
define function with up to 6 variables  
input with optional string prompt  
renumber and mov  
limited c-language style printf  
substitute line editing command  
restore with specific line number target  
ASCII table listing commsnd  
string arrays with up to 3 dimensions  
avg function  
complex numbers algebra and arithmetic  
sum function  
prod function  
call <overlay>,<start number>  
on <expr> goto
on <expr> let
on <expr> call


Solves four simultaneous equations using matrices mat4d.bas
Nine demo tests for matrix functionality mattestall.bas
Three demo tests of user defined functions: Nesting functions, Multiple variable functions fnnestx.bas
Using user defined functions to find roots of quadratic equation by trial and error, varying 'x' and 3 constants: y = a1x2+a2x+a3 polyloop.bas
Fahrenheit to Celsius dual column table using single dimension array. f2ctable.bas
Three simultanious equation solutions using 3X3 Determinants. Two dimentional array used for row and column. det3d.bas
Generates square, sawtooth and triangle wave using Fourier harmonic series. wave.bas
Tests while loops for string and numbers. whiletest.bas
Standard deviation and linear regression sdeviation.bas
Opens a file for output, writes to it, closes it, then opens the same file for append and adds to it. If an append is done to a non-existant file, it will create a file.  appendfile.bas
Test and demonstration of nested if-then-else code structures and demonstration of simple logic tests for "and" and "or" operators. ifelse.bas
Tests print using with all current features (not full ANSI set) usingtest.bas