Sinclair BASIC
Sinclair BASIC (nazvan po familii izobretatelia sera Klaiva Sinklera) -- dialekt iazyka programmirovaniia BASIC, primeniavshiisia na 8-razriadnykh bytovykh komp'iuterakh proizvodstva Sinclair Research i Timex Sinclair. Interpretator Sinclair BASIC razrabotan kompaniei Nine Tiles Networks Ltd.
Iznachal'no razrabotan v 1979 godu dlia razmeshcheniia v 4 kilobaitakh PZU komp'iutera ZX80. Eta versiia predstavliala soboi nepolnuiu realizatsiiu minimal'nogo standarta ANSI 1978 goda. Pri adaptatsii dlia komp'iuterov ZX81 i TS1000, imevshikh 8 KB PZU, interpretator byl uluchshen i v versii dlia komp'iutera ZX Spectrum s 16 KB PZU stal pochti polnoi realizatsiei standarta.
Original'nyi Sinclair BASIC
[pravit' | pravit' kod]Bol'shaia verkhniaia chast' ekrana soderzhit kod tekushchei zagruzhennoi programmy, 3D Monster Maze. Tekushchaia vybrannaia stroka pomechena <
Operatory
[pravit' | pravit' kod]V versii dlia komp'iutera ZX Spectrum sushchestvuet 86 operatorov Sinclair BASIC, vkliuchaia komandy (50), funktsii (31) i drugie kliuchevye slova (5):
- ABS, ACS, AND1, ASN, AT, ATN, ATTR, BEEP, BIN, BORDER, BRIGHT, CAT2, CHR$3, CIRCLE, CLEAR, CLOSE#2, CLS, CODE3, CONTINUE, COPY, COS, DATA, DEF FN, DIM, DRAW, ERASE2, EXP, FLASH, FN, FOR, FORMAT2, GO SUB, GO TO, IF4, IN, INK, INKEY$3, INPUT, INT, INVERSE, LEN, LET5, LINE, LIST, LLIST, LN, LOAD, LPRINT, MERGE, MOVE2, NEW, NEXT, NOT1, OPEN#2, OR1, OUT, OVER, PAPER, PAUSE, PEEK, PI, PLOT, POINT, POKE, PRINT, RANDOMIZE, READ, REM, RESTORE, RETURN, RND, RUN, SAVE, SCREEN$3, SGN, SIN, SQR, STEP, STR$3, TAB, TAN, THEN 4, TO, USR, VAL3, 6, VAL$3, VERIFY
Operatory, prisutstvuiushchie tol'ko v versiiakh dlia ZX81 i ego klonov TS1000 i TS1500:
- FAST, SCROLL, SLOW, UNPLOT, GOSUB, GOTO (vmesto GO SUB, GO TO v versii dlia ZX Spectrum)
V versii interpretatora dlia 128K modelei (Spectrum 128K, Spectrum +2, +3, +2A i +2B) bylo dobavleno dva operatora:
- PLAY, SPECTRUM
Primechaniia
[pravit' | pravit' kod]- Funktsii AND, NOT i OR iavliaiutsia logicheskimi operatorami.
- CAT, CLOSE#, ERASE, FORMAT, MOVE i OPEN# iavliaiutsia komandami dlia raboty s failami na ustroistve khraneniia dannykh ZX Microdrive, pri popytke ispol'zovaniia bez nalichiia takogo ustroistva (ili diskovoi sistemy, podderzhivaiushchei eti komandy) privodiat k oshibke.
- Imena strokovykh peremennykh mogut soderzhat' tol'ko odnu bukvu.
Takim obrazom, komandy <>, < > i "LET A$="Hello"" iavliaiutsia pravil'nymi, no "LET APPLES$="Fruit"" budet oshibochnoi. - Operator ELSE v IF--THEN(--ELSE) usloviiakh ne predusmotren.
Takim obrazom, vmesto koda
10 IF V=5 THEN GO TO 50 ELSE GO TO 100
nuzhno ispol'zovat'
10 IF V=5 THEN GO TO 50
20 GO TO 100 - Operator LET iavliaetsia obiazatel'nym (to est' nuzhno ispol'zovat' <
>, no ne <>); chto iavliaetsia zametnym otlichiem ot bol'shinstva dialektov iazyka BASIC. - Funktsiia VAL obrabatyvaet ne tol'ko chisla, no i vyrazheniia. Naprimer, <
>, gde stroka A$ soderzhit <<3*3+4+COS(0)>>, vyvedet chislo 14.
V otlichie ot dialektov BASIC dlia bytovykh komp'iuterov, podobnykh Microsoft BASIC, gde dlia dostupa k fragmentam strok ispol'zuiutsia funktsii LEFT$(), MID$() i RIGHT$(), Sinclair BASIC ispol'zuet sposob, podobnyi rabote s massivami. Naprimer, <> verniot podstroku, nachinaiushchuiusia s piatogo i konchaiushchuiusia desiatym simvolom strokovoi peremennoi A$.
Rasshireniia i varianty
[pravit' | pravit' kod]- Timex BASIC -- dialekt, ispol'zuemyi na Spectrum-sovmestimom komp'iutere TS2068 (no ne TS2048, kotoryi ispol'zuet obychnyi Sinclair BASIC). Pomimo standartnykh operatorov Sinclair BASIC, imeet shest' dopolnitel'nykh: DELETE, FREE, ON ERR, RESET, SOUND, STICK.
- Beta BASIC[angl.], rasshirenie Sinclair BASIC, vypushchennoe v 1983 godu, razrabotchik -- Dr. Andy Wright iz kompanii BetaSOFT[1]. Rasprostraneno mnenie o tom, chto eto polnotsennyi interpretator, argumentirovannoe tem, chto v niom imeetsia sobstvennyi redaktor programm. Na samom dele Beta BASIC (kak i ostal'nye rasshireniia) ne pozvoliaet sozdavat' programmy, rabotaiushchie bez zagruzki koda Beta BASIC, i ispol'zuet protsedury PZU (Sinclair BASIC).
- YS MegaBasic[angl.] -- razrabotano v 1984 godu[2] Maikom Limenom (angl. Mike Leaman) iz kompanii Your Spectrum, imeet operatory while, repeat, until, komandy dlia upravleniia naborom spraitov. Rasshirenie natseleno na oblegchenie sozdanie igrovykh i uchebnykh programm. Soprovozhdalos' programmoi Sprite Designer dlia sozdaniia spraitov.
- PRO-DOS, rasshirenie, razrabotannoe kompaniei HJB v 1985 godu.
- Laser BASIC, rasshirenie, razrabotannoe Oasis Software v 1986 godu[3]. Prednaznachalos' spetsial'no dlia sozdaniia igrovykh programm, v kakom kachestve i stalo populiarno (tak, v Rossii na etom iazyke byla napisana igra <<Podkidnoi durak>> ot Viacheslava Mednonogova[4]). Etot Beisik vkhodil v paket Laser Compact, takzhe vkliuchavshii vpechatliaiushchie demo-programmy i kompiliator Beisika Laser Compiler.
- SAM BASIC, takzhe razrabotannyi Dr. Andy Wright, iavlialsia interpretatorom BASIC dlia komp'iutera SAM Coupe i imel obratnuiu sovmestimost' s versiei Sinclair BASIC dlia ZX Spectrum.
- Show, rasshirenie, prednaznachennoe ne dlia programmirovaniia, a dlia sozdaniia prostykh prezentatsionnykh rolikov. Soderzhit demonstratsionnuiu programmu. Dopolnitel'nye operatory pozvoliaiut sozdavat' begushchie stroki i nadpisi, skrolliruiushchiesia v liubom napravlenii i vyvodimye raznymi shriftami. Rasshirenie okazalos' vostrebovannym studiiami kabel'nogo televideniia, vyvodivshimi takim obrazom svoiu programmu na den'. Imeet versiiu, adaptirovannuiu dlia IS-DOS[istochnik ne ukazan 3611 dnei].
- Sinclair Extended BASIC iavliaetsia razvivaiushchimsia retro-proektom, tsel'iu kotorogo iavliaetsia sozdanie uluchshennoi versii Sinclair BASIC (beta-versiia byla dostupna na iiul' 2005).
Istochniki
[pravit' | pravit' kod]- Vickers, Steven (1982). Sinclar ZX Spectrum BASIC Programming. Sinclair Research.
- Ardley, Neil (1984). Sinclair ZX Spectrum+ User Guide. Dorling Kindersley sovmestno s Sinclair Research. ISBN 0-86318-080-9.
- Dialekty beisika dlia ZX Spectrum. -- Piter, 1992. -- ISBN 5-7190-0001-1.
Ssylki
[pravit' | pravit' kod]- Sinclar ZX Spectrum BASIC Programming Arkhivnaia kopiia ot 24 sentiabria 2006 na Wayback Machine -- Original'naia instruktsiia 1982 goda, napisannaia Stivom Vikersom[angl.] (angl. Steven Vickers).
- Sinclair ZX81 Basic Programming Arkhivnaia kopiia ot 22 aprelia 2007 na Wayback Machine -- takzhe napisan Stivom Vikersom.
- The History of Sinclair BASIC -- ot Andrew Owen, ch'ia dokumentatsiia po Sinclair BASIC razmeshchena na saite World of Spectrum.
- YS MegaBasic manual Arkhivnaia kopiia ot 9 iiulia 2009 na Wayback Machine -- Rukovodstvo pol'zovatelia interpretatora MegaBasic ot zhurnala Your Spectrum.
- Basinc Arkhivnaia kopiia ot 27 avgusta 2022 na Wayback Machine -- emuliator dlia Windows.
- Uroki izucheniia beisika (ZX-Spectrum) Arkhivnaia kopiia ot 16 aprelia 2016 na Wayback Machine na YouTube kanale (Blogi i obzory sovetskogo radio).
Primechaniia
[pravit' | pravit' kod]- | Beta Basic Arkhivnaia kopiia ot 13 aprelia 2016 na Wayback Machine na saite World of Spectrum
- | YS MegaBasic Arkhivnaia kopiia ot 25 marta 2016 na Wayback Machine na saite World of Spectrum
- | Laser Basic Arkhivnaia kopiia ot 26 aprelia 2016 na Wayback Machine na saite World of Spectrum
- | <
> (Vega) . Data obrashcheniia: 3 aprelia 2016. Arkhivirovano 7 dekabria 2014 goda.