1

Tak sobie wymyśliłem - zapewne nie ja pierwszy :P - interfejs, który umożliwia podłączenie do portu joya w atarce, myszki standardu PS/2. Układ ten przetwarza dane zgodne z protokołem PS/2 generowane przez myszkę na odpowiednie stany na wejściu joya. Komputer odbiera to jak normalne ruchy joysticka.
To tyle pomysł :D.
Teraz pytanie: Czy zrobienie takiego układu jest możliwe? Jaki byłby poziom trudności zbudowania takiego interfejsu i ewentualna, przybliżona cena.

Nie wiem jak bardzo skomplikowany jest taki interfejs do Amigi. Ale skoro może on przetwarzać sygnał PS/2 na kod generowny przez myszkę Amigi, to może nie jest to takie trudne i można zrobić coś podobnego do Atari.
Znalazłem też stronkę o PS/2. Dla mnie to wszystko czarna magia... :(

Może jacyś geniusze w elektronice się wypowiedzą, co o tym myśleć.
Poza tym - skoro jest coś takiego jak AKI, to może da się zrobić... AMI?

Z góry przepraszam, jeśli moje pytanie może dla niektórych wydawać się trochę głupie, ale zawsze mnie to ciekawiło.

2

ftp://ftp.pigwa.net/stuff/collections/a … 20Adapter/ ?
ftp://ftp.pigwa.net/stuff/collections/a … T%20mouse/ ?

"wszystko się kiedyś kończy......."

3 Ostatnio edytowany przez larek (2006-11-18 00:01:50)

Wiedziałem, że nie jestem pierwszy :)
Dzięki Stryker!

Czy ma to ktoś? Te scalaki, to jakieś "normalne" układy, czy programowalne i należy mieć programator?

O ile się nie mylę, to jest to interfejs myszki PC do Atari ST. A jest coś takiego, żeby - tak jak pisałem - dawało na wyjściu informację, którą Atari XL/XE będzie interpretował jakby to był zwykły joy?
Skoro jest taki interfejs do ST, to może da się zrobić żeby XL/XE widział myszkę od PC jako zwykłego joya?
A może jednak za dużo wymagam :P...

4

Max to scalaczek za okolo 2-3zl w sklepie elektronicznym, droższy będzie PIC kiedyś płaciłem za nie po 13-16zł w czasach świetności tzw. zielonek do C+( i ten jest programowalny).

Ci, którzy przemawiają w imieniu Boga powinni pokazać listy uwierzytelniające. J. Tuwim

5

Interfejs, którego schemat podał stryker konwerteruje sygnały PS2 na postać zjadliwą dla Atari ST. Zamieniając pewne sygnały miejscami otrzymamy podłączenie myszki dla Amigi.
Powinien działać także dla Atari 8bit w tych gierkach/programach które obsługują myszki dla ST i Amigi.

Od pewnego czasu pracuję nad podłączeniem myszki PS2 do atari ale na trochę innej zasadzie. Kosz całego urządzenia nie powinien przekroczyć 20 zł. Interfejs już działa. Mogę odczytać liczniki wewnętrzne myszki prostą i krótką czasowo procedurką. Odczyt można zrealizować na przerwaniach bądź w głównej pętli programu. Całość zrealizowałem na PICu + rezonator, parę oporników, parę kondensatorów, wtyki do dżojstika i gniazdo ps2.

Problemem nie jest zrobienie interfejsu (znam kilka, różnych rozwiązań), ale odpowiednie wsparcie ze strony
programistów tzn.  przerobienie gierek, programów aby współdziałały z tymi interfejsami. Jak wiadomo Atari potrafi odczytywać sygnały z myszek St/Amigi, ale jest to trochę czasochłonne. Ja proponuję prosty interfejs, z szybką procedurą odczytu licznikiów.
Jeśli ktoś miałby ochotę dorobić obsługę myszki PC do programów obsługujących myszki od Amigi/St to zapraszam do współpracy.

Pozdrawiam
DarkDK

6

