101

podejrzewam, ze Arczi to bot. ktos tylko spieprzyl sprawe bo bot pieprzy bez sensu.

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

102

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)

103 Ostatnio edytowany przez ArchieIl (2008-04-25 09:37:17)

drac030 napisał/a:

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.

Już wcześniej napisałem, że nie jestem elektronikiem, i że nie programuje "zawodowo" na Atari.

W procedurach i opisach jakie podawałem brak było niektórych elementów np. procedur odbierających/wysyłających bajty ani odnośników do tychże.

Sprawdziłem i rzeczywiście POKEY podczas transmisji generuje przerwania po przeniesieniu bajtu do bufora 1 bajtowego.

Przy okazji dowiedziałem się, że Zenon ma procedurę do szybkich transmisji, która realizuje czysty polling bez udziału przerwań.

Oczywiście wy wiecie lepiej kiedy piszę tekst w trybie przypuszczającym z pytajnikiem, a kiedy twierdzę, że coś jest tak, a nie inaczej.

Spytałem... brak odpowiedzi. Poszukałem na sieci i z pobieżnego obejrzenia tekstów wyszło mi to co wyszło.

Po rozmowach z Zenonem i znalezieniu technicznej dokumentacji do POKEY potwierdzona została domyślna obsługa z przerwaniem po zakończeniu odczytu/zapisu pojedynczego bajtu generowanym przez POKEY.

Tyle, że ja nie przeczyłem, że nie jestem pewny jak to jest realizowane. Kod do I/O i tak w większości będzie konieczne tworzyć bazując na istniejącym chociażby z powodu braku wszystkich dostępnych urządzeń jakie można do Atari podłączyć.

Bezpośrednio potrzebowałem wiedzę czy jest możliwe oprócz transmisji realizowanie dodatkowych prac i tą wiedzę posiadłem nawet jeśli błędnie założyłem wysyłanie/odbieranie danych wyliczone czasowo zamiast wymuszanego przez POKEY-a.

--
1985? - DA'Fuzz, 1987? - Meritum, 1989? - Atari 130XE, 1992 - PC/AT, 2008 - Atari 130XE + Meritum

104

Przy okazji dowiedziałem się, że Zenon ma procedurę do szybkich transmisji, która realizuje czysty polling bez udziału przerwań.

Niesamowite, niespodziewane, wstrzasające.

ArchieIl napisał/a:

Sprawdziłem i rzeczywiście POKEY podczas transmisji generuje przerwania (...) Oczywiście wy wiecie lepiej kiedy piszę tekst w trybie przypuszczającym z pytajnikiem, a kiedy twierdzę, że coś jest tak, a nie inaczej.

Zacząłeś od "wiem", a potem upierałeś się, że nikt tu nie wie (prócz ciebie), co to jest interrupt-driven I/O. Oczekuję, że teraz to wyraźnie odszczekasz.

KMK
? HEX$(6670358)

105

ArchieIL nie wiem czy ja źle to napisałem czy Ty źle zrozumiałeś, nieistotne, ważne że jak sie nie używa przerwań które generuje POKEY to i tak coś lub ktoś musi nadzorować to co POKEY robi lub zrobił, więc to nadzorowanie to i tak "przerwania" tylko inaczej zrealizowane. Tym czymś jest oczywiście procesor i pisałem Ci że jeżeli  to robi to nie ma czasu na robienie czegokolwiek innego więc takie rozwiązanie niczym rewelacyjnym nie jest, funkcjonuje tylko jako ciekawostka że tak można. Zresztą moje doświadczenia opisałem w SERIOUSie i można o tym poczytać. Przy okazji nikogo nie przekonywałem że na tej podstawie zbudować można super system operacyjny czy coś podobnego. Fachowcy (programiści) wiedzą jak i do czego użyć SIO i nie mam zamiaru ani ochoty zmieniać tego tylko dlatego że w celach poznawczych dla swojego użytku zrobiłem to lub tamto. Doświadczenia robiłem sam, a nie zwalałem roboty na innych. Być może wnioski do jakich doszedłem są błędne,.... zainteresowanych raz jeszcze odsyłam do SERIOUSa.
Równie dobrze możesz w Atari zmienić kwarc na 2MHz. Procesor na pewno ruszy, tylko co dalej.....

106

Nie no, SIO bez przerwań (czyli przez "polling") jest jak najbardziej możliwe i dawno wynalezione: tak ma np. SpartaDOS, który na czas transmisji wyłącza IRQ i sprawdza tylko flagi w rejestrach Pokeya, kiedy można już odczytać/zapisać następny bajt. Nie zmienia to faktu, że "standardowo" transmisja jest interrupt-driven i to też zostało już dawno wynalezione i zrealizowane (konkretnie w 1978 roku przez Atari); więc ArchieIl nie ma co wyważać otwartych drzwi ani wymyślać prochu, wystarczy, jeśli przed kolejną kompromitacją albo ogłoszeniem rewelacji, że na magnetofonie da się wyciągnąć 850 bodów (kiedy już 20 lat temu istniało turbo, które wyciągało 1200, tylko magnetofon musiał byc dobry), lub że obraz na tunerze TV się polepsza, kiedy się zastosuje właściwy kabel, trochę poczyta (choćby forum).

KMK
? HEX$(6670358)

107

:) ach te precyzyjne wyrażanie myśli za pomocą słów.....

108

tebe napisał/a:

taki osobnik jak Drac030 napisał OS-a dla 65816 (DracOS) i zanim go napisał na pewno nie zadawał pytania na jakimkolwiek forum pt. "OS dla Atari. Czy jest sens?" po prostu go napisał, więc jeśli Ty ArchieIl chcesz napisać nowy OS, czujesz się na siłach, masz taką potrzebę wykazania się nie tylko w gębie to PROSZĘ PISZ TEGO OS-a
albo zmień z powrotem ksywkę na Casper (Casper też pisał super noweczesnego OS-a i też rozpisywał się jak Ty, tak że wybacz że jesteś do niego podobny w swoich działaniach)

ArchieIl nie może zmienić xywki na Casper, bo ja to ja. Już dawno zrozumiałem, żeby mniej gadać i zacząć coś robić, więc siedzę cicho, aż coś skończę.

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

109

To se poczekamy :)