<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://atariki.krap.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Polluks</id>
	<title>Atariki - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://atariki.krap.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Polluks"/>
	<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php/Specjalna:Wk%C5%82ad/Polluks"/>
	<updated>2026-10-24T07:44:49Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=CC65&amp;diff=40616</id>
		<title>CC65</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=CC65&amp;diff=40616"/>
		<updated>2023-08-04T11:31:28Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* Skład pakietu */ Apple II&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;cc65&#039;&#039;&#039; to pakiet kompilatora języka [[C]], [[asembler]]a, menedżera bibliotek oraz konsolidatora. Pierwsza wersja została napisana w 1989 roku przez Johna R. Dunninga i była wersją [http://en.wikipedia.org/wiki/Small-C Small-C] na [[Atari 8-bit|małe Atari]]. Obecnie rozwijana wersja (działająca wyłącznie w trybie [http://pl.wikipedia.org/wiki/Kompilacja_skro%C5%9Bna kompilacji skrośnej]), potrafi kompilować pod różne komputery oparte o [[procesor]] [[6502]], jak i 65816 (np. różne odmiany Atari 8-bit, Commodore C64/C128/C16/C116 i inne, Apple II, Nintendo NES...). Pakiet rozwijany jest pod przewodnictwem Ullricha von Bassewitza.&lt;br /&gt;
