North Star BASIC

{{Short description|BASIC interpreter for the Horizon microcomputer}}

{{Infobox programming language

|name = North Star BASIC

|logo =

|paradigm = imperative

|year =

|designer = Charles A. Grant,
Mark Greenberg

|developer = North Star Computers

|latest_release_version =

|latest_release_date =

|typing =

|implementations =

|dialects =

|influenced_by =

|influenced = BaZic, Megabasic, S.A.I.L.B.O.A.T.

|current version =

|operating_system =

|license =

|website =

}}

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.Richard Milewski, "[https://books.google.com/books?id=DT4EAAAAMBAJ&pg=PA16 Micro Mike's baZic release 1]", InfoWorld, April 27, 1981

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, {{code|A$(13,17)}} in North Star BASIC corresponded to {{code|MID$(A$,13,5)}} in Microsoft BASIC-derived dialects.{{sfn|Manual|1977|p=11}} 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 "{{code|DIM}}ensioned" before use.{{sfn|Manual|1977|p=10}}

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

Most other differences were minor. {{code|GOTO}} was supported, but the alternate form {{code|GO TO}} was not. Computed-gotos, {{code|ON X GOTO...}} did not support {{code|GOSUB}}. {{code|INPUT}} allowed a prompt; {{code|INPUT "TYPE IN YOUR AGE",A}}. {{code|INPUT1}} worked identically to {{code|INPUT}}, but suppressed the following question-mark.{{sfn|Manual|1977|p=8}} {{code|NEW}} became {{code|SCR}}atch, {{code|PEEK}} became {{code|EXAM}}, and {{code|INSTR}} became {{code|MATCH}}.David A. Lien, "The BASIC Handbook" Compusoft Pub., 1981 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 {{code|BYE}} to exit BASIC and return to DOS, {{code|REN}} to renumber the lines in the program, and {{code|NULL}} which defined how many nulls to print after pressing return, to use as fill characters.{{sfn|Manual|1977|p=5}}

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.{{sfn|Manual|1977|p=2}}

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.

References

=Citations=

{{reflist|30em}}

=Bibliography=

  • {{cite book

|title=North Star BASIC version 6

|url=http://itelsoft.com.au/north_star_manuals/North_Star_BASIC_Version_6.pdf

|publisher=North Star Corporation

|date=1977

|ref=CITEREFManual1977

|access-date=2011-11-21

|archive-date=2020-03-05

|archive-url=https://web.archive.org/web/20200305045335/https://itelsoft.com.au/north_star_manuals/North_Star_BASIC_Version_6.pdf

|url-status=dead

}}