atarionline.pl
atarionline.pl Atari
Login:
Hasło:
Zapamiętaj mnie
Translate to RSS RSS
Zapowiedź konkursu ABBUC 2017 i nowej gry Gorgha z 2017-07-18 00:18 (9)
Tre Robbo 51 z 2017-07-16 12:06 (4)
Yerzmyey i Pinokio na WAP-niaku 2017 z 2017-07-12 19:57 (6)
Sommarhack 2017 - wyniki z 2017-07-09 23:06 (14)
Twórczość Yerza na BandCamp z 2017-07-07 18:17 (12)
Silly Venture 2k17 – oficjalna strona i pierwsza invitka! z 2017-07-04 22:52 (12)
Reedycje książkowe Retronics – aktualne wieści z 2017-07-01 19:16 (0)
Ironia 2k17 już wkrótce! z 2017-06-27 19:48 (12)
Vladimir Zúñiga – ilustracje inspirowane Atari z 2017-06-24 20:54 (27)
Gry w Mad-Pascalu z 2017-06-20 22:48 (23)
Rain of Terror – edycja kolekcjonerska z 2017-06-16 22:46 (3)
Bad Apple na małe Atari – kolejne wersje z 2017-06-11 23:21 (26)
Magazyn FLOP nr 60 z 2017-06-07 23:47 (14)
Outline 2017 z 2017-05-30 17:47 (13)
Pixel Heaven 2017 i nowy numer Top Secret! z 2017-05-26 04:07 (31)
Pixel Heaven 2017 i komputery złotej ery z 2017-05-25 00:32 (22)
Gotowy Gunfright i zapowiedź Skool Daze! z 2017-05-21 21:26 (23)
Noc Muzeów 2017 z 2017-05-19 14:44 (2)
Nowy RECOIL v4.0.0 z 2017-05-17 21:35 (5)
WAP-niak 2017 – wyniki i prace z 2017-05-14 17:27 (65)
«« nowszestarsze »»

Pomocnik/Helper
Gry/Games

Katalog gier

Opisy gier
Frogs opisał Xeen (0)
Choplifter! opisał Urborg (0)
Joust opisał Urborg (16)
Commando opisał Urborg (35)
Mario Bros opisał Urborg (13)
Xenophobe opisał Urborg (34)
Robbo Forever opisał tbxx (16)
Kolony 2106 opisał tbxx (0)
Archon II: Adept opisał Urborg/TDC (9)
Spitfire Ace/Hellcat Ace opisał Farscape (7)
Wyspa opisał Kaz (9)
Archon opisał Urborg/TDC (16)
The Last Starfighter opisał TDC (30)
Dwie Wieże opisał Muffy (17)
Basil The Great Mouse Detective opisał Charlie Cherry (121)
Inny Świat opisał Charlie Cherry (17)
Inspektor opisał Charlie Cherry (19)
Grand Prix Simulator opisał Charlie Cherry (16)
Rescue On Fractalus opisał Kaz (18)
Stranded opisał Kaz (10)
«« nowszestarsze »»

Użytki/Utils
Wewnętrzne/Internals



   Nowinki tworzone dzięki CuteNews
DarkMouse
Trochę trwało, zanim Dariusz "DarkDK" Kubasz doprowadził do szczęśliwego finału swój flagowy projekt - podpięcia pecetowej myszki do Atari. Interfejs, który swoją ostateczną formę oraz nazwę DarkMouse otrzymał wczoraj, zaczął na serio budować w 2006 roku. Niniejszy tekst powstał na podstawie dokumentacji autorstwa DarkDK.

1. DarkMouse

Interfejs umożliwia podłączenie myszki standardu PS/2 do 8-bitowego Atari. Zbudowany jest w oparciu o mikrokontroler PIC16F628 i kilka elementów dyskretnych. Został zaprojektowany jako zewnętrzny, bez potrzeby dokonywania przeróbek w samym Atari. Z tego powodu procedury obsługujące transmisję pomiędzy Atari a PIC są w moim odczuciu dosyć wolne, lecz zdecydowanie szybsze i wygodniejsze w użyciu niż procedury obsługujące myszy od Atari ST i Amigi. Pierwotnie interfejs miał wykorzystywać dwa porty joysticków w celu uproszczenia i przyśpieszenia transmisji. Ostatecznie interfejs wykorzystuje tylko jeden port (dowolny, według uznania programisty). Nic nie stoi na przeszkodzie aby podłączyć dwa interfejsy i dwie myszki PS/2 do Atari.

