<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=Turbo_BASIC_XL</id>
	<title>Turbo BASIC XL - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=Turbo_BASIC_XL"/>
	<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=Turbo_BASIC_XL&amp;action=history"/>
	<updated>2026-10-03T23:17:29Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mirror.atariki.pl/w/index.php?title=Turbo_BASIC_XL&amp;diff=4028&amp;oldid=prev</id>
		<title>imported&gt;Atariki recovery: Reconstructed from archived HTML; see provenance manifest</title>
		<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=Turbo_BASIC_XL&amp;diff=4028&amp;oldid=prev"/>
		<updated>2026-10-01T08:51:48Z</updated>

		<summary type="html">&lt;p&gt;Reconstructed from archived HTML; see provenance manifest&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:Tbxl.png]]&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Happy Computer&amp;quot;. Istnieją dwie oficjalne wersje:&lt;br /&gt;
&lt;br /&gt;
* Turbo-BASIC 1.4 - dla komputerów [[400/800]] z min. 32 KB [[RAM]]. Ta wersja ma wbudowany [[DOS 2.0]] - interpreter jest &amp;quot;doklejony&amp;quot; do pliku DOS.SYS.&lt;br /&gt;
* Turbo-BASIC XL 1.5 - dla komputerów [[XL]]/[[XE]]. Ta wersja ładuje się częściowo do [[RAM]]-u pod [[ROM]] systemu operacyjnego, przez co udostępnia więcej pamięci na program użytkownika (nieco ponad 33k - instrukcja &amp;#039;&amp;#039;? FRE(0)&amp;#039;&amp;#039; podaje wynik 34021 bajtów).&lt;br /&gt;
&lt;br /&gt;
Oprócz tego powstało kilka nieoficjalnych modyfikacji:&lt;br /&gt;
&lt;br /&gt;
* Turbo-BASIC XL 2.0 - hack wersji 1.5 ze zmienionym tekstem tytułowym, o treści &amp;quot;(c) 1990 LASER software&amp;quot;. Inne różnice nieznane.&lt;br /&gt;
* Turbo-BASIC XL 2.0 &amp;amp; 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:]].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
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 dużej mierze wynikiem tego, że Turbo BASIC ma własny, bardzo szybki [[Pakiet matematyczny|pakiet procedur zmiennoprzecinkowych]], który sprawdza się świetnie w większości zastosowań.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
W roku 2021 powstała wersja &amp;quot;relokowalna&amp;quot; Turbo-BASIC-a 1.5, charakteryzująca się większą ilością dostępnej pamięci (w zależności od tego, ile miejsca zajmuje DOS) oraz poprawkami niektórych błędów. Autorem modyfikacji jest [[Dmsc|dmsc]].&lt;br /&gt;
&lt;br /&gt;
== Błędy w Turbo BASIC-u ==&lt;br /&gt;
&lt;br /&gt;
* kontrola składni nie przyjmuje słów kluczowych &amp;#039;&amp;#039;&amp;#039;%GET&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;%PUT&amp;#039;&amp;#039;&amp;#039; i &amp;#039;&amp;#039;&amp;#039;-MOVE&amp;#039;&amp;#039;&amp;#039;, jeśli są wpisane małymi literami.&lt;br /&gt;
* kontrola składni przyjmuje zmienne tekstowe jako argumenty instrukcji &amp;#039;&amp;#039;&amp;#039;GET&amp;#039;&amp;#039;&amp;#039;, chociaż ta może zapisywać wartości tylko do zmiennych numerycznych.&lt;br /&gt;
* kontrola składni akceptuje znak &amp;#039;&amp;#039;Esc&amp;#039;&amp;#039; (ASCII 27) w miejsce dwukropka jako separatora instrukcji. Ten sam błąd ma też [[Atari BASIC]].&lt;br /&gt;
* uruchomienie programu: &amp;#039;&amp;#039;&amp;#039;10 TRAP 10:GET #1,A&amp;#039;&amp;#039;&amp;#039; powoduje całkowite zapełnienie i &amp;quot;zawinięcie&amp;quot; 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]].&lt;br /&gt;
* porównanie dwóch funkcji CHR$ w jednym wyrażeniu jest zawsze prawdziwe, np. &amp;#039;&amp;#039;&amp;#039;IF CHR$(1)=CHR$(2) THEN STOP&amp;#039;&amp;#039;&amp;#039; spowoduje zatrzymanie programu. Ten sam błąd ma też [[Atari BASIC]].&lt;br /&gt;
* funkcja &amp;#039;&amp;#039;&amp;#039;DEC&amp;#039;&amp;#039;&amp;#039; źle działa, jeśli przekazana jej liczba szesnastkowa zawiera małe litery.&lt;br /&gt;
* 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. &amp;#039;&amp;#039;&amp;#039;? &amp;quot;NATENCZAS ^R&amp;quot;:? &amp;quot;WOJSKI&amp;quot;&amp;#039;&amp;#039;&amp;#039; zachowuje się jak &amp;#039;&amp;#039;&amp;#039;? &amp;quot;NATENCZAS ^R&amp;quot;;:? &amp;quot;WOJSKI&amp;quot;&amp;#039;&amp;#039;&amp;#039;). Ten sam błąd ma Atari BASIC rev. A.&lt;br /&gt;
* interpreter w wersji 1.5 po uruchomieniu się ustawia wskaźnik MEMLO na adres $3629 i nigdy nie przywraca poprzedniej wartości: żeby ustawić sensowną wartość MEMLO pod np. [[MyDOS]]-em, trzeba po wyjściu z interpretera wcisnąć klawisz RESET.&lt;br /&gt;
&lt;br /&gt;
== Zobacz też ==&lt;br /&gt;
&lt;br /&gt;
* [[Kody błędów Turbo BASIC-a XL]]&lt;br /&gt;
* [[Tokeny Turbo BASIC XL]]&lt;br /&gt;
&lt;br /&gt;
== Linki zewnętrzne ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.tmeyer.de/atari/index.html Strona z oryginalnym artykułem o Turbo-Basicu XL] wraz z kompilatorem (pliki pdf z Happy Computera)&lt;br /&gt;
* [http://ftp.pigwa.net/stuff/mirror/turbobasicxlandaction.com/ Mirror strony o Turbo Basicu i Action! prowadzonej kiedyś przez Sikora]&lt;br /&gt;
* [http://atariage.com/forums/topic/266070-turbobasic-xl-v15-mads-source-disassembly/ Pełny kod źródłowy TBXL w formacie cross-asemblera MADS]&lt;br /&gt;
* [https://atariwiki.org/wiki/Wiki.jsp?page=TURBO-BASIC%20XL Dużo informacji o TBXL i jego autorze]&lt;br /&gt;
* [https://github.com/dmsc/turbo-dis Kod źródłowy (i binaria) wersji relokowalnej z 2021 roku]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Języki programowania]]&lt;br /&gt;
[[Kategoria:BASIC]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>