&lt;br /&gt;
== Skład pakietu ==&lt;br /&gt;
* ar65 - program do tworzenia bibliotek *.lib i operacji na nich&lt;br /&gt;
* ca65 - [http://pl.wikipedia.org/wiki/Makroasembler makroasembler] dla procesorów 6502, 65C02 i 65816&lt;br /&gt;
* cc65 - skrośny kompilator języka C, tworzący kod źródłowy asemblera ca65&lt;br /&gt;
* cl65 - proste w użyciu narzędzie do kompilacji i konsolidacji, będące nakładką na ca65, cc65, co65 i ld65&lt;br /&gt;
* co65 - program narzędziowy do konwersji [http://pl.wikipedia.org/wiki/Plik_obiektowy plików obiektowych] w formacie [http://www.6502.org/users/andre/o65/fileformat.html o65] do postaci źródeł asemblera ca65&lt;br /&gt;
* od65 - object dumper - pokazuje zawartość plików obiektowych (symbole, eksporty, importy, segmenty)&lt;br /&gt;
* da65 - [http://pl.wikipedia.org/wiki/Deasembler deasembler] produkujący pliki w formacie asemblera ca65&lt;br /&gt;
* grc  - kompilator &amp;quot;zasobów&amp;quot; .grc dla środowiska GEOS z C64/Apple II&lt;br /&gt;
* ld65 - [http://pl.wikipedia.org/wiki/Konsolidator konsolidator]&lt;br /&gt;
&lt;br /&gt;
== Odnośniki zewnętrzne ==&lt;br /&gt;
* [https://cc65.github.io/ Strona domowa CC65]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Cc65 cc65] w Wikipedii&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Emulacja]]&lt;br /&gt;
[[Kategoria:Języki programowania]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Raster_Music_Tracker&amp;diff=40615</id>
		<title>Raster Music Tracker</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Raster_Music_Tracker&amp;diff=40615"/>
		<updated>2023-08-04T11:29:43Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* Zobacz też */ repo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Program działający w środowisku MS Windows umożliwiający tworzenie 4- jak i 8-kanałowych ([[Stereo]]) modułów dla [[Atari 8-bit|ośmiobitowego Atari]] przy wykorzystaniu bibliotek emulujących układy [[6502]] i [[POKEY]]. Autorem jest [[Raster/C.P.U.]]. Program pozwala na tworzenie dosyć zaawansowanych instrumentów, które użyć można następnie w muzyce lub efektach specjalnych. W pakiecie znajdziemy również gotowe procedury odtwarzające, wraz ze źródłami. Obecnie najbardziej rozpowszechniony na [[scena|scenie]]. &lt;br /&gt;
Po śmierci autora RMT, program nie został zapomniany, ale kilka osób ulepsza/poprawia jego funkcje, m.in. [[VinsCool]]. Ostatnia wersja programu to 1.34 i od tej wersji program stał się &#039;open source&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://raster.infos.cz/atari/rmt/rmt1.gif&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
* [https://github.com/VinsCool/RASTER-Music-Tracker/releases Repozytorium]&lt;br /&gt;
* [https://forums.atariage.com/topic/328790-release-raster-music-tracker-v13400/#comments Dyskusja na Atari-Age]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
* [http://raster.infos.cz/atari/rmt/rmt.htm Strona domowa]&lt;br /&gt;
* https://github.com/VinsCool/RASTER-Music-Tracker&lt;br /&gt;
* [[RMT (format pliku)|RMT format pliku]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Emulacja]]&lt;br /&gt;
[[Kategoria:Edytory muzyczne]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=U%C5%BCytkownik:Polluks&amp;diff=40614</id>
		<title>Użytkownik:Polluks</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=U%C5%BCytkownik:Polluks&amp;diff=40614"/>
		<updated>2023-08-04T11:27:23Z</updated>

		<summary type="html">&lt;p&gt;Polluks: RMT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Music Tracker]]&lt;br /&gt;
[[Raster Music Tracker]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=U%C5%BCytkownik:Polluks&amp;diff=40613</id>
		<title>Użytkownik:Polluks</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=U%C5%BCytkownik:Polluks&amp;diff=40613"/>
		<updated>2023-08-04T11:25:50Z</updated>

		<summary type="html">&lt;p&gt;Polluks: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Music Tracker]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=U%C5%BCytkownik:Polluks&amp;diff=40612</id>
		<title>Użytkownik:Polluks</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=U%C5%BCytkownik:Polluks&amp;diff=40612"/>
		<updated>2023-08-04T11:24:39Z</updated>

		<summary type="html">&lt;p&gt;Polluks: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Theta Music Composer]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:ZXEmulator&amp;diff=38137</id>
		<title>Dyskusja:ZXEmulator</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:ZXEmulator&amp;diff=38137"/>
		<updated>2020-04-26T11:23:55Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* Podstawowa pamięć */ ZX BASIC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Podstawowa pamięć ==&lt;br /&gt;
KMK: Działanie w podstawowej pamięci uważam za ciekawe. Działa na standardowej atarce (każdej XL/XE), czego niestety nie można powiedzieć o Twoim Let&#039;s Emu - jest bardzo dobry, ale parametry nie odpowiadają Atari. Równie dobrze (a na pewno łatwiej) jest odpalić emulator na PyCy. Wnioskuję o przywrócenie info o pamięci 64KB (sorki, Konrad, ale 65816 i ewentualne VBXE to już nie jest 8-bit Atari).--[[Użytkownik:Sikor|Sikor]] 21:18, 7 lip 2015 (CEST)&lt;br /&gt;
:Naturalnie, dobrze jest podkreślić, że program działa na 64k. Ale to jest emulator Spectrum 16k - pamięć emulowanej maszyny zajmuje 16 kilobajtów (nawet nie 32k, jak na oryginale). Ponawiam zatem pytanie: co jest &#039;&#039;&#039;ciekawego&#039;&#039;&#039; w tym, że nie to nie wymaga więcej niż 64k pamięci Atari do uruchomienia? Hm? Są jakieś inne emulatory Spectrum 16k, które działają na 6502, ale wymagają np. 130XE? -[[Użytkownik:KMK|KMK]] 23:01, 7 lip 2015 (CEST)&lt;br /&gt;
::A emulacja samego Z80 i ROMu spectrum ile zajmuje? Do tego program własny do emulacji obrazu, interfejs do obsługi chociażby joya? Uważam, że jest to warte podkreślenia, że działa na standardowej pamięci i z każdym Atari XL/XE. Stąd mój wniosek - dla porównania Twój emulator obsługuje Spectrum 48KB, a potrzebuje - sic - tylko 64+512KB! Więc tu jest straszna różnica - patrząc na takie porównanie - 64-16=48KB free (w wersji XXL-a), 48x3=144, więc u ciebie nie powinien wymagać więcej niż 144+48=196KB pamięci. Więc ponawiam wniosek o przywrócenie informacji. Aha, info o kolorach i prędkości u Ciebie (Let&#039;s Emu) odpada, bo tam wymaga szybkiego procka (pomijam, że zasadniczo 16-to bitowego) i VBXE do kolorów (które dodatkowo ma własną pamięć, więc u Ciebie jest +512+pamięć VBXE do kolorów).--[[Użytkownik:Sikor|Sikor]] 09:35, 8 lip 2015 (CEST)&lt;br /&gt;
:::Sikor, jeśli Ci tak zależy, to zamiast się awanturować, po prostu to dopisz, tylko sformułuj to inaczej. Np. coś w rodzaju &amp;quot;program działa na zwykłym Atari z 64k pamięci&amp;quot; (bez dodatków w rodzaju &amp;quot;ciekawe&amp;quot; itp.). -[[Użytkownik:KMK|KMK]] 14:15, 8 lip 2015 (CEST)&lt;br /&gt;
::::I to jest właściwa odpowiedź, bo obawiałem się niekończącej krucjaty między Tobą a XXL-em.--[[Użytkownik:Sikor|Sikor]] 20:46, 8 lip 2015 (CEST)&lt;br /&gt;
ZX BASIC 6502 https://www.c64-wiki.com/wiki/Spectrum_Simulator&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=2600&amp;diff=29276</id>
		<title>2600</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=2600&amp;diff=29276"/>
		<updated>2010-04-22T23:46:03Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* Specyfikacja sygnału Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table style=&amp;quot;float:right&amp;quot; border=0 cellpadding=20 cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td align=center&amp;gt;[[Grafika:2600_3.jpg]]&amp;lt;br&amp;gt;&amp;lt;font size=1&amp;gt;Pierwsza wersja Atari 2600 (dokładnie CX2600), zwana &amp;quot;drewnianą&amp;quot;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td align=center&amp;gt;[[Grafika:2600_1.jpg]]&amp;lt;br&amp;gt;&amp;lt;font size=1&amp;gt;Najczęściej spotykana wersja z czterema przełącznikami&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td align=center&amp;gt;[[Grafika:2600_2.jpg]]&amp;lt;br&amp;gt;&amp;lt;font size=1&amp;gt;Bardzo rzadko spotykana wersja Atari 2600 &amp;quot;drewnianej&amp;quot; z czterema przełącznikami (CX2600A)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td align=center&amp;gt;[[Grafika:2600jr_2.jpg]]&amp;lt;br&amp;gt;&amp;lt;font size=1&amp;gt;Atari 2600 Junior&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td align=center&amp;gt;[[Grafika:2600jr_1.jpg]]&amp;lt;br&amp;gt;&amp;lt;font size=1&amp;gt;Druga wersja Atari 2600 Junior z mniejszą &amp;quot;tęczą&amp;quot;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Atari Video Computer System (przemianowane później na Atari 2600) to jedna z pierwszych (historycznie druga) konsol do gier, która bazowała na wymiennych cartridge-ach z grami (a nie tylko na grach wbudowanych do środka). Dzięki temu udało się znacznie obniżyć koszty produkcji. Dzięki swojej prostocie oraz ogromnej bibliotece gier zyskała sobie rzeszę zwolenników na całym świecie i cieszyła się ogromną popularnością nawet kiedy wprowadzono na rynek nowsze i bardziej zaawansowane urządzenia. Była produkowana od 1977 do 1991 roku (a jej liczne klony nawet znacznie dłużej, do dziś można je znaleźć na niektórych rynkach).&lt;br /&gt;
&lt;br /&gt;
Przez wiele lat wypuszczono kilka wersji konsoli w stu procentach ze sobą kompatybilnych, różniących się wyglądem zewnętrznym oraz dołączonymi grami i kontrolerami (kilka z nich na zdjęciach obok). Zasadnicza różnica tkwiła w ilości przełączników (sześć lub cztery) oraz kształcie obudowy. Popularne na rynku były również chińskie klony konsoli, które różniły się zmienionymi napisami na obudowie (na przykład Television Computer System zamiast Video Computer System) oraz wbudowanymi do środka grami (w ilościach idących w setki). &lt;br /&gt;
&lt;br /&gt;
Typowymi kontrolerami były joysticki (słynne [[CX40]]), a także wiosełka (ang. paddle), kompatybilne również z komputerami Atari oraz konsolą [[7800]] ProSystem.&lt;br /&gt;
&lt;br /&gt;
== Specyfikacja Atari 2600 ==&lt;br /&gt;
* &#039;&#039;&#039;[[Procesor]]:&#039;&#039;&#039; MOS [[6507]]&lt;br /&gt;
* &#039;&#039;&#039;Prędkość zegara:&#039;&#039;&#039; 1.19 MHz&lt;br /&gt;
* &#039;&#039;&#039;Pamięć RAM:&#039;&#039;&#039; 128 bajtów (układ [[6532]] - PIA, oprócz funkcji RAM - układ wejścia/wyjścia, timer).&lt;br /&gt;
* &#039;&#039;&#039;Grafika:&#039;&#039;&#039; specjalizowany chip graficzno-muzyczny [[TIA]]&lt;br /&gt;
* &#039;&#039;&#039;Dźwięk:&#039;&#039;&#039; 2 kanały, obsługiwany przez TIA&lt;br /&gt;
* &#039;&#039;&#039;Pojemność kartridży:&#039;&#039;&#039; od 4 do 16 kilobajtów w standardzie, ale zdarzają się większe (nawet 64 KB), niektóre kartridże wyposażone są w 128 bajtów własnej pamięci RAM, kilka gier ma dodatkowo układ [[POKEY]] na cartridge-u (jako dodatkowy układ dźwiękowy).&lt;br /&gt;
&lt;br /&gt;
== Przełączniki ==&lt;br /&gt;
* Color/Mono Switch (tylko wersje PAL i NTSC)&lt;br /&gt;
* dwa przełączniki trudności (oddzielnie dla poszczególnych graczy)&lt;br /&gt;
* Select&lt;br /&gt;
* Reset (Switches w starszych wersjach konsoli)&lt;br /&gt;
* Włącznik zasilania&lt;br /&gt;
* wybór kanału TV &lt;br /&gt;
&lt;br /&gt;
== Specyfikacja sygnału Video ==&lt;br /&gt;
* Wyjście linia po linii (rejestry muszą być odświeżane po każdej linii skaningowej)&lt;br /&gt;
* Rozdzielczość 160×228px (PAL) lub 160×192px (NTSC)&lt;br /&gt;
* cztery kolory jednocześnie (po jednym na obiekt) z palety: 128 (NTSC), 104 (PAL), 8 (Secam) kolorów&lt;br /&gt;
&lt;br /&gt;
== Skrócona mapa pamięci ==&lt;br /&gt;
&lt;br /&gt;
* 0000-002C  Rejestry TIA do zapisu&lt;br /&gt;
* 0000-000D  Rejestry TIA do odczytu (czasem powtórzone w obszarze 0030-003D)&lt;br /&gt;
* 0080-00FF  PIA RAM (128 bajtów)&lt;br /&gt;
* 0280-0297  Porty i timer PIA &lt;br /&gt;
* F000-FFFF  Pamięć cartridge-y (mapowany obszar 4KB)&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
* Standard joysticka wprowadzony wraz z modelem 2600 na długie lata stał się standardem dla tego typu kontrolerów &lt;br /&gt;
* Do dzisiaj są produkowane i wydawane gry na 2600 (choć w małych ilościach i głownie przez pasjonatów)&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.atariguide.com/ AtariGuide]&lt;br /&gt;
*[http://www.atarimuseum.com/videogames/consoles/2600menu/2600menu.htm Więcej informacji o Atari 2600, prototypach i dodatkach]&lt;br /&gt;
*[http://www.atariage.com/software_search.html?SystemID=2600 Zbiór wszystkich gier i dodatkowe informacje o Atari 2600]&lt;br /&gt;
*[http://atarihq.com/danb/a2600.shtml Informacje na temat programowania na Atari 2600 oraz mnóstwo szczegółów technicznych]&lt;br /&gt;
*[http://www.hardcoders.org/stelladoc/ Informacje na temat progrmowania Atari 2600]&lt;br /&gt;
*[http://www.atari2600.com Sklep z grami i akcesoriami, nie tylko do Atari 2600]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Atari - Konsole]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=2600&amp;diff=29275</id>
		<title>2600</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=2600&amp;diff=29275"/>
		<updated>2010-04-22T23:44:29Z</updated>

		<summary type="html">&lt;p&gt;Polluks: /* Specyfikacja sygnału Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table style=&amp;quot;float:right&amp;quot; border=0 cellpadding=20 cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td align=center&amp;gt;[[Grafika:2600_3.jpg]]&amp;lt;br&amp;gt;&amp;lt;font size=1&amp;gt;Pierwsza wersja Atari 2600 (dokładnie CX2600), zwana &amp;quot;drewnianą&amp;quot;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td align=center&amp;gt;[[Grafika:2600_1.jpg]]&amp;lt;br&amp;gt;&amp;lt;font size=1&amp;gt;Najczęściej spotykana wersja z czterema przełącznikami&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td align=center&amp;gt;[[Grafika:2600_2.jpg]]&amp;lt;br&amp;gt;&amp;lt;font size=1&amp;gt;Bardzo rzadko spotykana wersja Atari 2600 &amp;quot;drewnianej&amp;quot; z czterema przełącznikami (CX2600A)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td align=center&amp;gt;[[Grafika:2600jr_2.jpg]]&amp;lt;br&amp;gt;&amp;lt;font size=1&amp;gt;Atari 2600 Junior&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td align=center&amp;gt;[[Grafika:2600jr_1.jpg]]&amp;lt;br&amp;gt;&amp;lt;font size=1&amp;gt;Druga wersja Atari 2600 Junior z mniejszą &amp;quot;tęczą&amp;quot;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Atari Video Computer System (przemianowane później na Atari 2600) to jedna z pierwszych (historycznie druga) konsol do gier, która bazowała na wymiennych cartridge-ach z grami (a nie tylko na grach wbudowanych do środka). Dzięki temu udało się znacznie obniżyć koszty produkcji. Dzięki swojej prostocie oraz ogromnej bibliotece gier zyskała sobie rzeszę zwolenników na całym świecie i cieszyła się ogromną popularnością nawet kiedy wprowadzono na rynek nowsze i bardziej zaawansowane urządzenia. Była produkowana od 1977 do 1991 roku (a jej liczne klony nawet znacznie dłużej, do dziś można je znaleźć na niektórych rynkach).&lt;br /&gt;
&lt;br /&gt;
Przez wiele lat wypuszczono kilka wersji konsoli w stu procentach ze sobą kompatybilnych, różniących się wyglądem zewnętrznym oraz dołączonymi grami i kontrolerami (kilka z nich na zdjęciach obok). Zasadnicza różnica tkwiła w ilości przełączników (sześć lub cztery) oraz kształcie obudowy. Popularne na rynku były również chińskie klony konsoli, które różniły się zmienionymi napisami na obudowie (na przykład Television Computer System zamiast Video Computer System) oraz wbudowanymi do środka grami (w ilościach idących w setki). &lt;br /&gt;
&lt;br /&gt;
Typowymi kontrolerami były joysticki (słynne [[CX40]]), a także wiosełka (ang. paddle), kompatybilne również z komputerami Atari oraz konsolą [[7800]] ProSystem.&lt;br /&gt;
&lt;br /&gt;
== Specyfikacja Atari 2600 ==&lt;br /&gt;
* &#039;&#039;&#039;[[Procesor]]:&#039;&#039;&#039; MOS [[6507]]&lt;br /&gt;
* &#039;&#039;&#039;Prędkość zegara:&#039;&#039;&#039; 1.19 MHz&lt;br /&gt;
* &#039;&#039;&#039;Pamięć RAM:&#039;&#039;&#039; 128 bajtów (układ [[6532]] - PIA, oprócz funkcji RAM - układ wejścia/wyjścia, timer).&lt;br /&gt;
* &#039;&#039;&#039;Grafika:&#039;&#039;&#039; specjalizowany chip graficzno-muzyczny [[TIA]]&lt;br /&gt;
* &#039;&#039;&#039;Dźwięk:&#039;&#039;&#039; 2 kanały, obsługiwany przez TIA&lt;br /&gt;
* &#039;&#039;&#039;Pojemność kartridży:&#039;&#039;&#039; od 4 do 16 kilobajtów w standardzie, ale zdarzają się większe (nawet 64 KB), niektóre kartridże wyposażone są w 128 bajtów własnej pamięci RAM, kilka gier ma dodatkowo układ [[POKEY]] na cartridge-u (jako dodatkowy układ dźwiękowy).&lt;br /&gt;
&lt;br /&gt;
== Przełączniki ==&lt;br /&gt;
* Color/Mono Switch (tylko wersje PAL i NTSC)&lt;br /&gt;
* dwa przełączniki trudności (oddzielnie dla poszczególnych graczy)&lt;br /&gt;
* Select&lt;br /&gt;
* Reset (Switches w starszych wersjach konsoli)&lt;br /&gt;
* Włącznik zasilania&lt;br /&gt;
* wybór kanału TV &lt;br /&gt;
&lt;br /&gt;
== Specyfikacja sygnału Video ==&lt;br /&gt;
* Wyjście linia po linii (rejestry muszą być odświeżane po każdej linii skaningowej)&lt;br /&gt;
* Rozdzielczość 160x228px (PAL) lub 160×192px (NTSC)&lt;br /&gt;
* cztery kolory jednocześnie (po jednym na obiekt) z palety: 128 (NTSC), 104 (PAL), 8 (Secam) kolorów&lt;br /&gt;
&lt;br /&gt;
== Skrócona mapa pamięci ==&lt;br /&gt;
&lt;br /&gt;
* 0000-002C  Rejestry TIA do zapisu&lt;br /&gt;
* 0000-000D  Rejestry TIA do odczytu (czasem powtórzone w obszarze 0030-003D)&lt;br /&gt;
* 0080-00FF  PIA RAM (128 bajtów)&lt;br /&gt;
* 0280-0297  Porty i timer PIA &lt;br /&gt;
* F000-FFFF  Pamięć cartridge-y (mapowany obszar 4KB)&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
* Standard joysticka wprowadzony wraz z modelem 2600 na długie lata stał się standardem dla tego typu kontrolerów &lt;br /&gt;
* Do dzisiaj są produkowane i wydawane gry na 2600 (choć w małych ilościach i głownie przez pasjonatów)&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.atariguide.com/ AtariGuide]&lt;br /&gt;
*[http://www.atarimuseum.com/videogames/consoles/2600menu/2600menu.htm Więcej informacji o Atari 2600, prototypach i dodatkach]&lt;br /&gt;
*[http://www.atariage.com/software_search.html?SystemID=2600 Zbiór wszystkich gier i dodatkowe informacje o Atari 2600]&lt;br /&gt;
*[http://atarihq.com/danb/a2600.shtml Informacje na temat programowania na Atari 2600 oraz mnóstwo szczegółów technicznych]&lt;br /&gt;
*[http://www.hardcoders.org/stelladoc/ Informacje na temat progrmowania Atari 2600]&lt;br /&gt;
*[http://www.atari2600.com Sklep z grami i akcesoriami, nie tylko do Atari 2600]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Atari - Konsole]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=CC65&amp;diff=23962</id>
		<title>CC65</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=CC65&amp;diff=23962"/>
		<updated>2007-09-20T17:35:46Z</updated>

		<summary type="html">&lt;p&gt;Polluks: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Właściwie &#039;&#039;&#039;The 6502C compiler&#039;&#039;&#039;. Pakiet kompilatora języka [[C]], [[asembler]]a (CA65), librariana, oraz linkera. Pierwotnie napisany przez Johna R. Dunninga na małe Atari. Obecnie rozwijana wersja&lt;br /&gt;
potrafi kompilować pod różne mikrokomputery oparte o [[procesor]] [[6502]], jak i 65816 (np. różne odmiany&lt;br /&gt;
Atari 8-bit, Commodore C64/C128/C16/C116 i inne, Apple II, Nintendo NES...), ale tylko jako tzw.&lt;br /&gt;
cross kompilacja - z komputerów udostępniających większe zasoby pamięci, mocniejsze procesory.&lt;br /&gt;
&lt;br /&gt;
Poniżej znajduje się nieco kulawy wstęp (w głównej mierze autorstwa [[Tebe]]go) do używania&lt;br /&gt;
tego cross kompilatora z platformy PC, spod dowolnego systemu postdosowego.&lt;br /&gt;
&lt;br /&gt;
== Wstęp do instrukcji ==&lt;br /&gt;
Sam program piszemy na PC w dowolnym edytorze tekstu jak Notatnik czy CodeGenie itp, a kompilator C czyli cc65 zamieni nam go na kod maszynowy 6502.&lt;br /&gt;
&lt;br /&gt;
== Pliki do pobrania ==&lt;br /&gt;
Cały pakiet programów do tworzenia w C znajdziemy na stronie domowej projektu, patrz [[#Linki|Linki]].&lt;br /&gt;
&lt;br /&gt;
Możemy też od razu wpaść na [[#Linki|ftp-a]] i pobrać plik z bibliotekami dla Atari XE/XL &#039;&#039;&#039;cc65-atari-&#039;&#039;WERSJA&#039;&#039;.zip&#039;&#039;&#039; oraz plik z kompilatorem przeznaczonym dla konkretnej platformy OS/2, Dos, Windows, np. &#039;&#039;&#039;cc65-win32-&#039;&#039;WERSJA&#039;&#039;.zip&#039;&#039;&#039; czyli Windows, bądź, dla platform unixowych,&lt;br /&gt;
plik ze źródłami (&#039;&#039;&#039;cc65-sources-&#039;&#039;WERSJA&#039;&#039;.tar.bz2&#039;&#039;&#039;), kompilowalnymi z użyciem standardowych&lt;br /&gt;
autotools.&lt;br /&gt;
&lt;br /&gt;
== Instalacja ==&lt;br /&gt;
Jeśli mamy już ściągnięte oba pliki, znajdujemy dla nich miejsce na którejś z partycji (np. C) i rozpakowujemy je do np. katalogu C:\CC65&lt;br /&gt;
&lt;br /&gt;
Teraz musimy jeszcze ustawić troche zmiennych środowiskowych, aby kompilator, linker wiedział gdzie co jest. W przypadku rodziny Windows 9x, dopisujemy w pliku AUTOEXEC.BAT:&lt;br /&gt;
&lt;br /&gt;
 PATH=%PATH%;C:\CC65\BIN&lt;br /&gt;
 &lt;br /&gt;
 SET CC65_INC=C:\CC65\INCLUDE&lt;br /&gt;
 SET CC65_LIB=C:\CC65\LIB&lt;br /&gt;
 SET LD65_CFG=C:\CC65\DOC&lt;br /&gt;
&lt;br /&gt;
W przypadku Windows 2000, XP, robimy to następująco:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Mój Komputer -&amp;gt; Właściwości -&amp;gt; Zaawansowane -&amp;gt; Zmienne środowiskowe -&amp;gt;&amp;lt;/tt&amp;gt; dopisujemy w oknie &amp;lt;tt&amp;gt;Zmienne systemowe&amp;lt;/tt&amp;gt;, czyli klikamy &amp;lt;tt&amp;gt;&amp;quot;Nowa&amp;quot;&amp;lt;/tt&amp;gt; i uzupełniamy oba pola &amp;lt;tt&amp;gt;&amp;quot;Nazwa zmiennej&amp;quot;&amp;lt;/tt&amp;gt; i &amp;lt;tt&amp;gt;&amp;quot;Wartość zmiennej&amp;quot;&amp;lt;/tt&amp;gt; podobnie jak ma to miejsce w AUTOEXEC-u.&lt;br /&gt;
&lt;br /&gt;
Teraz resetujemy komputer, bądź przelogowujemy się i możemy zacząć bawić się CC65 pod Windowsem.&lt;br /&gt;
(Zamiast ustawiać te zmienne na stałe, można również utworzyć plik wsadowy (.bat) uruchamiany&lt;br /&gt;
z wiersza poleceń i ustawiający je tylko dla danej sesji tegoż wiersza poleceń)&lt;br /&gt;
&lt;br /&gt;
== Składniki pakietu ==&lt;br /&gt;
W katalogu C:\CC65\BIN znajdują się wszystkie pliki wykonywalne pakietu cc65:&lt;br /&gt;
    ar65 - program do tworzenia bibliotek *.lib i operacji na nich, np. ar65 l atari.lib&lt;br /&gt;
           wyswietli nam listę modułów wchodzących w skład bibioteki atari.lib&lt;br /&gt;
 &lt;br /&gt;
    ca65 - makro assembler dla procesorów 6502, 65C02 i 65816&lt;br /&gt;
 &lt;br /&gt;
    cc65 - kompilator języka C przeznaczony dla rodziny procesorów 6502&lt;br /&gt;
 &lt;br /&gt;
    cl65 - program nażędziowy służący jako nakładka na kompilator i linker w jednym&lt;br /&gt;
 &lt;br /&gt;
    co65 - programik do konwersji skompilowanych plików objektowych do postaci źródeł assemblerowych&lt;br /&gt;
 &lt;br /&gt;
    od65 - object dumper - pokazuje zawartość plików obiektowych (symbole, eksporty, importy, segmenty)&lt;br /&gt;
 &lt;br /&gt;
    da65 - disassemler, stosuje zapis strawny na makro assemblera ca65&lt;br /&gt;
 &lt;br /&gt;
    grc  - to się Atarowcom nie przyda, bo jest to kompilator dla systemu GEOS z C64&lt;br /&gt;
 &lt;br /&gt;
    ld65 - linker, czyli programik który składa do kupy wszystko i tworzy plik wykonywalny&lt;br /&gt;
&lt;br /&gt;
== Przykład 1 ==&lt;br /&gt;
Teraz wypadałoby coś skompilować, czas więc na nieśmiertelny przykład, pewnie w [[BASIC]]-u też to pisaliście.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;Przykład 1:&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main (void)&lt;br /&gt;
 {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Kompilacja ==&lt;br /&gt;
Nasz program zapiszemy do pliku np. &amp;quot;hello.c&amp;quot;, aby go skompilować piszemy &amp;quot;&#039;&#039;&#039;cl65 -O -t atari hello.c -o hello.xex&#039;&#039;&#039;&amp;quot; i to wszystko, powstał plik HELLO.XEX który możemy już wczytać spod DOS-a. Uruchomienie go bezpośrednio nic nie da, musi być uruchomiony spod DOS-a.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parametry które przekazaliśmy kompilatorowi cl65 oznaczają (wielkość liter jest rozróżniana):&lt;br /&gt;
    -O        [[optymalizacja]] kodu, tworzy optymalniejszy kod maszynowy&lt;br /&gt;
    -t sys    docelowy system, domyślnie jest to C64 :P&lt;br /&gt;
    -o plik   nazwa pliku wyjściowego&lt;br /&gt;
&lt;br /&gt;
Wywołanie &#039;&#039;&#039;cl65&#039;&#039;&#039; to najszybszy i najprostszy sposób kompilacji. Skompilowany program domyślnie ładuje się od &#039;&#039;&#039;$2E00&#039;&#039;&#039;, startuje od &#039;&#039;&#039;$2E01&#039;&#039;&#039;, maksymalna długość skompilowanego programu może wynieść &#039;&#039;&#039;$8E20&#039;&#039;&#039; bajtów. Stos programowy liczy &#039;&#039;&#039;$0800&#039;&#039;&#039; bajtów pamięci. Strona zerowa używana jest od bajtu &#039;&#039;&#039;$82-$FF&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Domyślne ustawienia dla linkera (plik ATARI.CFG):&lt;br /&gt;
 MEMORY {&lt;br /&gt;
     ZP: start = $82, size = $7E, type = rw, define = yes;&lt;br /&gt;
     HEADER: start = $0000, size = $6, file = %O;&lt;br /&gt;
     RAM: start = $2E00, size = $8E20, file = %O;    # $8E1F: matches upper bound $BC1F&lt;br /&gt;
 }&lt;br /&gt;
 SEGMENTS {&lt;br /&gt;
     EXEHDR: load = HEADER, type = wprot;&lt;br /&gt;
     CODE: load = RAM, type = wprot, define = yes;&lt;br /&gt;
     RODATA: load = RAM, type = wprot;&lt;br /&gt;
     DATA: load = RAM, type = rw;&lt;br /&gt;
     BSS: load = RAM, type = bss, define = yes;&lt;br /&gt;
     ZEROPAGE: load = ZP, type = zp;&lt;br /&gt;
     AUTOSTRT: load = RAM, type = wprot;&lt;br /&gt;
 }&lt;br /&gt;
 FEATURES {&lt;br /&gt;
     CONDES: segment = RODATA,&lt;br /&gt;
             type = constructor,&lt;br /&gt;
             label = __CONSTRUCTOR_TABLE__,&lt;br /&gt;
             count = __CONSTRUCTOR_COUNT__;&lt;br /&gt;
     CONDES: segment = RODATA,&lt;br /&gt;
             type = destructor,&lt;br /&gt;
             label = __DESTRUCTOR_TABLE__,&lt;br /&gt;
             count = __DESTRUCTOR_COUNT__;&lt;br /&gt;
 }&lt;br /&gt;
 SYMBOLS {&lt;br /&gt;
     __STACKSIZE__ = $800;	# 2K stack&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Jednak jakiekolwiek zmiany w pliku &#039;&#039;&#039;*.CFG&#039;&#039;&#039; nie zostaną zauważone jeśli&lt;br /&gt;
będziemy kompilować używając komendy &#039;&#039;&#039;&amp;quot;-t atari&amp;quot;&#039;&#039;&#039;, trzeba ją zastąpić przez &#039;&#039;&#039;&amp;quot;-C atari.cfg&amp;quot;&#039;&#039;&#039;. Jeśli chcemy mieć też wpływ na typ CPU dla którego będzie generowany kod, lepiej jeśli rozbijemy proces generowania pliku wyjściowego na kompilację, asemblację i linkowanie, wtedy wszystko będzie pod kontrolą.&lt;br /&gt;
&lt;br /&gt;
    cc65 -O --cpu 6502 -t atari hello.c -o hello.s&lt;br /&gt;
    ca65 -t atari hello.s -o hello.o&lt;br /&gt;
    ld65 -C atari.cfg -o hello.xex atari.o hello.o atari.lib&lt;br /&gt;
&lt;br /&gt;
Kompilator &#039;&#039;&#039;cc65&#039;&#039;&#039; tworzy z pliku &#039;&#039;&#039;hello.c&#039;&#039;&#039; plik &#039;&#039;&#039;hello.s&#039;&#039;&#039;,&lt;br /&gt;
następnie makro assembler &#039;&#039;&#039;ca65&#039;&#039;&#039; z pliku &#039;&#039;&#039;hello.s&#039;&#039;&#039; tworzy &#039;&#039;&#039;hello.o&#039;&#039;&#039; i ostatecznie linker &#039;&#039;&#039;ld65&#039;&#039;&#039; z pliku &#039;&#039;&#039;hello.o&#039;&#039;&#039; i przy pomocy biblioteki &#039;&#039;&#039;atari.lib&#039;&#039;&#039; i &#039;&#039;&#039;atari.o&#039;&#039;&#039; oraz pliku konfiguracyjnego &#039;&#039;&#039;atari.cfg&#039;&#039;&#039; tworzy wykonywalny plik Atari &#039;&#039;&#039;hello.xex&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Jeśli chcemy aby kod programu był wykonywany na 65816, zmieniamy zapis&lt;br /&gt;
&#039;&#039;&#039;--cpu 6502&#039;&#039;&#039; na &#039;&#039;&#039;--cpu 65816&#039;&#039;&#039;. Czyż nie jest to cudownie proste :).&lt;br /&gt;
&lt;br /&gt;
== Przykład 2 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;Przykład 2:&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main (void)&lt;br /&gt;
 {&lt;br /&gt;
  char str1[30],str2[30];&lt;br /&gt;
  int i;&lt;br /&gt;
 &lt;br /&gt;
  puts(&amp;quot;wprowadz lancuch 1&amp;quot;),gets(str1);&lt;br /&gt;
  puts(&amp;quot;wprowadz lancuch 2&amp;quot;),gets(str2);&lt;br /&gt;
 &lt;br /&gt;
  for (i=0; str1[i]==str2[i]; i++)&lt;br /&gt;
  {&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  if (str1[i]==0)       // standard ansi, ciag znakow zakonczony zerem&lt;br /&gt;
  {&lt;br /&gt;
   puts(&amp;quot;oba lancuchy sa identyczne&amp;quot;);&lt;br /&gt;
   return 0;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
   puts(&amp;quot;lancuchy sa rozne&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Programik pyta się o dwa łańcuchy znaków, potem je porównuje i informuje czy łańcuchy są identyczne, czy też różne. Jest jeszcze biblioteczna funkcja C -&amp;gt; &amp;quot;strcmp&amp;quot; która porówna ciągi, ale przecież jej użycie byłoby zbyt proste :)&lt;br /&gt;
&lt;br /&gt;
== Przykład 3 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;Przykład 3:&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
 /* clock example: countdown */&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;time.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 void wait ( int seconds )&lt;br /&gt;
 {&lt;br /&gt;
   clock_t endwait;&lt;br /&gt;
   endwait = clock () + seconds * CLK_TCK ;&lt;br /&gt;
   while (clock() &amp;lt; endwait) {}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main ()&lt;br /&gt;
 {&lt;br /&gt;
   int n;&lt;br /&gt;
   printf (&amp;quot;Starting countdown...\n&amp;quot;);&lt;br /&gt;
   for (n=10; n&amp;gt;0; n--)&lt;br /&gt;
   {&lt;br /&gt;
     printf (&amp;quot;%d\n&amp;quot;,n);&lt;br /&gt;
     wait (1);&lt;br /&gt;
   }&lt;br /&gt;
   printf (&amp;quot;FIRE!!!\n&amp;quot;);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Programik zlicza od 10 do 0, wypisując stosowny komunikat na ekranie. Jest to też przykład wykonania opóźnienie z użyciem &amp;quot;time.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Uwagi ==&lt;br /&gt;
Nie ma jednak róży bez kolców. Wstawianie wstawek assemblerowych musi odbywać się poprzez pliki z rozszerzeniem *.s, bądź mało czytelne wywołanie ASM(&amp;quot;kod&amp;quot;). Przydzielana programowi pamięć w zasadzie mieści się w granicy $2000-$BFFF, troche mało jeśli ktoś myśli o większym projekcie. Problem z pamięcią miał też autor atarowskiej wersji systemu [[Contiki]], który posłużył się specjalnie okrojoną wersją DOS - PicoDos aby tylko wcisnąć więcej kodu poniżej adresu $2000.&lt;br /&gt;
&lt;br /&gt;
== CA65 ==&lt;br /&gt;
Asembler dodawany do pakietu CC65.&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
* [http://www.cc65.org Strona domowa CC65]&lt;br /&gt;
* [ftp://ftp.musoftware.de/pub/uz/cc65/ Serwer FTP projektu] &lt;br /&gt;
* [http://www.cc65.org/doc/ca65.html instrukcja użytkowania asemblera ca65]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Emulacja]]&lt;br /&gt;
[[Kategoria:Języki programowania]]&lt;/div&gt;</summary>
		<author><name>Polluks</name></author>
	</entry>
</feed>