Galaksija BASIC
DevelopersMicrosoft, Voja Antonić
Release1983; 43 years ago (1983)
PlatformGalaksija
TypeMicrosoft BASIC

Galaksija BASIC was the BASIC interpreter of the Galaksija build-it-yourself home computer from Yugoslavia. While being partially based on code taken from TRS-80 Level 1 BASIC, which the creator believed to have been a Microsoft BASIC,[1] the extensive modifications of Galaksija BASIC—such as to include rudimentary array support, video generation code (as the CPU itself did it in absence of dedicated video circuitry) and generally improvements to the programming language—is said to have left not much more than flow-control and floating point code remaining from the original.

The core implementation of the interpreter was fully contained in the 4 KiB ROM "A" or "1". The computer's original mainboard had a reserved slot for an extension ROM "B" or "2" that added more commands and features such as a built-in Zilog Z80 assembler.

ROM "A"/"1" symbols and keywords

edit

The core implementation, in ROM "A" or "1", contained 3 special symbols and 32 keywords:

!
begins a comment (equivalent of standard BASIC REM command)
#
Equivalent of standard BASIC DATA statement
&
prefix for hex numbers
ARR$(n)
Allocates an array of strings, like DIM, but can allocate only array with name A$
BYTE
serves as PEEK when used as a function (e.g. PRINT BYTE(11123)) and POKE when used as a command (e.g. BYTE 11123,123).
CALL n
Calls BASIC subroutine as GOSUB in most other BASICs (e.g. CALL 100+4*X)
CHR$(n)
converts an ASCII numeric code into a corresponding character (string)
DOT x, y
draws (command) or inspects (function) a pixel at given coordinates (0<=x<=63, 0<=y<=47).
DOT *
displays the clock or time controlled by content of Y$ variable. Not in standard ROM
EDIT n
causes specified program line to be edited
ELSE
standard part of IF-ELSE construct (Galaksija did not use THEN)
EQ
compare alphanumeric values X$ and Y$
FOR
standard FOR loop
GOTO
standard GOTO command
HOME
equivalent of standard BASIC CLS command - clears the screen
HOME n
protects n characters from the top of the screen from being scrolled away
IF
standard part of IF-ELSE construct (Galaksija did not use THEN)
INPUT
user entry of variable
INT(n)
a function that returns the greatest integer value equal to or lesser than n
KEY(n)
test whether a particular keyboard key is pressed
LIST
lists the program. Optional numeric argument specifies the first line number to begin listing with.
MEM
returns memory consumption data (need details here)
NEW
clears the current BASIC program
NEW n
clears BASIC program and moves beginning of BASIC area
NEXT
standard terminator of FOR loop
OLD
loads a program from tape
OLD n
loads program to different address
PTR
Returns address of the variable
PRINT
Printing numeric or string expression.
RETURN
Return from BASIC subroutine
RND
function (takes no arguments) that returns a random number between 0 and 1.
RUN
runs (executes) BASIC program. Optional numeric argument specifies the line number to begin execution with.
SAVE
saves a program to tape. Optional two arguments specify memory range to be saved (need details here).
STEP
standard part of FOR loop
STOP
stops execution of BASIC program
TAKE
replacement for READ and RESTORE. If the parameter is variable name, acts as READ, if it is number, acts as RESTORE
UNDOT x, y
"undraws" (resets) at specified coordinates (see DOT)
UNDOT *
Stops the clock, not part of ROM
USR
Calls machine code subroutine
WORD
Double byte PEEK and POKE

ROM "B"/"2" additional symbols and keywords

edit

The extended BASIC features, in ROM "B" or "2", contained one extra reserved symbol and 22 extra keywords:

  • %
  • /LABEL
  • ABS(x)
  • ARCTG(x)
  • COS(x) COSD(x)
  • DEL
  • DUMP
  • EXP(x)
  • INP(x)
  • LDUMP
  • LLIST
  • LN(x)
  • LPRINT
  • OUT
  • PI
  • POW(x,y)
  • REN
  • SIN(x), SIND(x)
  • SQR(x)
  • TG(x) TGD(x)

See also

edit

References

edit
  1. ^ Antonić, Voja (creator), 1983 - Galaksija
edit

📚 Artikel Terkait di Wikipedia

Galaksija (computer)

The Galaksija (Serbian Cyrillic: Галаксија; Serbian pronunciation: [galǎksija], meaning "Galaxy") was a build-it-yourself computer designed by Voja Antonić

Microsoft BASIC

implementation inspired by QuickBASIC Galaksija BASIC (Galaksija home computer) Gambas – free implementation inspired by Visual Basic GW-BASIC (BASICA for MS-DOS,

List of BASIC dialects

deployed on custom Raspberry Pi machines. Galaksija BASIC (Galaksija) – Firmware version for Galaksija home computer. Gambas (Linux, Unix, Cygwin) – A rapid

ISO basic Latin alphabet

The ISO basic Latin alphabet is an international standard (beginning with ISO/IEC 646) for a Latin-script alphabet that consists of two sets (uppercase

List of home computers

Elektor Junior Computer Elektor TV Games Computer Ferguson Big Board Galaksija, a build-it-yourself home computer that created a wave of enthusiasts

Semigraphics

mosaic is sometimes divided so that it uses a 3:2:3 scan-line scheme. The Galaksija's graphics mode is an example, although with a 4:5:4 scheme the distortion

YUSCII

transliteration Iskra Delta Partner, a computer with built-in YUSCII Galaksija (computer) § Character ROM, yet another scheme replacing ASCII characters

Personal computer

Following came the Commodore 64, totaled 17 million units sold, the Galaksija (1983) introduced in Yugoslavia and the Amstrad CPC series (464–6128)