Najlepsze pytania
Chronologia
Czat
Perspektywa
Atari BASIC
Z Wikipedii, wolnej encyklopedii
Remove ads
Atari BASIC – język programowania BASIC dla ośmiobitowych komputerów Atari. Rozprowadzany na cartridge z komputerami Atari 400/800/1200XL lub sprzedawany osobno. Wbudowany w komputery serii XL (oprócz 1200XL), XE i XE Game System. Stworzony w 1978 roku przez firmę Shepardson Microsystems na zamówienie Atari Inc. Nie bazuje jak większość mu współczesnych implementacji na Microsoft BASIC.
Remove ads
Charakterystyka[1]
- Interpreter, dostępne kompilatory firm trzecich.
- Edytor umożliwia wprowadzanie kodu programu w dowolnym miejscu na ekranie i jego dowolną edycję. Wprowadzenie nowej linii programu wymaga naciśnięcia klawisza Return.
- Sprawdzanie składni odbywa się natychmiast po wprowadzeniu linii programu.
- Program przechowywany jest w pamięci w postaci zakodowanej, słowa kluczowe BASIC zamieniane są na 1 bajtowe znaczniki[2].
- Możliwe jest użycie skrótów przy wpisywaniu wszystkich słów kluczowych. Należy wpisać pierwsze kilka liter i zakończyć je kropką, np. zamiast
LIST
użyćL.
lubLI.
lubLIS.
- Słowa kluczowe i zmienne muszą być zapisane dużymi literami.
- Zmienne przechowujące ciągi znakowe muszą być zadeklarowane przed użyciem.
- Nie ma konieczności deklarowania zmiennych numerycznych.
- Wszystkie liczby przechowywane są jako zmiennoprzecinkowe. Nie ma typu całkowitego.
- Komenda jest wykonywana natychmiast jeśli nie ma numeru linii.
- Słowo kluczowe
LET
może być pominięte, np.LET A=10
jest równoznaczneA=10
. - Nie ma konieczności użycia
GOTO
w konstrukcjiIF THEN
.IF A=10 THEN GOTO 200
może być zastąpione przezIF A=10 THEN 200
. - Możliwe jest użycie zamiennie:
GOTO
iGO TO
orazPRINT
i?
. - Można użyć procedur systemu operacyjnego wywołując instrukcję
XIO
. - Po przełączeniu się w inne tryby graficzne niż standardowy tekstowy 40×24 znaków, w dolnej części dostępne jest okno tekstowe 40×4 które umożliwia wprowadzanie komend.
- Naciśnięcie klawisza Esc a potem kombinacji innych klawiszy powoduje wstawienie znaku specjalnego, np. kasującego ekran.
- Atari BASIC jest wolniejszy od innych implementacji na komputery 8 bitowe[3]. Spowodowane jest to następującymi czynnikami: wolna systemowa biblioteka liczb zmiennoprzecinkowych, używanie tylko liczb zmiennoprzecinkowych, w celu znalezienia linii skoku dla
GOTO
przeszukiwany jest cały program, ten sam mechanizm jest używany w przypadku pętliFOR NEXT
.
Remove ads
Rozpowszechnianie

