Turbo BASIC XL
From Atariki
Wersja z dnia 17:42, 20 lut 2011 KMK (Dyskusja | wkład) (→Błędy w Turbo BASIC-u) ← Previous diff |
Wersja z dnia 20:53, 20 lut 2011 KMK (Dyskusja | wkład) (jeszcze raz, korekta nazw) Next diff → |
||
Linia 1: | Linia 1: | ||
{{grafr|tbxl.png}} | {{grafr|tbxl.png}} | ||
Odmiana języka [[BASIC]] dla [[Atari 8-bit|małego Atari]], stworzona w 1985 roku przez niemieckiego programistę [[Frank Ostrowski|Franka Ostrowskiego]] i rozpowszechniona jako program public domain przez czasopismo "Happy Computer". Istnieją 2 oficjalne wersje: | Odmiana języka [[BASIC]] dla [[Atari 8-bit|małego Atari]], stworzona w 1985 roku przez niemieckiego programistę [[Frank Ostrowski|Franka Ostrowskiego]] i rozpowszechniona jako program public domain przez czasopismo "Happy Computer". Istnieją 2 oficjalne wersje: | ||
- | * Turbo-Basic 1.4 - dla komputerów [[400/800]] z min. 32KB [[RAM]]. Ta wersja ma wbudowanego [[DOS 2.0|DOS-a 2.0]]- interpreter jest jest "doklejony" do pliku DOS.SYS. | + | * Turbo-BASIC 1.4 - dla komputerów [[400/800]] z min. 32KB [[RAM]]. Ta wersja ma wbudowanego [[DOS 2.0|DOS-a 2.0]]- interpreter jest jest "doklejony" do pliku DOS.SYS. |
- | * Turbo-Basic XL 1.5 - dla komputerów [[XL]]/[[XE]]. Ta wersja ładuje się częściowo do [[RAM]]-u pod [[ROM]]-em systemu operacyjnego, przez co udostępnia więcej pamięci na program użytkownika. | + | * Turbo-BASIC XL 1.5 - dla komputerów [[XL]]/[[XE]]. Ta wersja ładuje się częściowo do [[RAM]]-u pod [[ROM]]-em systemu operacyjnego, przez co udostępnia więcej pamięci na program użytkownika. |
Oprócz tego powstało kilka nieoficjalnych modyfikacji: | Oprócz tego powstało kilka nieoficjalnych modyfikacji: | ||
- | * Turbo-Basic XL 2.0 - hack wersji 1.5 ze zmienionym tekstem tytułowym, o treści "(c) 1990 LASER software". Inne różnice nieznane. | + | * Turbo-BASIC XL 2.0 - hack wersji 1.5 ze zmienionym tekstem tytułowym, o treści "(c) 1990 LASER software". Inne różnice nieznane. |
* Turbo-Basic XL 2.0 & Turbo 2000 System (występuje też pod tytułem TT-Basic XL 2.11) - modyfikacja wersji 1.5 dokonana przez [[Jiří Richter|Jiří-ego Richtera]], autora [[Turbo 2000 (czechosłowackie)|czeskiego Turbo 2000]], w 1988 roku. Zawiera zintegrowany mini-DOS do systemu turbo oraz handler urządzenia [[T:]]. | * Turbo-Basic XL 2.0 & Turbo 2000 System (występuje też pod tytułem TT-Basic XL 2.11) - modyfikacja wersji 1.5 dokonana przez [[Jiří Richter|Jiří-ego Richtera]], autora [[Turbo 2000 (czechosłowackie)|czeskiego Turbo 2000]], w 1988 roku. Zawiera zintegrowany mini-DOS do systemu turbo oraz handler urządzenia [[T:]]. | ||
- | * Turbo Basic 3.2q - wersja 1.4 przystosowana do współpracy ze [[SpartaDOS]]-em 3.2, autorstwa [[Tom Hunt|Toma Hunta]] z 1992 roku. Brakuje w niej komend BPUT i BGET, aczkolwiek można je zastąpić odpowiednimi wywołaniami XIO. W pakiecie z interpreterem jest handler do obsługi [[P:R: Connection]] wraz z programikiem do ładowania tegoż handlera z poziomu BASIC-a. | + | * Turbo BASIC 3.2q - wersja 1.4 przystosowana do współpracy ze [[SpartaDOS]]-em 3.2, autorstwa [[Tom Hunt|Toma Hunta]] z 1992 roku. Brakuje w niej komend BPUT i BGET, aczkolwiek można je zastąpić odpowiednimi wywołaniami XIO. W pakiecie z interpreterem jest handler do obsługi [[P:R: Connection]] wraz z programikiem do ładowania tegoż handlera z poziomu BASIC-a. |
Turbo BASIC wgrywa się do pamięci [[RAM]] komputera z dysku lub taśmy. Interpreter charakteryzuje się większą ilością instrukcji w stosunku do oryginalnego [[Atari BASIC]]-a, istnieje też kompilator [[Turbo BASIC XL Compiler]]. | Turbo BASIC wgrywa się do pamięci [[RAM]] komputera z dysku lub taśmy. Interpreter charakteryzuje się większą ilością instrukcji w stosunku do oryginalnego [[Atari BASIC]]-a, istnieje też kompilator [[Turbo BASIC XL Compiler]]. |
Wersja z dnia 20:53, 20 lut 2011
Odmiana języka BASIC dla małego Atari, stworzona w 1985 roku przez niemieckiego programistę Franka Ostrowskiego i rozpowszechniona jako program public domain przez czasopismo "Happy Computer". Istnieją 2 oficjalne wersje:
- Turbo-BASIC 1.4 - dla komputerów 400/800 z min. 32KB RAM. Ta wersja ma wbudowanego DOS-a 2.0- interpreter jest jest "doklejony" do pliku DOS.SYS.
- Turbo-BASIC XL 1.5 - dla komputerów XL/XE. Ta wersja ładuje się częściowo do RAM-u pod ROM-em systemu operacyjnego, przez co udostępnia więcej pamięci na program użytkownika.
Oprócz tego powstało kilka nieoficjalnych modyfikacji:
- Turbo-BASIC XL 2.0 - hack wersji 1.5 ze zmienionym tekstem tytułowym, o treści "(c) 1990 LASER software". Inne różnice nieznane.
- Turbo-Basic XL 2.0 & Turbo 2000 System (występuje też pod tytułem TT-Basic XL 2.11) - modyfikacja wersji 1.5 dokonana przez Jiří-ego Richtera, autora czeskiego Turbo 2000, w 1988 roku. Zawiera zintegrowany mini-DOS do systemu turbo oraz handler urządzenia T:.
- Turbo BASIC 3.2q - wersja 1.4 przystosowana do współpracy ze SpartaDOS-em 3.2, autorstwa Toma Hunta z 1992 roku. Brakuje w niej komend BPUT i BGET, aczkolwiek można je zastąpić odpowiednimi wywołaniami XIO. W pakiecie z interpreterem jest handler do obsługi P:R: Connection wraz z programikiem do ładowania tegoż handlera z poziomu BASIC-a.
Turbo BASIC wgrywa się do pamięci RAM komputera z dysku lub taśmy. Interpreter charakteryzuje się większą ilością instrukcji w stosunku do oryginalnego Atari BASIC-a, istnieje też kompilator Turbo BASIC XL Compiler.
Pierwszorzędną zaletą Turbo BASIC-a XL jest jego szybkość, programy wykonywane są od trzech do pięciu razy szybciej niż w interpreterze Atari BASIC, co jest w sporej mierze wynikiem tego, iż Turbo BASIC ma własny, bardzo szybki pakiet procedur zmiennoprzecinkowych, który sprawdza się świetnie w większości zastosowań.
Inną istotną zaletą interpretera jest wsteczna kompatybilność z Atari BASIC-iem, dzięki czemu nieomal wszystkie programy napisane w tym ostatnim uruchomią się pod Turbo BASIC-iem XL (z nielicznymi wyjątkami).
Błędy w Turbo BASIC-u
- kontrola składni nie przyjmuje słów kluczowych %GET, %PUT i -MOVE jeśli są wpisane małymi literami.
- kontrola składni przyjmuje zmienne tekstowe jako argumenty instrukcji GET, chociaż ta może zapisywać wartości tylko do zmiennych numerycznych.
- kontrola składni akceptuje znak Esc (ASCII 27) w miejsce dwukropka jako separatora instrukcji. Ten sam błąd ma też Atari BASIC.
- uruchomienie programu: 10 TRAP 10:GET #1,A powoduje całkowite zapełnienie i "zawinięcie" się stosu procesora; instrukcja TRAP wprawdzie zdejmuje ze stosu pewną ilość danych, ale rzadko bywa to ilość właściwa. Ten sam błąd ma też Atari BASIC.
- porównanie dwóch funkcji CHR$ w jednym wyrażeniu jest zawsze prawdziwe, np. IF CHR$(1)=CHR$(2) THEN STOP spowoduje zatrzymanie programu. Ten sam błąd ma też Atari BASIC.
- funkcja DEC źle działa, jeśli przekazana jej liczba szesnastkowa zawiera małe litery.
- zakończenie łańcucha tekstowego znakiem Ctrl/R (ASCII 18) powoduje takie zachowanie interpretera, jakby po cudzysłowie zamykającym łańcuch znajdował się średnik (np. ? "NATENCZAS ^R":? "WOJSKI" zachowuje się jak ? "NATENCZAS ^R";:? "WOJSKI"). Ten sam błąd ma Atari BASIC rev. A.
Zobacz też
- Kody błędów Turbo BASIC-a XL
- Tokeny Turbo BASIC XL
- Turbo-BASIC XL manual
- Strona z oryginalnym artykułem o Turbo-Basicu XL oraz compilera do niego (pliki pdf z Happy Computera)
Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.