26

(39 odpowiedzi, napisanych Sprzęt - 8bit)

chcialem dodac ze w nowej wersji softu aki pod qmegiem dostaje krecka --- moze sie komus uda = shift+2 zbootowac  drugiego napedu ???

ps dziala shift+;

pozdrawiam

Jeśli sobie włączysz test klawiatury w selftescie to zobaczysz że shift+2 na klawiaturze pc tak naprawdę wciska shift+8, podobnie jest dla shift+6 i paru innych. A to wynika z różnicy w klawiaturach pc i atari - na klawiszu 2 masz @ w pc , a w atari ", czyli jeśli chcesz shift+2 atarowskie to wciśnij shift+" na klawiszach od pc.

pozdrawiam

27

(39 odpowiedzi, napisanych Sprzęt - 8bit)

owszem..dzialaja...ale na odwrot

Zrozumiałem, że w ogóle nie działają, a tak to ok. Dołoży się konfigurację i będziesz mógł ustawić jak chcesz.

Skoro niemiecka klawiatura ma iść do kosza to pojdzie.  Będzie w końcu miejsce na inne rzeczy.

ale domyslam sie ze bedzie sie to wiazalo z przerobka atarki do tego stopnia, ze twoj uklad bedzie w pierwzej fazie zasilal AKI, potem wybor OS - i wlaczal atarke ??

Myślałem już nad tym podłączając sterowanie qmega pod pica. I w sumie jeśli mam zapamiętane w picu, że qmeg ma sie uruchamiać przy włączeniu atari to się uruchamia bez dodatkowego resetu. Nawet w tej wersji którą wysłałem Pecusowi, a w ostaniej mojej inicjację portu według tego co jest w eepromie wrzuciłem możliwie na sam początek kodu inicjującego pica. Oczywiście możliwe jest, że pic zanim wystawi prawidłową wartość na porcie to atari zdąrzy już wykonać parę rozkazów. Narazie jednak nie stwiedziłem aby coś było nie tak. Być może wynika to z faktu iz początek procedury reset w qmegu i oryginalnym systemie jest taki sam (kilka tych samych rozkazów) i w związku z tym przyłączenie romów nie powoduje zwisu - ale tego nie sprawdzałem, nie analizowałem qmega pod tym względem, jak również nie wiem ile czasu upływa w atari od włączenia do wykonania pierwszej instrukcji (a w zasadzie skoku poprzez wektor reset). W picu da się to policzyć według dokumentacji producenta. W każdym bądź razie działa. Jeśli bym miał pisać soft na nowy procesor to także nic się nie zmienia. Nadal będzie to jeden scalak tyle, że więcej pinów do wykorzystania, schemat w zasadzie ten sam.

Reasumując:
keyboard DEUTCH - kosz
KURSORY - konfiguracja czy z CTRL czy bez
SLEEP,WEEKUP,POWER- sterowanie bezpośrednie pinami portu A
CTRL+ALT+DEL - konfiguracja czy zimny czy gorący

jeszcze coś?

28

(39 odpowiedzi, napisanych Sprzęt - 8bit)

Witam!
Na wstępie dzięki Pecus za wskazanie błędu w wersji 1.01 - upiększałem źródła i coś się popsuło. W wersji 1.02 wymyśliłem sobie, że CTRL+ALT+DEL będzie robiło zimny start Atarynki prawie niezależnie od systemu (czy to qmeg czy oryginalny). No, ale równie dobrze może być SHIFT+CTRL+ALT+DEL. Można by też poprostu skonfigurować sobie według uznania - jest jeszcze kilka wolnych bitów w eeprom do przechowania konfiguracji.

Oprócz tego wkleiłem sterowanie RA0-2 na klawiszach SLEEP, WAKEUP, POWER. Jest tylko jeden szkopuł -  na zrealizowanie niektórych pomysłów  brakuje  pamięci we flashu, chyba że wywalę obsługę klawiatury niemieckiej bo i to rozważam.