Wydany na cartridge CXL4002[4]. Rozprowadzany wraz z komputerami Atari 400, Atari 800 i Atari 1200XL lub sprzedawany osobno. W późniejszych modelach 600XL, 800XL, serii XE oraz XEGS BASIC był wbudowany w komputer. Po włączeniu zasilania komputer uruchamiał interpreter BASIC. Przytrzymując klawisz OPTION przy starcie można wyłączyć BASIC. Dla konsoli gier XEGS jeśli nie wykryto podłączonej klawiatury, BASIC był wyłączany automatycznie.
Remove ads
Historia
Podsumowanie
Perspektywa
Pod koniec lat 70 XX wieku w Stanach Zjednoczonych nastąpił gwałtowny rozwój rynku komputerów osobistych. Jako podstawowy język programowania do nauki jak i tworzenia profesjonalnych aplikacji uważany był w tym czasie BASIC. Stąd też praktycznie dla każdego komputera był on dostępny jako kluczowy komponent istotny dla jego sprzedaży. Najbardziej popularną implementacją BASIC był dialekt stworzony przez Microsoft[5]. Używano go w pierwszych komputerach osobistych takich jak Altair 8800/IMSAI, Apple II, Commodore PET i innych.
W roku 1978 firma Atari Inc. pracowała nad swoim pierwszym komputerem Atari 800 i jego tańszą wersją Atari 400. O ile system operacyjny był tworzony przez inżynierów Atari, to przy BASIC postanowiono użyć gotowego produktu. Zakupiono licencję Microsoft 8k BASIC[a] dla procesora MOS 6502. Microsoft miał dostosować BASIC do nowego komputera ale po roku braku postępów Atari zrezygnowało z ich usług[6]. Atari rozpoczęło modyfikację BASIC we własnym zakresie. Kluczowym aspektem był rozmiar wynikowy skompilowanego kodu który miał zmieścić się na 8 KiB cartridge[b]. Microsoft BASIC kompilował się do 8 KiB na procesorach Intel 8080 (procesor na który powstała pierwsza wersja BASIC dla komputera Altair 8800) ale na MOS 6502 było to 9 KiB co po dodatkowych modyfikacjach dawało 11 KiB[potrzebny przypis]. Problemy z rozmiarem i presja czasu – nowy komputer miał być zaprezentowany na targach Consumer Electronics Show w styczniu 1979 – skłoniły Atari to poszukiwania zewnętrznej firmy by przyśpieszyć prace.
We wrześniu 1978 roku Atari skontaktowało się z firmą Shepardson Microsystems Inc[7]. Firma ta miała doświadczenie w tworzeniu oprogramowania dla komputerów Apple II (Apple DOS) opartych o ten sam procesor MOS 6502. Ponadto opracowała BASIC dla innego komputera – Cromemco. Po zapoznaniu się z istniejącym kodem źródłowym Microsoft firma stwierdziła, że woli napisać BASIC od nowa. W październiku 1978 po zaakceptowaniu specyfikacji Paul Laughton i Kathleen O’Brien rozpoczęli prace. Zawarta umowa mówiła, że Shepardson Microsystems musi dostarczyć BASIC wraz z systemem zarządzania plików (później znanym jako DOS 1.0) najpóźniej do 6 kwietnia 1978[7]. Atari planowało zaprezentować wczesną wersję Microsoft BASIC na targach Las Vegas Consumer Electronics Show w styczniu 1979, a później rozpowszechniać nowy Atari BASIC[potrzebny przypis]. Prace nad nowym językiem programowania postępowały jednak dość szybko i BASIC był gotowy w grudniu 1978 roku po 2,5 miesiącach prac. Atari zaprezentowało na targach tę wersję a później rozpowszechniało ją na cartridge.
Na początku lat 80 XX wieku prawa autorskie do Atari BASIC zostały odkupione od Shepardson Microsystems przez nowo powstałą firmę Optimized Systems Software (OSS) założoną przez Billa Wilkinsona.
Kod źródłowy wraz z komentarzem twórców został opublikowany w książce „The Atari BASIC Source Book” w roku 1983.
Wersja Microsoft BASIC była później sprzedawana jako Atari Microsoft BASIC, jednak nigdy nie zdobyła popularności.
Lista osób biorących udział w projekcie[7]
- Paul Laughton – lider, główny programista.
- Kathleen O’Brien – główny programista.
- Bill Wilkinson – specyfikacja, procedury zmiennoprzecinkowe.
- Paul Krasno – funkcje matematyczne.
- Bob Shepardson – modyfikacja assemblera IMP-16.
- Mike Peters – młodszy programista, obsługa kart perforowanych.
Remove ads
Wersje
- Revision A – wersja dostarczona przez Shepardson Microsystems w grudniu 1978. Atari rozpoczęło produkcję cartridgy zanim wszystkie błędy zostały znalezione. Rozpowszechniana na cartridge z Atari 400/800 lub sprzedawana oddzielnie.
- Revision B – poprawia błędy z Revision A ale wprowadza nowy, bardziej poważny błąd. Dostępna w pierwszej serii Atari 600XL i 800XL. Nigdy nie była dostępna na cartridgu.
- Revision C – poprawia błędy Revision B. Wersja ta znalazła się w komputerach późniejszej serii XL i XE oraz w XEGS. Wyprodukowano tylko niewielką ilość cartridgy.
Wersję można zweryfikować pod adresem pamęci 43234[8]wykonując komendę BASIC:
PRINT PEEK(43234)
Błędy
Najpoważniejszym problemem w Revision A jest błąd w procedurze przenoszenia bloków pamięci o długości równej wielokrotności 256 bajtów. Generuje to błędy przy każdej operacji która wymaga przesuwania pamięci o tej długości w szczególności przy usuwaniu linii programu[9]. Revision B usuwa ten błąd, ale wprowadza inny bardzo podobny błąd który powoduje problemy częściej, bo przy dodawaniu linii programu[10]. Ostatecznie rozwiązano to w Revision C.
Remove ads
Słowa kluczowe
Remove ads
Kody błędów Basic
Remove ads
Alternatywne produkty
Podsumowanie
Perspektywa
Na 8 bitowe komputery Atari powstało kilka alternatywnych implementacji języka BASIC zarówno interpreterów jak i kompilatorów. Typowo były szybsze i oferujące więcej komend niż Atari BASIC.
Kompatybilne
- BASIC A+ – rozszerzona wersja Atari BASIC wydana na dyskietce przez firmę Optimized Systems Software.
- BASIC XL – wariant BASIC A+ wydany na cartridge przez firmę Optimized Systems Software.
- BASIC XE – rozszerzona wersja BASIC XL wydany przez firmę Optimized Systems Software. Wymaga 64 KiB przez co nie może być uruchomiony na Atari 400/800.
- Turbo-BASIC XL – wersja BASIC stworzona przez Franka Ostrowskiego. Opublikowana w zachodnioniemieckim czasopiśmie „Happy Computer” w grudniu 1985 roku. Dostępny interpreter i kompilator, wymaga 64 KiB[15].
- The Basic Compiler – kompilator firmy Datasoft z 1983 roku.
- MMG Basic Compiler – kompilator wydany przez MMG Micro Software[16] w 1984 roku. Licencjonowana wersja The Basic Compiler.
- ABC Compiler – kompilator wydany przez Monarch Data Systems w 1982 roku[17].
Niekompatybilne
- Atari Microsoft BASIC – implementacja bazująca na kodzie zakupionym od Microsoft.
- Advan BASIC – kompilator BASIC firmy Advan Language Designs z 1986 roku. Rozszerzone komendy w stosunku do Atari BASIC ale z nim niekompatybilny[18].
Remove ads
Uwagi
- Jest dostępny oryginalny kod źródłowy BASIC M6502 8K VER 1.1 BY MICRO-SOFT z 1978 który był użyty do zbudowania Microsoft BASIC dla kilku komputerów opartych o procesor MOS 6502, m.in. Commodore PET i Apple II. Brak informacji którą wersję Atari otrzymało od Microsoft.
- Był to rozmiar cartridge standardowo obsługiwany przez Atari 800/400. W późniejszym czasie pojawiły się rozwiązania techniczne pozwalające na produkcję cartrige większych niż 8 KiB.
Remove ads
Przypisy
Bibliografia
Linki zewnętrzne
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads