<?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=6502</id>
	<title>6502 - 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=6502"/>
	<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=6502&amp;action=history"/>
	<updated>2026-10-02T14:50:49Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mirror.atariki.pl/w/index.php?title=6502&amp;diff=68&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=6502&amp;diff=68&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;[[Procesor]] produkowany przez [http://en.wikipedia.org/wiki/MOS_Technology MOS Technology]. Pierwszy raz wprowadzony do produkcji we wrześniu 1975 roku, wytwarzany przy wykorzystaniu technologii [http://en.wikipedia.org/wiki/MOSFET NMOS].&lt;br /&gt;
Procesor w odróżnieniu od innych rówieśników nie był budowany w oparciu o mikrokod, był wewnętrznie prostszy i mógł pracować z mniejszymi częstotliwościami zewnętrznymi (zwykle pomiędzy 1 a 2 MHz), osiągając przy tym porównywalną wydajność. Obniżało to koszt układów z nim współpracujących, wykorzystywanych w komputerze.&lt;br /&gt;
&lt;br /&gt;
== Parametry ==&lt;br /&gt;
&lt;br /&gt;
* ośmiobitowa szyna danych&lt;br /&gt;
* szesnastobitowe adresowanie&lt;br /&gt;
* 56 udokumentowanych rozkazów&lt;br /&gt;
* 13 trybów adresowania&lt;br /&gt;
* jeden ośmiobitowy rejestr ogólnego przeznaczenia (A - akumulator)&lt;br /&gt;
* dwa ośmiobitowe rejestry indeksujące (X i Y)&lt;br /&gt;
* ośmiobitowy rejestr statusu - P&lt;br /&gt;
* ośmiobitowy wskaźnik stosu - S&lt;br /&gt;
* szesnastobitowy licznik programu - PC&lt;br /&gt;
&lt;br /&gt;
W przestrzeni adresowej 6502 jest wyróżniony obszar przeznaczony na stos - jest to obszar od $0100 do $01FF.&lt;br /&gt;
&lt;br /&gt;
Różne źródła różnie oceniają liczbę tranzystorów, z której składa się procesor: od [http://visual6502.org/wiki/index.php?title=Chips_in_our_collection 3510], poprzez [http://www.righto.com/2013/09/intel-x86-documentation-has-more-pages.html 6630] aż do około 9000.&lt;br /&gt;
&lt;br /&gt;
== Błędy w 6502 ==&lt;br /&gt;
&lt;br /&gt;
* dodawanie i odejmowanie w trybie dziesiętnym ustawia znaczniki N, V i Z nieodpowiednio dla uzyskanego wyniku dziesiętnego (odzwierciedlają one cząstkowy wynik binarny operacji, przed korekcją dziesiętną)&lt;br /&gt;
* rozkaz JMP ($xxFF) pobierze adres skoku z komórek $xxFF/$xx00 zamiast z $xxFF/$xy00.&lt;br /&gt;
* rejestr znaczników zapisany na stos przez PHP ma zawsze ustawiony bit B&lt;br /&gt;
&lt;br /&gt;
=== Błędy związane z przerwaniami ===&lt;br /&gt;
&lt;br /&gt;
* znaczniki są nieustalone po RESET&lt;br /&gt;
* wystąpienie przerwania nie wyłącza trybu dziesiętnego ALU&lt;br /&gt;
* wystąpienie przerwania podczas wykonywania rozkazu BRK spowoduje, że zostanie on zignorowany.&lt;br /&gt;
* jednoczesne wystąpienie przerwania [[NMI]] oraz [[IRQ]] powoduje, że to pierwsze zostanie zignorowane (jest to w zasadzie błąd w oryginalnej dokumentacji 6502, który spowodował, że sygnał NMI podawany przez układy specjalizowane zbudowane na jej podstawie - np. [[ANTIC (układ)|ANTIC]] - jest za krótki w stosunku do rzeczywistych wymagań procesora). Ten błąd [http://atariage.com/forums/topic/148595-how-can-pokey-irq-timers-mess-up-nmi-timing/page-8#entry1822388 można poprawić].&lt;br /&gt;
* obsługa przerwania NMI, które wystąpiło podczas wykonywania odgałęzienia (&amp;quot;wykonany&amp;quot; rozkaz Bxx), jest opóźniona do chwili zakończenia wykonywania rozkazu następnego po odgałęzieniu, zamiast rozpoczynać się w chwili zakończenia samego rozkazu odgałęzienia ([http://www.atariage.com/forums/topic/168550-a-taken-branch-before-nmi-delays-nmi-execution-by-one-full-instruction/ źródło]).&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Zbędne&amp;quot; odczyty i zapisy ===&lt;br /&gt;
&lt;br /&gt;
* rozkazy typu &amp;#039;&amp;#039;read-modify-write&amp;#039;&amp;#039; (ASL, DEC, INC, LSR, ROL, ROR) wykonują dwa zapisy do modyfikowanej komórki pamięci, z czego za pierwszym razem procesor zapisuje odczytaną z komórki wartość.&lt;br /&gt;
* rozkazy w indeksowanym trybie adresowania (abs,X i abs,Y) dokonują dodatkowego odczytu spod niewłaściwego adresu, jeśli dodanie adresu bazowego i indeksu powoduje zwiększenie starszego bajtu adresu efektywnego (czyli jego &amp;quot;przejście&amp;quot; na następną stronę).&lt;br /&gt;
* wykonany rozkaz odgałęzienia (Bxx) powoduje dodatkowy odczyt spod niewłaściwego adresu, jeśli przeskok jest na sąsiednią stronę.&lt;br /&gt;
* występuje zbędny odczyt następnej po rozkazach BRK, RTS, RTI komórki pamięci.&lt;br /&gt;
&lt;br /&gt;
Błędów tych pozbawione są późniejsze wersje procesora, tj. [[65C02]] oraz [[65C816]].&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
&lt;br /&gt;
* Procesor ma pewną liczbę [[Nieudokumentowane rozkazy 6502C|nieudokumentowanych rozkazów]]. Szczegóły działania części z nich zależą od konkretnej wersji procesora. Dlatego, mimo że zastępują one w niektórych przypadkach kilka rozkazów standardowych, nie jest zalecane ich używanie.&lt;br /&gt;
* Listing programu przeznaczony dla procesora 6502 był wykorzystany w filmie &amp;quot;The Terminator&amp;quot; (1984, pol. &amp;#039;&amp;#039;&amp;#039;Elektroniczny Morderca&amp;#039;&amp;#039;&amp;#039;) przy wyświetlaniu obrazu z kamery Terminatora T800 Model 101. Jest to listing programu dla komputera Apple II.&lt;br /&gt;
* Robot Bender, bohater serialu animowanego &amp;#039;&amp;#039;Futurama&amp;#039;&amp;#039;, będącego jedną z głównych atrakcji czwartego [[Sztab Małopolska|Sztabu Małopolska]], ma &amp;quot;mózg&amp;quot; zbudowany na procesorze 6502, o czym dowiadujemy się z odcinka pod tytułem &amp;quot;Fry &amp;amp; the Slurm Factory&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== 6502 w Atari ==&lt;br /&gt;
&lt;br /&gt;
Komputery serii [[400/800]] są wyposażone w układ 6502A lub 6502B. Są to &amp;quot;szybsze&amp;quot;, czyli przystosowane do pracy z szybszym zegarem, wersje 6502. Zwykły 6502 może działać z częstotliwością do 1 MHz, wersja A do 2 MHz, a wersja B do 3 MHz (zob. H. Kruszyński, K. Kulpa, &amp;#039;&amp;#039;Mikroprocesor 6502 i jego rodzina&amp;#039;&amp;#039;, NOT, Warszawa 1989, str. 43).&lt;br /&gt;
&lt;br /&gt;
Serie [[XL]] i [[XE]] mają jeszcze nieco zmodyfikowany procesor, znany jako [[6502C]]. Zmiana w stosunku do oryginału polega na dodaniu linii HALT, której uaktywnienie powoduje zatrzymanie procesora i odłączenie go od magistrali. W modelach 400/800 robił to oddzielny obwód złożony z elementów dyskretnych.&lt;br /&gt;
&lt;br /&gt;
Numery katalogowe Atari:&lt;br /&gt;
&lt;br /&gt;
* 6502A: ?&lt;br /&gt;
* 6502B: &amp;#039;&amp;#039;&amp;#039;C014377&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 6502C: &amp;#039;&amp;#039;&amp;#039;C014806&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Szybkość taktowania procesora w Atari zależy od tego, do jakiego systemu telewizji przystosowany jest komputer:&lt;br /&gt;
&lt;br /&gt;
* wersja NTSC: 1,789790 MHz lub (w [[XE]]) 1,7897725 MHz&lt;br /&gt;
* wersja PAL: 1,773447 MHz&lt;br /&gt;
* wersja SECAM: 1,7815 MHz (tylko [[XL]] i [[XE]])&lt;br /&gt;
&lt;br /&gt;
== Zobacz także ==&lt;br /&gt;
&lt;br /&gt;
* [[6502C]]&lt;br /&gt;
* [[65C02]]&lt;br /&gt;
* [[65C802]]&lt;br /&gt;
* [[65C816]]&lt;br /&gt;
* [[6507]]&lt;br /&gt;
* [[Przerwania]]&lt;br /&gt;
* [[NTSC vs PAL]]&lt;br /&gt;
* [http://oldcomputers.net/kim1.html Pierwszy mikrokomputer z 6502]&lt;br /&gt;
* [http://www.6502.org 6502.org]&lt;br /&gt;
* [http://www.cpu-collection.de/?tn=1&amp;amp;l0=cl&amp;amp;l1=650x Zdjęcia i specyfikacja na stronie cpu-collection.de]&lt;br /&gt;
* [http://krap.pl/mirrorz/atari/www.howell1964.freeserve.co.uk/parts/6502_CPU.htm 6502 CPU and variants]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>