tak wygląda pierwszy egzemplarz DarkMouse


2. Co w pakiecie?

Obecna edycja interfejsu, schematu i oprogramowania oznakowana jest liczbą 0.5. Paczka podesłana przez Darka zawiera dokumentację i schemat podłączenia myszy PC do małego Atari:
  • pcmouse2atari_ver05.hex - plik do zaprogramowania PIC16F628
  • pcmouse2atari.asm - źródła procedur w formacie MADS
  • pcmouse2atari_schemat.png - schemat interfejsu
  • pcmouse2atari.doc - dokumentacja w formacie MS Word
  • lepix-src-0.2.0_pcmouse - katalog ze źródłami i plikem xex programu graficznego LePix 0.2.0, w wersji obsługującego myszkę PC
  • readme.txt - plik tekstowy ze spisem plików


3. Obsługa interfejsu

Interfejs uruchamia się w trybie PCMOUSE. Aby przejść do trybu emulacji joysticka należy przycisnąć klawisz w interfejsie i wcisnąć lewy przycisk myszy, po czym zwolnić przycisk w interfejsie. Aby powrócić do trybu PCMOUSE należy zrobić jeszcze raz to samo. Aby zmienić rozdzielczość (szybkość działania myszki) należy przycisnąć klawisz w interfejsie, kółkiem wybrać rozdzielczość i zwolnić klawisz.


4. Zasada działania interfejsu

Ogólny schemat działania:
  • krok 1: inicjacja interfejsu
  • krok 2: rozpoznanie urządzenia PS/2 - wykonuje się dopóki nie nastąpi poprawne rozpoznanie urządzenia
  • krok 3: odczyt raportu (stany liczników, przycisków, itd.) urządzenia PS/2
  • krok 4: obliczenia związane z implementacją wewnętrznych liczników
  • krok 5: oczekiwanie na rozkaz pochodzący od Atari
  • krok 6: wykonanie rozkazu
  • krok 7: skok do kroku 3
Nie wszystkie rozkazy działają według powyższego schematu. Szczegóły podane są poniżej, przy opisach konkretnych rozkazów. Gotowość do realizacji rozkazów sygnalizowana jest odpowiednim ustawieniem bitów w PORTA Atari.

komplet: Atari, interfejs i myszka PC


5. Rozkazy interfejsu

Rozkazy dla interfejsu można podzielić na cztery grupy:
  • A. Rozkazy odczytu zaimplementowanych liczników
  • B. Rozkazy obsługujące przesyłanie danych w trybie RAW
  • C. Rozkazy ustawiające rozdzielczość liczników urządzeń wskazujących PS/2
  • D. Pozostałe rozkazy (odczyt wersji firmware, identyfikacja interfejsu, testujące transmisję między interfejsem a Atari)
Numeracja odczytywanych bajtów zaczyna się od 0 (zera).

A. Rozkazy odczytu zaimplementowanych liczników

Schemat działania rozkazów posiadających w nazwie człon "_nwoc_":
  • krok 3: odczyt raportu (stany liczników, przycisków, itd.) urządzenia PS/2
  • krok 4: obliczenia związane z implementacją wewnętrznych liczników
  • krok 5: oczekiwanie na rozkaz pochodzący od Atari
  • krok 6: wykonanie rozkazu
  • krok 7: skok do kroku 3
Schemat działania rozkazów posiadających w nazwie człon "_woc_":
  • krok 3: odczyt raportu (stany liczników, przycisków, itd.) urządzenia PS/2
  • krok 4: sprawdzenie, czy wystąpiły zmiany od ostatniego raportu. Jeżeli nie, to skok do kroku 3
  • krok 5: obliczenia związane z implementacją wewnętrznych liczników
  • krok 6: oczekiwanie na rozkaz pochodzący od Atari
  • krok 7: wykonanie rozkazu
  • krok 8: skok do kroku 3
W nazwach rozkazów człony "_1B", "_2B", "_3B", "_4B", "_6B" oznaczają ilość odbieranych bajtów (1, 2, 3, 4 albo 6 ). Wartości względne liczone są od ostatniego odczytanego raportu.

; cmd_count_228_nwoc_2B, 0x20
; cmd_count_228_woc_2B, 0x22

Odczyt liczników pozycji (wartości bezwzględne):
Bajt 0: pozycja X, zakres: 0 do 228
Bajt 1: pozycja Y, zakres: 0 do 228