czy dobrze rozumiem, ze mozna odczytac polozeie 'znacznika' myszki z licznikow? w takim razie moze byc problem ze zmiana obecnego oprogramowania. moze pusc w siec ta procedurke odczytu.

http://atari.pl/hsc/ad.php?i=1.

7

Oto procedura odczytu stanu myszki PS2

;inicjacja portu A - wystarczy raz zainicjować
init:
       LDA #$FF
       STA PORTA
       LDA PACTL
       AND #$FB
       STA PACTL
       LDA #$FF
       STA PORTA
       LDA PACTL
       ORA #$04
       STA PACTL
       LDA #$FF
       STA PORTA
       RTS

;procedura odczytu jednego bajtu z interfejsu
GBPS2  LDA PORTA
       AND #$FE
       ORA TRIG0
       LDX #$FE
       STX PORTA
       LDX #$FF
       STX PORTA
       RTS

; procedura  odczytu stanu myszki
; może być wywołana w przerwaniu 50/s  lub w głównej pętli
       LDA PORTA  *SPRAWDZ CZY PIC JEST ZAJETY
       CMP #$FF
       BNE _END  *
       LDA #$0E   *KOMENDA DLA PIC
       STA PORTA
       LDA #$FF
       STA PORTA
       JSR GBPS2
       STA stan_przyciskow
       JSR GBPS2
       STA pozycjax
       JSR GBPS2
       STA pozycjay
_end: ;

Wyjaśnię jeszcze o co chodzi z komendą dla pic. Otórz wymyśliłem sobie, że będzie można odczytywać to co bezpośrednio nadaje myszka lub też liczniki, które są zaimplementowane w picu. Przykładowe liczniki to:
x:0-227 (1bajt)
y:0-227 (1 bajt) ub
x:0-319 (2 bajty)
y:0-191 (1 bajt) lub dowolne inne zakresy.
Komend może być maksymalnie 127. Część służy do ustalenia rozdzielczości myszki, sprawdzenia czy ma scrolla i tym podobne. A pod resztę moża podpiąć liczniki tak, aby w atarynce nie trzeba było sprawdzać zakresów itp..

Pozdrawiam
DarkDK

8

przesledz: http://atariarea.krap.pl/forum/viewtopic.php?id=1845


na taki interface dluuugo czekalem

http://atari.pl/hsc/ad.php?i=1.

9

darkdk: pomyśl o metodzie na automatyczne sprawdzenie, czy taki interfejs jest podłączony do komputera. Np. jakaś "komenda dla PIC" mogłaby zwracać magiczną sekwencję bajtów, po której program mógłby wykryć urządzenie.

KMK
? HEX$(6670358)

10

A czy będzie możliwość odczytu rolki?

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

11

Ten interfejs chodzi mi po głowie od dwóch czy trzech lat - dokładnie nie pamiętam. Oprogramowanie dla pica i atari było juz prawie zrobione, ale padł mi dysk i źródła poszły się je....
xxl - ten wątek śledziłem kiedyś. O ile pamiętam ktoś miał zlecić jakieś firmie zrobienie interfejsu dla myszki i klawiatury pc dla atari.
A teraz kilka słów o interfejsie.
Podstawę stanowi PIC 16F628 plus kilka elementów. Wybrałem go ponieważ: wiem to i owo o  picach (nauczyłem się robiąc XAKI) , jest tańszy od PIC 16f84 (kupiłem kilka sztuk za niecałe 8 zł/szt  w hurtowni), ma większą pamięć programu niż 16f84.
Interfejs zajmuje dwa porty dżojstików (transfer prawie 8-bitowy).
Pierwsza wersja zajmowała jeden port (transfer prawie 4 -bitowy).
Można zrobić wybór programowy 4 czy 8 bitowy - tylko zastanawiam się, po co?
Draco - kilka komend transferuje nazwę interfejsu i wersję softu w różnych formatach - może służyć to do identyfikacji.
Epi - rolki jak najbardziej - jedna lub dwie, trzy lub pięć klawiszy w zależności od tego jaką myszkę podłączysz: optyczna, kulkowa, czy bezprzewodowa - nie ma to znaczenia.
Myślałem jeszcze o tablecie pod ps2 - niestety nie posiadam takiego i trudno mi przetestować soft na tą okoliczność.
Niektóre komendy służą do identyfikacji typu myszki czy tabletu, ustalają skalowanie i rozdzielczość.
Dodatkowo interfejs ma symulować dżojstik i myszkę od ST i Amigi.
A teraz pytanie:
Jakie zakresy liczników proponujecie dla pozycji x,y.  0-159? 0-319?  Rozkazów może być ponad sto, a liczników tyle na ile pozwala pamięć. Sprawdzanie zakresów można  przerzucić na pica..
Oczywiście istnieje możliwość odczytu tego, co nadała myszka/tablet (nazwałem to trybem/licznikami RAW)

