1,301

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

Tak myślałem, bo źródło AtariSIO zawiera całą listę szybkości z dopiskiem "działa"/"nie działa", więc widać, że eksperymentalnie to ustalał.

Jedyne nowe ustalenia są takie, że przyjęcie stałej 7.18 potrzebne jest tylko przy indeksie 0, reszta działa przy 7. Do dalszych badań potrzebny jest ktoś kumaty z oscyloskopem i wolnym czasem.

1,302

(8 odpowiedzi, napisanych Bałagan)

marcin1040stfm napisał/a:

Kupiłem niedawno kartę sieciową Linksys Ether16 na ISA i w żaden sposób nie potrafię zmusić jej do działania z Win 3.11.

http://support.microsoft.com/?ln=pl ?

1,303

(138 odpowiedzi, napisanych Bałagan)

To może "Laicka Unia Jedności" :P

PS. Nie wiem, czy "Chrześcijańska Unia Jedności" to oryginalny pomysł twórców filmu "Psy", coś mi się to kojarzy, że ten żart wymyślił ktoś już przed wojną. EDIT: autopoprawka, to Stefan Kisielewski nazwał tak w 1976 roku niejakie Chrześcijańskie Stowarzyszenie Społeczne.

PS.2. Ankieta jest do bani, bo, jak wczoraj podały media, zarejestrowano tylko 7 (czy coś koło tego?) komitetów wyborczych, reszta dała zupy i nie zebrała podpisów wymaganych do rejestracji. M.in. Jurek i Korwin-Mikke. Czyli na część partii widniejących na liście nie można będzie głosować.

Wydaje mi się, że ktoś pisał tu na forum o tym, że procedura obliczania baudrate ma błędy i jej poprawienie polepsza stabilność transmisji. Ale nie umiem znaleźć tego posta.

1,305

(3 odpowiedzi, napisanych Fabryka - 8bit)

mono napisał/a:

Poniżej procedura nałożenia łaty i instalacji poprawionego programu u siebie:

$ wget ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
$ tar jxf vim-7.3.tar.bz2
$ cd vim73/src/xxd
$ wget http://mono.i-demo.pl/vim-7.3-xxd-1.10-atari.patch
$ patch -p0 xxd.c vim-7.3-xxd-1.10-atari.patch
$ make
$ sudo install -s xxd $(which xxd || echo /usr/local/bin/)

Procedura dla FreeBSD:

$ su
# cd /usr/ports/editors/vim
# make
# cd work/vim73/src/xxd
# wget http://mono.i-demo.pl/vim-7.3-xxd-1.10-atari.patch
# patch -p0 xxd.c vim-7.3-xxd-1.10-atari.patch
# make
# cd /usr/ports/editors/vim
# make install clean
# exit
$

1,306

(29 odpowiedzi, napisanych Emulacja - 8bit)

Adam Klobukowski napisał/a:

drac030: nie wydaje mi się aby Google srało w gacie na widok maila od prawnika. Prawdopodobnie mają politykę taką że najpierw zdejmują, a potem sprawdzają, w ten sposób chroniąc własna dupę.

Takie właśnie zachowanie ja nazywam sraniem w gacie, a ty polityką i chronieniem własnej dupy. ;)

1,307

(29 odpowiedzi, napisanych Emulacja - 8bit)

nosty napisał/a:

A propos ostatniej dyskusji: wlasnie Atari pokazuje nam kolejne plusy rozwoju szeroko rozumianego prawa autorskiego.

Być może są to "plusy rozwoju", ale chyba nie da się nie zauważyć, że przyczyniają się do tego walnie ludzie, którzy srają w gacie na widok maila od prawnika, zamiast się zastanowić, czy zawarte w nim (w mailu) uroszczenie jest aby zasadne, i w razie gdy nie jest, kazać mu spadać na bambus.

1,308

(29 odpowiedzi, napisanych Bałagan)

qbahusak napisał/a:

Tusk zagroził że jak będzie powyżej 5.00 to on huknie w stół, i euro spadnie

:D

1,309

(20 odpowiedzi, napisanych Bałagan)

Lt_Bri napisał/a:

Na dobry(?) początek*:

Panie, co pan, ja nie jestem rolnikiem! :P

1,310

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

No, jak napisałem w poście 36.

1,311

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

Trudno powiedzieć, czy to rozwiązuje problem opisywany w wątku (który chyba czytałeś, skoro piszesz posta?), czy też tylko stabilizuje transmisję.

1,312

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

Chwilowo dalsze prace są spowolnione, bo obowiązki zawodowe itp. Ale zdaje się, że problem da się zawęzić do HS Indexu 0, już HS Index 1 chodzi (u mnie przynajmniej) perfekcyjnie wg wzoru podanego przez Atari.

