Atari BASIC

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 04:03, 7 lis 2005
KMK (Dyskusja | wkład)
(Błędy w Atari BASIC)
← Previous diff
Wersja z dnia 04:04, 7 lis 2005
KMK (Dyskusja | wkład)

Next diff →
Linia 3: Linia 3:
Od innych wersji BASIC-a Atari BASIC już na pierwszy rzut oka odróżnia to, że interpreter dokonuje kontroli składni natychmiast po wpisaniu polecenia lub wiersza programu przez użytkownika (wiele wersji BASIC-a na inne komputery kontroluje składnię dopiero podczas wykonywania programu). Inna jest też obsługa zmiennych tekstowych: brak jest wielowymiarowych tablic tekstowych, a zmienne jednowymiarowe (stringi) należy obowiązkowo deklarować jako tablice właśnie. Od innych wersji BASIC-a Atari BASIC już na pierwszy rzut oka odróżnia to, że interpreter dokonuje kontroli składni natychmiast po wpisaniu polecenia lub wiersza programu przez użytkownika (wiele wersji BASIC-a na inne komputery kontroluje składnię dopiero podczas wykonywania programu). Inna jest też obsługa zmiennych tekstowych: brak jest wielowymiarowych tablic tekstowych, a zmienne jednowymiarowe (stringi) należy obowiązkowo deklarować jako tablice właśnie.
-Powód tych różnic jest prosty: Atari BASIC nie jest "klonem" Microsoft BASIC-a, który zdefiniował najbardziej rozpowszechniony standard tego języka. Atari BASIC jest implementacją BASIC-a według standardu opracowanego przez firmę [http://en.wikipedia.org/wiki/Data_General Data General].+Powód tych różnic jest prosty: Atari BASIC nie jest "klonem" Microsoft BASIC-a, który zdefiniował najbardziej rozpowszechniony standard tego języka. Zamiast tego Atari BASIC jest implementacją standardu opracowanego przez firmę [http://en.wikipedia.org/wiki/Data_General Data General].
Dostępne są następujące wersje Atari BASIC-a: Dostępne są następujące wersje Atari BASIC-a:

Wersja z dnia 04:04, 7 lis 2005

Atari BASIC, właściwie Shepardson BASIC, to wersja języka programowania BASIC (Beginners All-purpose Symbolic Instruction Code), przygotowana na potrzeby komputerów Atari 8-bit. Zaprogramowany przez Shepardson Microsystems na zlecenie firmy Atari, był sprzedawany razem z komputerem, a w późniejszych modelach wbudowany. Objętość interpretera wynosi osiem kilobajtów. W późniejszych latach prawa do Atari BASIC-a przejęła firma OSS.

Od innych wersji BASIC-a Atari BASIC już na pierwszy rzut oka odróżnia to, że interpreter dokonuje kontroli składni natychmiast po wpisaniu polecenia lub wiersza programu przez użytkownika (wiele wersji BASIC-a na inne komputery kontroluje składnię dopiero podczas wykonywania programu). Inna jest też obsługa zmiennych tekstowych: brak jest wielowymiarowych tablic tekstowych, a zmienne jednowymiarowe (stringi) należy obowiązkowo deklarować jako tablice właśnie.

Powód tych różnic jest prosty: Atari BASIC nie jest "klonem" Microsoft BASIC-a, który zdefiniował najbardziej rozpowszechniony standard tego języka. Zamiast tego Atari BASIC jest implementacją standardu opracowanego przez firmę Data General.

Dostępne są następujące wersje Atari BASIC-a:

  • Revision A: sprzedawana jako kartridż razem z komputerami serii 400 i 800 lub oddzielnie;
  • Revision B: w założeniu poprawiona wersja przeznaczona dla 800XL i faktycznie wbudowana w znacznej części modeli XL. Ta wersja BASIC-a miała sporo błędów.
  • Revision C: pozbawiona (większości) błędów rewizji B, wbudowana w ostatnich partiach komputerów XL i wszystkich XE.

Atari BASIC doczekał się paru ulepszonych (ale kompatybilnych) odmian:

Dla ośmiobitowych Atari wydano także Microsoft BASIC, który jednak, ze względu na brak kompatybilności z Atari BASIC, nie zyskał żadnej popularności i jest bardzo rzadki.

Błędy w Atari BASIC

W Atari BASIC rev. C zostało parę drobnych błędów, z których większość dotyczy procedur kontroli składni.

  • instrukcja DIM pozwala się wpisać bez parametrów (np.: 10 DIM: DIM: DIM: DIM). Wykonanie czegoś takiego prowadzi na ogół do zawieszenia interpretera.
  • instrukcje NOTE i STATUS przyjmują tablicę numeryczną jako parametr (np. 10 STATUS #1,A(0)); wykonanie tego powoduje przypisanie wartości Bóg wie do czego, ale na pewno nie do wskazanej zmiennej.
  • pewne konstrukcje z udziałem TRAP mogą prowadzić do zawieszenia interpretera, przyczyną jest niewłaściwe zarządzanie stosem procesora przez procedury obsługi błędów.
Personal tools