North Star BASIC

North Star BASIC was a dialect of the BASIC programming language for the Intel 8080 microprocessor used on the North Star Horizon and available for purchase on other S-100 bus machines of the late 1970s.

Overview
The BASIC interpreter was implemented by Dr. Charles A. Grant and Dr. Mark Greenberg, of North Star Computers, Inc.

One notable difference with other dialects of BASIC of the time was the way in which substrings were addressed using an array-like syntax, a concept sometimes referred to as "slicing". For example, A$(13,17) in North Star BASIC corresponded to MID$(A$,13,5) in Microsoft BASIC-derived dialects. This slicing technique is analogous to the one used in Fortran, and was introduced to BASIC with HP Time-Shared BASIC and later used on Atari BASIC and Sinclair BASIC, among others. Strings could be of any length, limited only by available memory, but had to be "DIMensioned" before use.

While the language was very similar to other BASICs overall, one interesting addition was the addition of an EXIT keyword to pop out of a FOR loop. Different dialects of BASIC handled this in different ways, the equivalent in Integer BASIC and Atari BASIC was POP. FILL could be used to fill a block of memory with a given value.

Most other differences were minor. GOTO was supported, but the alternate form GO TO was not. Computed-gotos, ON X GOTO... did not support GOSUB. INPUT allowed a prompt; INPUT "TYPE IN YOUR AGE",A. INPUT1 worked identically to INPUT, but suppressed the following question-mark. NEW became SCRatch, PEEK became EXAM, and INSTR became MATCH. The language used the backslash (\) instead of a colon to delimit statements on a single line.

The language also added a number of direct-mode commands like BYE to exit BASIC and return to DOS, REN to renumber the lines in the program, and NULL which defined how many nulls to print after pressing return, to use as fill characters.

Version 5 was assembled for 8-digit floating-point precision. North Star would re-assemble the interpreter for customers with a different precision, up to 14 digits.

Some other dialects of BASIC were created that were based on and inspired by North Star BASIC, such as BaZic (a rewrite of North Star BASIC, taking advantage of the faster Zilog Z80 instructions), Megabasic and S.A.I.L.B.O.A.T. (a basic optimized for Z80 and X86 MS-DOS). Some of these were available for other hardware and operating systems, including Unix, CP/M and DOS.