Niezbyt wierzę, że wina jest po stronie peceta; konwerter USB natomiast, jak to opiewa ulocia producenta, ma obsługiwać transfery do 3 Mbit/s, trudno zatem przypuszczać, żeby miał kłopot ze 126 kbit/s.

Problem musi leżeć gdzieś po stronie Atari: albo chodzi o zniekształcenia sygnału powodowane przez elementy na płycie (jak sugeruje Simius), albo - ale to czysta spekulacja z mojej strony - POKEY ma błąd (ewentualnie jakieś ograniczenie, jak sugeruje Fox), w wyniku którego SIO w jakiś sposób wariuje przy indeksie 0. To też trzeba byłoby może obejrzeć pod oscyloskopem, jak wyglądają ramki wypuszczane z Atari w stronę peceta. Bo błędy - i ogólnie kłopoty z komunikacją - wyskakują też przy zapisie.

Poczyniliśmy z mono jeszcze jedną obserwację: mianowicie on peceta podpina w nieco mniej skomplikowany sposób niż ja, bo przez IO-Board, u mnie natomiast konwerter COM2USB jest ten sam, co w IO-Board, ale jeszcze mam SIO2PC. To może wyjaśniać, dlaczego po obliczeniu szybkości transmisji z odchyłką (7,18 zamiast 7) u mono HS Index 0 działa superstabilnie, u mnie natomiast jednak nieco kapryśnie (wyżej pisałem o "większej restrykcyjności" mojego zestawu, acz wtedy zwalając na peceta). Tzn. jednego dnia godzinami działa dobrze, a drugiego, po zmianie kierunku wiatru, już pojawiają się okazjonalne wywałki.

1,313

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

Udało nam się wykluczyć sterowniki USB i w ogóle całe USB jako przyczynę problemu:

1) w obliczeniach przeprowadzanych przez sterownik uftdi na FreeBSD i przez odpowiednik na Linuxie nie widać niczego podejrzanego

2) źródła w necie twierdzą, że zegary 48 MHz dla USB są "very accurate" (to a propos podejrzeń, że 48 MHz w rzeczywistości równa się 49,2 albo 49,4 MHz)

3) najważniejsze: kod AtariSIO Hiasa (wersja z 28 maja 2011) zawiera dokładnie te same kombinacje z wysokimi wartościami bitrate, mimo że w grę nie wchodzi USB, ale zwykły UART 16C950.

Ma ktoś jakiś pomysł, o co tu chodzi?

1,314

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

Ok, macie rację, na szczęście te drajwery są w postaci źródłowej (przynajmniej dla Linuxa i BSD), można sprawdzić wzory.

1,315

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

simius, rzecz w tym, że jedyny "wzór na PC", który może tu wchodzić w rachubę, to ten właśnie, o którym tu mowa. Chyba, że mówisz o wzorach, którymi systemy operacyjne w pecetach (licząc z Windowsami - trzy różne) wyliczają clock divisor dla podanej wartości baud rate. Ale na to nie mamy wpływu i wydaje mi się dziwne, żeby w trzech różnych OS-ach było to zrobione tak samo źle.

Epi, różnica jest rzędu 2,5%, przy 24 MHz daje to 600 kHz, wtedy przyjmowanie zegara 24,0 MHz byłoby sporym nadużyciem.

1,316

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

Hmm, no to ja nie wiem. Wynika z tego, że wzór jest OK, a na pececie wyliczony divisor 189 jest akurat o 1 poza zakresem tych, które działają. I ja bym jeszcze pojął, gdyby to był jednostkowy przypadek błędu w programie, błędu w driverach (na dwóch różnych OS-ach?), ale w aspeqt mamy poniekąd to samo (post nr 3, zaxon).

1,317

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

Tobie chodzi o porównywanie danych przy nieudanych transmisjach czy w ogóle? Bo w ogóle to wczoraj przewaliłem 32 MB w dwie strony (tj. Atari->PC-Atari), blokami po 32985 bajtów, i nie było różnic między źródłem a celem.

Natomiast przy nieudanych, to są dwa rodzaje:

1) dane odbierane przez peceta w ogóle nie przypominają niczego, co Atari mogłoby wysłać - to przy ogólnym braku komunikacji

2) błędy u mnie to na ogół błędy sumy kontrolnej, wtedy suma różni się różnie, czasem o 1 bit, czasem zupełnie

Jeśli on coś w ogóle zgubi, to właśnie nie dłuższe bloki, ale raczej krótsze (potwierdzenia).

1,318

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

Niech będzie 24 MHz, żebym miał trudniej. Proszę:

1773446 / 14 = 126674,71428571428571428571428571..., niech będzie 126675.

24000000 / 126675 = 189,46121965660153937240970988751... niech będzie 189.

24000000 / 189 = 126984,12698412698412698412698413... niech będzie 126984.

Różnica:

(126984 / 126675) * 100 - 100 = 0,24393132030787448194197750148017... niech będzie równo ćwierć procenta.

Tymczasem RS-232 powinien tolerować odchylenia do 5%.

1,319

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

Myślę, że zakłócenia spokojnie można wyeliminować. Ale jest tu jeszcze jedna rzecz, o której zapomniałem napisać, mianowicie obaj korzystamy nie z rzeczywistego portu RS-232, ale z konwertera COM2USB. Być może on tu coś miesza.

Co do tej drugiej możliwości, sam jestem ciekaw, dlatego z niecierpliwością czekam na potwierdzenie (zaprzeczenie), że częstotliwość wypuszczana przez POKEY (przy indeksie 0 na przykład) to ta sama, która wychodzi z wzoru widocznego w docach Atari.

1,320

(486 odpowiedzi, napisanych Fabryka - 8bit)

Tak. Aczkolwiek Synchromesh jest kłopotliwy, bo - o ile mnie przynajmniej wiadomo - nie ma rozsądnej metody na ustalenie, z jaką prędkością turbo taka stacja działa i czy w ogóle (w przypadku LDW/CA) jest zaprogramowana.

1,321

(486 odpowiedzi, napisanych Fabryka - 8bit)

Po wywołaniu SIO (jsr $e459) przede wszystkim wywoływane są "new devices". A takowe samo decyduje, czy wywołanie jest do niego i czy je obsłuży czy odrzuci. I stosownie do tego odpowiada systemowi. Jeśli wywołanie newdev przyniesie efekt w postaci odpowiedzi "OK, zrobione, tu jest kod statusu", to OS już nie wywołuje swoich procedur szeregowych, ale wraca po prostu do tzw. "programu użytkownika".

1,322

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

pajero napisał/a:

Chciałbym tylko zauważyć, że dane z Atariki nie przedstawiają się liniowo.

Chyba trudno, żeby przedstawiały się liniowo, skoro HS_INDEX jest dzielnikiem częstotliwości?

1,323

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

mono napisał/a:

Niestety Dracowi już nie zadziałało - dla niego współczynnik wychodzi 7.25.

Korekta: raczej coś pomiędzy 7.15 a 7.20.

PS. Poza tym mój pecet jest jakiś bardziej restrykcyjny, żeby w ogóle transmisja z indeksem 0 szła jako tako, muszę przyjąć zegar bazowy PAL, bo przy zegarze NTSC albo NTSC-F albo średniej PAL/NTSC - niezależnie od współczynnika - od razu lecą błędy transmisji (gł. sumy kontrolnej).

Cześć

Pisał o tym już mono w tym miejscu http://atariarea.krap.pl/forum/viewtopi ... 81#p132381 - ale jakoś przeszło to bez echa. Otóż w dokumentacji POKEY-a jest podany wzór do obliczenia szybkości transmisji szeregowej z wartości licznika, czyli inaczej mówiąc z HS_INDEX. Ten wzór (dla PAL-u) to:

baudrate = 1773446/(2*(HS_INDEX+7))

Wszelako, z eksperymentów dokonywanych programem SIO2BSD (przy czym mono uruchamia go na pececie z Linuxem, a ja z FreeBSD) wychodzi, że ten wzór jest błędny, obliczona w ten sposób na pececie i tamże ustawiona prędkość transmisji nie zgadza się z prędkością wybraną na POKEY-u przez wartość HS_INDEX, i to na tyle, że przy niskich wartościach HS_INDEX (typu 0) nie ma pomiędzy komputerami łączności.

Eksperymentalnie ustaliliśmy (tj. mono ustalił, a ja się przyglądałem ;) ), że we wzorze zamiast "plus 7" powinno być "plus 7 z czymś", przy czym to "coś", to ułamek w rodzaju 0.13-0.25.

Pytania:

1) czy ktoś coś wie na ten temat? :) Domyślam się, że częstotliwości generowane przez POKEY są mierzalne, wobec tego może już je ktoś dokładnie pomierzył.

2) z czego może wynikać niecałkowita wartość współczynnika? Jakieś opóźnienia na bramkach wewnątrz POKEY-a? Błąd w naszym rozumowaniu albo w obliczeniach? Niekompatybilność RS-232 i SIO?

1,325

(126 odpowiedzi, napisanych Fabryka - 8bit)

tebe napisał/a:

- dyrektywy generujące dane zaczerpnięte z MAE .CB, .BY, . WO, .HE, .SB nie są relokowalne, kod relokowalny generuje na 100% pseudo rozkaz DTA, potem .BYTE, .WORD itd.

A właściwie dlaczego? Przecież .BY i .WO to to samo co .BYTE i .WORD, .HE to w zasadzie uproszczone .BYTE, z kolei .SB (= .SBYTE) i .CB (= .CBYTE) służą tylko do generowania tekstów, co więc przeszkadza ich użyciu w blokach reloc?