; cmd_count_8bit_nwoc_2B, 0x24
; cmd_count_8bit_woc_2B, 0x26

Odczyt 8-bitowych liczników pozycji (wartości względne):
Bajt 0: pozycja X, zakres: -128 do 127 w kodzie U2
Bajt 1: pozycja Y, zakres: -128 do 127 w kodzie U2

; cmd_count_8bit_nwoc_3B 0x28
; cmd_count_8bit_woc_3B 0x2A

Odczyt 8-bitowych liczników pozycji oraz scroll’i (wartości względne):
Bajt 0: pozycja X, zakres: -128 do 127 w kodzie U2
Bajt 1: pozycja Y, zakres: -128 do 127 w kodzie U2
Bajt 2: pozycja kółek (scroll), zakres: -8 do 7 w kodzie U2
(UWAGA! Jeżeli myszka posiada dwa kółka to: kółko wertykalne powoduje zmiany licznika o wartość 1, kółko horyzontalne powoduje zmianę licznika o 2. Nie jest możliwe jednocześnie odczytanie liczników obydwóch kółek. Jeżeli w tym samym czasie zmieniły się liczniki dwóch kółek to myszka wysyła dwa osobne raporty)

; cmd_count_9bit_nwoc_4B 0x2C
; cmd_count_9bit_woc_4B 0x2E

Odczyt 9-bitowych liczników pozycji, stanów przycisków oraz scrolli (wartości względne):
Bajt 0: i bit 6 (znak) w 3 bajcie - pozycja X, zakres: -256 do 255 w kodzie U2
Bajt 1: i bit 7 (znak) w 3 bajcie - pozycja Y, zakres: -256 do 255 w kodzie U2
Bajt 2: pozycja kółek (scroll), zakres: -8 do 7 w kodzie U2
(UWAGA! Patrz opis rozkazu cmd_count_8bit_woc_3B)
Bajt 3: stany przycisków ( 1 - wciśnięty):
Bit 0: przycisk lewy
Bit 1: przycisk prawy
Bit 2: przycisk środkowy
Bit 3: przycisk czwarty
Bit 4: przycisk piąty
Bit 5: nieużywany
Bit 6: 9 bit pozycji X
Bit 7: 9 bit pozycji Y


B. Rozkazy obsługujące przesyłanie danych w trybie RAW

Rozkazy te mają umożliwić obsługę myszek, tabletów niezgodnych ze standardem Microsoft Intellimouse. W tej wersji firmware (0.5) nie jest możliwa obsługa innego standardu niż Microsoft Intellimouse. Urządzenia PS/2 po resecie (włączeniu zasilania) identyfikowane są jako mysz o identyfikatorze id = 0x00. Właściwość ta jest cechą wszystkich urządzeń wskazujących, działających w oparciu o protokół PS/2. Do zadań systemu operacyjnego (np. "Windows") należy przesłanie sekwencji rozkazów przełączających urządzenie w odpowiedni tryb. Firmware interfejsu również generuje odpowiednią sekwencję rozkazów w celu wykrycia rodzaju urządzenia. W pamięci są zapisane sekwencje dla urządzeń o id=0x03 lub 0x04.

; cmd_get_raw_nwoc_3B 0x42

Odczyt raportu RAW 3 bajty. Znaczenie poszczególnych bajtów zależy od urządzenia PS/2

; cmd_get_raw_nwoc_4B 0x44

Odczyt raportu RAW 4 bajty.

; cmd_get_raw_nwoc_6B 0x48

Odczyt raportu RAW 6 bajtów.

Schemat działania rozkazów odczytujących identyfikator, status urządzenia, ustawiające rozdzielczość i testujących:
  • krok 3: odczyt raportu (stany liczników, przycisków, itd.) urządzenia PS/2
  • krok 4: obliczenia związane z implementacją wewnętrznych liczników
  • krok 5: oczekiwanie na rozkaz pochodzący od Atari
  • krok 6: wykonanie rozkazu
  • krok 7: skok do kroku 5


; cmd_get_id_device_1B 0x80

Odczyt id urządzenia PS/2.
Bajt 0: id urządzenia:
0x00 – zwykła mysz dwu (lub trzy?) przyciskowa
0x03 – mysz trzy przyciskowa plus kółko/a
0x04 – mysz pięcio przyciskowa plus kółko/a

; cmd_get_raw_lenght_1B 0x40