Pozdrawiam
DarkDK

12 Ostatnio edytowany przez xxl (2006-11-26 09:29:27)

czytam i prawie oczom nie wierze! rewelacja.
co do zakresow: x384,y239 i co bardzo wazne lczniki te musza byc do odczytu/zapisu - dlaczego? wyorazmy sobie sytuacje ze program podpowiada ulozenie znacznika, kursor sie ustawia jak trzeba, ruszasz mycha i kursor przeskakuje gdziestam... niedopuszczalnem to interface ma zadbac o dobre     liczenie pzycji. a najlepiej jakas komenda ustalajaca zakres liczenia i 'czulosc/rozdzielczosc' zamaszysty ruch przelozy sie np na niewielka zmiane wartosci licznikow...
a tym kolesiem, ktory chcial zaplacic firmie za wykonanie takiego urzadzenia bylem ja - po kilku mailach kontakt sie urwal. swoja droga Twoje rozwiazanie jest sporo lepsze. ostal mi sie jeszcze tekst z tamtego okresu:

?    pozycja X_POS myszy zliczana w 2 komórkach:
1) X_POS_L zlicza 0-7, po przekroczeniu 7, +1 do komórki X_POS_H (max 47)
lub
2) X_POS_L i X_POS_H zliczają (starszy/młodszy bajt) w przedziale 0-383

?    pozycja Y_POS myszy zlicza w 1 lub 2 komórkach,
1) Y_POS_L zlicza 0-7, po przekroczeniu 7, +1 do komórki X_POS_H (max 26)
lub
2) Y_POS_L zlicza w przedziale 0-215

(edit: tu powinno byc 0-239 i 30 zamiast 26)

?    5 przyciskowa mysz/ komórki odpowiedzialne za przyciski (MBUTN_1/5)
5 bity typu zatrzask, komórka r/w

?    WHEEL_A, WHEEL_B (zliczają w przedziale 0-255 lub 228)
lub jak potencjometry rejestrów POT1/2

(edit: tu takie same zakresy jak wyzej plus emulacja potencjometrow)

---
i jeszcze w sprawie samej obslugi programowej... nie kazdy musi znac asemblera do obslugi myszy pc, powiekszysz grono userow/programistow uzywajacych myszy jesli napiszesz drajwera. tu przeczytasz o co mi chodzi: http://tajemnice.atari8.info/ksiazki/pw … w.html#103 os atari ma mozliwosc, trzeba wykorzystac. albo faktycznie na przerwaniach i udostepnic komorki z pozycjami i przysciskami ale trzeba by dorobic mozliwosc zapisu! wartosci do licznikow

http://atari.pl/hsc/ad.php?i=1.

13

Interfejs zajmuje dwa porty dżojstików (transfer prawie 8-bitowy).

A jak wtedy jednocześnie będziemy korzystać z joysticków?

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

14

Właśnie, to jest niedopuszczalne. Interfejs musi dać się podłączyć przez jeden port, i to dowolny.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

15

epi napisał/a:

Właśnie, to jest niedopuszczalne. Interfejs musi dać się podłączyć przez jeden port, i to dowolny.

