<?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=LineA</id>
	<title>LineA - 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=LineA"/>
	<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=LineA&amp;action=history"/>
	<updated>2026-10-02T15:17:21Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mirror.atariki.pl/w/index.php?title=LineA&amp;diff=2733&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=LineA&amp;diff=2733&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;Instrukcje &amp;#039;&amp;#039;&amp;#039;Line A&amp;#039;&amp;#039;&amp;#039;, są to proste instrukcje wejścia/wyjścia odnoszące się do hardware Atari ST/STe/TT/Falcon, zrealizowane z pomocą specyficznego emulatora nieistniejących rozkazów procesorów MC680x0. Realizuje je [[Heksadecymalny|heksadecymalny]] kod $A00x, gdzie x oznacza jedną z 16 możliwych pseudo-komend procesora Motoroli. Każde wywołanie takiej pseudo-komendy obarczone jest dodatkowymi cyklami procesora, których wymaga obsługa przerwań. Jedyna korzyść, to oszczędność pamięci przy definiowaniu komend. Użyto ich ze względu na konieczność zmieszczenia pierwszych wersji [[TOS]]&amp;#039;a w 192KB pamięci [[ROM]]. Miały zostać wyeliminowane w późniejszych wersjach systemu [[TOS]], ale pozostały w użyciu ze względu na kompatybilność.&lt;br /&gt;
&lt;br /&gt;
Odpowiadają za podstawowe operacje graficzne, dostęp do klawiatury i myszy. Za ich pomocą można tworzyć kompleksowe operacje przy pomocy kilku prostych komend. Można nimi narysować pixele, linie, kwadraty, pisać tekst, kopiować bloki graficzne oraz kontrolować software&amp;#039;owe duszki, w tym kursor myszki. Po inicjalizacji komendą $A000 można się m.in. dowiedzieć, jaki aktualnie jest adres zestawu znaków, pozycja myszki, adres, wielkość, rozdzielczość i rozmiary w absolutnych i względnych współrzędnych ekranu, ilość bitplane itd. Niestety zmienne te są po części przekłamywane przez popularne akceleratory systemowego interfejsu graficznego - takie jak [[Warp9]] i [[QuickST]] - co powoduje, że trzeba brać poprawkę na to iż w bloku tzw. negatywnych zmiennych linii A mogą znaleźć się całkowicie bezsensowne liczby.&lt;br /&gt;
&lt;br /&gt;
Razem z [[BIOS|BIOSem]] oraz [[XBIOS|XBIOSem]] stanowią jedną z najniższych warstw logicznych systemu [[TOS]]. Wiele procedur [[GEM]]&amp;#039;u wykorzystuje te instrukcje, ze względu na oszczędność pamięci przeznaczonej na system operacyjny. Są dostępne natychmiast po włączeniu komputera, co oznacza że można z nich korzystać np. w krótkim kodzie mieszczącym się w około 500 bajtach [[Boot-sector|boot-sector]]&amp;#039;a, bez konieczności inicjalizacji systemowych funkcji wyższego rzędu czy rezerwacji dla nich dodatkowych przestrzeni pamięci. Można w ten sposób zaoszczędzić jeszcze więcej [[RAM]]&amp;#039;u nawet niż przy uruchamianiu programów z katalogu [[AUTO]].&lt;br /&gt;
&lt;br /&gt;
== Pochodzenie koncepcji ==&lt;br /&gt;
&lt;br /&gt;
Pseudorozkazy $A000-$A00F mają swój wektor przerwań umieszczony w pamięci pod adresem $00000028. Zaraz po nim jest wektor analogicznej &amp;#039;&amp;#039;&amp;#039;Linii F&amp;#039;&amp;#039;&amp;#039;, która w systemie [[TOS]] nie jest używana. Najprawdopodobniej pomysł na użycie &amp;#039;&amp;#039;&amp;#039;Line A&amp;#039;&amp;#039;&amp;#039; został skopiowany (tak samo jak i wiele innych koncepcji) z pierwszych wersji systemu Apple&amp;#039;a. Tak zwane &amp;#039;&amp;#039;&amp;#039;Mac-macros&amp;#039;&amp;#039;&amp;#039; są zdefiniowane w technicznej dokumentacji dla programistów Apple&amp;#039;a właśnie jako długa lista pseudorozkazów $Axxx. Dużo później zainteresowali się nimi twórcy [[TurboAssembler]]&amp;#039;a, zaczynając i niestety nie kończąc implementacji &amp;#039;&amp;#039;&amp;#039;Mac-macros&amp;#039;&amp;#039;&amp;#039; w swoim asemblerze. Przyczyną przerwania realizacji była czasochłonność i koszt tego zadania.&lt;br /&gt;
&lt;br /&gt;
== Odnośniki zewnętrzne ==&lt;br /&gt;
&lt;br /&gt;
* [https://freemint.github.io/tos.hyp/en/linea_main.html Komendy linii A]&lt;br /&gt;
* [https://freemint.github.io/tos.hyp/en/linea_escape.html Spis bloku negatywnych zmiennych linii A]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Ten artykuł to tylko [http://pl.wikipedia.org/wiki/Wikipedia:Zalążek_artykułu zalążek]. Możesz pomóc rozwojowi [[Atariki]] poprzez rozszerzenie go o więcej informacji.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari ST]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>