Odczyt długości raportu urządzenia PS/2
Bajt 0: długość raportu RAW w bajtach
Odczytana wartość bajtu wskazuje jaki rozkaz należy użyć do odczytu raportu RAW:
3 - cmd_get_raw_nwoc_3B,
4 - cmd_get_raw_nwoc_4B,
6 - cmd_get_raw_nwoc_6B.

; cmd_get_status_request_3B 0x82

Odczyt statusu urządzenia PS/2.
Bajt 0:
Bit 0: przycisk prawy, 1 - wciśnięty
Bit 1: przycisk środkowy, 1 - wciśnięty
Bit 2: przycisk lewy, 1 - wciśnięty
Bit 3: zawsze 0
Bit 4: Scaling, 1 – skalowanie 2:1, 0 – skalowanie 1:1
Bit 5: Enable, 1 – nadawanie raportów włączone, 0 - nadawanie raportów wyłączone
Bit 6: Mode, 1 – Remote mode, 0 – Stream mode. Opisywane firmware obsługuje tylko remote mode.
Bit 7: zawsze 0.

Bajt 1: rozdzielczość
Odczytana wartość wskazuje rozdzielczość w jakiej pracuje urządzenie wskazujące:
0x00 – 1 impuls/mm
0x01 – 2 impulsy/mm
0x02 – 4 impulsy/mm
0x03 – 8 impulsów/mm

Bajt 2: ilość raportów na sekundę. W tej wersji firmware nie ma znaczenia. Odczytana wartość może wynosić 10, 20, 40, 60, 80, 100 i 200 raportów na sekundę.

DarkMouse działa!


C. Rozkazy ustawiające rozdzielczość pracy urządzeń PS/2


; cmd_set_resolution1_1B 0x60

Ustawienie rozdzielczości urządzenia PS/2 – 1 impuls/mm:
Bajt 0: Wartość ACK - $FA – nie znaczący, ale trzeba odebrać.

; cmd_set_resolution2_1B 0x62

Ustawienie rozdzielczości urządzenia PS/2 – 2 impulsy/mm:
Bajt 0: Wartość ACK - $FA – nie znaczący

; cmd_set_resolution4_1B 0x64

Ustawienie rozdzielczości urządzenia PS/2 – 4 impulsy/mm – wartość domyślna (po resecie):
Bajt 0: Wartość ACK - $FA – nie znaczący

; cmd_set_resolution8_1B 0x66

Ustawienie rozdzielczości urządzenia PS/2 – 8 impulsów/mm:
Bajt 0: Wartość ACK - $FA – nie znaczący


D. Pozostałe rozkazy (odczyt wersji firmware, testujące)


; cmd_firmware_version_1B 0x84

Odczyt wersji firmware:
Bajt 0: Oznaczenie wersji firmware w kodzie BCD – obecna wartość to 0x05 (wersja 0.5)

; cmd_test_00_55_AA_3B 0x86

Rozkaz testujący transmisję pomiędzy PIC’iem a Atari. Może być wykorzystany do identyfikacji interfejsu.
Bajt 0: 0x00
Bajt 1: 0x55
Bajt 2: 0xAA

; cmd_switch_test_6B 0x00
; cmd_test_6B dowolny kod oprócz 0x00

Rozkazy testujące transmisję pomiędzy PIC a Atari. Rozkaz "cmd_switch_test_6B" powoduje potraktowanie następnego rozkazu jako "cmd_test_6B". Po wykonaniu "cmd_test_6B" następny rozkaz jest wykonywany zgodnie z jego opisem. Aby przetestować poprawność transmisji należy na przemian generować obydwa rozkazy, na przykład 0x00, 0x02, 0x00, 0x04, 0x00, 0x06, itd.
Bajty 0-3: po wykonaniu "cmd_test_6B" wartość każdego bajtu zwiększana jest o 1, "cmd_switch_test_6B" nie zmienia wartości bajtów
Bajt 4: suma kontrolna liczona jako suma bajtów 0-3 bez uwzględnienia przeniesień
Bajt 5: kod rozkazu wykonywanego przez PIC powiększony o 1
Podczas wykonywania rozkazów testujących rejestry TRIG0 lub TRIG1 w Atari nie wskazują stanu lewego przycisku urządzenia PS/2.


6. Odczyt stanu przycisków

