LINKI / NARZĘDZIA

Języki programowania Atari 8-bit

Atari BASIC, Turbo BASIC XL i BASIC XL różnią się składnią i sposobem wykonywania programu. Action! i asemblery tworzą kod maszynowy, dając większą kontrolę nad pamięcią oraz czasem wykonania.

Atari BASIC

Atari BASIC przechowuje program w postaci tokenów i wykonuje go przez interpreter. Ponumerowane linie ułatwiają edycję, a polecenia bez numerów działają od razu. GRAPHICS, PLOT, DRAWTO i SOUND dają prosty dostęp do grafiki oraz dźwięku.

Interpretacja spowalnia rozbudowane obliczenia i pętle. Występują też rewizje A, B i C, różniące się zachowaniem i poprawkami błędów.

Turbo-BASIC XL

Turbo-BASIC XL Franka Ostrowskiego rozszerza Atari BASIC. Klasyczna wersja jest przeznaczona dla XL/XE z 64 KiB. Dodaje m.in. WHILE/WEND, REPEAT/UNTIL, procedury PROC/EXEC, RENUM oraz DPEEK i DPOKE. Listing z tymi poleceniami wymaga Turbo-BASIC-a i nie wykona się w zwykłym Atari BASIC.

Osobny Turbo BASIC Compiler kompiluje programy, które następnie korzystają z biblioteki wykonawczej runtime.

BASIC XL firmy OSS

BASIC XL to odrębny interpreter, oferowany przede wszystkim na kartridżu. Zachowuje tokeny Atari BASIC i dodaje polecenia edycji, konstrukcje sterujące oraz obsługę grafiki Player/Missile. FAST przyspiesza wykonywanie programu. Dostępne były też pakiety runtime i Toolkit.

Nie jest to BASIC wbudowany w komputery serii XL. Program używający jego rozszerzeń potrzebuje właściwego interpretera lub pakietu wykonawczego.

Action!: kompilacja i typy danych

Action! firmy OSS łączy edytor, monitor, kompilator i bibliotekę. Język udostępnia procedury, funkcje i typy danych BYTE, CARD oraz INT; kompilator tworzy kod maszynowy 6502. To pozwala uniknąć interpretowania każdego polecenia podczas działania. W odróżnieniu od BASIC-a podstawowy Action! nie udostępnia typu zmiennoprzecinkowego. Kod może korzystać z procedur w kartridżu, więc samo zapisanie pliku wynikowego nie zawsze daje program niezależny od Action!. Aby program działał bez kartridża Action!, trzeba dołączyć odpowiednią bibliotekę wykonawczą (runtime).

Asembler 6502

Asembler tłumaczy rozkazy zapisane mnemonikami, np. LDA i STA, na kod maszynowy. Programista wybiera adresy pamięci i rejestry oraz sposób wywoływania systemu. Dokładne sterowanie czasem wykonania jest szczególnie przydatne w przerwaniach i efektach graficznych.

Atari Assembler Editor, MAC/65 i MADS używają tych samych rozkazów 6502, lecz mają inne dyrektywy oraz formaty plików źródłowych.

Źródła i dalsza lektura