Ok. można będzie podłączyć pod jeden, dowolny port. Oczywiście w tym momencie procedura odczytu bajtu trochę się wydłuży. Inne rozwiązanie - zamontować gniazda dla dżojstików czyli interfejs będzie "przelotowy".
Zdecydowałem się na dwa porty ponieważ szybciej można to obsłużyć. W przypadku podłączenia tabletu, żeby płynnie odczytywać pozycje należaloby to robić około 100 razy na sekundę. Tablet wysyła 6 bajtów informacji, więc trzeba by zczytać 600 bajtów w ciągu sekundy plus narzut protokołu. Robiąc to na jednym porcie - co najmniej 3, 4 razy więcej czasu. Ale to tylko moje rozważania teoretyczne, narazie nie mam tabletu żeby to sprawdzić.

Pozdrawiam
DarkDK

16

Witam.
Narazie przedstawiam tylko schemat, aby zainteresowani zdąrzyli zrobić interfejs przed zimą. Soft wkrótce....


http://www.jubilerida.mb24.net/schemat.jpg

Pozdrawiam
DarkDK

17

Zakresy liczników powinny być zmienne - do ustalenia jakąś komendą. Najlepiej też, żeby mogły być (ale nie koniecznie zawsze muszą) szesnastobitowe.
Poza tym przesłanie 600 bajtów nawet przy zastosowaniu 4bitowego portu jest i tak co najwyżej porównywalne z nawet kilkoma tysiącami odczytów na sekundę, jak to było dotychczas przy obsłudze myszy Amiga/ST.
Stąd też przyszedł mi do głowy pomysł, że nie od rzeczy byłoby również zrobić w tym samym urządzeniu interfejs myszy Amiga/ST. Jego rola polegałaby nie tyle na dopasowaniu fizycznym, bo wiadomo, że można je podłączyć bezpośrednio, ale na odciążeniu komputera z czarnej roboty.

Btw. Równie dobry do tego celu wydaje się być 89C2051 Atmela, a w zwykłym sklepie jest po 4 zł. No i mam już do niego programator. :)

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

18

to 'zrup'

19

epi napisał/a:

Zakresy liczników powinny być zmienne - do ustalenia jakąś komendą. Najlepiej też, żeby mogły być (ale nie koniecznie zawsze muszą) szesnastobitowe.

Da się zrobić, ale  ostatnio doszedłem do wniosku, że to jest niepotrzebne - szczegóły później.

epi napisał/a:

Stąd też przyszedł mi do głowy pomysł, że nie od rzeczy byłoby również zrobić w tym samym urządzeniu interfejs myszy Amiga/ST. Jego rola polegałaby nie tyle na dopasowaniu fizycznym, bo wiadomo, że można je podłączyć bezpośrednio, ale na odciążeniu komputera z czarnej roboty.

Nie za bardzo rozumiem o co chodzi. Chcesz żeby można było podłączyć do interfejsu mysz od Amigi/ST? Oczywiście da się zrobić, a nawet jest to już zrobione. Istnieje układ, który mocno odciąża 6502 od obsługi myszek Amiga/ST. Dwa liczniki 8-bitowe zliczają impulsy, a wartości odczytuje się szeregowo. Całość o ile pamiętam złożona jest na 3 czy 4 scalakach. Podłącza się do któregoś z portów dżojstika.

Moja koncepcja jest trochę inna: odczyt liczników myszek PS/2, emulacja myszek Amiga/ST przy pomocy myszki PS/2, emulacja dżojstka też przy pomocy myszki i być może emulacja wiosełek.

Ja jednak postawię na myszki PS/2.

epi napisał/a:

Btw. Równie dobry do tego celu wydaje się być 89C2051 Atmela, a w zwykłym sklepie jest po 4 zł. No i mam już do niego programator. :)

Ja mam programator do pic.:)  A tak poważnie to nie chce mi się kombinować z Atmelem. Parę złoty w tą czy nazad nie robi mi róźnicy.

Btw. Oczywiście urządzenie będzie można podłączyć tylko do jednego portu. Wybór będzie zależał od programisty tzn. w zależności od tego czy użyje komend 4- czy 8-bitowych.

Pozdrawiam
DarkDK

20

mikey napisał/a:

to 'zrup'

A zrobię, tylko poczekam na ten, żeby były kompadebilne.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.