Interfejs DarkMouse umożliwia również odczyt stanów trzech przycisków myszy bezpośrednio z rejestrów sprzętowych Atari:
  • lewy przycisk - TRIGx
  • prawy przycisk – PADDLx
  • środkowy przycisk – PADDLx

Ze względu na sposób działania interfejsu nie jest możliwe odczytanie stanu lewego przycisku z rejestru TRIGx podczas przesyłu danych z interfejsu. Ponadto, aby poprawnie działał odczyt stanów przycisków, musi zachodzić komunikacja między interfejsem a Atari. W źródłach procedur komunikacyjnych zostało opisane w którym miejscu najlepiej zrealizować odczyt stanów przycisków.


7. Procedury obsługujące urządzenia PS2

Źródła znajdują się w pliku pcmouse2atari.asm w formacie MADS. Zawierają dwie główne procedury. Pierwsza – "init", odpowiedzialna za przygotowanie PORTA do transmisji. Druga – "exe_cmd_mouse" odpowiedzialna za przebieg transmisji. Można ją wywołać w przerwaniu VBL lub w głównej pętli programu. W źródłach programu "Lepix" występuje pod nazwą update.

Procedura "exe_cmd_mouse" obsługuje interfejs podłączony do dowolnego portu joysticków. Do wolnego portu można podłączyć joystick, a jego obsługa programowa nie zmienia się. Po małej modyfikacji możliwa jest obsługa dwóch interfejsów (np. dwie myszki) na raz. Procedura "exe_cmd_mouse" jest napisana tak, aby przerwania nie miały wpływu na wynik jej działania. Jedynym ograniczeniem jest maksymalny czas w jakim musi zakończyć działanie procedura komunikacji z interfejsem. Czas ten wynosi około 15 ms. Czas jest liczony od wysłania komendy do odbioru ostatniego bajtu danych. Przekroczenie tego czasu powoduje reset interfejsu.

init

wej: nie ma
wyj: ustawiony port A do transmisji
Inicjuje port A do transmisji, wywołać raz na początku programu. Wywołanie:

jsr MOUSE.init
exe_cmd_mouse

wej: cmd - kod komendy
cmd_c - długość odczytywego raportu (w bajtach)
wyj: A=0 - nie wykonano, A=1 wykonano, w buffer znajdują się odczytane bajty
procedura wykonująca komendy PIC
(UWAGA! Komendy muszą być postaci xxx0xxx0 tzn 0 i 4 bit równe zero). Wywołanie można umieścić w przerwaniu VBL lub w głównej pętli programu:

mva #kod_komendy MOUSE.cmd
mva #ilość_odbieranych_bajtów MOUSE.cmd_c
jsr MOUSE.exe_cmd_mouse



8. DarkMouse działa z LePixem

Rewelacyjny program graficzny Lepix autorstwa Marcin "Eru" Żurawskiego został wyposażony przez Darka w procedury obsługi DarkMouse, dzięki czemu praca nad grafiką stanie się jeszcze łatwiejsza. Po zeszłorocznych zmianach w programie dokonanych przez Eru oraz dzięki współpracy z myszką pecetową, LePix może stać się czarnym koniem wśród programów graficznych - jako jedyny pozwala rysować w szerokiej palecie trybów z interlacem (właściwie brakuje tylko RIP-a i trybów hi-res):

  • TIP (rozdzielczość 160x100 i 256 kolorów, mieszanka trzech trybów - GR.9, GR.10 i GR.11)
  • CIN (rozdzielczość 160x200 i 64 kolory, mieszanka dwóch trybów - GR. 15 i GR.11)
  • HIP (rozdzielczość 160x200 i 31 odcieni - w Lepix da się edytować 16, mieszanka dwóch trybów - GR.9 i GR.10)
  • INP (rozdzielczość 160x200 i 7 kolorów, mieszanka dwóch ekranów w trybie GR.15)


Lepix i tryb TIP


Ponieważ ostatnio ukazał się TipConv autorstwa Adriana "Epi" Matogi, mamy już prawie komplet dobrych narzędzi do sprawnego konwertowania i rysowania obrazków z interlacem. Oczywiście czekamy na kolejne programy, które będą rozpoznawały nie tylko myszkę od Atari ST czy Amigi, ale również pecetowską. Ciekawe, kto pierwszy napisze grę z obsługą DarkMouse?

Dokumentacja, pliki, schemat są tutaj.

-------
Update z 30 czerwca 2008 roku: Darek podesłał uzupełnienie do 7-go punktu dokumentacji. Poprawiony tekst powyżej.

"

2008-06-28 17:56 by Kaz
komentarzy: 7
xxl @2008-06-29 21:37:28
r e w e l a c j a. nareszcie myszka dla atari :-)
sikor @2008-06-29 22:54:38
No ładne cacko... Gratulacje!!!
larek @2008-06-29 23:37:21
O, kurcze pieczone. To mi się podoba! Mam nadzieję, że wykorzystanie myszki nie będzie trudne od strony programowej. Na razie i tak z tego nic nie kumam, ale mam nadzieję, że to kwestia czasu ;) Brawo!
pajero @2008-06-30 00:04:39
To teraz wiem, o jakim zakończonym projekcie wspominałeś. Świetna rzecz!
tebe @2008-06-30 01:51:27
no ładne cacko :) a jak wygląda sprawa obciążenia CPU?
darkdk @2008-06-30 09:29:34
Napewno mniejsze niż przy obsłudze myszek amigi czy st. Procedurę transmisji można wywołać w przerwaniu VBL lub w głównej pętli programu (tak jest w lepixie). Można wywoływać 50 razy na sekundę lub tyle na ile pozwala myszka. Można ograniczyć się np. do 40 albo 20 wywołań na sekundę. Interfejs sygnalizuje kiedy można odebrać dane. Czyli jeżeli nie ruszamy myszki to wykonywanych jest tylko klika rozkazów testujących. Jeżeli ruszyliśmy myszką to zaczyna się transmisja.
Jar-eck @2010-03-21 20:23:25
nickname
e-mail / website (opcjonalnie)
Aktualne tematy
Gry ukończone bez cheatowania (32)
ostatni: 23-07-2017 12:53, charliecherry
Nowa konsola Atari? (25)
ostatni: 23-07-2017 12:02, TheFender
1200xl (14)
ostatni: 22-07-2017 20:20, xxl
colleen sio (17)
ostatni: 20-07-2017 16:38, atariki50
Reedycje gier (5)
ostatni: 20-07-2017 15:57, atariki50
Ironia 2k17 (31)
ostatni: 19-07-2017 16:11, mgr_inz_rafal
Ataribox - informacje zebrane. (4)
ostatni: 19-07-2017 13:02, atariki50
Nowa gra od gorgha (76)
ostatni: 18-07-2017 22:15, gorgh
15 kHz (260)
ostatni: 16-07-2017 12:58, miker
rozszerzenie: Antonia (10)
ostatni: 15-07-2017 19:48, xxl
Ciekawostki (3962)
ostatni: 15-07-2017 18:40, odyniec1
Looking for a game (6)
ostatni: 15-07-2017 17:35, Enjo
Bosconian (255)
ostatni: 14-07-2017 22:16, bob_er
Laura - wydanie II (54)
ostatni: 14-07-2017 21:34, PROTON
Sztab 15.07 - Warszawa, Rama (1)
ostatni: 14-07-2017 20:48, Adam

Kategorie Forum Atarum

Użytkowników: 1702
Ostatnio zarejestrowany: protas
Postów ostatniej doby: 5

Społeczność/Community

Najbliższe imprezy
Ironia 2k17 od 11 do 13 sierpnia 2017 roku zapraszamy do Wysokiej w pobliżu Góry Swiętej Anny

Sprzęt/Hardware

Wynalazki
Atari i Bluetooth napisał Kaz (17)
SIO2PC-USB napisał Larek (44)
Nowe SIO2SD napisał Larek (0)
SIO2SD w CA12 napisał Urborg (9)
Ratowanie ATMEL-ów napisał Yoohaas (12)
Projektowanie cartów napisał Zenon (12)
Joystick do Atari napisał Larek (54)
Tygrys Turbo napisał Kaz (7)
Testowałem "Simple Stereo" napisał Zaxon (3)
Rozszerzenie 1MB napisał Asal (20)
Joystick trzyprzyciskowy napisał Sikor (18)
Moje MyIDE oraz SIO2PC na USB napisał Zaxon (16)
Jak wykonać płytkę drukowaną? napisał Zaxon (26)
Rozszerzenie 576kB napisał Asal (13)
Soczyste kolory napisał scalak (28)
XEGS Box napisał Zaxon (13)
Atari w różnych rolach napisał (8)
SIO2IDE w pudełku napisał Kaz (5)
Atari steruje tokarką napisał Kaz (14)
DarkMouse napisał Kaz (7)
«« nowszestarsze »»