Sinclair BASIC

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Sinclair BASIC je dialekt programovacího jazyka BASIC pro počítače ZX Spectrum. Sinclair BASIC vyvinula firma Nine Tiles Networks Ltd.

Historie

První varianta z roku 1979 byla uložena ve 4 KB ROM počítače ZX80. Šlo o nekompletní implementaci minimal BASICu podle normy ANSI z roku 1978. +more Vývoj pokračoval 8 KB verzí pro ZX81 a implementací pro ZX Spectrum, která se vešla do 16 KB ROM. Na počítačích ZX Spectrum +2 a ZX Spectrum +3 byl použit jazyk Sinclair 128 BASIC, který byl rozšířený o některé příkazy a možnost psát příkazy po písmenech.

Protože implementace Sinclair BASICu ponechávala v ROM počítačů ZX Spectrum nevyužité místo, objevilo se několik ROM se Sinclair BASICem rozšířeným o některé možnosti. Jednou z těchto modifikací je SE BASIC Andrewa Owena, který podporuje i rozšířené grafické možnosti obvodu ULAplus, a jehož některé rozšířené příkazy byly inspirovány obdobnými rozšířenými příkazy počítačů TK 95, Timex Sinclair 2068 a původní španělské verze počítače Sinclair ZX Spectrum 128K+. +more Andrew Owen je také autorem OpenSE Basicu, což je varianta Sinclair BASICu vydaná pod licencí GPL v. 2. Sinclair BASICem byl inspirován projekt Sparky eZX BASIC.

Jazyk

Klíčová slova

Spectrum mělo 86 klíčových slov. Ve výčtu jsou vyznačena takto: říkazy, výrazy, a ostatní klíčová slova:

:, AT, BEEP, BIN, BORDER, BRIGHT, AT, CIRCLE, CLEAR, LOSE#, CLS, ONTINUE, OPY, DATA, DEF FN, DIM, DRAW, RASE, FLASH, FOR, ORMAT, GO SUB, GO TO, IF, INK, INPUT, INVERSE, LET, LINE, LIST, LLIST, LOAD, LPRINT, MERGE, MOVE, NEW, NEXT, OPEN#, OUT, OVER, PAPER, PAUSE, PLOT, POKE, PRINT, RANDOMIZE, READ, REM, RESTORE, RETURN, RUN, SAVE, STEP, TAB, THEN, VERIFY

Výrazy a příkazy, které byly pouze na počítačích ZX81, TS1000 a TS1500:

:FAST, SCROLL, SLOW, UNPLOT, GOSUB/GOTO (Spectrum má GO SUB a GO TO)

Model 128K přinesl tyto příkazy:

:PLAY, SPECTRUM

Původní Španělská verze počítače ZX Spectrum 128K+ neobsahovala systém nabídek jako pozdější anglická verze a verze z ní vycházející, ale místo nich používala další přidané příkazy: :EDIT, RENUMBER, DELETE a WIDTH.

Tyto příkazy ovšem není možné vložit do programu, jsou určeny pouze k přímému vykonání.

Timex BASIC používaný v TS2048 a TS2068 (kompatibilních se Spectrem) má navíc těchto šest slov:

:ELETE, ON ERR, ESET, SOUND,

Počítače TK 90X a TK 95 mají navíc příkazy: :RACE a DG.

Proměnné

Název proměnné typu textový řetězec musí obsahovat pouze jeden znak. Tedy 10 LET A=5 20 LET Apples=5 30 LET A$="Hello"

jsou správné, ale LET APPLES$="Fruit"

je chybný zápis.

Zápis a spuštění programu

V době návrhu Sinclair BASICu bylo běžné, že se řádky programu číslovaly. Programátor musel čísla řádků zapisovat sám. +more Pokud se číslo řádku nezapsalo, ihned po zadání příkazu se tento příkaz vykonal.

Spuštění programu se provádí příkazem RUN (od začátku programu), nebo RUN s číslem řádku (od daného čísla řádku). Program je možné také spustit příkazem GO TO (s číslem řádku).

Pokud je program spuštěn například příkazem RUN 5, ale číslo řádku 5 neexistuje, spustí se program od následujícího vyššího čísla řádku (například 10).

Program není nutné ukončovat příkazem STOP, jak to bylo běžné v mnoha jiných variantách BASICu.

Hello World

Velmi jednoduchý příklad programu Hello world může vypadat takto:

10 PRINT "Hello World"

Možnosti rozšíření syntaxe a množiny příkazů v ZX Spectru

pomocí externí ROM, např. v ZX Interface 1, Disciple, * výměnou ROM, např. +more ISO ROM, LEC ROM, * využitím systémové proměnné ON ERROR, * interpretací poznámek v příkazu REM, * napojením doplňkového interpretu na stránkovací rutiny ZX Specter 128, * napojením doplňkového interpretu na rozšiřující interpret v ZX Interface 1.

Poznámky

Reference

Externí odkazy

[url=http://scratchpad.wikia.com/wiki/DEF_FN]Definice několika funkcí pomocí DEF FN[/url] * [url=http://scratchpad.wikia.com/wiki/Sinclair_BASIC_History]Historie Sinclair Basicu[/url]

Kategorie:Programovací jazyky Kategorie:Sinclair ZX Spectrum Kategorie:Programování na ZX Spectru Kategorie:Basic

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top