<?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=Pirx</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=Pirx"/>
	<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php/Specjalna:Wk%C5%82ad/Pirx"/>
	<updated>2026-10-24T10:43:09Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=MicroPrint&amp;diff=32665</id>
		<title>MicroPrint</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=MicroPrint&amp;diff=32665"/>
		<updated>2012-11-15T14:43:10Z</updated>

		<summary type="html">&lt;p&gt;Pirx: /* Budowa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interfejs Centronics firmy [[Supra Corp.]] - urządzenie pozwalające podłączyć do małego Atari dowolną drukarkę z takim złączem. Co ciekawe, jako jeden z niewielu interfejsów nie potrzebuje dodatkowych sterowników - sam rozpoznaje tryb GRAFIKA/TEXT przełączając się odpowiednio (nie wymaga fizycznego przełączenia trybu pracy).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Grafika:Microprint.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Budowa ==&lt;br /&gt;
Układ zbudowany na płycie oznaczonej numerem &#039;&#039;&#039;30-0021-1&#039;&#039;&#039;, wyposażony w układ Intel SCN8049H. W odróżnieniu od interfejsu [[MPP1150]] nie podłączono 13 pinu z portu SIO.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Grafika:Mprpcb.gif]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zobacz też ==&lt;br /&gt;
[[MPP1150]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Peryferia 8-bit]]&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Karin_Maxi&amp;diff=26640</id>
		<title>Karin Maxi</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Karin_Maxi&amp;diff=26640"/>
		<updated>2009-01-31T09:52:47Z</updated>

		<summary type="html">&lt;p&gt;Pirx: wyglad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interfejs pozwalający na podłączenie do Atari [[XE]] dowolnego napędu dyskietek od PC. Połączenie pomiędzy stacją a komputerem jest równoległe ([[nowe urządzenia|nowe urządzenie]]), co pozwala na uzyskanie transferów powyżej 20 kB/s. Interfejs stworzony został w połowie lat 90 XX wieku przez firmę [[Karin]] (Mariusz Geisler).&lt;br /&gt;
&lt;br /&gt;
Istnieją dwie wersje tego interfejsu: zewnętrzna (wymagane jest posiadanie złącza expansion, czyli tylko Atari [[130XE]]/nowsze [[65XE]] lub Atari [[800XE]]) oraz wewnętrzna (interfejs wpina się w odpowiednie sygnały i nie jest wymagane powyższe złącze).&lt;br /&gt;
&lt;br /&gt;
Co do napędów: stosuje się raczej napędy 5,25&amp;quot; i 3,5&amp;quot; o pojemności 360 do 720 kB (na 3,5&amp;quot; napędzie 720k można &amp;quot;wycisnąć&amp;quot; do 980 kilobajtów pojemności dyskietki formatując ją dwustronnie po 24 256-bajtowe sektory na ścieżkę). Inne pojemności stacji wymagają przetaktowania kontrolera i może się zdarzyć, że nie będą obsługiwać dyskietek atarowskich sformatowanych na nieprzerobionych stacjach.&lt;br /&gt;
&lt;br /&gt;
Ciekawostką interfejsu jest obsługa pełnej pojemności boot-sektora (można zapisać 256 bajtów zamiast 128 jak w standardowych stacjach).&lt;br /&gt;
&lt;br /&gt;
== Technikalia ==&lt;br /&gt;
* Zastosowany zegar: 8 MHz&lt;br /&gt;
* Zastosowany kontroler: WD 1772&lt;br /&gt;
&lt;br /&gt;
== Sterowanie dodatkowe ==&lt;br /&gt;
Standardowo interfejs pozwala na ustawienie stacji jako D1 lub D2 za pomocą zworki oraz na podłączenie dwu napędów na raz.&lt;br /&gt;
Sztuczki:&lt;br /&gt;
* uruchomienie z wciśniętym klawiszem &amp;quot;SELECT&amp;quot; - zamienia stację z D1 na D2 bez ruszania zworek (przydatne w przypadku bootowania z innego napędu)&lt;br /&gt;
* przytrzymanie klawisza &amp;quot;Shift&amp;quot; podczas transmisji danych - chwilowe wstrzymanie transmisji i podejrzenie zawartości ekranu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Informacje użytkowe ==&lt;br /&gt;
Tak wygladała część kompletu sprzedawana przez producenta firme Karin. Dodatkowo, do kompletu dodawany był napęd dyskietek 5.25 lub 3.5 cala (zwykły napęd od PC).&lt;br /&gt;
&lt;br /&gt;
[[grafika:Karinmaxi1.jpg]]&lt;br /&gt;
[[Grafika:Karinmaxi2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Do interfejsu oprócz instrukcji dodawana była dyskietka z [[MyDOS|MyDOSem]], który był w dość obszerny sposób w niej opisany. &lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Peryferia 8-bit]]&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Btronic&amp;diff=26562</id>
		<title>Btronic</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Btronic&amp;diff=26562"/>
		<updated>2009-01-01T11:21:54Z</updated>

		<summary type="html">&lt;p&gt;Pirx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Paweł Bulkowski &amp;quot;Btronic&amp;quot; - rocznik &#039;72, przedstawiciel pierwszej fali pre-sceny. Członek grup [[Our 5oft]] oraz [[Bloody Coders]]. Dobry znajomy Holendrów z [[High Tech Team]]. Tworzył [[Cracktro|cracktra]], [[Demo|dema]] i gry. &lt;br /&gt;
Współuczestniczył w powstawaniu między innymi: [[Stop! Gamo]], dem [[Unity]] (1992), [[Intel Outside]] (1994) oraz gier [[Operation Blood]], [[Bank Bang]] i [[Special Forces]]. Obecnie wiceprezes banku Goldman Sachs.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Ludzie]]&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Chip8&amp;diff=25976</id>
		<title>Chip8</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Chip8&amp;diff=25976"/>
		<updated>2008-06-17T13:00:23Z</updated>

		<summary type="html">&lt;p&gt;Pirx: TO nie emulator BASICa, ale bytecode maszyny wirtualnej (brzmi poważniej, niż jest)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Grafr|Chip1.gif}}&lt;br /&gt;
Prosty emulator interpretera bytecode maszyn wirtualnych Chip8 i Super Chip8, napisany przez [[Pirx]]a. Właściwie od tego produktu zaczęła się dyskusja na temat emulatorów innych maszyn dla Atari [[XL]]/[[XE]]. Program obsługuje gierki, pisane dla maszyn, których nazwy znajdują się zaraz na początku artykułu, dodatkowo obsługę klawiatury zamieniono na obsługę joystickiem.&amp;lt;br&amp;gt;&lt;br /&gt;
Wyboru gry dokonuje się klawiszami kursora, gra się joystickiem, a wyjście do menu jest obsługiwane za pomocą klawisza Esc.&lt;br /&gt;
&lt;br /&gt;
Programik można pobrać [[Media:chip8.atr|stąd]].&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=CC65&amp;diff=25503</id>
		<title>CC65</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=CC65&amp;diff=25503"/>
		<updated>2008-04-07T21:48:25Z</updated>

		<summary type="html">&lt;p&gt;Pirx: /* Instalacja */&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ć trochę 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;
           wyświetli nam listę modułów wchodzących w skład biblioteki 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 narzę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 obiektowych 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>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=CC65&amp;diff=25502</id>
		<title>CC65</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=CC65&amp;diff=25502"/>
		<updated>2008-04-07T21:44:22Z</updated>

		<summary type="html">&lt;p&gt;Pirx: /* Składniki pakietu */&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;
           wyświetli nam listę modułów wchodzących w skład biblioteki 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 narzę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 obiektowych 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>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Pirx&amp;diff=21813</id>
		<title>Pirx</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Pirx&amp;diff=21813"/>
		<updated>2006-12-18T16:49:49Z</updated>

		<summary type="html">&lt;p&gt;Pirx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Paweł Kalinowski &amp;quot;Pirx&amp;quot; - rocznik &#039;73, przedstawiciel pierwszej fali pre-sceny. Członek grup [[Our 5oft]] oraz [[Bloody Coders]]. Dobry znajomy Holendrów z [[High Tech Team]]. Tworzył [[Cracktro|cracktra]], [[Demo|dema]] i gry. &lt;br /&gt;