I jeszcze odnośnie zimnego startu - w QMEGU jest kombinacja SHIFT+RESET, ale ja mam wersję w jednej atarynce V3 i to nie działa, a w drugiej jest v 4.04 i działa. W orginalnym systemie trzeba niestety posiłkować się układem TRIBOOT o ile pamiętam nazwę  (schemat na stronie xeboxa). Ja ten układ trochę zmodyfikowałem ponieważ nie podobało mi się wieszanie się atari przy wciśniętych START+OPTION+SELECT. Co prawda jedynym mi znanym programem, który wykorzystuje tą kombinację jest TURBO 2000 no ale zawsze. Dodałem do układu 2 oporniki i jeden kondesator i działa tak jak chciałem tzn. START+OPTION+SELECT+RESET=zimny reset a ST+OP+SE nic się nie dzieje.

Zanim więc upublicznę nową wersję, chcę ją "porządnie" przetestować, a niestety jestem już w trakcie sesji i nie mam chwilowo czasu.
Jeśli są ochotnicy, mają ochotę potestować i skrobnąć do mnie jakieś uwagi to zapraszam na priv.

Mam jeszcze jeszcze jeden pomysł - ponieważ ostatnio zaprogramowałem sobie kość 128kB kilkoma systemami i docelowo wybór takze ma się odbywać z klawiatury PC, więc chcę zrobić jeszcze nowszą wersję. A kłopot polega na tym (oprócz braku czasu, pamięci w pic16f84) to brak wolnych pinów I/O.
Tak więc szukam w miarę taniego pica, który by miał trochę więcej wyjść niż 16f84 no i trochę więcej pamięci. Mam już kandydata - PIC16F873A tylko
jeszcze nie sprawdzałem po ile to można dostać (za pic16f84a płaciłem 12 zł).

[ Dodano: Czw Maj 12, 2005 15:15 ]

dalej mi brakuje jedej rzeczy - kursor PC = cursor + ctrl w atarce

U mnie dziala bez problemu, kursory na klawiaturze pc emulują w atari ctrl+ odpowiedni klawisz , a wciśnięcie na klaw. PC CTRL+kursor daje *,+,- czyli w atari kursory bez ctrl.

29

(34 odpowiedzi, napisanych Sprzęt - 8bit)

Te 200 komunikatów po 4 bajty to max. 800 bajtów na sekundę, dobrze rozumiem?

Myszy ps2 działają w kilku standardach i oraz w kilku trybach transmisji.
Każda mysz (lub prawie każda) po włączeniu przedstawia się jako Microsoft IntelliMouse co oznacza, że ma dwa lub  trzy przyciski, jest bez scrolla oraz komunikat ma 3 bajty. Dopiero driver rozpoznaje co mysz potrafi i odpowiednio przestawia ją w inny tryb, a wtedy komunikat może mieć od 4 do 6 bajtów. Ilość komunikatów na sekundę jest programowalna i może wynosić 80,100 lub 200 (standardowo po włączeniu 100). Przy czym są to wartości maksymalne, bo przeważnie jest mniej. A wynika to z tego, że mysz nadaje komunikat tylko jeżeli wykryje ruch  lub wciśnięcie przycisków (to jest STREAM MODE), a w drugim trybie (REMOTE) to driver odpytuje mysz co jakiś czas. Tryb Stream daje mniejszy transfer ponieważ w kablu krążą tylko komunikaty natomiast w trybie Remote driver musi wysłać rozkaz, poczekać na potwierdzenie, odebrać komunikat, ale za to sam ustala dogodny czas na odbiór.

Pokey byłby dobry, gdyby nie parę drobiazgów.

Dorzuciłbym kłopot z odebraniem przez Pokeya 11-bitowej ramki (chyba że to nie kłopot, ale o tym nic nie wiem).

Pozdrawiam DarkDK

30

(34 odpowiedzi, napisanych Sprzęt - 8bit)

Czyli na czas obsługi myszy trzeba wyłączać wyświetlanie obrazu - prawda, że rewolucyjne? :D

