ArchieIl napisał/a:Przyjmuję więc ten dystans do prac teoretycznych za wbudowany w "image" "prawdziwych" "praktyków" Atarowców.
"Prace teoretyczne" wymagają odrobiny teoretycznej wiedzy, oraz odrobiny zdolności do falsyfikacji własnych twierdzeń. Trzech czy czterech koderów, z których przynajmniej jeden jest zawodowym programistą, usiłowało Ci wyjaśnić, że jesteś w błędzie twierdząc, że transmisja SIO w Atari jest standardowo realizowana przez "polling". Na to doszedłeś jedynie do wniosku, że nikt oprócz Ciebie nie rozumie tu tego pojęcia. Gratuluję.
Ogólnie rozmowa z Tobą na ten temat przypomina mi rozmowę z pewną panią z Grójca. Pani prowadziła tam budkę z jedzeniem, i na zwróconą uwagę, że w menu jest błąd ortograficzny ("schabowy z kapustom") oświadczyła, że ona to sprawdzała w słowniku i taki wyraz istnieje (sic).
Takiej babie niczego się nie przetłumaczy, bo ona ma swój specyficzny sposób rozumienia informacji ze słownika. Mówiąc po polsku, rozumie drobny ułamek z tego, co podaje słownik, i sprawdziła w nim nie to, co myśli, że sprawdziła, ale już "wie swoje". Szczegóły, których nie rozumie, pomija. Ona nie ma pojęcia, co to jest celownik liczby mnogiej i dlaczego w tym miejscu należy właśnie zastosować narzędnik liczby pojedynczej. Jej świadomość językowa i rozumienie teorii języka sprowadza się do zagadanień ortograficznych, te natomiast do tego, że "błąd ortograficzny" jest wtedy, kiedy jego zrobienie powoduje powstanie "wyrazu, którego nie ma".
Zadałem sobie nieco trudu, by sprawdzić, skąd Ci się wziął ów "polling" oraz "timeouty generowane timerami Pokeya". Otóż, jestem przekonany, zajrzałeś do Zientary "We/wy". Tam przy procedurze RECEIV jest napisane, że przeprowadza ona cały odczyt. Skoro tak Zientara napisał, to to musi być prawda, nie? W procedurze widać jakieś ustawianie rejestrów Pokeya, w mapie pamięci można znaleźć, że są to "timery". Co może robić timer? Czas liczyć, oczywiście. A więc procedura ustawia timeout. Proste.
Nie zastanawia Cię, że rzekomy timeout jest jakiś krótki (1/19200 sekundy). Nie zastanawia Cię, że nigdzie, ani przedtem ani potem, nie widać, żeby procedura odczytywała jakiś port I/O w celu pobrania danych. Nie zastanawia Cię, że nigdzie nie widać, jakoby procedura, mimo że ustawia wskaźnik bufora, się tym wskaźnikiem posługiwała w celu wpisania czegokolwiek do tego bufora. Widać wystarczy ustawić "timeout" oraz wskaźnik bufora, a dane magicznie przepłyną z portu SIO do pamięci, sklejając się przy tym w bajty z pojedynczych bitów. I oczywiście nie ma przy tym żadnych przerwań, bo linia Interrupt nie jest podłączona do niczego w żadnym urządzeniu.
Nie wiesz nawet - i nie zadajesz sobie trudu sprawdzić - że w gnieździe SIO są dwie linie przerwań, z tym, że żadna nie ma żadnego związku z transmisją szeregową i w ogóle podłączone są do innego układu, niż Pokey. Twój poziom rozumienia SIO jest na poziomie przedszkola, co samo w sobie nie jest żadną zbrodnią, bo nikt sie z tym nie rodzi. Gorzej, że na poziomie przedszkola jest też Twoje pojęcie na temat gromadzenia wiedzy i weryfikacji własnych wyobrażeń. Nie wystarczy spojrzeć na gniazdo SIO, zobaczyć pin "Interrupt" i wyobrazić sobie, do czego on służy, a potem uznać to za prawdę objawioną. Tak nie powstaje wiedza, tylko farmazony. Wiedza powstaje wtedy, kiedy te swoje wyobrażenia zweryfikujesz. Ale ty tego nie robisz, bo do wszystkiego wystarczy Ci "teoretyczny zarys w miarę szczegółowy", złożony, co jest oczywiste dla każdego, kto ma jakąkolwiek wiedzę na dany temat, głównie z bajek i pomieszania pojęć.
Szczęścia życzę.
PS.
(no mogę na to patrzeć z przymróżeniem oka)...
"przymrużeniem"
Profesjonalistą i mi personalnie również
"Profesjonalistom"
KMK
? HEX$(6670358)