Współuczestniczył w powstawaniu między innymi: [[Stop! Gamo]], dem [[Unity]] (1992), [[Intel Outside]] (1994) oraz gier [[Operation Blood]], [[Bank Bang]] i [[Special Forces]]. Były udziałowiec (zlikwidowanej) firmy [[Mirage|Mirage Interactive]], obecnie pracownik Gemius S.A.&lt;br /&gt;
&lt;br /&gt;
Jego ostatnia produkcja (2006-01-17) to emulator/interpreter Chip8 i SuperChip8.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Ludzie]]&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Pirx&amp;diff=21812</id>
		<title>Pirx</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Pirx&amp;diff=21812"/>
		<updated>2006-12-18T16:49:26Z</updated>

		<summary type="html">&lt;p&gt;Pirx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Paweł Kalinowski &amp;quot;Pirx&amp;quot; - rocznik &#039;73, przedstawiciel pierwszej fali pre-sceny. Członek grup [[Our 5oft]] oraz [[Bloody Coders]]. Dobry znajomy Holendrów z [[High Tech Team]]. Tworzył [[Cracktro|cracktra]], [[Demo|dema]] i gry. &lt;br /&gt;
Współuczestniczył w powstawaniu między innymi: [[Stop! Gamo]], dem [[Unity]] (1992), [[Intel Outside]] (1994) oraz gier [[Operation Blood]], [[Bank Bang]] i [[Special Forces]]. Były udziałowiec (zlikwidowanej) firmy [[Mirage|Mirage Interactive]], obecnie pracownik Gemius S.A.&lt;br /&gt;
&lt;br /&gt;
Jego ostatnia produkcja to emulator/interpreter Chip8 i SuperChip8.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Ludzie]]&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:Video_Interface&amp;diff=20345</id>
		<title>Dyskusja:Video Interface</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:Video_Interface&amp;diff=20345"/>
		<updated>2006-09-19T15:04:53Z</updated>

		<summary type="html">&lt;p&gt;Pirx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O ile pamiętam, to zdanie &amp;quot;Możliwość nakładania na sygnał wizyjny obrazów lub napisów generowanych przez komputer&amp;quot; nie jest prawdziwe - Video Interface to był tylko digitizer obrazu TV, nie miał funkcji genlocka.&lt;br /&gt;
&lt;br /&gt;
Hej! Jak najbardziej VIF miał możliwość nakładania swojego obrazu na obraz TV. Można było nałożyć sobie dowolny obrazek w 15 odcieniach na wejściowy sygnał video... ZTCP to przy wartości 0x00, mieliśmy przeźroczystość :) czyli 1-bitowy alpha channel :) --[[Użytkownik:Seban|Seban/SLIGHT]] 15:51, 19 wrz 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Czyli mial wejscie i wyjscie video? Moze to byl jakis prototyp?&lt;br /&gt;
&lt;br /&gt;
Tam byl SCART czy chinche? Bo ja pamietam (jak przez mgle) tylko kabelek SIO. Przydalyby sie zdjecia.&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:Video_Interface&amp;diff=20339</id>
		<title>Dyskusja:Video Interface</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:Video_Interface&amp;diff=20339"/>
		<updated>2006-09-19T07:07:28Z</updated>

		<summary type="html">&lt;p&gt;Pirx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O ile pamiętam, to zdanie &amp;quot;Możliwość nakładania na sygnał wizyjny obrazów lub napisów generowanych przez komputer&amp;quot; nie jest prawdziwe - Video Interface to był tylko digitizer obrazu TV, nie miał funkcji genlocka.&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Jakub_Husak&amp;diff=9945</id>
		<title>Jakub Husak</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Jakub_Husak&amp;diff=9945"/>
		<updated>2006-02-22T21:16:13Z</updated>

		<summary type="html">&lt;p&gt;Pirx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jeden z pierwszych w Polsce profesjonalnych muzyków na małym Atari, tworzył niezapomniane utwory w Basicu, Action!, assemblerze, SoftSynth (Wodospadem Czasu, Wśród Gwiazd Nadziei). Jego utwory znalazły się w pierwszych Polskich komercyjnych produkcjach (Warsaw Tetris, BattleShips, Inside). Oprócz muzyki tworzył też dema (Garfield), gry (Super Fortuna, Problem Jasia). Autor oryginalnego systemu odczytu taśmy w normalu używanego w Mirage Software (umożliwiał cofnięcie taśmy i ponowną próbę odczytu w przypadku wystąpienia błędu). Rezydent giełdy na Grzybowskiej. Obecnie żonaty, jedno dziecko płci męskiej, pracuje w firmie AdOcean.&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Pirx&amp;diff=9944</id>
		<title>Pirx</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Pirx&amp;diff=9944"/>
		<updated>2006-02-22T21:08:24Z</updated>

		<summary type="html">&lt;p&gt;Pirx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Paweł Kalinowski (&#039;&#039;&#039;Pirx&#039;&#039;&#039;) - rocznik &#039;73, przedstawiciel pierwszej fali pre-sceny. Członek grup [[Our 5oft]] oraz [[Bloody Coders]]. Dobry znajomy Holendrów z [[High_Tech_Team]]. Tworzył [[Cracktro|cracktra]], [[Demo|dema]] i gry. :)&lt;br /&gt;
Współuczestniczył w powstawaniu między innymi: &#039;&#039;[[Stop! Gamo]]&#039;&#039;, &#039;&#039;[[Unity demo]]&#039;&#039;(1992), &#039;&#039;[[Intel Outside]]&#039;&#039; (1994) oraz gier &#039;&#039;[[Operation Blood]]&#039;&#039;, &#039;&#039;[[Bank Bang!]]&#039;&#039; i &#039;&#039;[[Special Forces]]&#039;&#039;. Obecnie udziałowiec (upadającego) [[Mirage|Mirage Interactive]] i pracownik Gemius S.A.&lt;br /&gt;
Jego ostatnia produkcja to emulator/interpreter Chip8 i SuperChip8.&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Ludzie]]&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Our_5oft&amp;diff=1816</id>
		<title>Our 5oft</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Our_5oft&amp;diff=1816"/>
		<updated>2005-03-22T08:17:23Z</updated>

		<summary type="html">&lt;p&gt;Pirx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Our 5oft założyli Btronic, [[Pirx]] i Blue Tom około roku 1988 w Pułtusku. Grupa istniała w czasach proto-sceny. Cos znaczące prodki grupy to (w kolejności mniej więcej chronologicznej):&lt;br /&gt;
Pewex demo (okazuje się, że Our 5oft był prekursorem emarketingu w Polsce:)&lt;br /&gt;
Kasprzak demo&lt;br /&gt;
Equation of Time&lt;br /&gt;
Stop! gamo&lt;br /&gt;
Halleproject demo (jedna część)&lt;br /&gt;
OMC65 crossassembler&lt;br /&gt;
Intel Outside&lt;br /&gt;
&lt;br /&gt;
Gry:&lt;br /&gt;
Operation Blood&lt;br /&gt;
Bank Bang!&lt;br /&gt;
Special Forces&lt;br /&gt;
&lt;br /&gt;
Grupa nie istnieje, choć [[Pirx]] i Btronic interesują się życiem sceny.&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Pecu%C5%9B&amp;diff=2609</id>
		<title>Pecuś</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Pecu%C5%9B&amp;diff=2609"/>
		<updated>2005-03-22T08:04:18Z</updated>

		<summary type="html">&lt;p&gt;Pirx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Człowiek, który postanowił udowodnić, że 8-bitowe komputerki mogą odgrywać mody (pliki muzyczne w formacie .MOD). Twórca pierwszego playera modułów na małe atari.&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Pirx&amp;diff=2876</id>
		<title>Pirx</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Pirx&amp;diff=2876"/>
		<updated>2005-03-22T08:00:18Z</updated>

		<summary type="html">&lt;p&gt;Pirx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rocznik &#039;73, przedstawiciel pierwszej fali pre-sceny. Członek grup Our 5oft oraz Bloody Coders. Współuczestniczył w powstawaniu m.innymi Stop! Gamo, Halleproject demo (1992), Intel Inside (1994) oraz gier Operation Blood, Bank Bang!, Special Forces. Obecnie pracownik i udziałowiec Mirage Interactive.&lt;/div&gt;</summary>
		<author><name>Pirx</name></author>
	</entry>
</feed>