Zaczynając zabawę w podłączenie tej cholernej myszy ps2 bezpośrodnio do atari myślałem, że procedura transmisji wyrobi się z odbiorem 3-4 bajtów nadawanych szeregowo w rozsądnym czasie. Niestety okazało się, że procedura nie wyrabia podczas przerwania pionowego i dokładnie nie wiedziałem dlaczego, uzyskałem 3 komunikaty na sekundę (poprawne), chociaż powinno być 50, a myszka potrafi nadać i 200 komunikatów/s o pozycji (a komunikat to 3 do 6 bajtów w zależności od "standardu"). Napisałem wcześniej, że PS2 to prawie RS232 tylko, taki synchronizowany  sygnałem CLOCK. A częstotliwość tego CLOCKA powinna wynosić od 10-16.7 kHz (wyczytałem to z jakiegoś dokumentu o protokole PS2). Do synchronizacji transmisji z tym CLOCKIEM wykorzystywałem także przerwanie jakie jest w złączu szeregowym (INTERRUPT).
W sumie szkoda, że to nie zadziałało, bo 4 przewody plus gniazdo ps/2 i byłoby miejsce do podłączenia myszy.

A może ktoś by chciał pobawić  się w rozwiązanie tego problemu? Chętnie udostępnię dokumentację protokołu ps2.

Pozdrawiam DarkDK

31

(34 odpowiedzi, napisanych Sprzęt - 8bit)

Witam!
Mysz od pc wysyła wartości przesunięć (impulsy na cal), i dopiero na tej
podstawie driver liczy sobie o ile przesunąć kursor uwzględniająć czułość myszy, aktualną rozdzielczość ekranu itp. Wartości przesunięć podawane są względnie czyli tak jak Casper zauważył, gdy nie ruszamy myszą to odczytujemy 0,0 a gdy pojawi się ruch to odczytamy ilość impulsów na cal o jaką przesunęła się mysz od ostatniego odczytu. Liczniki w myszach są w zależności od standardu 9 lub 8 bitowe przy czym ostatni bit robi za znak, ale nie jest to kod U2. Ponadto mysz sygnalizuje przekręcenie się liczników (overflow) co oznacza, że zbyt rzadko driver odczytuje liczniki lub  gość z łapą na myszy jest jakiś nerwowy (właśnie dostał w QUAKE z moździerza).  Tak działają myszy na RS232 i PS2, pod USB będzie analogicznie pomijając inny protokół komunikacji. Różnica między myszami od ST i AMIGI a PC (PS2 czy RS232) polega na tym, że liczniki zliczające impulsy z rolek znajdują się w przypadku amigi i st w kompie a w przypadku pc w myszy. Czyli kabel myszy ST I AMIGI transmituje wzmocnione sygnały z fotodetektorów plus sygnalizacja wciśnięcia przycisków, a w myszach pc sygnały te obrabia mikrokontroler i nadaje szeregowo komunikaty według odpowiedniego protokołu. Zaletą tej szeregowej transmisji jest możliwość rozszerzenia protokołu a jakieś dodatkowe rzeczy bez zmiany okablowania, wtyków stąd kilka standardów protokołów obsługi myszy w zależności od liczby kółek, przycisków itp.

Ok, a teraz o myszy dla ATARI XL

Najprościej podłączyć mysz od ST lub  AMIGi,  hmmm to wszycy wiemy.
Oczywiście problem dla programisty - czasochłonna obsługa ustrojstwa - to też wiadomo.

Można inaczej - gdzieś w sieci znalazłem schemat podłączenia myszy także od AMIGI LUB ST, ale na kilku scalakach były zbudowane liczniki położenia. Całość była podłączona do jednego portu o ile pamiętam a odczyt z liczników następował szeregowo - zamiast kika tysięcy razy na sek wywoływać prcedurę obsługi myszy spokojnie, 50 razy na sek odczytujemy liczniki.

Po drugie - niejaki XXL straszył, źe opublikuje schemat podłączenia myszy, klawiatury, touchpada do małego atari, ale nie wiem na jakim etapie jest ten projekt - układ miał być wbudowany do atari o ile pamiętam.

Po trzecie - w sieci można znaleść schematy pod tytułem PS2 Mouse adapter for the Atari czy AMIGA. Krótko mówiąc mamy mysz PS2 i przy pomocy sprytnego urządzenia można to podłączyć do Atari ST, XL, AMIGI  a zapewne do COMODORKA także. Swego czasu Elbox sprzedawał takie adaptery dla AMIGI. 
I co z tego dla ATARI XL?
MOżna mysz PS2 podłączyć do atari tak jak myszy od ST/AMIGA.
W minione wakacje chciałem coś takiego zrobić i prototyp prawie działa. W założeniach układ jest prosty- mikrokontroler pic 16f84 plus złącza do PS2 i 9 pinowe do portu joysticka. http://members.aol.com/tgkirk/ps2mous.htm to jest schemat takiego urządzenia, moje różni się tym, że ma przełącznik 4 pozycyjny bo ma więcej trybów działania. Oprócz trybu emulacji ST/AMIGI miało to działać jako joystick (i działa) oraz jako mysz PS2 tzn przy pomocy specjalnego protokołu można dobrać się do liczników pozycji. Transmisja odbywa się paczkami po 4 bity (bo pic dołączony jest do jednego portu) i według mnie zajmuje mało czasu (trocchę mniej niż liczenie impulsów z myszek St). Działają trzy klawisze myszy podłączone do FIRE i obydwóch PADDLE, zamiast myszy można podłączyć jakiegoś touchpada na ps2 - niestety chwilowo teoretycznie gdzyż jeszcze nie oprogramowałem pica do końca. Niestety, chwilowo projekt stanął w miejscu i jakoś czas nie pozwala na ruszenie go. Acha, chciałem zrobić dodatkowo, aby myszka emulowała paddle czyli odczyt współrzędnych odbywał się z rejestrów paddle - jest to do wykonania - można do tego schematu dołączyć np. potencjometry cyfrowe i finał, ale ja chcę to zrobić mniejszym kosztem.

Po czwarte
Teoretycznie rzecz biorąc bierzemy myszkę PS2 i przy pomocy przejściówki podłączamy do portu joysticów lub obinamy wtyk ps2 i podpinamy ..... . Napięcia się zgadzają czyli bez zbędnych konwenterów napięć. Teraz gdy mamy to wszysko należy napisać soft który odczyta zawartości liczników z myszki PS2. Prawda że proste? Oczywiście!!! PS2 to nic innego jak 11bitów na ramkę czyli 1 bit startu 8 danych 1 bit parzystości i 1 bit stopu, zwykły RS - tylko nie pamiętam jaka jest prędkość transmisji. Ja tak robiłem i efekty były... hmmm niezadowalały mnie, jakiś błąd w sofcie mi się plątał i nie znalazłem jaki. Acha,  transmisja jest na tyle duża, że niejaki ANTIC i jego DMA mogą doprowadzić do błędów, przekłamnań

Na tym kończę i sorki za przydługi tekst.

Pozdrawiam DarkDK

32

(39 odpowiedzi, napisanych Sprzęt - 8bit)

Witam!
Dołączam pliki z aki, mam nadzieję że komuś się to przyda.

33

(39 odpowiedzi, napisanych Sprzęt - 8bit)

Zamiast przez mechaniczny przełącznik drugiego pokeya włączam i wyłączam z klawiatury pc, ustawienia przechowuję w eepromie pica,
a co do błędów to np. w oryginalnym sofcie po przełączeniu na klawiaturę angielską nie działało CTRL+2 czyli brzęczyk, także parę innych kombinacji z CTRL. Ponadto np. klawisz Pause/Break to dla atari Break i parę innych usprawnień.

34

(39 odpowiedzi, napisanych Sprzęt - 8bit)

Witam!

Właśnie napisałem swoją wersję softu dla PIC'a w AKI (Atari Keyboard Interface). Poprawiłem kilka błędów softu oryginalnego w wersji 1.1a i dodałem możliwość sterowania pinami RA0-2. U mnie np. RA2 steruje drugim pokeyem.
Jeśli kogoś to interesuje to zapraszam na priv.

darkdk@tlen.pl